Abstract:
A CMOS analog integrated circuit comprising a plurality of nodes for simultaneously computing the largest of the signals at inputs of the nodes. There is a common line supplying current and producing a maximum voltage potential and a plurality of nodes connected to the common line. Each node comprises a follower transistor having a source operably connected to the common line for sourcing current and a gate being the input of the node and being connected to a current signal input source providing a current signal to the node to be compared to the current signals at respective ones of the other nodes. There is an inhibitor transistor having a gate connected to the common line and a drain operably connected to the gate of the follower transistor. The inhibitor transistor provides the voltage output of the node and inhibits the voltage output at all nodes connected to the common line which have a current signal which is smaller than the largest current signal connected to one of the nodes. A plurality of non-linear resistors may be disposed in the common line between respective ones of the nodes of limit current flow therebetween and thereby form subgroups having a single &#34;winner&#34; with each subgroup. A slope limiting transistor may be diode-connected in series with the inhibitor transistor to limit the slope of the voltage output from the inhibitor transistor.

Description:
BACKGROUND OF THE INVENTION: 
     The present invention relates to neural-emulating computing systems and, more particularly, to a neural computing network including a plurality of neural circuits and producing a single winner-take-all output at the &#34;winning&#34; circuit comprising, a common line supplying current and producing a maximum voltage potential; and wherein each neural circuit comprises, follower transistor means operably connected to the common line for sourcing current, the follower transistor means including gate means for connection to a current signal input source providing a current signal to each neural circuit to be compared to the current signals at respective ones of the other neural circuits; and, inhibitor transistor means having a gate operably connected to the common line and being operably connected to the gate means of the follower transistor means for providing a voltage output of the neural circuit at an output thereof and for inhibiting the voltage output at all neural circuits connected to the common line which have a current signal which is smaller than the largest the current signal connected to one of the neural circuits. 
     Computing systems have gone through several evolutionary processes as the art itself has developed and as new technology has permitted the art to develop in new directions. Much early systems type simulation, testing, and decision making was accomplished employing analog computing devices. While large and cumbersome as well as being tedious to &#34;program&#34; (actually accomplished by physically interconnecting electronic elements by means of plug in wires on a so-called patch board) analog computers did have the advantage of providing decisions by degree. A binary device (such as a switch) is either on or off. It is either black or white, i.e. no degrees of gray. An analog output, on the other hand, covers black, white, and various degrees of gray in between. Thus, one can tell that the answer to a system question is not only true; but, how true--i.e., very true, marginally true, etc. 
     With the advent of small, fast, easily programmed digital computers and a variety of dependable high level languages, analog computers virtually fell into disuse. While a digital computer operates in serial and, therefore, is not basically adapted to parallel decision making (as are analog computers), with smaller problems, multi-processor configurations are able to fill the bill. This simply means that a plurality of interconnected computers are assigned to work on the same problem simultaneously. In distributed processing environments where a number of computers (often referred to as nodes, workstations, or the like,) are interconnected on a local area network (LAN) it is not unusual to have several hundred nodes working a common problem. So-called &#34;hypercube&#34; systems now in development anticipate having several thousand processors ultimately interconnected and communicating with one another to perform computations in space applications, for example, where such extensive parallel processing is required to provide real-time answers. 
     In the continuing task of trying to design and construct computers which can duplicate (or at least closely approximate) the human brain in its thinking and learning processes, there has been a switch back towards analog computational techniques because of their closer functional proximity to the brain. The neurons of the brain are interconnected by the synapses to provide a large analog computational capability that provides instant decisional responses to changes in input stimuli in the same manner as an analog computer. The human brain does not perform a concurrent digital computational process on the input data. Thus, much research is presently being accomplished with so-call &#34;neural networks&#34; which are electronic networks which functionally simulate the neurons and synapses of the brain. 
     A neural network may comprise many many thousands of simulated neurons. Activity in neural systems is mediated by two general types of inhibition: subtractive, which may be thought of as setting the zero level for the computation, and multiplicative (non-linear), which regulates the gain of the computation. What is lacking at this point is circuitry to be included within the simulated neural paths which can provide a general non-linear inhibition in its extreme form, known as winner-take-all--a circuit that will indicate not only the path with the highest input stimulation value but, additionally, provide an indication of the degree of &#34;winning&#34;. 
     Wherefore, it is the object of the present invention to provide a winner-take-all circuit that can be employed in the various paths comprising a neural network computing system, or the like, which will indicate not only the path with the highest stimulation input value at any instant but, additionally, provide an indication of the degree of &#34;winning&#34;. 
     Other objects and benefits of the present invention will become apparent from the detailed description which follows hereinafter when taken in conjunction with the drawing figures that accompany it. 
     SUMMARY 
     The foregoing object has been attained by the neural computing circuit of the present invention producing a single winner-take-all output at the &#34;winning&#34; circuit when a plurality of the circuits are simultaneously connected to a common line supplying current and producing a maximum voltage potential wherein the circuit comprises, follower transistor means operably connected to the common line for sourcing current, the follower transistor means including gate means for connection to a current signal input source providing a current signal to each neural computing circuit to be compared to the current signals at respective ones of the other neural computing circuits connected to the common line; and, inhibitor transistor means having a gate operably connected to the common line and being operably connected to the gate means of the follower transistor means for providing a voltage output of the neural circuit at an output thereof and for inhibiting the voltage output at all neural computing circuits connected to the common line which have a current signal which is smaller than the largest current signal connected to one of the neural computing circuits. 
     In the preferred embodiment, there are also non-linear resistor means for insertion into the common line between respective ones of a plurality of the neural computing circuits to limit current flow therebetween and thereby form subgroups of the neural computing circuits having a single &#34;winner&#34; within each subgroup. 
     Also in the preferred embodiment, there are slope limiting transistor means diode-connected in series with the inhibitor transistor means for limiting the slope of the voltage output from the inhibitor transistor means. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified drawing of an n-neuron network according to the present invention. 
     FIG. 2 is a graph of the voltage and currents of the various nodes in a neuron network according to the present invention and depicting the position of the &#34;winning&#34; neuron with respect to the &#34;losers&#34;. 
     FIG. 3 is a simplified drawing of a two neuron network according to the present invention as employed in a mathematical analysis contained in the specification hereinafter. 
     FIG. 4 shows a modification to the network of FIG. 3 which can be employed to steepen the inhibition slope. 
     FIG. 5 is a more detailed drawing of one neuron in a network according to the present invention. 
     FIG. 6 is a graph showing the voltage versus current crossover in the transistors of a two neuron network according to the present invention. 
     FIG. 7 is a simplified circuit drawing of the three middle neurons of a nine neuron network as described in detail to depict the manner in which neurons of the present invention within a network can be isolated for the production of localized winner-take-all decisions. 
     FIG. 8 is a graph showing the spatial response for increasing 15 in the network of FIG. 7. 
     FIG. 9 is a graph showing the logarithmic dependence of V5 on I5 in the network of FIG. 7. 
     FIG. 10 is a graph showing the spatial step response in the network of FIG. 7 and, in particular, showing the spatial derivative nature thereof. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The circuitry to be described hereinafter has been fabricated by the inventors herein as a series of compact, completely functional CMOS integrated circuits which realize the winner-take-all function, using the full analog nature of the medium. The circuit in its various embodiments has been used successfully as a component in several VLSI sensory systems which perform auditory localization and visual stereopsis. Winner-take-all circuits with over 170 input correctly function in these sensory systems. As those skilled in the art will readily recognize and appreciate, the circuits shown hereinafter can be implemented as either n- or p-type components. Moreover, while they could be implemented as discrete components, in actuality such implementation would be impractical for anything but small test circuits. For meaningful computation capability, it is anticipated that any practical implementation will be accomplished using CMOS integrated technology, or the like, such as those built and tested by the inventors herein which form the basis of the description which follows hereinafter. 
     A schematic diagram of the basic circuit is shown in FIG. 1, where each neuron path is generally indicated as 10. There are neurons 1-n, with neuron k being representative. Each neuron 10 receives a unidirectional current input I k  which is the value upon which the winning decision is based. The output voltage V k  of each neuron 10 represents the result of the winner-take-all computation. If I k  =max(I 1 . . . I n ), then V k  is a logarithmic function of I k . If I j  &lt;&lt;I k , then V j  ˜0. A single wire 12, associated with the potential V c , is used to compute the inhibition for the entire circuit. For an n neuron circuit, the wire 12 is O(n) long. To compute the global inhibition, each neuron k contributes a current onto the common wire 12, using transistor T2 k . To locally apply this global inhibition, each neuron k also responds to the common wire voltage V c , using transistor T1 k . This computation is continuous in time as is characteristic of analog computations, i.e. no &#34;clocks&#34; are needed or used as in the case of binary computations. Further, the circuit comprising the n neurons 10 exhibits no hysteresis and operates with a time constant related to the size of the largest input. The output representation, V k , of the circuit is not binary; that is, the &#34;winning&#34; output encodes the logarithm of its associated input. 
     The operation of the winner-take-all neuron circuit of FIG. 1 is depicted graphically in FIG. 2. A single stage, i.e. neuron 10, is depicted in greater detail in FIG. 5. The T2 transistors are follower transistors having their source connected to the common wire 12 and, therefore, to the potential of V c . The maximum value of V c , V max , is set by the value of V bias . The T1 transistors are inhibitor transistors having their gate connected to the common wire 12 and, therefore, to the potential of V c . The gate of each T2 transistor is connected to the drain of its associated T1 transistor and to the output of a current mirror 14 connected to the input signal of the neuron 10, I in . I in , therefore, is input to the gate of the T2 transistor and to the drain of the T1 transistor of the neuron 10. The current mirror 14 is not an inventive portion of the present invention; rather, it is a preferred manner of implementing the current input signal to each neuron 10. As mentioned above, the T2 transistors are each connected as followers. Thus, they set V c  to the maximum of the V out  values, since they can only source current; that is, V c  becomes equal to V out , i.e. V k , from the neuron 10 having the highest I in , i.e. I k . Since the gates of the T1 transistors are connected to the common wire 12 and therefore V c , all the T1 transistors other than the T1 transistor connected to the maximum I in  (i.e. all except the winner) have a V out  which is substantially zero. This is depicted in the graph of FIG. 2. As depicted therein, the I c  curve rises exponentially to the current of the winner, I win . The current of the non-winners is less than I win  and, therefore, on the rise of the current curve. As a result, the output voltage, V out , of the non-winning neurons 10 is virtually zero while the output voltage of the winning neuron, V win , is way out on the current curve as depicted. 
     A static and dynamic analysis of the two neuron circuit of FIG. 3 further illustrates these properties, providing a closed form steady-state description of the inhibitory response, and showing the required conditions for stable circuit operation. To understand the behavior of the circuit, first consider the input condition I 1  =I 2  =I m . Transistors T1 1  and T1 2  have identical potentials at gate and source, and are both sinking I m  ; thus, the drain potentials V 1  and V 2  must be equal. Transistors T2 1  and T2 2  have identical source, drain, and gate potentials, and therefore must sink the identical current I c1  =I c2  =I c  /2. In the subthreshold region of operation, transistors T1 1  and T1 2  are therefore described by the equation I m  =I o  exp(V c  /V o ), where I o  is a fabrication parameter and V o  =kT/qk. Likewise, transistors T2 1  and T2 2  are described by the equation I c  /2=I o  exp((V m  -V c )/V o ). Solving for V m  (I m  ,I c ) yields ##EQU1## Thus, for equal input currents, the circuit produces equal output voltages; which behavior is desirable for a winner-take-all circuit. In addition, the output voltage V m  logarithmically encodes the magnitude of the input current I m . 
     The inhibitory action of the circuit is illustrated by considering the input currents I 1  =I m  +δ i , I 2  =I m . Transistor T1 1  is required to sink δ i  more current than in the previous example; as a result, the gate voltage of T1 1  rises. Transistors T1 1  and T1 2  share a common gate, however, and thus T1 2  is also biased to sink I m  +δ i . But only I m  is present at the drain of T1 2 . To compensate, the drain voltage of T1 2 , V 2 , must decrease. For small δ i  &#39;s, the Early effect serves to decrease the current through T1 2 , decreasing V 2  linearly with δ i . For large δ i  &#39;s, T1 2  must leave saturation, driving V 2  to approximately zero volts. As desired, the output associated with the smaller input is suppressed. For large δ i  &#39;s, I c2  ˜0, and I c1  ˜I c . Transistor T1 1  is described by the equation I m  +δ i  =I o  exp(V c  /V o ) and transistor T1 2  is described by the equation I c  =I o  exp((V 1  /V c )/V o ). Solving for V 1  yields ##EQU2## The winning output encodes the logarithm of the associated input. The symmetrical circuit topology insures similar behavior for increases in I 2  relative to I 1 . 
     FIG. 6 is a simplified plot of experimental data for a two neuron winner-take-all circuit showing the crossover transition between inhibitory and excitatory states. As can be shown from a mathematical analysis which is not included herein in the interest of simplicity, the inhibitory slopes of FIG. 6 are proportional to V e , the Early voltage. The Early voltage of a MOS transistor is defined by the expression ##EQU3## where V d  is the drain potential of the transistor and L is the channel length of the transistor. Therefore, if the channel lengths of transistors T1 1  and T1 2  are decreased, the inhibitory output slopes of the circuit are also decreased. In the circuit associated with FIG. 6, the channel length of transistors T1 1  and T1 2  is 13.5 μm, the smallest allowable in the fabrication technology used. Steeper inhibitory slopes can be obtained by increasing the channel length of transistors T1 1  and T1 2 . Alternatively, the inhibitory slopes can be increased through circuit modification. For example, for a given channel length, the circuit of FIG. 4 doubles the slope of the original circuit (through source degeneration of transistors T1 1  and T1 2 ) by the added diode-connected transistors T3 1  and T3 2 . From experimental data it was found that the modified circuit of FIG. 4 has an equivalent V e  of 46.2 volts while the original circuit of FIG. 3 has a V e  of 24.9 volts. 
     As can readily be appreciated, the problem is not always one of finding the &#34;winner&#34; of all possible neurons. Often, the winner within a subgroup is the item of interest. To affect such a computational objective employing the basic circuit of the present invention, means must be provided for dividing the overall neuron network into meaningful subgroups. Fortunately, such a means exists as described in U.S. Pat. No. 4,786,818 of Nov. 22, 1988 entitled INTEGRATED SENSOR AND PROCESSOR FOR VISUAL IMAGES by Carver A. Mead et al. The teachings of that patent, which is assigned to the common assignee of this invention, are incorporated herein by reference. Disclosed therein is a non-linear resistor circuit implemented in CMOS which is particularly adapted to dividing an overall neuron network into meaningful subgroups as desired. Such a divided network in simplified form is shown in FIG. 7 which depicts the three center channels of a nine channel circuit. Each channel k has a unidirectional current input I k  and a corresponding voltage output V k . Unlike the general winner-take-all circuit as described above, each channel&#39;s inhibitory transistor, T1 k , is programmed by a distinct voltage, V ck . Each inhibitory node is coupled to its nearest neighbors via the non-linear resistors 16 designated as R k-1 ,k and R k ,k+1 , which contribute currents I k-  and I k+  to inhibitory node k. In addition, a constant, controllable current I c  is subtracted from each inhibitory node. All the non-linear resistors 16 in the circuit are of constant value and are described by the equation 
     
         I.sub.k+ =I.sub.s tan h(2(V.sub.ck -V.sub.ck+1)/V.sub.o), 
    
     where V o  =kT/qk and I s  is a controllable current. In summary, the circuit inputs a unidirectional current vector I 1 . . . I n  and outputs the voltage vector V 1 . . . V n , under the control of controllable currents I c  and I s . Using this notation, we can solve for the impulse response of the circuit. For example, employing the nine channel system shown in part in FIG. 7, with the input conditions I 5  &gt;&gt;I k=5  and I 1  =. . . =I 4  =I 6 . . . I 9  ≡I, for a sufficiently large I 5 , V c5  &gt;&gt;V c4  and V c5  &gt;&gt;V c6 , and resistors R 45  and R 56  are saturated. Under these conditions, V c5  is given by the definition of T 15 , namely 
     
         V.sub.c5 =V.sub.o 1n(I.sub.5 /I.sub.o), 
    
     where I o  is a fabrication constant. The total amount of current going through transistor T 25  is I 5-  +I 5+  +I c . Since R 45  and R 56  are saturated, this sum is simply 2I s  +I c . From the definition of T 25 , we know V 5  =V o  1n((2I s  +I c )/I o ) +Vc5. Using the solution for V c5  above yields the complete solution 
     
         V.sub.5 =V.sub.o 1n((2I.sub.s +I.sub.c)/I.sub.o)+V.sub.o 1n(I.sub.5 /I.sub.O). 
    
     So, for I 5  &gt;&gt;I k ≠5, V 5  is logarithmically dependent on I 5  and independent of all I k ≠5. FIG. 8 depicts the spatial impulse response of a simulation of the nine channel network for varying I 5 . Only those inputs satisfying I 5  &gt;&gt;I k ≠5  are shown. The peaks of the output response of channel 5 are plotted versus impulse height in FIG. 9, showing a logarithmic relationship. 
     This solution can be extended to predict the behavior of V k ≠5 and V ck ≠5. As shown above, resistor R 45  must sink I s . This current must be supplied by the current sources I c  associated with earlier channels. Let q=Int(I s  /I c ), where Int() is a function that returns the integer portion of a real number. If q&gt;0, channels 5-q, 5-(q-1) . . . 4 will donate their entire current source I c  to supply transistor T2 5 . As a result, transistors T2 5-q , T2 5- (q-1). . . T2 4  will carry no current and V 5-q , V 5- (q-1). . . V 4  ˜0. The fractional remainder of I s , namely (q+1)I c  -I s , is carried by transistor T2 5- (q+1). Recalling that I k=5  =I, we can, by using the definition of T1 5- (q+1), state V c5- (q+1) =V o  1n(I/I o ), and by using the definition of T2 5- (q+1)  and the above equation show 
     
         V.sub.5-(q+1) =V.sub.o 1n(((q+1)I.sub.c -I.sub.s)/I.sub.o)+V.sub.o 1n(I/I.sub.o). 
    
     For all channels k&lt;5-(q+1), the input current I is carried by T1 k , and a full I c  is carried by T2 k . The voltage V ck  is therefore equal to V o  1n(I/I o ), and the voltage V k  is equal to V o  1n(I c  /I o )+V o  1n(I/I o ). We now know the number of channels inhibited for given values of I b  and I c . It is interesting to note that if I 5  &gt;&gt;I, further increases in I 5  do not affect the inhibitory spread of the impulse function, only the peak height. 
     We now know the voltage V ck  for all k≦5-(q+1) and we know the current through each resistor R 5- (q+1),5-q. . . R 45 . This knowledge can be used to calculate all V ck  for 5-(q+1)&lt;k&lt;5. Symmetry requires the identical solution for V k&gt;5  and V k&lt;5 . Thus, the spatial impulse response as a function of I c  and I s  is solved. 
     The most interesting thing about the results as described above which resulted from experiments and simulations conducted by the inventors herein is the implications for experiments using two active channels. If all channels have a small input I except for two larger current inputs I j  and I i , these currents cannot easily inhibit each other because there are always two directions for T2 j  and T2 i  to source current. With three tightly clustered inputs, however, the middle input is easily inhibited. Extrapolating to many inputs, this behavior implies the circuit takes a spatial derivative. FIG. 10 shows the results of a simulation of the spatial step response of the circuit, revealing the derivative action.