Low-voltage, very-low-power neural network

Abstract: A neural network (1) including a number of synaptic weighting elements (15, 17), and a neuron stage (5); each of the synaptic weighting elements (15, 17) having a respective synaptic input connection (11, 13) supplied with a respective input signal (x 1 , ..., x n ); and the neuron stage (5) having inputs (36, 37) connected to the synaptic weighting elements, and being connected to an output (39) of the neural network (1) supplying a digital output signal (O). The synaptic weighting elements (15, 17) are formed by memory cells programmable to different threshold voltage levels, so that each presents a respective programmable conductance; and the neuron stage (5) provides for measuring conductance (33-35, 43-45) on the basis of the current through the memory cells, and for generating a binary output signal on the basis of the total conductance of the synaptic elements.

Description: The present invention relates to a low-voltage, very-low-power neural network. As is known, artificial intelligence systems feature neural networks for performing complex tasks, in particular, for texture analysis, morphological kernel filtering in facsimile transmission, vehicle tracking systems, pattern recognition, hardware simulation in neural CAD systems, and preprocessing in optical character recognition applications. Neural networks employ components known as neurons, similar to the biological elements of the same name and based on the addition and subtraction of appropriately weighted inputs, and for which various mathematical formalisms have been devised. Reference is made in the present invention to binary neurons according to the McCulloch-Pitts model, which stands out for the precision and elegance of its mathematical definition, and according to which, the output may assume only two binary values "0" and "1", and operates under a discrete time assumption, with predetermined neuron thresholds and weights. Each neuron comprises a processing element with a number of synaptic input connections and one output; and input and output signal flow is considered one-way. Figure 1 shows a symbolic representation of the McCulloch-Pitts model, in which x 1 , x 2 , ..., x i are the inputs, w 1 , w 2 , ..., w i the weights, and O the output. The neuron is represented by a node defining function f, which, when applied to the weighted inputs, supplies the output according to the equation: O = f (Σ w i * x i ) Typically, the f function compares the sum of the weighted products of the inputs with a threshold, and, depending on the outcome of the comparison, determines the binary value of the output. Various solutions are known for implementing neural networks, as described for example in: "A Reconfigurable VLSI Neural Network" by S. Satyanarayana, Y.P. Tsividis, H.P. Graf, IEEE Journal of Solid-State Circuits, Vol. 27, N.1, Jan. 1992; and "An Analog Neural Network Processor with Programmable Topology" by B.E. Boser, E. Sackinger, J. Bromeley, Y. Le Cun, L.D. Jackel, IEEE Journal of Solid-State Circuits, Vol. 26, N.12, Dec. 1991. Another solution for implementing neural networks is known from EP-A-0349007, disclosing a semiconductor integrated circuit for providing a neural network model comprising a differential amplifier, an excitatory synapse circuit and a inhibitory synapse circuit respectively connected to a non-inverting input terminal and a inverting input terminal of the differential amplifier. Each of the excitatory and inhibitory synapse circuits includes a plurality of current switches, regulated current source circuits which are equal in number to the current switches and which determine currents to flow through the current switches, and one load resistor which is connected to all of the current switches. Input terminal of each excitatory and inhibitory synapse circuits are designed to turn on and off respective current switches and each regulated current source circuit comprises a circuit the current value whereof can be increased or decreased by a voltage externally applied separately and the value whereof corresponds to a synaptic weight. All known solutions, however, involve a trade-off between power consumption and precision, require a large integration area, and are complex in design. It is an object of the present invention to provide a compact, low-power neural network with a high input range. Advantageously, the neural network according to the present invention should present a simple circuit structure, operate at high speed, be adaptable to different (even low-voltage) supply conditions, require no interfacing with digital environments, and therefore be used in portable devices. According to the present invention, there is provided a neural network as claimed in Claim 1. A preferred, non-limiting embodiment of the present invention will be described by way of example with reference to the accompanying drawings, in which: Figure 1 shows a symbolic representation of a neuron according to the McCulloch-Pitts model; Figure 2 shows an overall circuit diagram of the neural network according to the present invention; Figures 3 to 5 show plots of a number of quantities in the Figure 2 diagram. Number 1 in Figure 2 indicates a neural network comprising a first exciting (positive-weighted) synapse 2; a second inhibiting (negative-weighted) synapse 3; a decoupling stage (buffer) 4; a comparing stage (neuron) 5; and a latch circuit 6. Synapse 2 comprises a number (n) of inputs 11 supplied with n input signals x 1 , x 2 , ..., x n ; and an output 12 through which flows current I 1 . Synapse 3 comprises an equal number of inputs 13 supplied with the same n input signals (each input signal is supplied in parallel to an input 11 of exciting synapse 2, and to an input 13 of inhibiting synapse 3); and an output 14 through which flows current I 2 . Synapse 2 comprises a number of synaptic elements comprising memory cells 15 - in this case flash-EEPROM cells - of the same number as inputs 11. More specifically, each cell 15 has a grounded source terminal, the gate terminal connected to a respective input 11, and the drain terminal connected to the drain terminals of the other cells 15 and to output 12. Similarly, synapse 3 comprises a number of synaptic elements comprising memory cells 17 (of the same number as cells 15); and each cell 17 has a grounded source terminal, the gate terminal connected to a respective input 13, and the drain terminal connected to the drain terminals of the other cells 17 and to output 14. Decoupling stage or buffer 4 comprises a first diode-connected N-channel MOS transistor 20, and a second and third N-channel MOS transistor 21, 22. More specifically, first transistor 20 has the drain terminal connected to a supply line 25 at supply voltage V DD via a current source 26 for generating current I b ; the gate terminal (node A) connected to its own drain terminal and to the gate terminal of transistors 21, 22; and the source terminal grounded. Second transistor 21 has the source terminal connected to output 12 of synapse 2, and a drain terminal defining a first output 27 of buffer 4. Third transistor 22 has the source terminal connected to output 14 of synapse 3, and a drain terminal defining a second output 28 of buffer 4. A reset transistor (represented in Figure 2 by a switch 29) is located between the gate and source terminals of transistor 20, and presents a control input 29a. In the presence of a control signal at input 29a (voltage V R ), switch 29 grounds the gate terminals of transistors 20-22, and hence the drain terminals of memory cells 15, 17, to eliminate the current through the memory cells when network 1 is not used. Neuron 5 comprises a symmetrical first and second section 31, 32 connected respectively to outputs 27, 28 of buffer 4 and cross-connected to each other. Section 31 comprises three P-channel MOS transistors 33-35 with the source terminals all connected to supply line 25, and the gate terminals connected to one another; transistor 33 is diode-connected, forms a current mirror with transistors 34, 35, and has the drain terminal connected to a node 36 in turn connected to output 27 of buffer 4; transistor 34 has the drain terminal connected to a node 37 of section 32; and the drain terminal of transistor 35 forms output 38 of the neuron, and is connected to latch circuit 6. Similarly, section 32 comprises three P-channel MOS transistors 43-45 with the source terminals all connected to supply line 25, and the gate terminals connected to one another; transistor 43 is diode-connected, forms a current mirror with transistors 44, 45, and has the drain terminal connected to node 37 in turn connected to output 28 of buffer 4; transistor 44 has the drain terminal connected to node 36 of section 31; and the drain terminal of transistor 45 forms output 39 of the neuron, and is connected to latch circuit 6. Reset transistors (represented in Figure 2 by switches 40, 41) are located between supply line 25 and the gate terminals of transistors 33-35 and 43-45 respectively, and present control inputs 40a, 41a. In the presence of control signals at inputs 40a, 41a (voltages V R ), switches 40 and 41 short the gate terminals of transistors 33-35 and 43-45 to the supply and so turn off the transistors when network 1 is not used. Latch circuit 6 is a conventional type comprising three N-channel MOS transistors 47-49. More specifically, transistor 47 has the source and drain terminals connected to outputs 38, 39 of neuron 5, and the gate terminal forms a control input 50 supplied with an enabling signal EN; transistor 48 has the drain terminal connected to output 38 of neuron 5, the gate terminal connected to output 39 of neuron 5, and the source terminal grounded; and transistor 49 has the drain terminal connected to output 39 of neuron 5, the gate terminal connected to output 38 of neuron 5, and the source terminal grounded. Memory cells 15, 17 of synapses 2, 3 of network 1 are programmed according to the weight w i they are to represent, and, more specifically, may be programmed at different threshold levels to present a given conductance for each input voltage value. In the simplest case, they may be programmed to define only two binary levels (cell on or off for a given input voltage value at inputs 11, 13 respectively), and the input voltage (input signals x 1 , ..., x n ) may assume only a predetermined number of discrete values (e.g. four). Alternatively, the cells may be programmed to present a number of threshold values, and the input voltage may vary continuously within a predetermined range to actually evaluate the conductivity of the cells in the presence of data input signals. Consequently, when input signals x 1 , ..., x n are supplied to inputs 11, 13, the current through each of memory cells 15, 17 is related to the conductivity of the cell, and the current I 1 , I 2 through each node 12, 14 equals the sum of the currents in all the cells of the respective synapse 2, 3, and as such is related to the total conductance of the synapse. Buffer 4 provides for decoupling, and more specifically for ensuring the neuron only sees the capacitance of transistors 21, 22 (the capacitance between the drain and gate terminals plus the capacitance between the drain and source terminals of transistors 21, 22) and not the total capacitance of cells 15, 17, which, in view of the large number of cells that may be provided (even as many as a thousand synaptic elements per neuron), may be extremely high. This provides for much faster evaluation by network 1, as explained in more detail later on. Buffer 4 also provides for maintaining a low voltage at outputs 12, 14 of synapses 2, 3, so that memory cells 15, 17 operate in the triode region, and network 1 can also operate at low supply voltages and low power. Operation of buffer 4 will now be described mathematically with reference to exciting synapse 2, though the same also applies to inhibiting synapse 3. As the voltage drop between the source and gate terminals of a MOS transistor equals the threshold voltage (minimum voltage at which the transistor is turned on) plus the overdrive voltage (voltage in excess of the threshold value), the following equation applies for transistor 20: V A = V GS,20 = V OV,20 + V th,20 where V A is the voltage drop between node A and ground; and V GS,20 , V OV,20 and V th,20 are respectively the gate-source voltage drop, overdrive voltage and threshold voltage of transistor 20. Moreover, if V B is the voltage drop between output 12 and ground (the voltage between the drain and source terminals of cells 15): V A - V B = V GS,21 = V OV,21 + V th,21 where V GS,21 , V OV,21 and V th,21 are respectively the gate-source voltage drop, overdrive voltage and threshold voltage of transistor 21. Since transistors fabricated using the same technology present roughly the same threshold voltage, so that V th,20 ≈ V th,21 , substituting (1) in (2) with a few straightforward calculations gives: V B = V OV,20 - V OV,21 Transistor 21 may be appropriately sized to present a negligible overdrive voltage in relation to that of transistor 20, so that (3) becomes: V B ≈ V OV,20 and the voltage between the drain and source terminals of cells 15 equals the overdrive voltage of transistor 20. For transistor 20, which operates in the normal region, the following equation applies: I b = K(V GS,20 - V th,20 ) 2 = K(V OV,20 ) 2 where I b is the current through transistor 20 and equal to the current generated by source 26; and K is a proportion constant. Substituting (4) in (5) with a few straightforward calculations gives: V B = I b /K Consequently, by appropriately sizing current source 26, the drain-source voltage drop of cells 15 (and 17) may be predetermined, and more specifically, may be made less than the gate-source voltage drop of cells 15. Neuron 5 provides for comparing the respective currents I 1 and I 2 of the exciting and inhibiting synapses, and, together with latch 6, for generating at output O (node 39) a digital signal, the value of which indicates which of the two currents is the higher. More specifically, it operates as a feedback current sensor, wherein a transient state is observed when the circuit is turned on, and at the end of which practically all the current flows into section 31 or 32 connected to the synapse with the higher output current, and the other section is practically turned off altogether. To explain the working of neuron 5, currents I 1 and I 2 will be assumed to present a common term I C , and to differ by a differential term ΔI. For example, exciting synapse 2 will be assumed to generate a current I 1 = I C + ΔI , and inhibiting synapse 3 to generate a current I 2 = I C . When reset signal V R switches to eliminate the shorted condition of buffer 4 and neuron 5, cells 15, 17 begin drawing current, and currents I 1 and I 2 begin flowing through sections 31, 32 to turn them on. At this transient stage, however, the current mirrors of the two sections are not turned on at the same speed: the mirror connected to the lower-capacitance line (i.e. lower conductance - higher current) is turned on faster, so that, in the case in question, transistors 33 and 34 of section 31 are turned on faster than transistors 43 and 44, and begin drawing and supplying current more rapidly to node 37. More specifically, transistor 33 (and hence transistor 34) draw current I 1 = I C + ΔI . As only current I 2 = I C is required, however, from node 37, the excess portion supplied by transistor 34 tends to go to transistor 43, which, not supporting such a condition, begins to go off, and, at the same time, the voltage at node 37 rises to supply voltage V DD . On the other hand, when turned on, transistor 44 supplies current to node 36, thus reducing the current through transistor 33 and causing a brief variation in the current supplied by transistor 34 to node 37. On account of the cross-connection of sections 31 and 32, a sort of feedback is produced between them, and which causes the section connected to the higher-current synapse (in this case, section 31) to supply practically all the current required by synapses 2, 3, while the other section is practically turned off. In the case in question, therefore, at the end of the transient state, practically all of current I C + ΔI flows into section 31, and only a negligible current flows into section 32. The Figure 5 plots show the currents in transistors 33, 34, 43, 44, as determined in a simulation test conducted by the Applicant, upon switching of reset signals V R at the inputs of switches 29, 40, 41, and enabling of latch 6 (EN signal). As can be seen, at the end of the transient state, current I 33 equals I C + ΔI, current I 34 equals I C , and currents I 43 , I 44 are zero. The Figure 4 graph shows output voltages O and at node 38 (voltage V 38 ). The off state of the section connected to the lower-current synapse (section 32) disconnects the respective output node (39) from the supply; whereas the high-conductivity condition of the section connected to the higher-current synapse (section 31) latches the respective output node (38) to supply voltage V DD . Consequently, in the example shown, upon signal EN switching to low and turning off shorting transistor 47, transistor 49, whose gate terminal is connected to the turned-on section 31, is turned on and grounds output O; and the other transistor 48 remains off. Conversely, if inhibiting synapse 3 presents a lower conductance (higher current) than exciting synapse 2, section 32 and transistor 48 are turned on, and section 31 and transistor 49 are turned off, so that output O is high and latched to supply voltage V DD via transistor 45. The advantages of the neural network according to the present invention are as follows. By implementing the synapses using memory cells whose conductance varies according to the programming level, the synapses may be so biased as to present a low output voltage (nodes 12, 14), thus permitting network 1 to be used in low-voltage conditions and hence also in portable devices and systems. Moreover, low-current operation of the synapses (100 pJ in the case of a thousand inputs) provides for low-power operation of the network as a whole, which may therefore also be used in applications in which voltage and power resources are limited. Reducing the voltage at the drain terminals of cells 15, 17 also provides for preventing or minimizing soft-writing of the cells, thus ensuring a high degree of reliability of the network. By virtue of the low current levels and buffer 4 decoupling the synapses and the neuron, the network provides for particularly high-speed evaluation (up to 30 MHz). Forming the neuron as a feedback conductance comparator, as described, provides for safely comparing even only slightly differing conductances in the synapses, and in particular conductances differing by even a few orders of magnitude less than the conductances themselves (e.g. with a ratio of 1:1000), by virtue of the differential value of the two conductances being used to off-balance neuron 5 and hence latch circuit 6. The network according to the invention also presents a high input range, can discriminate up to 10 bits, requires a small integration area (200 x 32 µm), presents a simple, easily integratable structure, and requires no interfacing with digital environments. Clearly, changes may be made to the neural network as described and illustrated herein without, however, departing from the scope of the present invention as set out in the appended claims.

Claims: A neural network (1) comprising a number of synaptic weighting elements (15, 17), and a neuron stage (5); each of said synaptic weighting elements (15, 17) having a respective synaptic input connection (11, 13) supplied with a respective input signal (x1, ..., xn) and presenting a respective programmable conductance; and said neuron stage (5) having inputs (36, 37) connected to said synaptic weighting elements (15, 17), and being connected to an output (39) of said neural network (1) supplying a digital output signal (O); said neuron stage (5) comprising conductance measuring means (33-35, 43-45) for generating said output signal on the basis of the total conductance of said synaptic elements; characterized in that each of said synaptic weighting elements (15, 17) comprises a memory cell having a control terminal supplied with a respective said input signal (x1, ..., xn) and programmable at different threshold voltages, each corresponding to a respective conductance of the memory cell. A neural network as claimed in Claim 1, characterized in that said synaptic elements (15, 17) comprise exciting synaptic elements (15) and inhibiting synaptic elements (17); and said conductance measuring means comprise comparing means (33-35, 43-45) for comparing the conductance of said inhibiting synaptic elements and said exciting synaptic elements, and for generating said output signal (O) on the basis of the outcome of said comparison. A neural network as claimed in Claim 2, characterized in that each of said synaptic elements (15, 17) comprises a respective output terminal (12, 14); the output terminals (12) of said exciting synaptic elements (15) all being connected to one another and to a first input (36) of said neuron stage (5); said output terminals (14) of said inhibiting synaptic elements (17) all being connected to one another and to a second input (37) of said neuron stage; and in that said comparing means (33-35, 43-45) of said neuron stage (5) compare the conductance at said first and second inputs of said neuron stage. A neural network as claimed in Claim 3, characterized in that it comprises a number of exciting synaptic elements (15) and a number of inhibiting synaptic elements (17) equal to the number of input signals (x 1 , ..., x n ); in that said memory cells (15, 17) comprise a first and second terminal and a control terminal; said first terminals of said memory cells being connected to a first reference potential line; said second terminals of said cells (15) forming exciting synaptic elements being connected to one another and to said first input (36) of said neuron stage (5); said second terminals of said cells (17) forming inhibiting synaptic elements being connected to one another and to said second input (37) of said neuron stage; and in that each said input signal is supplied in parallel to a control terminal of a memory cell forming an exciting synaptic element (15) and to a control terminal of a memory cell forming an inhibiting synaptic element (17). A neural network as claimed in Claim 3, characterized in that said memory cells (15, 17) are flash-EEPROM cells. A neural network as claimed in any one of the foregoing Claims from 3 to 5, characterized in that it comprises a decoupling stage (4) between said synaptic weighting elements (15, 17) and said neuron stage (5). A neural network as claimed in Claim 6, characterized in that said decoupling stage (4) comprises low-voltage biasing means (20-22) for said output terminals of said synaptic weighting elements (15, 17). A neural network as claimed in Claim 7, characterized in that said biasing means comprise a diode element (20) connected between a first and second reference potential line and defining a biasing node (A); and a first (21) and second (22) transistor having a first and second terminal and a control terminal; said first terminal of said first transistor (21) being connected to said output terminals (12) of said exciting synaptic elements (15); said first terminal of said second transistor (22) being connected to said output terminals (14) of said inhibiting synaptic elements (17); said second terminal of said first transistor (21) being connected to said first input (36) of said neuron stage (5); said second terminal of said second transistor (22) being connected to said second input (37) of said neuron stage; and said control terminals of said first and second transistors being connected to said biasing node (A). A neural network as claimed in Claim 8, characterized in that said first and second transistors (21, 22) and said diode element (20) comprise MOS transistors. A neural network as claimed in any one of the foregoing Claims from 3 to 9, characterized in that said neuron stage (5) comprises a first section (31) connected to said first input (36) of said neuron stage; and a second section (32) connected to said second input (37) of said neuron stage; said first and second sections (31, 32) comprising respective current mirrors (33-35, 43-45) respectively defining a first and second feedback node connected respectively to said second (37) and said first (36) input. A neural network as claimed in Claim 10, characterized in that each said section (31, 32) comprises a third (33, 43), a fourth (34, 44) and a fifth (35, 45) transistor; said third transistors (33, 43) of said first and second sections being diode-connected, and being connected respectively to said first (36) and second (37) input of said neuron stage (5); said fourth transistors (34, 44) being current-mirror-connected to said third transistors (33, 43) and respectively defining said first and second feedback node; and said fifth transistors (35, 45) being current-mirror-connected to said third transistors, and respectively defining a first (38) and second (39) output node. A neural network as claimed in Claim 11, characterized in that it comprises a latch stage (6) having a first and second input connected respectively to said first (38) and second (39) output node of said neuron stage, and defining said output (39) of said neural network.

Inventors: COLLI GIANLUCA, FABBRIZIO VITO, KRAMER ALAN, COLLI, GIANLUCA, FABBRIZIO, VITO, KRAMER, ALAN
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1995
Main classification: G06F15
IPC codes: G06N3, G06G7, G06F15