Project Description
My semester-long project is to create a neural network of of convincing biological basis. Using very basic and simplified equations, I have encoded a simple microcontroller to behave like a neuron. That is, it integrates its inputs to determine a “membrane potential (Vm)” and then fires an action potential if Vm exceeds a threshold. By adjusting the parameters of this mathematical model, the computer chip can exhibit the properties of many different types of neurons. This leads to two immediate observations: I can model real biological systems (such as the swim oscillator) , and I can create neural networks that are not biologically realizable. The first point has an application to benefit neuroscience, the other can be used in terms of artificial intelligence and networks.
It has taken me two months to build and debug the assembly code which controls an 8-bit Atmel AT90S1200 microcontroller. The code makes the chip respond to weighted stimuli in a fashion similar to that of a real neuron. This was done mostly by translating previously established neuron models to Atmel assembly. The Atmel 8-bit 1200 chip was chosen because of its small size, relatively simple design and features, and low $1.80 price tag.
Once the neuron program was debugged, I placed it on the board and wired into a 5-cell cyclically inhibitory network. The purpose of this basic network is to demonstrate that a small number of simple neurons can produce complex behavior (such as swimming motion). In order to visualize the behavior, the network has been hooked up to servos that act like muscles controlling a body segment of a fish swimming through water.
The next step for my project is to build more complex, and biologically correct neural networks, and then try to apply that some basic signal processing problems and see what solutions can be found.