Older blog entries for raquib (starting at number 1)

So here's another project i'm working on cocurrently. A music analyser using neural nets. I'm using the Maate MPEG library to decode mp3s and running them through the neural net to look for classifications. Okay, that made no sense. Here we go. Let's call the program MA. You pass in 2 lists to MA, a list of songs you want to hear and a list of songs that you don't want to hear. You then train the network (a standard FFN) with the lists that you passed in, expecting a result of 1 for a good song and 0 for a bad. I'm currently using the RMS value of each subband as the inputs to the network. Layers: variable node input layer, 20 and 10 node hidden layers, and a 1 node output layer. I want to extend the program so I have multiple nets (RMS, Centroid, Energy Movement, etc) and allow the songs that have a majority of the nets firing to enter the "good" list. I've only programmed in the RMS network so far, and that seems to be working well. I'm looking at a 98% success rate so far... i'll get back to the robot soon...

And the journey into the realm of AI is a harsh one. The basic plan right now is loop... loop... and loop. Every subsystem runs on its own with no communication with the others. I'm thinking that's a good idea and a bad one at the same time. I'm using what's generally known as subsumption architecture, (build one layer, then another, then another... have the real world be the model.. ), but the results although interesting, aren't what i want. It's ok to have a robot avoid everything, until you want it to get close to something. I've been wondering about how to have everything communicate with each other but in a general enough way so that i don't have to specialize any given item. Here's the plan: connect everything with "chemical-like" messages. imagine the modules of the robot in a chemical pool, much like cells in our body. Each module is affected by a particular signal, say inhibit other motor modules, excite other motor modules, inhibit sensory information, etc... Right now, i'm planning on 2 signals for the motors (as the motor is the only thing that does stuff right now) inhibit motors to everything else, excite to everything else. All inhibit and excite do is change the module's rate of fire. Alright, enough typing... back to work.

Share this page