Try this!


Michael Bucher

16-264

Humanoids Robotics

Final Project


Intro

So many simple things, like recognizing the faces of friends and family, are not nearly as simple as the ease of execution would lead us to believe. Humans perform superbly at pattern recognition, problem solving, learning, and many other process that we together call thinking. Though we have been working with computers for half a century, we have not succeed in creating a thinking machine. This disparity in abilities has been exploited in the captcha programs seen on many websites. Processors in modern computers use simple digital logic while the brain uses what can best be described as analog logic. Because the all of the higher level functions of the brain arise from the cells within, it might be possible to build a true thinking machine from a well constructed silicon neuron. Thus, my goal in this project was to build a silicon neuron.


To complete this project, a sufficient understanding of the functioning of the real neurons. The brain is constructed from two cell types. The first is called a glial cell. They work to maintain the neurons, but they also affect the neurons' signals. Glial cells are responsible for cleaning the neurotransmitters from the synaptic cleft. Because neurons can reuptake neurotransmitters, the removal of them can change the neural signal. Also, it has been found that some glial cells release their own signals called glialtransmitters. Future attempts at silicon brains will have to include silicon glial cells as well as silicon neurons. To include silicon neurons, one needs to understand how neurons work.


Though they vary in size and shape, neurons all share many characteristics. The signals incoming to the neuron arrive via the dendrites. Every signal is weighted by the proximity of the signal 's incoming spot to the the axon hillock. The some is the cell body. Primarily, it serves to keep the cell alive. The axon hillock is the place where the output signal starts. It travels down the axon and it spreads out to the dendrites of other neurons. The signal inside every neuron is electrical in nature as it arises from the movement of ions across the cell membrane thus change the voltage across it. The signal is called an action potential, due to the fact that it is caused by the voltage potential. Where axons meet dendrites, the signal changes. The voltage change induces vesicles of chemicals to “jump” from one axon to the dendrites of another neuron across the synaptic gap.


As well as sharing many physical characteristics, neurons behave in a very similar manner electrically speaking. The distinguishing feature of a neuron is the called the all-or-none law. Though a neuron may receive tens of thousands of inputs of varying intensities, it will either fire completely or not at all. Evey neuron produces an identical signal when it fires. If all the signals are exactly the same, then neurons need another way to encode the intensity of the stimulus. Neurons fire more signals for a stronger input than they do for a weaker input. The strength or weakness of an input is determined by the proximity to the axon hillock and number of connections of one neuron to another. The strengthening or weakening of connections plays a central role in learning. Even a signal which is too weak on its own to make a neuron fire can do so through temporal summation. By firing many times, which is indicative of a very strong stimulus, a weak connection may induce an action potential because a neuron adds up inputs over time. As it can be seen on this graph, a neuron enters a state called hyperpolarization or refractory period. This is what creates discreet pulses for encoding intensity in signals. The ion permeability limits the flow of sodium and potassium which blocks another pulse until the ions reach their resting gradients.


From this basic knowledge I designed my silicon neuron. Initially, I decided to treat the neuron as a black box and I would merely try to recreate the output from an input. This method did not succeed. Next, I tried to use a capacitor. It seemed like the membrane of a cell acts like a capacitor: charged particles separated which can be used to generate an electric signal. This design would have been very simple, but I could not get it to work. I moved away from ignoring the inner working of the neuron to trying to recreate each part of the neuron. From this idea I created what I called Neuron One:





(In this schematic the voltage sources for all the operational amplifiers have been omitted for clarity)




This design first had a spatial summing unit centered around nodes 12 and 16 in the upper left hand corner. The Op Amp holds 12 at a virtual ground, so all voltage sources attached to node 12 generate a current. All the currents combine at node 12, and they proceed to raise the voltage of node 11 to the weighted sum of all the input voltages. The ratio of the resistor that routes around the Op Amp over the resistor in series with a given voltage source is the weight that is given to it. The summing circuit has the unfortunate effect of inverting the voltage at node 11. So, the next section inverts the voltage and can be used to dampen or amplify the voltage from node 11. From this diagram, -R7/R6 would be the number that the voltage at node 11 would be multiplied by. Follow the flow of the diagram, U5 is encountered next. It is used to isolate this part of the circuit from other parts. This makes analysis easier. To temporally sum incoming signals, an resistor-capacitor (RC) circuit is used. The capacitor stores energy and allows the silicon neuron to combine incoming signals over time. Then another isolator is followed by the switch. When the voltage at Node 6 reaches a threshold, the transistor, Q1, switches “on” and the voltage at Node 4 drops very low. After the transistor, the comparator section is next. The comparator subtracts the logic high voltage from that which is at Node 4. When Node 4 goes low, the comparator outputs a logic high, thus a firing of a neuron. It is finished with another isolator. This diagram does not have proper values for the elements, nor does it have the many of the characteristics of true neuron, such as a refractory period or true temporal summation.


Once this circuit was built and theoretically calibrated, it was found to give terrible performance. To test all of my designs, I used the freeware Ltspice from Linear Technologies, a variant for the ubiquitous SPICE from Berkely. Neuron One did not behave in any manner similar to true neurons. To move forward, I found all the problems in each section, and solved them one at a time through a very iterative process. After twelve intermediate models, I arrive at my final one, which is called Best Square Wave.


It is easy to see that BSW has it roots in Neuron One. I originally found that my temporal summing circuit would work for pulses of voltage below the threshold if they arrive at the same time, but it fail it sum numerous small spikes came in. So, I added the reproducer. From the Time_Summation node, a wire carries the voltage to a isolation unit. This adds these current voltage across capacitor C16 to the input of the system. The Inverter also functions as a dampener so I do not boost the capacitor up to the rail voltage of the operational amplifiers. The row of diodes serve to raise the activation voltage of the Trigger. The ratio of R82/R81 determined how quickly the trigger would switch from high to low. The ratio of a 1,000,000 to one switches the diode sufficiently fast. The 555 chip is used to create the clock signal. When the voltage across the collector and emitter of the Trigger (Vce) goes low, the exclusive or (XOR) switches to a logic 1. This triggers the clock. Originally, the clock was running all of the time, and this made it asynchronous with the incoming signal. So, the clock circuit starts to produce a nice square wave. On the left side of the chip, R90, R91, and C18 were selected to create a 1ms high pulse, which is approximately the pulse of a neuron and a 1ms low period, which is roughly the refractory period of a neuron. As long as Vce stays low, the clock circuit functions. Vce is held low by the interaction of the trigger and the summing circuits. A stronger stimulus raises the voltage on the Temporal Summation higher, so it produces more pulses. These or gates produce a 1 volt output, so I had to reconfigure my difference amplifier. R84 is 6 times R83 so that the 1 volt difference is multiplied by six. This produces the output voltage level that I chose for the “all” of my very own all or none law. This design implements spatial and temporal summation, all-or-none law, refractory period, and coding of intensity.






Though the input signals (GREEN) have the same voltages, a longer signal, which is more “intense” create more output signals (BLUE). The voltage across the temporal summation circuit (RED) is included for reference.







The input (GREEN) has a higher voltage in the top graph, so it produces more blue signal outputs. Once again, temporal summation circuit voltage is shown in red.




The 2.8 voltage level of the blue input is below the level that can fire the neuron in one pulse. However, temporal summation allows multiple firings to ellict a response from th eneuron shown in green.



However, this design fails in some ways. Because the 555 timer circuit uses a capacitor, the first clock cycle runs longer than it normally should. I was thinking of implementing a voltage summation circuit and using that to boost the voltage across another capacitor. Another capacitor induces other complications. The temporal summation means that my input is not linearly related to my input. If I were to increase the time constant of temporal summation circuit and I operated within a limited range of voltages, then the behavior would be more linear. I feel that another problem is connected to this. My neurons have a tendency to increase a signal. Two input high pulses becomes three. Also, I would like to spend more time adjusting the values of the resistors. Also, as the voltage across the temporal summation circuit falls, it can create a clipped final pulse. Implementing a digital flip-flop would eliminate this anomaly.




In this graph, the Red line is the voltage across the 555 timer's capacitor. The first pulse is widened because the capacitor must be raised to 3.2V all the way from 0V. The fall off of the temporal summation circuit, show in light blue, creates a clipped pulse ate the end of the cycle.



From this project, I was able to explore one field that has always fascinated me. I learned a great deal about circuit design, analysis methods, and design methods. A true silicon neuron could be used in many fields such as character recognition, prototyping, experiments, and designing a artificial mind. Many robotics projects have offboard computers to do the thinking for their robot. While that works in the lab, the environment may bring interference and significant distances. A compact low energy silicon brain would not only allow robots to think, but they could do that thinking in a computer housed in their own frame.


To achieve these goals, more work must be done in this field. To build a true brain, glial cells would need to be included in the silicon brain. As we learn more about the neuron, the complication of our model grows as well. Dendrite soma interactions have not been included in current neuron models. Recently, a fourth passive circuit element has been created, the memrisor. It is a resistor that has a resistance that changes depending on how much charge as passed through it in the past. This is like the process that is involved in learning. The firing of a neuron can change the strength of the connection between them.