Neural network having an associative memory that learns by example

Abstract: A neural network utilizing the threshold characteristics of a semiconductor device as the various memory elements of the network. Each memory element comprises a complementary pair of MOSFETs in which the threshold voltage is adjusted as a function of the input voltage to the element. The network is able to learn by example using a local learning algorithm. The network includes a series of output amplifiers in which the output is provided by the sum of the outputs of a series of learning elements coupled to the amplifier. The output of each learning element is the difference between the input signal to each learning element and an individual learning threshold at each input. The learning is accomplished by charge trapping in the insulator of each individual input MOSFET pair. The thresholds of each transistor automatically adjust to both the input and output voltages to learn the desired state. After input patterns have been learned by the network, the learning function is set to zero so that the thresholds remain constant and the network will come to an equilibrium state under the influence of a test input pattern thereby providing, as an output, the learned pattern most closely resembling the test input pattern.

Description: This invention relates to networks for processing information and more particularly, to neural networks implemented in semiconductor device technology. Much interest has been generated recently in the field of neural networks for processing information. A neural network is an electronic network which in some fashion mimicks the structure and function of the neurons found in living organisms. The ultimate goal is to construct an artificial system that can display all or some of the powerful functions of biological systems. The scope of the work that has been done in the area of neural networks is quite extensive. In one prior art system, key features of the organic neuronal system are used in designing an electronic network to achieve a better understanding of these same biological features, see Hopfield, Proceedings National Academy Science USA 79, pp. 2554-2558 (1982), while another system tries to imitate the functioning of the neurons in intricate detail, see El-Leithy, et al., IEEE First International Conference on Neural Networks (1987). Some networks have been modeled and/or constructed in order to solve very specific problems, such as speech generation, see Sejnowski, et al., John Hopkins University Technical Report JHU/EECS-86/01, 1986, or vision, see Ballard, et al., Nature 306, 21 (1983). Other networks seek to be more general in scope, hoping to define solutions to a whole class of problems, see Hopfield, et al., Biological Cybernetics 52, 141 (1985). The Hopfield network, which is described in detail in U.S. Patent 4,660,166, is a complex network of interconnections of non-linear switches that mimick the behavior of a spin glass. The Hopfield network is a matrix of output and input conductors where the output conductors form a plurality of "neurons". Each neuron of the network consists of a series of inputs and a simple threshold switch, with each input being multiplied by a parameter which is either learned or programmed into the network. The input products are then summed together and if the sum exceeds a particular threshold, the output of the neuron is set to the "on" state, otherwise the output will be in the "off" state. The output of each neuron is connected to the input of every neuron in the network thereby forming a totally interconnected network. The essential "memories" built into the network are contained in the multiplicative parameters applied to the neuronal inputs. The multiplicative parameters are provided by resistors coupled to each of the threshold switches. The Hopfield type of network has been shown to display a large number of desirable qualities which are at least reminiscent of the functioning of biological neural networks. For example, the network can solve pattern recognition problems in a parallel mode. In addition, the network is capable of finding the closest match pattern in memory to an input pattern even when many of the input bits are in error or missing. The network is considered to be a content addressable memory. The memories are distributed over the network and are not contained in any one physical portion of the network. Therefore, the network can successfully operate when a portion of the network is erased or altered. This type of network does have several limitations. The network will always return a pattern in response to the specified input which may not be the pattern desired. Furthermore, it does not have the built in capability to decide if the match is too far off from the input that no result should be returned. While the Hopfield type network has been shown to work in computer simulations, difficulty has arisen in implementing the network in hardware devices. More particularly, it would not be practical to make a very large network in which the memory elements are embodied by resistors and the active elements are multitransistor circuits. U.S. Patent 4,760,437 discloses one implementation of a Hopfield neural network by utilizing photoconductors as the memory elements with the desired impedance being established by controlling the level of light incident thereon. Another prior art example of the fabrication of a real network is shown by Graf, et al., see Proceedings of IEEE First International Conference on Neural Networks, 461 (1987), in which there is disclosed a CMOS associative memory chip for implementing the Hopfield matrix of resistive coupling elements interconnecting an array of transistor amplifiers. In contrast with the Hopfield network the data stored by the network is represented locally in the matrix thereby reducing the number of required interconnections. Document IEEE INTERNATIONAL CONFERENCE ON NEURAL NETWORKS, San Diego, CA, July 1988, pages I-425-430 ; A.HARTSTEIN et al.: 'A self-learning threshold controlled neural network' discloses a neural network structure that is controlled by device thresholds rather than multiplicative factors. In this network the learning parameter is embodied locally in the device thresholds. The network is capable of learning by example and also exhibits other features characteristic of the stopfield type networks. The present invention is directed to a Hopfield type neural network as set out in claim 1 which utilizes the threshold value of a semiconductor device, such as a MOSFET, as the essential coupling parameter of the network in contradistinction to the resistive elements employed by the prior art systems. The network is interconnected to provide local learning of the input data by adjusting the threshold value of the individual MOSFETs. MOSFETs are inherently a threshold type device whose output response can be altered by changing its threshold voltage; the voltage at which it starts to conduct current. The threshold of a particular MOSFET can be altered simply by changing the charge stored in the insulator of the transistor. In addition, over a fairly broad range, the current carried by a MOSFET is a linear function of the bias voltage above the device threshold. By using the threshold of a MOSFET as the learning parameter at each network intersection, the network is no longer multiplicative in nature and is, therefore, much easier to implement in hardware. The neural network of the present invention comprises a plurality of neurons each of which is essentially a threshold switch with many inputs. The switch sums the input functions and then determines whether or not it will be in the on state. The network provides "local" learning by coupling the outputs of each neuron to the inputs of a selected number of adjacent neurons. The input functions are not multiplicative as in the prior art systems, but rather represent the difference between the input signal and an individual learned threshold at each input. In an illustrative embodiment of the invention, each input of a neuron consists of a pair of MOS transistors, one an n-channel MOSFET and the other a p-channel MOSFET. Each MOSFET pair represents the "synapse" of the neuron. The pair of complementary MOSFETS is necessary to provide a symmetrical output response which is monotonically increasing about the threshold value of the MOSFET. The importance of the symmetry of the output response will be discussed in more detail below. A number of these pairs are coupled in parallel to an output conductor which assures that the currents will sum together. The resulting output is fed into the threshold switch of the neuron. The output conductors represent the dendrites of the neuron. Each complementary pair of MOSFETs comprises the individual learning elements of the network and the learned information is stored in the network as the individual thresholds of the MOSFETs. In a preferred embodiment of the invention, the neurons are provided by a multigate n-channel MOSFET and a multigate p-channel MOSFET in which the sources and drains are connected in parallel. Corresponding pairs of gates of the complementary multigate MOSFETs are connected together to provide the various inputs to the neuron. The output threshold device is provided by a single MOSFET. The local learning is accomplished by charge trapping in the gate insulator of the multigate MOSFETs. The charge trapping in the insulator of each individual input transistor causes the thresholds of each transistor to automatically adjust in response to both the input and output voltages in such a way that each transistor will tend to reinforce the current state of the network. Each transistor will locally learn to either enhance or inhibit its output as it learns, and if an input pattern is continuously presented to the network over time, each transistor will learn a simple average over the conditions it encounters. Thus, the network learns by example. The network of the present invention can be operated in two modes, a learning mode and an associative memory mode. In the learning mode, an input pattern is applied to the network and the threshold values of the input transistors are continuously adjusted until the input pattern is learned. Multiple patterns may be learned by the network by sequentially presenting the patterns to the network. In the associative memory mode, the threshold values remain constant and a test input is applied to the network. The output voltages of the learning elements will then reach a steady state thereby providing as an output the learned pattern which is most similar to the test pattern. Figure 1 is a schematic diagram of a neural network of the present invention. Figure 2 is a schematic of one node of the neural network of Figure 1. Figure 3 is a graphical representation of the relationship between the input and the output voltage of a network node. Figure 4 is a schematic of a multigate FET implementation of a neural network of the present invention. Figure 5 is a schematic of one neuron of the multigate FET network of Figure 4. Referring now to the drawings, Figure 1 is a schematic representation of a portion of a neural network in accordance with the present invention. The network 10 shown in Figure 1 includes a plurality of output electrodes 12 and a plurality of input electrodes 14. The network also includes a plurality of electronic learning elements 16 interconnecting the output electrodes 12 and the input electrodes 14. The number of output and input electrodes in the network depends upon the design application, and as an illustration only, Figure 1 shows a 3X3 matrix. For the purposes of notation, output electrodes 12 are designated by an i, where i goes from 1 to M and the input electrodes 14 are designated by a j, where j goes from 1 to N. M is equal to the total number of output electrodes and N is equal to the total number of input electrodes, where N and M may be any integer greater than O. In Figure 1, N and M are both equal to 3. Each output electrode 12 includes an output amplifier 18 having an output voltage designated V i . Each of the learning elements 16 in each output electrode 12 has a threshold voltage T ij and each has an input voltage V j . A learning electrode 17 is coupled to each output amplifier 18 for inputting the states, voltages V L / i, to be learned by the network 10. In the 3X3 matrix of Figure 1, the output electrodes are designated i = 1, 2 and 3 and the input electrodes 14 are designated j = 1, 2 and 3. Each of the learning elements 16 has a T ij threshold corresponding to the intersecting output and input electrodes. In the output electrode i = 1, the learning elements 16 have thresholds T 1,1 , T 1,2 , and T 1,3 , while the inputs to each of the elements are V 1 , V 2 and V 3 , respectively. The remaining learning elements 16 are similarly designated as shown. A detailed schematic of one of the learning elements 16 is shown in Figure 2. Each element 16 includes an n-channel MOSFET 20 and a p-channel MOSFET 22 connected in parallel. The MOSFETs 20 and 22 are connected in parallel as shown by coupling the drains together, coupling the sources together and coupling the gates together. The sources are connected through a load resistor RL1 to a fixed potential such as ground and to the gate of the output amplifier 18, which may be a MOSFET. The drains are coupled to the source of the output MOSFET 18 and the supply voltage V B . The gates are coupled together and are connected to the appropriate j electrode. The drain of the output MOSFET 18 provides the output voltage V i and is coupled to ground through resistor RL2. Referring again to Figure 1, each output V i is fedback to one j input electrode 14. V i is connected to one learning element 16 in the ith electrode 12 and to a respective learning element in the two adjacent electrodes 12. The network of Figure 1 is merely illustrative and the number of neighboring electrodes 12 to which the outputs are connected will depend upon the total number of output and input electrodes of the network. As shown, V 1 is connected to J 1 at node 24, V 2 is connected to J 2 at node 26 and V 3 is connected to J 3 at node 28. The V 1 output voltage is therefore inputted to the three i electrodes at nodes V 1,1 , V 1,2 , and V 1,3 . The V 2 voltage is inputted to the three i electrodes at nodes V 2,1 , V 2,2 and V 2,3 . The V 3 output voltage is similarly inputted as shown. Each learning element 16 carries a current which, to a good linear approximation, is proportional to the absolute value of the difference between the input gate voltage and the threshold voltage at its input. The output voltage for each neuron is therefore proportional to the sum of the outputs of each learning element and is given by the equation: where a is a constant greater than zero that is determined by the gain of the learning elements 16. Equation (1) represents the summation of the outputs of each learning element 16 in each output column electrode, which is a good representation of the pair of input MOSFETs when each transistor has the appropriate coupled thresholds and is operated in the linear regime. When operating in this manner, current is only flowing through one of the transistors in the pair at any one time. The essential symmetry of the output response is captured in the absolute value function. The exact form of this function is not critical, and the following equation will also work equally well: Equation (2) will also provide the necessary symmetry. As an illustration of Equation (1), output voltage V L / 1 in Figure 1 is equal to the sum of: a V 1 - T 1,1 + a V 2 - T 1,2 + a V 3 - T 1,3 . Figure 3 shows the functional form of each input MOSFET of the network. Figure 3 is a representation of the output verses the input function of a learning element 16 which exhibits a symmetrical "V" shape. Three curves are shown illustrating the position of the function for different thresholds. Curve I is for a FET having threshold, T ij , of 0.5 volts, curve II is for a FET having a threshold, T ij , of 0.8 volts, and curve III is for a FET having a threshold T ij of about 0.2 volts. Curves for Equation (2) are not shown but would exhibit a "U" shape that would provide similar functional results. In order to have a dynamical learning network which incorporates a local learning algorithm, data must be represented in a very particular way. The learning parameter must either locally enhance or inhibit a particular output based on the input presented. In binary notation, enhancing means that if the input to a node is 1 the output should be 1, and if the input is 0 the output should be 0. Similarly, inhibiting means that an input of 1 gives an output of 0, and an input of 0 gives an output of 1. This implies that when a node learns that an input of 1 should give an output of 1, it is also learning that an input of 0 gives and output of 0. Any other internal representation of memory does not yield the desired result. Thus, symmetry is required in the structures and the equations representing the function of the structures. As noted above, the pair of complementary MOSFETs have an output versus input function that gives the desired symmetry. The local learning algorithm must also possess a certain symmetry so that the threshold values of the MOSFETs adjust in a similar manner whether the output is being enhanced or inhibited. In the learning mode, the thresholds T ij must be pushed to lower values (enhancing) whenever V i and V j are the same. Likewise, T ij must be pushed to larger values (inhibiting) whenever V i and V j are different. One suitable learning scheme is given by the equation: T * ij = T ij + α ( V j - V i - β) where T * / ij is the new threshold value, T ij the former threshold value, and where α and β are constants. α is typically a small number that defines a learning rate or the relative amount that the threshold will adjust. β defines a nominal threshold position and ensures symmetry by pushing T ij up or down by the same relative magnitudes given the V's involvement. In an illustrative embodiment, where the V's and T's range from 0 to +1 as in Figure 3, the nominal threshold value would be set to 0.5. As an example, with β set to 0.5, for the case where V i is equal to V j , the threshold would be pushed lower by an amount ½ α, and for the extreme case where V j is 1 and V i is 0, the threshold would be pushed higher by an amount ½ α. Learning is accomplished by charge trapping in the gate insulator of the MOSFETs. The individual transistors must be designed such that when a voltage difference is applied across the insulator a small current flows. A percentage of this current will be trapped in the insulator, resulting in a threshold shift. If a negative voltage is applied, electrons are assumed to be trapped, which pushes the threshold to a more positive voltage level. Similarly, if a positive voltage is applied, electrons are also trapped, pushing the threshold to a more positive level. In addition, the transistor design parameters must be chosen such that when no voltage difference exists across the insulator, trapped charge leaks out of the insulator. It is advantageous to adjust the trapping rate and the leakage rate to be equal. In terms of Equation (3), the trapping rate is given by the constant α (1- β) and the leakage rate is given by α β , where the voltage applied to the gate, V G = (V j - V i ), is equal to 1. Using this scheme, the thresholds for the individual gate regions will dynamically adjust themselves to reflect the average conditions found in each gate over time, a local learning algorithm. The overall functioning of the network will then be of that of a neuronal network. The adjustment of the thresholds in accordance with Equation (3) tends to reinforce the current state of the network. If the gate of a particular transistor is high and the transistor is conducting, then the threshold will adjust in such a way as to make the transistor more conducting. Thus, as shown in Figure 3, the threshold values for Curves I and II would shift to lower values towards 0.0. If the gate is high and the transistor is not conducting because of the other parallel transistors, then the threshold will adjust to make the transistor less likely to conduct. In this case, the threshold values would shift towards 1.0 in Figure 3. This is essentially a simple Hebbian learning rule see, Hebb, Organization of Behavior, John Wiley & Sons, 1949, and it is a property of the present network which does not need any additional circuitry to implement. The learning rule is such that locally, each transistor will learn to either enhance or inhibit its input as it learns. In addition, if multiple states are encountered over time, each transistor will learn a simple average over the conditions it encounters. The network of the present invention is capable of learning by example and later recalling the learned states. It also has the property that it can forget old states over time. These concepts can be implemented in either of two modes. In a learning mode, a set of input/outputs, V L / i, applied to the learning electrodes, are presented to the network and the thresholds will continually adjust in accordance with Equation (3) until the network learns the desired output states. In a test mode, learning is inhibited by setting the learning parameter α to 0 so that the thresholds no longer adjust. This can be accomplished by dropping the voltage applied to the learning elements through the learning electrodes so that charge trapping no longer occurs. Any other means for preventing charge trapping may be employed such as temperature reduction, etc. A set of inputs V j is then automatically presented to the network and the outputs of each learning element will change in accordance with Equation (1) or (2) and provide a network output that is the closest match to the learned outputs. The memory therefore functions as a static associative memory with all the desirable qualities of an associative memory. In the dynamical learning mode, the learning parameter is never set to zero. The learning and associative memory functions go on continuously. This means that new states presented to the system are learned over time. At the same time, all learned states which are accessed are continually reinforced. The old memories which fall into disuse are slowly forgotten by the system. A particular implementation of the neural network of the present invention is shown in Figures 4 and 5 utilizing multigate MOSFETs. It should be understood that the MOSFETs may be implemented in silicon as well as other technologies such as GaAs. Figure 4 shows a schematic layout of a portion of a network array, while Figure 5 shows the details of an individual multigate MOSFET pair which comprises the learning elements of the array. The network array of Figure 4 generally shows neurons 30 formed by the source and drain regions 31 and the input electrodes formed by the n-channel gate lines 32 and the p-channel gate lines 34. In the illustrative embodiment of Figure 4, five gate lines are shown for each complementary FET thereby providing five learning elements in each neuron. The interconnection of the complementary FETs are shown in each neuron 30 by the connection nodes 36. The interconnection of the multigate FETs is shown in more detail in Figure 5 for one cell 30. The n-channel FETs include source n + -region 40 and drain n + -region 42 separated by p-region 44. Five gate lines 32 are disposed across the npn-regions with a corresponding insulator (not shown) disposed between the gates and the p-semiconductor to form five n-channel MOSFETs. Similarly, the p-channel FETs include source region 46 and drain region 48 having a p + -conductivity separated by n-region 50. Five gate lines 34 are disposed across the pnp-regions with a corresponding insulator (not shown) disposed between the gates and the n-semiconductor to form five p-channel MOSFETs. Output FET 52 is formed by n + -regions 54 and 56 and p-region 58 with gate region 60 disposed over a gate insulator (not shown) to form the MOSFET 52. The gate 60 is coupled to the source region 46 through gate line 61. The output V i of FET 52 is provided on electrode 63 and is fed back to one particular complementary pair of MOSFETs as shown by interconnect 65 which is connected to a corresponding pair of gate lines 32 and 34 by connections 62 and 64, respectively. The states to be learned V L / i are inputted to output FET 52 through electrode 67. The source regions 40 and 46 are directly coupled together by interconnect 66 and are connected to ground by load resistor 68. Similarly, drain regions 42 and 48 are coupled together by interconnect 70 and drain region 48 and source region 54 are connected by interconnect 72. The drain 56 is connected to ground through load resistor 74. The output FET 52 is used as a high gain threshold switch. In the illustrative embodiment of Figure 5, the FET 52 is non-inverting. However, this stage can be either inverting or non-inverting, which only affects the internal representation of the data and does not impact on the function of the neuron 30. In an inverting case, the synapse circuits would need to be adjusted accordingly. The output FET must have a non-linear input verses output characteristic to ensure the proper functioning of the network, as well as to restore signal levels to reasonable levels in any large complex system. The specific gain of the switch is an important practical term of the system because if the gain is not sufficiently high, learning of the system will be degraded. Numerous devices may be used for implementing the insulator structure to allow for charge trapping. Simple oxide or MNOS structures can be utilized as shown by Chang, IEEE Transactions on Electron Devices, Vol. Ed-24, No. 5, (May 1977) . In addition, dual electron injection structures can be utilized to enhance the charge trapping in the insulator. Also, an intervening layer of small conductive particles might be employed as a charge trapping layer in the insulator. These and other devices may be used in connection with more conventional semiconductor memory schemes to form the learning elements. It should be noted that it is advantageous to have the charge injection the same for either polarity of applied voltage. The network of the present invention provides several advantages over the prior art Hopfield networks. The present network utilizes the operating characteristics of the underlying semiconductor device technology in its operation which facilitates fabrication in VLSI as well as reducing the overall size of the network. With the use of the device threshold as the memory elements, the network of the invention is capable of learning by example using a local learning algorithm. The algorithm is linear and is a built in characteristic of the devices which make up the network nodes. The network learns the desired outputs for a given pattern of inputs by the adjustment of the threshold values during the learning cycle. If a multiplicity of patterns are presented, each node learns a simple average of the patterns which is sees over a period of time. Nevertheless, the network as a whole learns the individual patterns which the network sees. The network is robust in that functioning is reasonably insensitive to quantitative changes to the various parameters. Changes in the learning parameter, the degree of saturation allowed for the thresholds, the gain of the threshold switches and the functional form of the network do not have an adverse affect on the function of the network. Once the network has learned the input patterns, a test input pattern is inputted and the network is allowed to come to an equilibrium state under the control of equations (1) or (2). The threshold values are maintained constant and the output of the network represents the final steady state memory of the network which was triggered by the input pattern.

Claims: A neural network comprising a matrix of a plurality of output electrodes (12) intersecting with a plurality of input electrodes (14) at intersecting points (V 1,1 ; V 1,2 ; ... V 3,3 ) forming an intersection matrix, and a plurality of electronic learning elements (16) coupling said output electrodes to said input electrodes at said intersecting points; means (12, 24, 26, 28) interconnecting said electronic learning elements such that input signals are continously processed by said electronic learning elements; means (12) for outputting a plurality of network output voltages (V i ), each of said network output voltages being the sum of the outputs of a series of electronic learning elements (16) having an adjustable threshold value as a memory means, the input of each respective electronic learning element being a respective one of said network output voltages; the output of each electronic learning element being proportional to its input voltage (V i ) minus a learned threshold value at its input; each of said electronic learning elements comprising a threshold device in which its output voltage increases substantially symmetrically in both the positive and negative directions from a threshold voltage as a function of its input voltage (Fig. 3), wherein local learning of the electronic learning elements is accomplished by adjusting the threshold voltage of the individual electronic learning elements said neural network characterized in that a learning element for an artificial neuron comprises a complementary pair of field effect transistors (16) connected in parallel, wherein gates of said pair are connected together to an input terminal, the drains of said pair are connected together to an output terminal and the sources of said pair are connected together to a fixed potential. A neural network according to claim 1 suitable for learning by example, characterized by the threshold value being adjustable as a function of the input voltage of the electronic learning element and its corresponding network output voltage in a learning mode, the functional relationship being of the form: T *ij = T ij + α ( V j - V i - β) where, T* ij = the new threshold value; T ij = the former threshold value; α = a learning rate constant; β = a constant which defines a nominal threshold position and ensures symmetry of the output voltage; V i = the ith network output voltage; V j = the jth input voltage of the network; i = 1 to M; j = 1 to N; M = total number of output means, N = total number of input electrodes. means for selectively setting to α zero so that the threshold value remains constant in an associative memory mode; whereby that neural network operates in said learning mode wherein in response to a pattern of desired output signals applied to the network, the threshold value of each electronic learning element continually adjusts such that the threshold value of each element represents the learned states that will provide the desired output pattern in response to a given input pattern; and said neural network operates in said associative memory mode wherein the threshold values remain constant and the output of each learning element reaches a steady state that is only dependent upon the input signals of a test input pattern such that the output voltages of the network provide the desired learned output pattern most closely related to the test input pattern.

Inventors: HARTSTEIN ALLAN MARK, KOCH ROGER HILSEN, HARTSTEIN, ALLAN MARK, KOCH, ROGER HILSEN
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1989
Main classification: G06G7
IPC codes: G06N3, G06G7, H01L29, G06F15, H03K19, G06N99