The present disclosure relates generally to the field of neural networks, and in particular to a synapse circuit of a spiking neural network.
Spiking neural networks are computing architectures that are developed to mimic, to a certain extent, neuro-biological systems. Such neural networks generally comprise a network of artificial neurons, which are electrical circuits that receive inputs, combine these inputs with their internal state and often with a threshold, and produce an output signal. Outputs of neurons are coupled to the inputs of other neurons by connections, which are referred to as synapses, their equivalent in the biological brain.
In a neural network, signals, sometimes in the form of spikes, produced by source neurons are transmitted to one or more synapse circuits, which perform one or more transformations on the signal before they are integrated, possibly with different gain factors, and conveyed to one or more post-synaptic neurons. The function used to generate the input to a post-synaptic neuron, based on the outputs of its predecessor neurons and the connections as a weighted sum, is known as the propagation function. The weight applied by each synapse circuit is often referred to as the synapse weight.
The predominant neuroscience-inspired learning algorithm, often called a learning rule, is the so-called Spike-Time-Dependent-Plasticity (STDP) approach. According to STDP, the difference in the spike timing between pairs of neurons influences the strength and sign of the synapse weight applied between them. Thus, the learning rule is the modification of the synapse weights as a function of the spike timing differences between pre- and post-synaptic neurons.
There is however a technical difficulty in providing a compact and low-cost implementation allowing such a learning rule to be applied.
It is an aim of embodiments of the present disclosure to at least partially address one or more needs in the prior art.
According to one embodiment, there is provided a neuron circuit of a spiking neural network comprising: a first resistive switching memory device having a conductance that decays over time; and a programming circuit configured to reset the resistive state of the first resistive switching element in response to a spike in an output voltage of the neuron circuit.
According to one embodiment, the first resistive switching memory device is a phase change memory device or a conductive-bridging random-access memory device.
According to one embodiment, the neuron circuit is a pre-synaptic neuron circuit.
According to a further aspect, there is provided a spiking neural network comprising: the above neuron circuit; and a synapse circuit coupling the neuron circuit to a post synaptic neuron circuit, wherein the synapse circuit comprises a further resistive memory device configured to store a synaptic weight, wherein the programming circuit, or a further programming circuit, is configured to update the synaptic weight based on a conductance value of the first resistive switching memory device.
According to one embodiment, the spiking neural network further comprising a control circuit configured to read the conductance value of the first resistive switching memory device, to compare the conductance value with a first threshold, and to update the synaptic weight by increasing the conductance of the further resistive memory device if the conductance value exceeds the first threshold.
According to one embodiment, in the case that the conductance value does not exceed the first threshold, the control circuit is further configured to compare the conductance value with a second threshold, and to update the synaptic weight by decreasing the conductance of the further resistive memory device if the conductance value exceeds the second threshold.
According to one embodiment, the post-synaptic neuron circuit comprises: a second resistive switching memory device having a conductance that decays over time, and the programming circuit, or another programming circuit, is configured to reset the resistive state of the second resistive switching element in response to a spike in an output voltage of the post-synaptic neuron circuit.
According to one embodiment, the control circuit is further configured to read the conductance value of the second resistive switching memory device, to compare the conductance value of the second resistive switching memory device with a third threshold, and to update the synaptic weight by decreasing the conductance of the further resistive memory device if the conductance value exceeds the third threshold.
According to a further aspect, there is provided a method storing a duration between pre-and post-synaptic neuron spikes in a spiking neural network, the method comprising resetting, by a programming circuit, the resistive state of a first resistive switching element of a neuron circuit in response to a spike in an output voltage of the neuron circuit.
According to yet a further aspect, there is provided a learning method for a spiking neural network, the method comprising: storing the duration between pre- and post-synaptic neuron spikes according to the above method; and storing, by the programming circuit or by another programming circuit, a synaptic weight to a further resistive memory device of a synapse circuit coupling the neuron circuit to a post synaptic neuron circuit; and updating the synaptic weight based on a conductance value of the first resistive switching memory device.
According to one embodiment, the method further comprises: reading, by a control circuit, the conductance value of the first resistive switching memory device; comparing the conductance value with a first threshold; and updating the synaptic weight by increasing the conductance of the further resistive memory device if the conductance value exceeds the first threshold.
According to one embodiment, the method further comprises, in the case that the conductance value does not exceed the first threshold: comparing the conductance value with a second threshold; and updating the synaptic weight by decreasing the conductance of the further resistive memory device if the conductance value exceeds the second threshold.
According to one embodiment, the method further comprises: resetting the resistive state of a second resistive switching memory device of the post-synaptic neuron circuit in response to a spike in an output voltage of the post-synaptic neuron circuit, wherein the second resistive switching memory device has a conductance that decays over time.
According to one embodiment, the method further comprises: reading, by the control circuit, the conductance value of the second resistive switching memory device; comparing the conductance value of the second resistive switching memory device with a third threshold; and updating the synaptic weight by decreasing the conductance of the further resistive memory device if the conductance value exceeds the third threshold.
The foregoing features and advantages, as well as others, will be described in detail in the following description of specific embodiments given by way of illustration and not limitation with reference to the accompanying drawings, in which:
Like features have been designated by like references in the various figures. In particular, the structural and/or functional features that are common among the various embodiments may have the same references and may dispose identical structural, dimensional and material properties.
Unless indicated otherwise, when reference is made to two elements connected together, this signifies a direct connection without any intermediate elements other than conductors, and when reference is made to two elements coupled together, this signifies that these two elements can be connected or they can be coupled via one or more other elements.
In the following disclosure, unless indicated otherwise, when reference is made to absolute positional qualifiers, such as the terms “front”, “back”, “top”, “bottom”, “left”, “right”, etc., or to relative positional qualifiers, such as the terms “above”, “below”, “higher”, “lower”, etc., or to qualifiers of orientation, such as “horizontal”, “vertical”, etc., reference is made to the orientation shown in the figures.
Unless specified otherwise, the expressions “around”, “approximately”, “substantially” and “in the order of” signify within 10%, and preferably within 5%.
Each of the synapses 102 is for example implemented by a synapse circuit that receives a membrane voltage of the corresponding PRE neuron, applies a transfer function to this output based on a weight, and supplies an output excitation to the corresponding POST neuron.
A neural network comprising the PRE neurons and POST neurons of
As represented by timing diagrams in
In the case that a post-synaptic spike occurs at a time t_POST before a pre-synaptic spike at a time t_PRE, the time different Δt between the spikes is designated as negative. As such, a long-term depression (LTD) is for example applied to the synapse weight, as indicated by the word DEPRESSION.
Indeed,
Each of the synapse circuit 402 of the array for example comprises a non-volatile memory device storing a synapse weight g_SYNAPSE associated with the synapse circuit. The memory device is for example implemented by a PCM device, or other type of resistive random-access memory (ReRAM) device, such as an oxide RAM (OxRAM) device, which is based on so-called “filamentary switching”. The memory devices of the array are for example coupled at each intersection between a PRE neuron and a POST neuron in a cross-bar fashion, as known by those skilled in the art. For example, a blow-up view 414 in
The device 500 is thus exposed to a difference between the action potentials generated by the pre and post neurons, as represented in
In a first example 601 of
In a second example 602 of
In particular,
Thus, as represented in
An alternative approach for updating synapse weights will now be described, based on a conductance drift phenomenon. In particular, the post-programming conductance drift of phase change memory (PCM) resistive RAM devices is used to store information concerning the time that has passed since a most recent pre- or post-synaptic neuron spike event. A PCM device is a unipolar device, meaning that the set and reset voltages have the same polarity.
The phase-change memory devices are for example chalcogenide-based devices, in which the resistive switching layer is formed of polycrystalline chalcogenide, placed in contact with a heater.
As known by those skilled in the art, a reset operation of a PCM device involves applying a relatively high current through the device for a relatively short duration. For example, the duration of the current pulse is of less than 10 ns. This causes a melting of a region of a resistive switching layer of the device, which then changes from a crystalline phase to an amorphous phase, and then cools without recrystallizing. This amorphous phase has a relatively high electrical resistance. Furthermore, this resistance increases with time following the reset operation, corresponding to a decrease in the conductance of the device. Such a drift is for example particularly apparent when the device is reset using a relatively high current, leading to a relatively high initial resistance, and a higher subsequent drift. Those skilled in the art will understand how to measure the drift that occurs based on different reset states, i.e. different programming currents, and will then be capable of choosing a suitable programming current that results in an amount of drift that can be exploited as described herein.
As also known by those skilled in the art, a set operation of a PCM device involves applying a current that is lower than the current applied during the reset operation, for a longer duration. For example, the duration of the current pulse is of more than 100 ns. This for example causes the amorphous region of the resistive switching layer of the device to change from the amorphous phase back to the crystalline phase as the current reduces. The resistance of the device is thus relatively low.
One or more of the pre-synaptic neurons for example stores a time indication represented by the conductance g_PRE of a resistive switching memory device 902, and/or one or more of the post-synaptic neurons for example stores a time indication represented by the conductance g_POST of a resistive switching memory device 904. In the example of
The conductance of the resistive memory device 902, 904 of the pre- and post-synaptic neurons can be used to determine a time difference between pre- and post-synaptic spikes, as will now be described in more detail with reference to
As illustrated, according to the example of
When Δt is positive, above the threshold TH1 and below a further threshold TH2, or when Δt is negative and above a threshold TH3, the conductance g_SYNAPSE representing the synaptic weight is for example decreased by a fixed percentage, this percentage for example being in the range 5% to 30%, although, again, this will depend on the application.
When Δt is below the threshold TH3 or above the threshold TH2, the conductance g_SYNAPSE is for example not changed.
Initially, it is assumed that the conductance g_PRE, g_POST and g_SYNAPSE are each at a corresponding initial state of conductance, wherein these states may be different from each other.
At a time t1, a pre-synaptic spike occurs, and in response, the conductance g_PRE is for example reset, bringing it to a level g_rst. This conductance then starts to decay. It is assumed that the time delay At since the last post-synaptic spike (not illustrated) was less than the threshold TH3, and thus no change to the conductance g_SYNAPSE is for example applied.
At a time t2, a post-synaptic spike occurs, and in response, the conductance g_POST is for example reset, bringing it to a level g_rst. This conductance then starts to decay. Furthermore, the time difference Δt1 since the last pre-synaptic spike is positive, and is compared to the threshold TH1. As it is below the threshold, the conductance g_SYNAPSE is for example increased by a long-term potentiation LTP, which in this example is a fixed increase of Δg_LTP.
At a time t3, another post-synaptic spike occurs, and in response, the conductance g_POST is for example again reset, bringing it back to the level g_rst. This conductance then starts to decay. Furthermore, the time difference Δt2 since the last pre-synaptic spike is positive, and is compared to the threshold TH1. In this example, it is for example greater than the threshold TH1, and so it is compared to the threshold TH2. As it is below the threshold TH2, the conductance g_SYNAPSE is for example decreased by a long-term depression LTD, which in this example is a fixed decrease of Δg_LTD.
At a time t4, a pre-synaptic spike occurs, and in response, the conductance g_PRE is for example again reset, bringing it back to the level g_rst. This conductance then starts to decay. Furthermore, the time difference Δt3, equal to the time t_POST of the last post-synaptic spike minus the time t_PRE of the current pre-synaptic spike, is negative. Therefore, it is compared to the threshold TH3, and found to be above this threshold, i.e. less negative than the thresold. Therefore, the conductance g_SYNAPSE is for example decreased by a long-term depression LTD, which in this example is a fixed decrease of Δg_LTD.
A flow on the left in
A flow on the right in
The circuit 1300 for example comprises a programming circuit (PROG) 1302, which receives the signal PRE from the pre-synaptic neuron, and in response to a pre-synaptic spike of this signal, it for example resets the conductance g_PRE of the resistive memory device 902 of the pre-synaptic neuron.
A read circuit (READ) 1306 is also configured to read a conductance of the device 902 in response to a post-synaptic spike of the signal POST from the post-synaptic neuron. The read circuit 1306 for example provides the read value g_PRE to an input of a comparator 1308, which is configured to compare the value g_PRE with the threshold g_TH1. The output of the comparator 1308 is coupled to a programming circuit (PROG) 1320. The read circuit 1306 also for example provides the read value g_PRE to an input of a comparator 1310, which is configured to compare the value g_PRE with the threshold g_TH2. The output of the comparator 1310 is also coupled to the programming circuit (PROG) 1320.
Similarly, the circuit 1300 for example comprises a programming circuit (PROG) 1312, which receives the signal POST from the post-synaptic neuron, and in response to a post-synaptic spike of this signal, it for example resets the conductance g_POST of the resistive memory device 904 of the post-synaptic neuron.
A read circuit (READ) 1316 is also configured to read a conductance of the device 904 in response to a pre-synaptic spike of the signal PRE from the pre-synaptic neuron. The read circuit 1316 for example provides the read value g_POST to an input of a comparator 1318, which is configured to compare the value g_POST with the threshold g_TH3. The output of the comparator 1318 is coupled to the programming circuit (PROG) 1320.
The programming circuit 1320 also for example receives the read conductance value g_PRE and the signals POST and PRE. The programming circuit 1320 is for example configured to apply the operations 1206 to 1214 and 1226 to 1230 of
While in the embodiment of
Initially, it is assumed that the conductance g_PRE and g_SYNAPSE are at substantially the same level, which is at around 30 percent of their initial reset state conductance, although any initial states would be possible.
At a time t1, a pre-synaptic spike occurs, and in response, the conductance g_PRE is for example reset, bringing it to a level g_rst. This conductance then starts to decay.
At a time t2, a post-synaptic spike occurs, and in response, the time difference Δt1 since the last pre-synaptic spike is compared to the threshold TH1. As it is below the threshold, the conductance g_SYNAPSE is for example increased by a long-term potentiation LTP, which in this example is a fixed increase of Δg_LTP.
At a time t3, another post-synaptic spike occurs, and in response, the time difference Δt2 since the last pre-synaptic spike is compared to the threshold TH1. In this example, it is for example greater than the threshold TH1, and so it is compared to the threshold TH2. As it is below the threshold TH2, the conductance g_SYNAPSE is for example decreased by a long-term depression LTD, which in this example is a fixed decrease of Δg_LTD.
At a time t4, a pre-synaptic spike occurs, and in response, the conductance g_PRE is for example again reset, bringing it back to the level g_rst.
The transistor layer 1801 is formed of a top region 1803 of a silicon substrate in which transistor sources and drains S, D, are formed, and a transistor gate layer 1804 in which gate stacks 1806 of the transistors are formed. Two transistors 1808, 1810 are illustrated in the example of
The metal stack 1802 comprises four interconnection levels 1812, 1813, 1814 and 1815 in the example of
In the example of
An advantage of the embodiments described herein is that an evaluation of a spike time interval can be made in a simple, low-cost and compact fashion using the drift or decay property of a resistive switching memory device.
Various embodiments and variants have been described. Those skilled in the art will understand that certain features of these embodiments can be combined and other variants will readily occur to those skilled in the art. For example, while particular examples based on PCM devices have been described, it will be apparent to those skilled in the art that the principles described herein could be applied to other resistive switching memories that exhibit drift.
Number | Date | Country | Kind |
---|---|---|---|
20306365.6 | Nov 2020 | EP | regional |