EP4643273A1 - Composant neuromorphique utilisant des textures magnétiques dénombrables - Google Patents
Composant neuromorphique utilisant des textures magnétiques dénombrablesInfo
- Publication number
- EP4643273A1 EP4643273A1 EP23840762.1A EP23840762A EP4643273A1 EP 4643273 A1 EP4643273 A1 EP 4643273A1 EP 23840762 A EP23840762 A EP 23840762A EP 4643273 A1 EP4643273 A1 EP 4643273A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- neuromorphic
- effect
- component
- local magnetic
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Definitions
- the present invention relates to a neuromorphic component physically realizing a neuron of a neural network and a neuromorphic circuit comprising such a component.
- a CPU is a processor, the acronym CPU coming from the English term “Central Processing Unit” literally meaning central processing unit while a GPU is a graphics processor, the acronym GPU coming from the English term “Graphics Processing Unit” literally meaning unit of graphics processing.
- a neural network is generally composed of a succession of layers of neurons, each of which takes its inputs from the outputs of the previous layer. More precisely, each layer includes neurons taking their inputs from the outputs of the neurons of the previous layer. Each layer is connected by a plurality of synapses. A synaptic weight is associated with each synapse. It is a real number, which takes positive and negative values. For each layer, the input of a neuron is the weighted sum of the outputs of the neurons of the previous layer, the weighting being done by the synaptic weights.
- a Von Neumann bottleneck problem (also called “Von Neumann bottleneck” according to its English name) appears due to the fact that the implementation of a deep neural network (with more than three layers and up to several dozen) involves using both the memory(s) and the processor while the latter elements are spatially separated. This results in congestion of the communication bus between the memory(s) and the processor both while the neural network, once trained, is used to carry out a task, and, even more so, while the neural network is trained, that is to say while its synaptic weights are adjusted to solve the task in question with maximum performance.
- CMOS complementary metal oxide semiconductor
- CMOS complementary metal oxide semiconductor
- a neural network based on optical type technologies is also known.
- CMOS neural networks and CMOS synapses are synapses using memristors.
- memristor or memristance
- the name is a portmanteau formed from the two English words memory and resistor.
- a memristor is a non-volatile memory component, the value of its electrical resistance changing with the application of a voltage for a certain duration and remaining at this value in the absence of voltage.
- each neuron occupies several tens of micrometers on a side.
- each synapse also occupies several tens of micrometers on a side. The result is that, on a limited surface corresponding for example to an electronic chip, the number of neurons and synapses that can be integrated is limited, which results in a reduction in the performance of the neural network.
- the description describes a neuromorphic component physically producing a neuron of a network of neurons connected to at least one synapse, each synapse carrying a respective weight, the neuron taking as input at least one input value weighted by a weight respective to obtain an output value, the neuromorphic component comprising:
- control unit being capable of annihilating and creating local magnetic modifications, the control unit also being capable of bringing the local magnetic modifications into a detection zone of the local magnetic modifications, the detection zone being common to all the tracks, the control unit comprising an electrical pulse application sub-unit, the application sub-unit being capable of applying a current proportional to the input value, and a subunit for modifying at least one magnetic property of the track with an amplitude proportional to the weight weighting the input value, and
- the detection unit being capable of applying an activation function to an electrical quantity corresponding to the number of local magnetic modifications detected in the detection zone to obtain the output value, the detection unit being positioned on the detection zone.
- the neuromorphic component has one or more of the following characteristics, taken in isolation or in all technically possible combinations:
- the detection unit uses a physical effect to obtain the activation function, the effect being a magneto-transport effect.
- the detection unit is a magnetic junction.
- the detection zone is a reservoir common to all tracks.
- the neuromorphic component further comprises a feedback unit, the feedback unit being capable of reinjecting the output value onto other neurons of the neural network.
- - the local magnetic modifications are chosen from the list consisting of: - skyrmions,
- the detection zone is made of a material being:
- each track is made of a material chosen from:
- the modification subunit uses a physical effect chosen from an electrostatic effect, a magneto-ionic effect, an electro-ionic effect, an electrochemical effect, a piezoelectric effect and a magnetostrictive effect.
- the application subunit is capable of applying a current in the track.
- the application subunit is capable of applying a current in a layer above or below the track.
- Such an application is suitable for the case where the track is made of an insulating material.
- the application subunit is capable of generating a current in another track arranged so as to heat the track by Joule effect.
- This heating by Joule effect leads to the formation of local magnetic modifications (for example nucleation of skyrmions) on said track.
- the number of magnetic modifications of each track is proportional to the product of the synaptic weight and one or more of the characteristics of the electrical pulses (current pulse.
- the characteristic of the current pulse is chosen from the group consisting of the amplitude of the current, the duration of the pulse and the number of pulses.
- the description also concerns a neuromorphic circuit physically producing a network of neurons, the neuromorphic circuit comprising a set of neuromorphic components such as previously described.
- the set of neuromorphic components is arranged to form a deep network.
- FIG. 1 is a schematic representation of an example of a part of a neuromorphic circuit comprising a plurality of neurons and synapses
- FIG. 2 is a schematic representation of an example of a neural network
- FIG. 3 is a schematic representation of an example of a neuromorphic component physically producing a neuron of a neural network, the neuromorphic component being seen from above,
- Figure 4 is a schematic side view of the neuromorphic component of Figure 3,
- FIG. 5 is a schematic representation of part of the operation of the neuromorphic component of Figure 3,
- FIG. 6 is a schematic representation of another example of a neuromorphic component physically producing a neuron of a neural network, the neuromorphic component being seen from above, and
- Figure 7 is a schematic representation of an example of a neuromorphic circuit comprising neuromorphic components according to Figure 3.
- FIG. 1 Part of a neuromorphic circuit 10 of a neural network is shown in Figure 1.
- the neuromorphic circuit 10 is suitable for implementing a neural network 12 as shown schematically in Figure 2.
- the neural network 12 described is a network comprising an ordered succession of layers 14 of neurons 16, each of which takes its inputs from the outputs of the previous layer 14.
- a neuron or nerve cell
- Neurons ensure the transmission of a bioelectric signal called nerve impulses.
- Neurons have two physiological properties: excitability, that is to say the capacity to respond to stimulation and to convert them into nerve impulses, and conductivity, that is to say the capacity to transmit signals. impulses.
- activation In formal neural networks, the behavior of biological neurons is imitated by a mathematical function, called activation, which has the property of being non-linear (to be able to transform the input in a useful way) and preferably of being differentiable (to allow learning by backpropagation of the gradient).
- An activation function (sometimes called “simulacrum of electrical transfer between synapses”) is thus a mathematical function which occurs in all types of neurons in a neural network.
- the “square root”, linear rectification function (more often referred to by the acronym ReLu which refers to the corresponding English name “Rectified Linear Unit”), sigmoid or hyperbolic tangent are examples of functions that can serve as an activation function. .
- a neuron 16 is a component performing a function equivalent to these latter models.
- each layer 14 comprises neurons 16 taking their inputs from the outputs of the neurons 16 of the previous layer 14.
- the neural network 12 described is a network comprising a single hidden layer of neurons 18.
- this number of hidden layers of neurons is not limiting.
- the uniqueness of the hidden layer of neurons 18 means that the neural network 10 includes an input layer 20 followed by the hidden layer of neurons 18, itself followed by an output layer 22.
- Each layer 14 is connected by a plurality of synapses 24.
- the synapse designates a functional contact zone which is established between two neurons 16. Depending on its behavior, the biological synapse can excite or inhibit the downstream neuron in response to the upstream neuron.
- a positive synaptic weight corresponds to an excitatory synapse while a negative synaptic weight corresponds to an inhibitory synapse.
- Biological neural networks learn by modifying synaptic transmissions throughout the network.
- formal neural networks can be trained to perform tasks by modifying synaptic weights according to a learning rule.
- a synapse 24 is a component performing a function equivalent to a synaptic weight of modifiable value.
- a synaptic weight is therefore associated with each synapse 24. For example, it is a real number, which takes positive as well as negative values.
- the input of a neuron 16 is the weighted sum of the outputs of the neurons 16 of the previous layer 14, the weighting being done by the synaptic weights.
- each layer 14 of neurons 16 is fully connected.
- a fully connected neuron layer is one in which the neurons in the layer are each connected to all the neurons in the previous layer. Such a type of layer is more often called “fully connected”.
- the neurons 16 are connected by a synapse 24 which is bidirectional.
- the neuromorphic circuit 10 comprises a set of neuromorphic components 26.
- a neuromorphic component is a component capable of carrying out a function in a neural network, in particular neuromorphic components carrying out synapse functions and neuron functions respectively.
- the neuromorphic circuit 10 comprises neuromorphic components performing the function of a neuron 28 and neuromorphic components performing the function of synapse 30.
- the neuromorphic components 26 are arranged so as to form a neural network, preferably a deep neural network.
- neuron 28 instead of the expression “neuromorphic component carrying out the function of a neuron 28”, the expression “neuron 28” will be used and, instead of the expression “neuromorphic component carrying out the function of a synapse 30”, the expression “synapse 30” will be used.
- FIG. 1 An example of neuron 28 is illustrated in Figure 3
- the neuron 28 takes as input at least one input value weighted by a respective weight to obtain an output value.
- neuron 28 takes n values as input, n being an integer greater than 1.
- n is, for example, greater than 10, preferably greater than 50 and more preferably greater than 100.
- neuron 28 is connected to n 30 different synapses.
- the neuron 28 comprises n tracks 32, n control units 34 and a detection unit 36.
- the neuron 28 thus comprises, for each input value, a track 32 and a respective control unit 34.
- Each track 32 is capable of presenting countable and movable local magnetic modifications.
- a local magnetic modification 40 is a non-collinear magnetic texture having particle or soliton properties, and can be counted.
- These textures are also movable textures, that is to say they can be moved in a controlled manner in neuron 28.
- the textures have a characteristic dimension less than one micron, so that the textures are of submicron size.
- a typical example of local magnetic modifications 40 is a set of skyrmions, which correspond to a vortex or spin vortex on a surface.
- the local magnetic modifications 40 are hopfions, bubbles, globules, cocoons, strands or domain walls.
- magnetic particles 40 will be used to designate these local magnetic modifications.
- the tracks 32 can here be seen as injection tracks or injectors of magnetic particles 40 depending on the mode of operation of the neuron 28 as will be explained later (creation and movement of particles 40 compared to movement only of particles 40).
- the tracks 32 are rectilinear elements.
- Each track 32 extends mainly in a main direction denoted main direction X
- the track 32 typically has a length of around ten micrometers (dimension along the main direction X) and a width of a few micrometers (dimension along a transverse direction denoted Y).
- stacking direction Z a stacking direction of the layers is also defined, this direction being denoted stacking direction Z.
- the tracks 32 are parallel in the main direction X.
- this geometry is not limiting, other shapes being possible for the tracks 32, in particular curved shapes and other relative arrangements of the tracks 32 (non-parallel) as long as the tracks 32 remain separate.
- Each track 32 is made of a material which comprises an element chosen from Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm and Yb.
- the material is the element or an alloy comprising one or more of these elements or even an oxide comprising one or more of these elements.
- each track 32 is separated from another track 32 by an intertrack space 48 which can be made with similar materials.
- the tracks 32 are, for example, obtained by etching in a magnetic multilayer.
- a lithography operation could be carried out on the n parallel tracks 32 in a metallic magnetic multilayer film allowing the generation of skyrmions.
- Ta 5 /Co2oFe6oB 2 o/Tao.o8/MgO is a particular example of such a film.
- the particles 40 circulating in each track 32 as well as the magnetic properties of each track 32 are controlled by a control unit 34 which is specific to each track 32.
- Each control unit 34 includes an application sub-unit 42 and a modification sub-unit 44.
- the control unit 34 is a magnetic particle control unit 40.
- control unit 34 is capable of annihilating and creating the magnetic particles 40.
- the control unit 34 is also capable of bringing the magnetic particles 40 into a detection zone 46 of these magnetic particles 40.
- the application subunit 42 is an application subunit 42 of electrical pulses.
- the application subunit 42 is thus capable of applying a current to the track 32 to carry out operations on the magnetic particles 40.
- the application subunit 42 is capable of applying a current proportional to the input value associated with the track 32 considered
- the detection zone 46 is the oval zone surrounded by dotted lines.
- This detection zone 46 comprises a part of all the tracks 32 and the part of the intertrack 48 located between these parts.
- the detection zone 46 is thus common to all the tracks 32, that is to say that the detection zone 46 is shared by each track 32.
- the detection zone 46 is here made of several materials, each material comprising an element chosen from Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm and Yb.
- each material is the element or an alloy comprising one or more of these elements or even an oxide comprising one or more of these elements.
- the control unit 34 is also capable of controlling the properties of the track 32 by using the modification subunit 44.
- the modification subunit 44 is capable of modifying one (or more) of the magnetic properties of the track 32 with an amplitude proportional to the weight weighting the input value.
- a first example of a magnetic property that can be modified by the modification subunit 44 is perpendicular magnetic anisotropy.
- the energy of the perpendicular magnetic anisotropy is expressed as K(S t ⁇ z) 2 with K the anisotropy and S L • z the out-of-plane component of the local magnetization.
- a second example of a magnetic property that can be modified by modification subunit 44 is the asymmetric exchange interaction.
- a third example of a magnetic property that can be modified by modification subunit 44 is the symmetric exchange interaction.
- the modification here is a non-volatile and reversible modification using a gate voltage.
- electrodes are deposited locally on each track 32.
- Such electrodes can be made of oxide with a material such as HfOs or of MgO.
- the electrodes are, in addition, placed near the detection zone 46.
- the modification subunit 44 uses a physical effect.
- the effect is chosen from the following effects: electrostatic effect, electro-ionic effect, magneto-ionic effect, electrochemical effect, piezoelectric effect and magnetostrictive effect.
- the weights can thus be adjusted using an electrical stimulus, this stimulus coming from an additional generator.
- control units 34 allow electrical current pulses to be sent by the corresponding application subunit 42 in a track 32.
- the track 32 identified by the index i is thus crossed by a current pulse denoted Ji.
- the modification subunit 44 modifies a magnetic property of the track 32 so that the number of magnetic particles 40 created and/or moved is proportional to the product of the amplitude of the current pulse with the synaptic weight Wi. This corresponds well to the modulation of Ji inputs by Wi synaptic weights which is sought here.
- the detection unit 36 is positioned on the detection zone 46 as visible in Figure 4.
- the detection unit 36 is capable of detecting magnetic particles 40.
- the detection unit 36 measures the number of magnetic particles 40 using an electrical reading.
- the detection unit 36 applies an activation function to the electrical quantity corresponding to the number of magnetic particles 40 to obtain a new electrical quantity, this new electrical quantity is the output value.
- the activation function is not strictly linear, that is to say non-linear and monotonic. Indeed, a linear activation function would not be suitable, because synaptic weights are adjusted using the derivative of the activation function. If it is linear, all the weights would be adjusted identically, regardless of the inputs.
- the detection unit 36 thus has two roles: on the one hand, to count the magnetic particles 40 in the detection zone 46 and, on the other hand, to convert the number of magnetic particles 40 into an electrical output worth the result of the application of the activation function on this number of magnetic particles 40.
- the detection unit 36 performs a non-linear electrical reading. Such reading can be accomplished in several ways.
- the detection unit 36 may be a spin valve.
- a spin valve is a component, comprising two or more layers of conductive magnetic materials, whose electrical resistance can be varied between several values depending on the relative angle between the magnetizations of the layers.
- the detection unit 36 is thus a magnetic tunnel junction.
- the magnetic tunnel junction corresponds to the oval zone of detection zone 46.
- Such a tunnel junction has a resistance varying with the number of magnetic particles 40 positioned in the detection zone 46.
- the tunnel junction uses a tunnel magnetoresistance effect.
- This magnetoresistive effect having a very high amplitude, this makes it possible to obtain easy detection of magnetic particles 40.
- the variation in the resistance of the tunnel junction is directly non-linear with the number of magnetic particles 40 in the detection zone 46 if the starting state is the most resistive state (case where the magnetization of the associated layers is antiparallel) and that the magnetoresistance effect is sufficiently significant. This results in better compactness.
- the resistance of the tunnel junction is much greater than that of the tracks 32. This makes it possible to limit the propagation of current between the different tracks 32.
- the materials generally used for the tunnel junctions are very similar to those used for the magnetic multilayers forming the tracks 32 and the detection zone 46, so that manufacturing is easier (better compatibility between the materials).
- CoFeB and MgO can be cited to form a tunnel junction formed from an alternation of CoFeB/MgO/CoFeB.
- the detection unit 36 uses a physical effect involving a linear variation of the resistance with the number of magnetic particles 40 detected.
- the physical effect is, for example, an anisotropic magnetoresistance effect, an extraordinary Hall effect, a spin Hall effect, or a non-collinear magnetoresistance effect.
- the detection unit 36 is then a magnetic junction measuring the variation in the resistance of the track 32 as a function of the number of magnetic particles 40 present in the detection zone 46.
- the effect may be an extraordinary Hall effect due to the fact that the Hall voltage varies with the number of magnetic particles 40 present in the detection zone 46.
- the detection unit 36 can also use a Nernst effect which corresponds to the fact that the measured transverse voltage is proportional to the number of magnetic particles 40 generated by a thermal current.
- the detection unit 36 includes an additional element for applying a subsequent non-linear function.
- such an additional element is a transistor.
- This transistor can be produced using CMOS technology which is compatible with the materials used to produce tracks 32.
- the additional element can take advantage of the change in size of the magnetic particles 40 as a function of the magnetic properties of the track 32, this change in size can also be detected electrically.
- the additional element uses a magneto-thermoelectric effect, this involving the measurement and/or application of temperature gradients.
- tracks 32 can be used whose transverse resistance (in the direction perpendicular to the main direction in which track 32 extends) is greater than the resistance of track 32 (defined as the resistance in the main direction).
- graphene presents electrical properties, in particular electrical transport properties, varying with the magnetic fields created by the magnetic particles 40.
- an insulating layer topped with the graphene layer is deposited.
- the insulating layer is thin enough so that the leakage fields created by the magnetic particles 40 are sufficient to be detected in the graphene, while making it possible to limit the disturbances of the magnetic particles 40 linked to the presence of graphene.
- the graphene layer thus has no electrical contact with the tracks 32, which makes it possible to avoid the flow of current from one track 32 to another.
- the effects relate to a magneto-transport type effect and this allows the detection unit 36 to perform a non-linear operation corresponding to the activation function, a function which is necessary when a neuromorphic calculation is implemented.
- the operation of the neuromorphic component 26 producing the neuron 28 is now described through several operations.
- n currents of current density Ji generate in each track 32 a number of magnetic particles 40 Ni proportional to both the input value Ji and synaptic weights Wi.
- each synaptic weight Wi corresponds to a local modification of the magnetic properties which can be modulated in a reversible and non-volatile manner by the gate voltage.
- the current density inputs Ji are modulated by the synaptic weights Wi so that the number Ni of magnetic particles 40 in the detection zone 46 of the track 32 i is proportional to Ji * Wi.
- N the total number of magnetic particles 40
- V out an electrical output
- Each example comprises two parts, a part on the left corresponding to the state of track 32 considered before the application of the current pulse Ji and a part on the right corresponding to the state of track 32 considered after application of the current pulse Ji.
- the example noted I corresponds to the case of nucleation of magnetic particles 40.
- Ni magnetic particles 40 are nucleated (and possibly then moved) in the detection zone 46, this nucleation being proportional to both the amplitude of the current pulse Ji and the synaptic weight Wi.
- the current density of the current pulse, the time of the current pulse or the number of current pulses can be varied over a predefined time to encode the desired input value. This allows you to benefit from three degrees of freedom.
- the magnetic particles 40 are skyrmions
- a local increase in temperature makes it possible to nucleate skyrmions.
- it can be considered to code the input value by the power or the energy density of a thermal current.
- the magnetic particles 40 are then removed from the tracks 32 at the end of each iteration of the calculation operation.
- the example noted II corresponds to the case of a movement of magnetic particles 40 already created.
- the magnetic particles 40 are already present in the track 32 i, for example, in a dedicated zone forming a reservoir.
- the right part shows that part of the magnetic particles 40 was moved towards the detection zone 46 and that another part of the magnetic particles 40 remained in the reservoir.
- the number of magnetic particles 40 displaced is equal to Ni.
- the magnetic particles 40 are then returned to the reservoirs of the tracks 32 at the end of each iteration.
- neuron 28 is also capable of performing an operation to reset the calculation operation.
- a reset operation consisting of eliminating magnetic particles 40, it may be considered to saturate the magnetization of the neuron 28 using an external magnetic field before use.
- Such a magnetic field is then a field applied in a direction opposite to the magnetization of the center of the skyrmions, that is to say oriented in the stacking direction Z.
- one (or more) current pulse can be injected into the track 32 having an amplitude and a duration similar to the initial current pulse but with a reverse polarity.
- synaptic weights can be used to increase or decrease the speed of the set of magnetic particles 40 and that only Ni magnetic particles 40 are in the detection zone 46, the other particles 40 being around the zone detection 46.
- the neuron 28 is also capable of carrying out an initial operation of filling the reservoir.
- the magnetic particles 40 are, for example, created by the application of a current pulse having a large amplitude.
- this initial current pulse is sufficient to carry out all iterations of the calculation operation. It will be understood that the current pulses used during these iterations have a lower amplitude to avoid the generation of additional magnetic particles 40.
- the magnetic particles 40 can be generated magnetically or electrically and then moved to the desired locations before using the neuron 28.
- Neuron 28 is also capable of implementing a learning operation.
- the learning operation involves the use of the gate voltage, this voltage being adjusted according to the value of the synaptic weight to be coded.
- Such a voltage adjustment is carried out while taking care not to disturb the skyrmions present in track 32 associated with the modification submodule.
- the neuromorphic component 28 described makes it possible to store the synaptic weights, calculate the weighted sum and apply the activation function in an integrated manner in the same compact device.
- Such a neuromorphic component 28 relies in particular on the possibility of electrically controlling the nucleation, movement and annihilation of magnetic particles 40 in magnetic multilayers, in order to inject (nucleate, move or both at the same time) a certain number of magnetic particles 40 proportional to the input and the synaptic weight for each track 32.
- the neuromorphic component 28 therefore benefits from the fact that the magnetic particles 40 can easily be controlled and counted.
- the neuromorphic component 28 is, among other things, a spintronic device, so that this component has the same advantages as all spintronic components.
- the neuromorphic component 28 benefits from the nonvolatile nature intrinsically linked to the magnetic properties of the magnetic particles 40.
- Such a component is, moreover, compatible with CMOS components and other spintronic components.
- the neuromorphic component 28 also exhibits reliable and reproducible operation over a wide frequency range. This reliability is accompanied by good resistance to electromagnetic radiation from the environment. Such an effect is amplified by the fact that the weighted sum involves statistics on a large number of magnetic particles 40. This also makes it possible to reduce the influence of the distribution of sizes of magnetic particles 40, this distribution being able to generate noise.
- the operations carried out by the neuron 28 can be relatively rapid due to the fact that the nucleation and movement of the magnetic particles 40 are physical effects having relatively rapid dynamics.
- this dynamic implies a low current density, which makes it possible to reduce the energy consumed by the neuromorphic component 28.
- the magnetic particles 40 also have a submicron size, the dimensions of the tracks 32 are therefore relatively small, which also limits the consumption of electrical energy.
- Magnetic particles 40 also have the advantage of being able to be nucleated, stabilized and controlled at room temperature and in the absence of an external magnetic field, as well as being stable and non-volatile.
- the tracks 32 converge at one of their ends towards a detection zone 46 which forms a reservoir common to all the tracks 32.
- Such a detection zone 46 corresponds to a chamber where all the magnetic particles 40 accumulate.
- the neuron 28 further comprises a reinjection unit.
- the feedback unit is capable of reinjecting the output value onto neurons 28 located elsewhere in the neural network 28.
- the neuron 28 described thus makes it possible to spatially condense the architecture with all neuromorphic functions, to reduce the need for subsequent electrical connections between neuromorphic components 28 and directly integrate artificial neurons 28 and synapses 30 into a microscopic architecture.
- skyrmions being submicron particles 40
- the dimensions of the integrated neuromorphic circuit 10 could be small enough to be integrated on a chip.
- the present neuromorphic circuit 10 also ensures good compatibility between the output of synapses 30 and the input of neurons 28.
- the neuromorphic component physically producing the neuron 28 also makes it possible to reduce the number of operations carried out by directly summing the number of local magnetic modifications in the detection zone 46.
- the number of magnetic tunnel junctions is much lower than devices involving the presence of one magnetic tunnel junction per synapse 30.
- the neuromorphic circuit 10 allows good isolation of the synapses 30 by preventing in particular currents corresponding to a synaptic weight from propagating into another synapse 30 passing through the detection zone 46.
- the neuromorphic circuit 10 makes it possible to have fully integrated, compact artificial synapses 30 and neurons 28 which are both electrically controllable and detectable. This makes it possible to envisage the creation of a complete neuromorphic circuit 10 on a single chip.
- the neuromorphic circuit 10 can comprise m neurons 28 connected by n synapses 30.
- the neurons 28 and the synapses 30 are directly connected to each other, and this at the microscopic scale along continuous lines forming the tracks 32.
- the upper end (opposite to the end where the current pulses are injected) of tracks 32 is connected to ground.
- the resistance of the tracks 32 being negligible compared to that of the tunnel barrier, the measurement of the magnetic tunnel junction can be done between the upper electrode (oval in Figure 7) and the ground, while avoiding the short circuit of the tracks 32 between them.
- Such a neuromorphic circuit 10 is thus capable of performing all neuromorphic operations (calculation and learning) locally while being completely electrically controlled and consuming a limited quantity of energy, compared to known neuromorphic circuits. Such neuromorphic circuits 10 can then be used for sensory recognition applications (sound, visual, touch, etc.) or to develop artificial intelligence systems capable of learning, reasoning or interacting.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Hall/Mr Elements (AREA)
Abstract
L'invention porte sur un composant neuromorphique (28) réalisant physiquement un neurone et comprenant : - pour chaque valeur d'entrée : - une piste (32) présentant des modifications magnétiques locales dénombrables et déplaçables, - une unité de contrôle des modifications magnétiques locales (40) amenant les modifications magnétiques locales dans une zone de détection (46) commune à toutes les pistes (32), et - une unité de détection des modifications magnétiques locales appliquant une fonction d'activation sur une grandeur électrique correspondant au nombre de modifications magnétiques locales détectées dans la zone de détection (46) pour obtenir la valeur de sortie, l'unité de détection (36) étant positionnée sur la zone de détection (46).
Description
Composant neuromorphique utilisant des textures magnétiques dénombrables
La présente invention concerne un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones et un circuit neuromorphique comprenant un tel composant.
Le développement de l’internet et des capteurs connectés conduit à permettre l’obtention de quantités considérables de données. Ce phénomène souvent désigné sous le terme de « big data » implique l’emploi d’ordinateurs pour pouvoir exploiter l’ensemble des données obtenues. Une telle exploitation peut être utilisée dans de multiples domaines, parmi lesquelles le traitement automatique de données, l’aide au diagnostic, l’analyse prédictive, les véhicules autonomes, la bioinformatique ou la surveillance.
Pour mettre en œuvre une telle exploitation, il est connu d’utiliser des algorithmes d’apprentissage automatique faisant partie de programmes pouvant être exécutés sur des processeurs tels que les CPU ou les GPU. Un CPU est un processeur, le sigle CPU provenant du terme anglais « Central Processing Unit » signifiant littéralement unité centrale de traitement tandis qu’un GPU est un processeur graphique, le sigle GPU provenant du terme anglais « Graphics Processing Unit » signifiant littéralement unité de traitement graphique.
Parmi les techniques de mise en œuvre d’apprentissage, l’emploi de réseaux de neurones formels, et notamment de réseaux de neurones profonds, est de plus en plus répandu, ces structures étant considérées comme très prometteuses du fait de leurs performances pour de nombreuses tâches telles que la classification automatique de données, la reconnaissance de motifs, la traduction et la compréhension automatique de langues, le contrôle robotique, la navigation automatique, les systèmes de recommandations, la détection d’anomalies, la détection de fraudes, l’étude de l’ADN ou encore la découverte de nouvelles molécules.
Un réseau de neurones est en général composé d'une succession de couches de neurones dont chacune prend ses entrées sur les sorties de la couche précédente. Plus précisément, chaque couche comprend des neurones prenant leurs entrées sur les sorties des neurones de la couche précédente. Chaque couche est reliée par une pluralité de synapses. Un poids synaptique est associé à chaque synapse. C’est un nombre réel, qui prend des valeurs positives comme négatives. Pour chaque couche, l’entrée d’un neurone est la somme pondérée des sorties des neurones de la couche précédente, la pondération étant faite par les poids synaptiques.
Pour une implémentation dans un CPU ou un GPU, une problématique de goulot d’étranglement de Von Neumann (également appelée « Von Neumann bottleneck » selon
sa dénomination anglaise) apparaît du fait que l’implémentation d’un réseau de neurones profond (à plus de trois couches et allant jusqu’à plusieurs dizaines) implique d’utiliser à la fois la ou les mémoires et le processeur alors que ces derniers éléments sont séparés spatialement. Il en résulte un engorgement du bus de communication entre la ou les mémoires et le processeur à la fois pendant que le réseau de neurones une fois entraîné est utilisé pour réaliser une tâche, et, à plus forte raison, pendant que le réseau de neurones est entraîné, c’est-à-dire pendant que ses poids synaptiques sont réglés pour résoudre la tâche en question avec un maximum de performance.
Il est donc souhaitable de développer des architectures matérielles dédiées, entremêlant mémoire et calcul, pour réaliser des réseaux de neurones rapides, faible consommation et capables d’apprendre en temps réel.
Il est connu de réaliser des réseaux de neurones sur la base d’une technologie de type CMOS. Il est entendu par le sigle « CMOS », oxyde métallique semi-conducteur complémentaire (acronyme provenant de l’expression anglaise « Complementary Metal- Oxide-Semiconductor »). Le sigle CMOS désigne aussi bien un procédé de fabrication qu’un composant obtenu par un tel procédé de fabrication.
Il est également connu un réseau de neurones reposant sur des technologies de type optique.
Plus précisément, trois propositions d’architecture font l’objet d’études spécifiques : les réseaux à neurones CMOS et synapses CMOS, les réseaux à neurones optiques et synapses optiques et les réseaux à neurones CMOS et synapses memristives. Des synapses memristives sont des synapses utilisant des memristors. En électronique, le memristor (ou memristance) est un composant électronique passif. Le nom est un mot- valise formé à partir des deux mots anglais memory et resistor. Un memristor est un composant de mémoire non-volatile, la valeur de sa résistance électrique changeant avec l’application d’une tension pendant une certaine durée et restant à cette valeur en l’absence de tension.
Toutefois, selon chacune de ces technologies, chaque neurone occupe plusieurs dizaines de micromètres de côté. Pour les technologies CMOS et optique, chaque synapse occupe également plusieurs dizaines de micromètres de côté. Il en résulte que, sur une surface limitée correspondant par exemple à une puce électronique, le nombre de neurones et de synapses qui peuvent être intégrés est limité, ce qui résulte en une diminution des performances du réseau de neurones.
Il existe donc un besoin pour un composant neuromorphique capable d’implémenter des neurones dans un réseau de neurones présentant une compacité grandement améliorée avec de bonnes performances de calcul.
A cet effet, la description décrit un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones relié à au moins une synapse, chaque synapse portant un poids respectif, le neurone prenant en entrée au moins une valeur d’entrée pondérée par un poids respectif pour obtenir une valeur de sortie, le composant neuromorphique comprenant :
- pour chaque valeur d’entrée :
- une piste propre à présenter des modifications magnétiques locales dénombrables et déplaçables,
- une unité de contrôle des modifications magnétiques locales, l’unité de contrôle étant propre à annihiler et créer les modifications magnétiques locales, l’unité de contrôle étant également propre à amener les modifications magnétiques locales dans une zone de détection des modifications magnétiques locales, la zone de détection étant commune à toutes les pistes, l’unité de contrôle comportant une sous-unité d’application d’impulsions électriques, la sous-unité d’application étant propre à appliquer un courant proportionnel à la valeur d’entrée, et une sous-unité de modification d’au moins une propriété magnétique de la piste avec une amplitude proportionnelle au poids pondérant la valeur d’entrée, et
- une unité de détection des modifications magnétiques locales, l’unité de détection étant propre à appliquer une fonction d’activation sur une grandeur électrique correspondant au nombre de modifications magnétiques locales détectées dans la zone de détection pour obtenir la valeur de sortie, l’unité de détection étant positionnée sur la zone de détection.
Selon des modes de réalisation particuliers, le composant neuromorphique présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles :
- l’unité de détection utilise un effet physique pour obtenir la fonction d’activation, l’effet étant un effet de magnéto-transport.
- l’unité de détection est une jonction magnétique.
- les pistes sont séparées.
- la zone de détection est un réservoir commun à toutes les pistes.
- le composant neuromorphique comporte, en outre, une unité de réinjection, l’unité de réinjection étant propre à réinjecter la valeur de sortie sur d’autres neurones du réseau de neurones.
- les modifications magnétiques locales sont choisies dans la liste constituée de :
- skyrmions,
- hopfions,
- bulles,
- globules,
- cocons,
- torons, et
- parois de domaine.
- la zone de détection est réalisée en un matériau étant :
- un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Ht, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm, et Yb,
- un alliage comprenant un ou plusieurs des éléments précités, et
- un oxyde comprenant un ou plusieurs éléments précités.
- chaque piste est réalisée en un matériau choisi parmi :
- un élément choisi parmi 10. Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Ht, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb
- un alliage comprenant un ou plusieurs des éléments précités, et
- un oxyde comprenant un ou plusieurs éléments précités.
- la sous-unité de modification utilise un effet physique choisi parmi un effet électrostatique, un effet magnéto-ionique, un effet électro-ionique, un effet électrochimique, un effet piézoélectrique et un effet magnétostrictif.
- la sous-unité d’application est propre à appliquer un courant dans la piste.
- la sous-unité d’application est propre à appliquer un courant dans une couche au- dessus ou en-dessous de la piste. Une telle application est adaptée au cas où la piste est réalisée en un matériau isolant.
- la sous-unité d’application est propre à générer un courant dans une autre piste agencée de manière à chauffer par effet Joule la piste. Ce chauffage par effet joule entraîne la formation de modifications magnétiques locales (par exemple nucléation de skyrmions) sur ladite piste.
- le nombre de modifications magnétiques de chaque piste est proportionnel au produit du poids synaptique et de l’une ou plusieurs des caractéristiques des impulsions électriques (impulsion de courant.
- la caractéristique de l’impulsion du courant est choisie dans le groupe constitué de l'amplitude du courant, la durée de l’impulsion et le nombre d’impulsions.
La description concerne aussi un circuit neuromorphique réalisant physiquement un réseau de neurones, le circuit neuromorphique comprenant un ensemble de composants neuromorphiques tels que précédemment décrit.
Selon un mode de réalisation particulier, l’ensemble de composants neuromorphiques est agencé pour former un réseau profond.
Dans la présente description, l’expression « propre à » signifie indifféremment « adapté pour », « adapté à » ou « configuré pour ».
Des caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels :
- la figure 1 est une représentation schématique d’un exemple d’une partie de circuit neuromorphique comportant une pluralité de neurones et de synapses,
- la figure 2 est une représentation schématique d’un exemple de réseau de neurones,
- la figure 3 est une représentation schématique d’un exemple d’un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones, le composant neuromorphique étant vu de dessus,
- la figure 4 est une représentation schématique vue de côté du composant neuromorphique de la figure 3,
- la figure 5 est une représentation schématique d’une partie du fonctionnement du composant neuromorphique de la figure 3,
- la figure 6 est une représentation schématique d’un autre exemple d’un composant neuromorphique réalisant physiquement un neurone d’un réseau de neurones, le composant neuromorphique étant vu de dessus, et
- la figure 7 est une représentation schématique d’un exemple de circuit neuromorphique comprenant des composants neuromorphiques selon la figure 3.
Une partie d’un circuit neuromorphique 10 de réseau de neurones est représentée sur la figure 1 .
Le circuit neuromorphique 10 est propre à implémenter un réseau de neurones 12 tel que schématisé sur la figure 2.
Le réseau de neurones 12 décrit est un réseau comportant une succession ordonnée de couches 14 de neurones 16 dont chacune prend ses entrées sur les sorties de la couche 14 précédente.
Par définition, en biologie, un neurone, ou une cellule nerveuse, est une cellule excitable constituant l'unité fonctionnelle de base du système nerveux. Les neurones assurent la transmission d'un signal bioélectrique appelé influx nerveux. Les neurones ont deux propriétés physiologiques : l'excitabilité, c'est-à-dire la capacité de répondre aux stimulations et de convertir celles-ci en impulsions nerveuses, et la conductivité, c'est-à- dire la capacité de transmettre les impulsions.
Dans les réseaux de neurones formels, le comportement des neurones biologiques est imité par une fonction mathématique, dite d’activation, qui présente la propriété d’être non-linéaire (pour pouvoir transformer l’entrée de manière utile) et préférentiellement d’être dérivable (pour permettre l’apprentissage par rétropropagation du gradient).
Une fonction d’activation (parfois appelée « simulacre de transfert électrique entre synapses ») est ainsi une fonction mathématique qui intervient dans tous les types de neurones d’un réseau de neurones. La fonction « racine carré », de rectification linéaire (plus souvent désigné par l’acronyme ReLu qui renvoie à la dénomination anglaise correspondante de « Rectified Linear Unit »), sigmoïde ou tangente hyperbolique sont des exemples de fonctions pouvant servir de fonction d’activation.
Dans le cadre de cette demande, un neurone 16 est un composant réalisant une fonction équivalente à ces derniers modèles.
Plus précisément, chaque couche 14 comprend des neurones 16 prenant leurs entrées sur les sorties des neurones 16 de la couche 14 précédente.
Dans le cas de la figure 2, le réseau de neurones 12 décrit est un réseau comportant une unique couche cachée de neurones 18. Toutefois, ce nombre de couches cachées de neurones n’est pas limitatif.
L’unicité de la couche cachée de neurones 18 signifie que le réseau de neurones 10 comporte une couche d’entrée 20 suivie par la couche cachée de neurones 18, elle-même suivie par une couche de sortie 22.
Chaque couche 14 est reliée par une pluralité de synapses 24.
En biologie, la synapse désigne une zone de contact fonctionnelle qui s'établit entre deux neurones 16. Suivant son comportement, la synapse biologique peut exciter ou encore inhiber le neurone aval en réponse au neurone amont. Dans les réseaux de neurones formels, un poids synaptique positif correspond à une synapse excitatrice tandis qu’un poids synaptique négatif correspond à une synapse inhibitrice. Les réseaux de neurones biologiques apprennent par la modification des transmissions synaptiques dans l’ensemble réseau. De même, les réseaux de neurones formels peuvent être entraînés à réaliser des tâches en modifiant les poids synaptiques selon une règle d’apprentissage.
Dans le cadre de cette demande, une synapse 24 est un composant réalisant une fonction équivalente à un poids synaptique de valeur modifiable.
Un poids synaptique est donc associé à chaque synapse 24. A titre d’exemple, c’est un nombre réel, qui prend des valeurs positives comme négatives.
Pour chaque couche 14, l’entrée d’un neurone 16 est la somme pondérée des sorties des neurones 16 de la couche 14 précédente, la pondération étant faite par les poids synaptiques.
Selon l’exemple décrit, chaque couche 14 de neurones 16 est entièrement connectée.
Une couche de neurones entièrement connectée est une couche dans laquelle les neurones de la couche sont chacun connectés à tous les neurones de la couche précédente. Un tel type de couche est plus souvent dénommée selon le terme anglais de « fully connected ».
Le fonctionnement qui vient d’être décrit est valable dans l’autre sens.
Plus précisément, dans l’exemple de la figure 2, pour toutes les couches 14 de neurones 16, à l’exception de la première couche 20 et des neurones de biais 16, les neurones 16 sont connectés par une synapse 24 qui est bidirectionnelle.
De ce fait, le même calcul peut être effectué en échangeant le rôle des deux neurones 16.
Le circuit neuromorphique 10 comporte un ensemble de composants neuromorphiques 26.
Par définition, un composant neuromorphique est un composant propre à réaliser une fonction dans un réseau de neurones, en particulier des composants neuromorphiques réalisant respectivement des fonctions de synapse et des fonctions de neurone.
Selon l’exemple, le circuit neuromorphique 10 comprend des composants neuromorphiques réalisant la fonction d’un neurone 28 et des composants neuromorphiques réalisant la fonction de synapse 30.
Les composants neuromorphiques 26 sont agencés de manière à former un réseau de neurones, de préférence un réseau de neurones profond.
Dans la suite de la description, pour clarifier le propos, les éléments réalisant une des fonctions précitées sont désignés par le nom de la fonction et non par une formulation du type « composant/circuit réalisant la fonction X » ou « comportant/circuit implémentant physiquement la fonction X ».
Au lieu de l’expression « composant neuromorphique réalisant la fonction d’un neurone 28 », il sera utilisé l’expression « neurone 28 » et, au lieu de l’expression
« composant neuromorphique réalisant la fonction d’une synapse 30 », il sera utilisé l’expression « synapse 30 ».
Un exemple de neurone 28 est illustré sur la figure 3
Comme expliqué précédemment, le neurone 28 prend en entrée au moins une valeur d’entrée pondérée par un poids respectif pour obtenir une valeur de sortie.
Dans la suite, il est supposé que le neurone 28 prend en entrée n valeurs, n étant un entier supérieur à 1.
Le nombre n est, par exemple, supérieur à 10, préférentiellement supérieur à 50 et plus préférentiellement supérieur à 100.
Cela signifie que le neurone 28 est connecté à n synapses 30 différentes.
Pour implémenter une telle fonction physiquement, le neurone 28 comprend n pistes 32, n unités de contrôle 34 et une unité de détection 36.
Le neurone 28 comporte ainsi, pour chaque valeur d’entrée, une piste 32 et une unité de contrôle 34 respective.
Chaque piste 32 est propre à présenter des modifications magnétiques locales dénombrables et déplaçables.
Une modification magnétique locale 40 est une texture magnétique non-colinéaire ayant des propriétés de particules ou de solitons, et pouvant être comptée.
Ces textures sont également des textures déplaçables, c’est-à-dire pouvant être déplacées de manière contrôlée dans le neurone 28.
De plus, en l’espèce, les textures présentent une dimension caractéristique inférieure au micron, de sorte que les textures sont de taille submicronique.
A titre d’illustration, un exemple typique de modifications magnétiques locales 40 est un ensemble de skyrmions, qui correspondent à un vortex ou tourbillon de spin sur une surface.
En variante, les modifications magnétiques locales 40 sont des hopfions, des bulles, des globules, des cocons, des torons ou des parois de domaines.
Dans la suite, le terme de « particules magnétiques 40 » sera utilisé pour désigner ces modifications magnétiques locales.
Les pistes 32 peuvent ici être vues comme des pistes d’injection ou des injecteurs de particules magnétiques 40 selon le mode de fonctionnement du neurone 28 comme cela sera explicité ultérieurement (création et déplacement des particules 40 par rapport à déplacement uniquement des particules 40).
Selon l’exemple de la figure 3, les pistes 32 sont des éléments rectilignes.
Chaque piste 32 s’étend principalement selon une direction principale notée direction principale X
La piste 32 présente typiquement une longueur d’une dizaine de micromètres (dimension selon la direction principale X) et une largeur de quelques micromètres (dimension selon une direction transversale notée Y).
Pour compléter le repérage, il est également défini une direction d’empilement des couches, cette direction étant notée direction d’empilement Z.
De plus, selon la géométrie illustrée, les pistes 32 sont parallèles selon la direction principale X.
Toutefois, cette géométrie n’est pas limitative, d’autres formes étant envisageables pour les pistes 32, notamment des formes courbes et d’autres agencements relatifs des pistes 32 (non parallèles) du moment que les pistes 32 restent séparées.
Chaque piste 32 est réalisée en un matériau qui comporte un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb.
Selon les cas, le matériau est l’élément ou un alliage comprenant un ou plusieurs de ces éléments ou encore un oxyde comprenant un ou plusieurs de ces éléments.
En outre, chaque piste 32 est séparée d’une autre piste 32 par un espace interpiste 48 pouvant être réalisé avec des matériaux similaires.
Les pistes 32 sont, par exemple, obtenues par gravure dans une multicouche magnétique.
A titre d’illustration particulier, il pourrait être procédé à une opération de lithographie des n pistes 32 parallèles dans un film de multicouche magnétique métallique permettant la génération de skyrmions. Le Ta5/Co2oFe6oB2o/Tao.o8/MgO est un exemple particulier de tel film.
Les particules 40 circulant dans chaque piste 32 ainsi que les propriétés magnétiques de chaque piste 32 sont contrôlées par une unité de contrôle 34 qui est propre à chaque piste 32.
Chaque unité de contrôle 34 comporte une sous-unité d’application 42 et une sous- unité de modification 44.
L’unité de contrôle 34 est une unité de contrôle des particules magnétiques 40.
A ce titre, l’unité de contrôle 34 est propre à annihiler et créer les particules magnétiques 40.
L’unité de contrôle 34 est aussi propre à amener les particules magnétiques 40 dans une zone de détection 46 de ces particules magnétiques 40.
Ces opérations d’annihilation, de création et de déplacement sont notamment réalisables par la sous-unité d’application 42 comme cela sera expliqué ultérieurement dans la présente description.
La sous-unité d’application 42 est une sous-unité d’application 42 d’impulsions électriques.
La sous-unité d’application 42 est ainsi propre à appliquer un courant sur la piste 32 pour effectuer des opérations sur les particules magnétiques 40.
En particulier, la sous-unité d’application 42 est propre à appliquer un courant proportionnel à la valeur d’entrée associée à la piste 32 considérée
Dans le présent exemple, la zone de détection 46 est la zone ovale entourée par des pointillées.
Cette zone de détection 46 comporte une partie de toutes les pistes 32 et la partie de l’interpiste 48 située entre ces parties.
La zone de détection 46 est ainsi commune à toutes les pistes 32, c’est-à-dire que la zone de détection 46 est partagée par chaque piste 32.
Du fait des matériaux évoqués précédemment, la zone de détection 46 est ici réalisée en plusieurs matériaux, chaque matériau comportant un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Hf, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb. Selon les cas, chaque matériau est l’élément ou un alliage comprenant un ou plusieurs de ces éléments ou encore un oxyde comprenant un ou plusieurs de ces éléments.
L’unité de contrôle 34 est également propre à contrôler les propriétés de la piste 32 par utilisation de la sous-unité de modification 44.
En effet, la sous-unité de modification 44 est propre à modifier une (ou plusieurs) des propriétés magnétiques de la piste 32 avec une amplitude proportionnelle au poids pondérant la valeur d’entrée.
Un premier exemple de propriété magnétique pouvant être modifiée par la sous- unité de modification 44 est l’anisotropie magnétique perpendiculaire.
L’énergie de l’anisotropie magnétique perpendiculaire s’exprime comme K(St ■ z)2 avec K l’anisotropie et SL • z la composante hors-plan de l’aimantation locale.
Un deuxième exemple de propriété magnétique pouvant être modifiée par la sous- unité de modification 44 est l’interaction d’échange asymétrique.
Une telle interaction peut notamment être décrite par l’interaction de Dzyaloshinskii- Moriya, elle-même décrite par l’Hamiltonien H0M[ Lj =
■ St x S7), les lettres en gras étant des vecteurs, S et Sj étant deux spins proches et Dÿ est le vecteur Dzyaloshinskii-Moriya correspondant.
Un troisième exemple de propriété magnétique pouvant être modifiée par la sous- unité de modification 44 est l’interaction d’échange symétrique.
Une telle interaction peut être écrite par l’Hamiltonien de Heisenberg.
L’anisotropie magnétique perpendiculaire et les interactions d’échange symétrique et antisymétrique sont régies par la nature des atomes, leurs positions les uns par rapport aux autres et celles de leur nuage électronique. Ces propriétés conditionnent la possibilité de nucléation des skyrmions et la quantité de skyrmions qui va être nucléée.
La modification est ici une modification non-volatile et réversible par utilisation d’une tension de grille.
Cela permet d’obtenir une variation linéaire de la quantité de particules magnétiques 40 créées ou déplacées dans la zone de détection 46.
Pour cela, selon un exemple particulier, des électrodes sont déposées localement sur chaque piste 32.
De telles électrodes peuvent être réalisées en oxyde avec un matériau tel que du HfOs ou en MgO.
Les électrodes sont, en outre, placées à proximité de la zone de détection 46.
Pour obtenir une telle modification, la sous-unité de modification 44 utilise un effet physique.
A titre d’exemple, l’effet est choisi parmi les effets suivants : effet électrostatique, effet électro-ionique, effet magnéto-ionique, effet électrochimique, effet piézoélectrique et effet magnétostrictif.
En particulier, il peut être envisagé d’utiliser la migration réversible d’ions grâce à un liquide ionique ou encore la migration réversible d’atomes d’oxygène ou d’hydrogène provenant d’une couche oxydée déposée au-dessus des pistes 32 pour modifier les propriétés magnétiques locales. Les modifications chimiques engendrées par ce déplacement ionique (dans des couches d’oxydes ou dans le liquide ionique) conduisent à une modification des orbitales et/ou des densités d’état des couches ferromagnétiques ayant pour conséquence un changement rémanent des propriétés magnétiques.
Lors de l’apprentissage, les poids peuvent ainsi être ajustés à l’aide d’un stimulus électrique, ce stimulus provenant d’un générateur additionnel.
Ainsi, au niveau du neurone 28, les unités de contrôle 34 permettent que des impulsions électriques de courant soient envoyées par la sous-unité d’application 42 correspondant dans une piste 32. La piste 32 repérée par l’indice i est ainsi traversée par une impulsion de courant notée Ji.
En parallèle, la sous-unité de modification 44 modifie une propriété magnétique de la piste 32 de manière à ce que le nombre de particules magnétiques 40 créées et/ou déplacées soit proportionnel au produit de l’amplitude de l’impulsion de courant avec le poids synaptique Wi. Cela correspond bien à la modulation des entrées Ji par des poids synaptiques Wi qui est recherchée ici.
L’unité de détection 36 est positionnée sur la zone de détection 46 comme visible sur la figure 4.
L’unité de détection 36 est propre à détecter les particules 40 magnétiques.
L’unité de détection 36 mesure le nombre de particules magnétiques 40 grâce à une lecture électrique.
L’unité de détection 36 applique une fonction d’activation sur la grandeur électrique correspondant au nombre de particules magnétiques 40 pour obtenir une nouvelle grandeur électrique, cette nouvelle grandeur électrique est la valeur de sortie.
La fonction d’activation est non strictement linéaire, c’est-à-dire non-linéaire et monotone. En effet, une fonction d’activation linéaire ne conviendrait pas, car les poids synaptiques sont ajustés en utilisant la dérivée de la fonction d’activation. Si celle-ci est linéaire, tous les poids seraient ajustés de façon identique, indépendamment des entrées.
L’unité de détection 36 a ainsi deux rôles : d’une part, compter les particules magnétiques 40 dans la zone de détection 46 et, d’autre part, convertir le nombre de particules magnétiques 40 en une sortie électrique valant le résultat de l’application de la fonction d’activation sur ce nombre de particules magnétiques 40.
Pour cela, l’unité de détection 36 effectue une lecture électrique non-linéaire. Une telle lecture peut être réalisée de plusieurs manières.
En particulier, l’unité de détection 36 peut être une vanne de spin. Une vanne de spin est un composant, comportant deux couches de matériaux magnétiques conducteurs ou plus, dont la résistance électrique peut être modifiée entre plusieurs valeurs en fonction de l’angle relatif entre les aimantations des couches.
Selon un exemple, l’unité de détection 36 est ainsi une jonction tunnel magnétique.
La jonction tunnel magnétique correspond à la zone ovale de la zone de détection 46.
Elle est, par exemple, obtenue en déposant du CoFeB au-dessus de la zone de détection 46 décrite précédemment, ce qui créé une jonction tunnel avec la couche de MgO.
Une telle jonction tunnel présente une résistance variant avec le nombre de particules magnétiques 40 positionnées dans la zone de détection 46.
Ainsi, la jonction tunnel utilise un effet de magnétorésistance tunnel. Cet effet magnétorésistif présentant une amplitude très élevée, cela permet d’obtenir une détection aisée des particules magnétiques 40.
En outre, la variation de la résistance de la jonction tunnel est directement non- linéaire avec le nombre de particules magnétiques 40 dans la zone de détection 46 si l’état de départ est l’état le plus résistif (cas où l’aimantation des couches associées est antiparallèle) et que l’effet de magnétorésistance est suffisamment important.
Il en résulte une meilleure compacité.
De plus, la résistance de la jonction tunnel est beaucoup plus grande que celle des pistes 32. Ceci permet de limiter la propagation de courant entre les différentes pistes 32.
Enfin, les matériaux généralement utilisés pour les jonctions tunnel sont très similaires à ceux utilisés pour les multicouches magnétiques formant les pistes 32 et la zone de détection 46, de sorte que la fabrication est plus aisée (meilleure compatibilité entre les matériaux).
A titre d’exemple particulier de matériaux, il peut être cité le CoFeB et le MgO pour former une jonction tunnel formée d’une alternance CoFeB/MgO/CoFeB.
Selon un autre exemple, l’unité de détection 36 utilise un effet physique impliquant une variation linéaire de la résistance avec le nombre de particules magnétiques 40 détectées.
L’effet physique est, par exemple, un effet de magnétorésistance anisotrope, un effet Hall extraordinaire, un effet Hall de spin, ou un effet de magnétorésistance non- colinéaire.
L’unité de détection 36 est alors une jonction magnétique mesurant la variation de la résistance de la piste 32 en fonction du nombre de particules magnétiques 40 présentes dans la zone de détection 46.
Alternativement, l’effet peut être un effet Hall extraordinaire du fait que la tension de Hall varie avec le nombre de particules magnétiques 40 présentes dans la zone de détection 46.
L’unité de détection 36 peut aussi utiliser un effet Nernst qui correspond au fait que la tension transverse mesurée est proportionnelle au nombre de particules magnétiques 40 générées par un courant thermique.
Dans de tels cas, l’unité de détection 36 comporte un élément additionnel pour appliquer une fonction non-linéaire ultérieure.
Par exemple, un tel élément additionnel est un transistor. Ce transistor est réalisable selon la technologie CMOS qui est compatible avec les matériaux utilisés pour réaliser les pistes 32.
Alternativement, l’élément additionnel peut tirer parti du changement de taille des particules magnétiques 40 en fonction des propriétés magnétiques de la piste 32, ce changement de taille pouvant également être détecté électriquement.
Il est également possible que l’élément additionnel utilise un effet magnéto- thermoélectrique, ceci impliquant la mesure et/ou l’application de gradients de température.
Pour éviter la propagation de courant entre les différentes pistes 32, il pourra être utilisé des pistes 32 dont la résistance transverse (dans la direction perpendiculaire à la
direction principale selon laquelle s’étend la piste 32) est supérieure à la résistance de la piste 32 (définie comme la résistance selon la direction principale).
Il est également possible d’envisager l’emploi d’une couche en graphène pour réaliser la détection électrique.
En effet, le graphène présente des propriétés électriques, notamment des propriétés de transport électrique, variant avec les champs magnétiques créés par les particules magnétiques 40.
Pour cela, au niveau de la zone de détection 46, une couche d’isolant surmontée de la couche de graphène est déposée. La couche d’isolant est suffisamment fine pour que les champs de fuite créés par les particules magnétiques 40 soient suffisants pour être détectés dans le graphène, tout en permettant de limiter les perturbations des particules magnétiques 40 liées à la présence du graphène.
La couche de graphène n’a ainsi aucun contact électrique avec les pistes 32, ce qui permet d’éviter la circulation de courant d’une piste 32 à une autre.
Dans chacun des cas, les effets relèvent d’un effet de type magnéto-transport et cela permet à l’unité de détection 36 d’effectuer une opération non-linéaire correspondant à la fonction d’activation, fonction qui est nécessaire lorsqu’un calcul neuromorphique est mis en œuvre.
Le fonctionnement du composant neuromorphique 26 réalisant le neurone 28 est maintenant décrit à travers plusieurs opérations.
En ce qui concerne l’opération de calcul, pour un neurone 28 connecté par n synapses 30, n courants de densité de courant Ji génèrent dans chaque piste 32 un nombre de particules magnétiques 40 Ni proportionnel à la fois à la valeur d’entrée Ji et aux poids synaptiques Wi.
Comme expliqué précédemment, chaque poids synaptique Wi correspond à une modification locale des propriétés magnétiques qui peuvent être modulées de façon réversible et non-volatile par la tension de grille.
Autrement formulé, les entrées de densité de courant Ji sont modulées par les poids synaptiques Wi de sorte que le nombre Ni de particules magnétiques 40 dans la zone de détection 46 de la piste 32 i soit proportionnel à Ji* Wi.
L’unité de détection 36 effectue directement la somme des différents nombre Ni de particules magnétiques 40 pour obtenir le nombre total de particules magnétiques 40, à savoir N = et applique une fonction non-linéaire f sur ce nombre total N pour obtenir une sortie électrique Vout, de sorte que V0Ut = f(N) = f dNt)
Pour obtenir une telle situation où Ni particules magnétiques 40 circulent dans une piste 32 i, deux cas sont possibles : nucléation de particules magnétiques 40 avec un déplacement ou déplacement seul (à partir d’un réservoir).
Deux exemples concrets de réalisation de ces deux cas sont visibles sur la figure 5.
Chaque exemple comprend deux parties, une partie à gauche correspondant à l’état de la piste 32 considérée avant l’application de l’impulsion de courant Ji et une partie à droite correspondant à l’état de la piste 32 considérée après l’application de l’impulsion de courant Ji.
L’exemple noté I correspond au cas de nucléation de particules magnétiques 40.
Avant l’application d’une impulsion de courant, comme illustré sur la partie de gauche, aucune particule magnétique 40 n’est présente dans la piste 32 i alors qu’après l’application d’une impulsion de courant, comme illustré par la partie de droite, Ni particules magnétiques 40 sont nucléées (et éventuellement ensuite déplacées) dans la zone de détection 46, cette nucléation étant proportionnelle à la fois à l’amplitude de l’impulsion de courant Ji et au poids synaptique Wi.
Selon les modes de réalisations, on peut faire varier la densité de courant de l’impulsion de courant, le temps de l’impulsion de courant ou le nombre d’impulsions de courant sur un temps prédéfini pour coder la valeur d’entrée souhaitée. Cela permet de bénéficier de trois degrés de liberté.
En variante ou en complément, dans le cas où les particules magnétiques 40 sont des skyrmions, une augmentation locale de la température permet de nucléer des skyrmions. Aussi, dans un tel cas, il peut être envisagé de coder la valeur d’entrée par la puissance ou la densité d’énergie d’un courant thermique. Ce sont deux autres degrés de liberté.
Dans cet exemple I, les particules magnétiques 40 sont ensuite retirées des pistes 32 à la fin de chaque itération de l’opération de calcul.
L’exemple noté II correspond au cas d’un déplacement de particules magnétiques 40 déjà créées.
Avant l’application d’une impulsion de courant, comme illustré sur la partie de gauche, les particules magnétiques 40 sont déjà présentes dans la piste 32 i, par exemple, dans une zone dédiée formant réservoir.
Après application d’une impulsion de courant, la partie de droite montre qu’une partie des particules magnétiques 40 a été déplacée vers la zone de détection 46 et qu’une autre partie des particules magnétiques 40 est restée dans le réservoir. Le nombre de particules magnétiques 40 déplacées est égal à Ni.
Dans cet exemple II, les particules magnétiques 40 sont ensuite ramenées vers les réservoirs des pistes 32 à la fin de chaque itération.
Cette analyse des différents cas montre que le neurone 28 est également capable d’effectuer une opération de réinitialisation de l’opération de calcul.
Pour une opération de réinitialisation consistant à éliminer des particules magnétiques 40, il peut être envisagé de saturer l’aimantation du neurone 28 à l’aide d’un champ magnétique extérieur avant utilisation.
Un tel champ magnétique est alors un champ appliqué dans un sens opposé à l’aimantation du centre des skyrmions, c’est-à-dire orienté selon la direction d’empilement Z.
Alternativement, il est possible d’appliquer des champs magnétiques locaux contrôlés électriquement dans un emplacement prédéfini et de déplacer les skyrmions à cet emplacement prédéfini.
Il est aussi envisageable d’utiliser l’aimantation de la couche supérieure de la jonction tunnel magnétique.
Pour une opération de réinitialisation consistant à faire revenir les particules magnétiques 40 vers le réservoir, il peut être injecté une (ou plusieurs) impulsion de courant dans la piste 32 ayant une amplitude et une durée similaire à l’impulsion de courant initiale mais avec une polarité inverse.
Il peut être noté ici que les poids synaptiques peuvent être utilisés pour augmenter ou diminuer la vitesse de l’ensemble de particules magnétiques 40 et que seules Ni particules magnétiques 40 soient dans la zone de détection 46, les autres particules 40 étant autour de la zone de détection 46.
Alternativement, il est également possible d’avoir un réservoir plus large et une constriction, réalisée par, par exemple, lithographie en même temps que le réservoir lui- même, et que l’impulsion de courant serve uniquement à déplacer Ni particules magnétiques 40 hors du réservoir.
Dans ce cas, le neurone 28 est également propre à effectuer une opération initiale de remplissage du réservoir.
Lors d’une telle opération d’initialisation, les particules magnétiques 40 sont, par exemple, créées par l’application d’une impulsion de courant présentant une grande amplitude.
Pour les particules magnétiques 40 non-volatiles, cette impulsion de courant initiale suffit pour la réalisation de toutes les itérations de l’opération de calcul.
On comprendra que les impulsions de courant utilisées lors de ces itérations présentent une amplitude plus faible pour éviter la génération de particules magnétiques 40 supplémentaires.
En variante, les particules magnétiques 40 peuvent être générées magnétiquement ou électriquement puis déplacées aux emplacements désirés avant l’utilisation du neurone 28.
Le neurone 28 est également propre à mettre en œuvre une opération d’apprentissage.
L’opération d’apprentissage implique l’emploi de la tension de grille, cette tension étant ajustée en fonction de la valeur du poids synaptique à coder.
Un tel ajustement de tension est réalisé en prenant soin de ne pas perturber les skyrmions présents dans la piste 32 associée au sous-module de modification.
Il est ainsi proposé un neurone 28 réalisant la somme pondérée des entrées et des poids synaptiques, directement avec le nombre de particules magnétiques 40 injectées, et d’effectuer la lecture électrique de cette somme grâce à un effet magnétorésistif, qui effectue de manière intrinsèque une fonction non-linéaire.
Ainsi, le composant neuromorphique 28 décrit permet d’effectuer le stockage des poids synaptiques, le calcul de la somme pondérée et l’application de la fonction d’activation de façon intégrée dans un même dispositif compact.
Un tel composant neuromorphique 28 s’appuie notamment sur la possibilité de contrôler électriquement la nucléation, le déplacement et l’annihilation de particules magnétiques 40 dans des multicouches magnétiques, afin d’injecter (de nucléer, déplacer ou les deux à la fois) un certain nombre de particules magnétiques 40 proportionnel à l’entrée et au poids synaptique pour chaque piste 32. Le composant neuromorphique 28 bénéficie donc du fait que les particules magnétiques 40 peuvent aisément être contrôlées et comptées.
Le composant neuromorphique 28 est, entre autres, un dispositif spintronique, de sorte que ce composant présente les mêmes avantages que tous les composants spintroniques. En particulier, le composant neuromorphique 28 bénéficie du caractère nonvolatile intrinsèquement lié aux propriétés magnétiques des particules magnétiques 40.
Un tel composant est, en outre, compatible avec les composants CMOS et d’autres composants spintroniques.
Le composant neuromorphique 28 présente aussi un fonctionnement fiable et reproductible sur une large gamme de fréquence. Cette fiabilité s’accompagne d’une bonne résistance aux radiations électromagnétiques de l’environnement.
Un tel effet est amplifié par le fait que la somme pondérée implique une statistique sur un grand nombre de particules magnétiques 40. Ceci permet également de diminuer l’influence de la distribution des tailles de particules magnétiques 40, cette distribution pouvant générer des bruits.
De plus, les opérations réalisées par le neurone 28 peuvent être relativement rapides du fait que la nucléation et le déplacement des particules magnétiques 40 sont des effets physiques présentant une dynamique relativement rapide.
De plus, cette dynamique implique une faible densité de courant, ce qui permet de réduire l’énergie consommée par le composant neuromorphique 28.
Les particules magnétiques 40 ont aussi une taille submicronique, les dimensions des pistes 32 sont donc relativement petites, ce qui limite également la consommation d’énergie électrique.
Ce gain en consommation est renforcé dans le cas du déplacement seul car l’énergie nécessaire pour le déplacement des particules magnétiques 40 est moindre que celle nécessaire à la nucléation de celles-ci.
Les particules magnétiques 40 ont également l’avantage de pouvoir être nucléées, stabilisées et contrôlées à température ambiante et en l’absence de champ magnétique extérieur, ainsi que d’être stables et non-volatiles.
Ces avantages sont conservés pour d’autres implémentations du neurone 28, comme celle présentée sur la figure 6.
Dans un tel cas, au lieu d’être parallèles, les pistes 32 convergent à une de leurs extrémités vers une zone de détection 46 qui forme un réservoir commun à toutes les pistes 32.
Une telle zone de détection 46 correspond alors à une chambre où viennent s’accumuler toutes les particules magnétiques 40.
Cela permet de limiter la surface de jonction tunnel magnétique et localiser la détection pour ne pas impacter le reste du dispositif, mais n’est pas compatible avec une injection de particules magnétiques 40 uniquement par déplacement à partir d’un réservoir car les particules magnétiques 40 des différentes pistes 32 sont alors mélangées dans la chambre.
Selon un autre mode de réalisation, le neurone 28 comporte, en outre, une unité de réinjection. L’unité de réinjection est propre à réinjecter la valeur de sortie sur des neurones 28 situés ailleurs dans le réseau de neurones 28.
Dans chacun des cas, le neurone 28 décrit permet ainsi de condenser spatialement l’architecture avec toutes fonctions neuromorphiques, de réduire la nécessité de
connexions électriques ultérieures entre composants neuromorphiques 28 et d’intégrer directement les neurones 28 et synapses 30 artificiels dans une architecture microscopique.
De fait, avec le circuit neuromorphique 10, l’entièreté des opérations nécessaires au calcul neuromorphique est effectuée par le même dispositif, ce qui permet un grand gain de surface sur le substrat.
De plus, les skyrmions étant des particules 40 submicroniques, les dimensions du circuit neuromorphique 10 intégré pourraient être suffisamment petites pour être intégré sur une puce.
Le présent circuit neuromorphique 10 permet aussi d’assurer une bonne compatibilité entre la sortie des synapses 30 et l’entrée des neurones 28.
Le composant neuromorphique réalisant physiquement le neurone 28 permet aussi de diminuer le nombre d’opérations réalisées en faisant directement la somme sur le nombre de modifications magnétiques locales dans la zone de détection 46.
En outre, pour la configuration avec des jonctions tunnels magnétiques, le nombre de jonctions tunnel magnétiques est bien plus faible que des dispositifs impliquant la présence d’une jonction tunnel magnétique par synapse 30.
Par ailleurs, le circuit neuromorphique 10 permet une bonne isolation des synapses 30 en évitant en particulier que des courants correspondant à un poids synaptique se propagent dans une autre synapse 30 en passant par la zone de détection 46.
Ainsi, le circuit neuromorphique 10 permet de disposer de synapses 30 et neurones 28 artificiels totalement intégrés, compacts qui soient à la fois contrôlables et détectables électriquement. Ceci permet d’envisager la réalisation d’un circuit neuromorphique 10 complète sur une seule puce.
A titre d’exemple, en référence à la figure 7, le circuit neuromorphique 10 peut comporter m neurones 28 connectés par n synapses 30.
Dans cette représentation schématique, les neurones 28 et les synapses 30 sont directement connectés entre eux, et ce à l’échelle microscopique le long de lignes continues formant les pistes 32.
Ici l’extrémité supérieure (opposée à l’extrémité où les impulsions de courant sont injectées) des pistes 32 est reliée à la masse. La résistance des pistes 32 étant négligeable devant celle de la barrière tunnel, la mesure de la jonction tunnel magnétique peut se faire entre l’électrode supérieure (ovale sur la figure 7) et la masse, tout en évitant le court-circuit des pistes 32 entre elles.
En variante ou en complément, il est envisageable d’agencer différentes couches de neurones 28 dans l’espace. Cela peut être fait par exemple dans le plan X et Y, en
récupérant les m tensions de sorties de la figure 7 pour générer m courants d’entrée pour la couche suivante disposée de façon perpendiculaire.
Il est également possible de superposer les couches de neurones 28 et synapses 30 dans la direction d’empilement Z avec les couches successives tournées d’un angle de 90° entre elles.
Un tel circuit neuromorphique 10 est ainsi capable d’effectuer toutes les opérations neuromorphiques (calcul et apprentissage) localement en étant complètement contrôlé électriquement et en consommant une quantité limitée d’énergie, par rapport aux circuits neuromorphiques connus. De tels circuits neuromorphiques 10 peuvent ensuite être utilisés pour des applications de reconnaissance sensorielle (sonore, visuel, touché, ...) ou pour développer des systèmes d’intelligence artificielle capables d’apprendre, raisonner ou interagir.
L’homme du métier comprendra que l’invention ne se limite pas aux exemples décrits dans la description et que les modes de réalisation décrits précédemment sont susceptibles d’être combinés lorsqu’une telle combinaison est techniquement possible.
Claims
1. Composant neuromorphique (28) réalisant physiquement un neurone d’un réseau de neurones relié à au moins une synapse (30), chaque synapse (30) portant un poids respectif, le neurone (28) prenant en entrée au moins une valeur d’entrée pondérée par un poids respectif pour obtenir une valeur de sortie, le composant neuromorphique (28) comprenant :
- pour chaque valeur d’entrée :
- une piste (32) propre à présenter des modifications magnétiques locales (40) dénombrables et déplaçables,
- une unité de contrôle (34) des modifications magnétiques locales (40), l’unité de contrôle (34) étant propre à annihiler et créer les modifications magnétiques locales (40), l’unité de contrôle (34) étant également propre à amener les modifications magnétiques locales (40) dans une zone de détection (46) des modifications magnétiques locales (40), la zone de détection (46) étant commune à toutes les pistes (32), l’unité de contrôle (34) comportant une sous-unité d’application (42) d’impulsions électriques, la sous-unité d’application (42) étant propre à appliquer un courant proportionnel à la valeur d’entrée, et une sous-unité de modification (44) d’au moins une propriété magnétique de la piste (32) avec une amplitude proportionnelle au poids pondérant la valeur d’entrée, et
- une unité de détection (36) des modifications magnétiques locales (40), l’unité de détection (36) étant propre à appliquer une fonction d’activation sur une grandeur électrique correspondant au nombre de modifications magnétiques locales détectées dans la zone de détection (46) pour obtenir la valeur de sortie, l’unité de détection (36) étant positionnée sur la zone de détection (46).
2. Composant neuromorphique selon la revendication 1 , dans lequel l’unité de détection (36) utilise un effet physique pour obtenir la fonction d’activation, l’effet étant un effet de magnéto-transport.
3. Composant neuromorphique selon la revendication 2, dans lequel l’unité de détection (36) est une jonction magnétique.
4. Composant neuromorphique selon l’une quelconque des revendications 1 à 3, dans lequel les pistes (32) sont séparées.
5. Composant neuromorphique selon l’une quelconque des revendications 1 à 3, dans lequel la zone de détection (46) est un réservoir commun à toutes les pistes (32).
6. Composant neuromorphique selon l’une quelconque des revendications 1 à 5, dans lequel le composant neuromorphique (28) comporte, en outre, une unité de réinjection, l’unité de réinjection étant propre à réinjecter la valeur de sortie sur d’autres neurones du réseau de neurones.
7. Composant neuromorphique selon l’une quelconque des revendications 1 à 6, dans lequel les modifications magnétiques locales (40) sont choisies dans la liste constituée de :
- skyrmions,
- hopfions,
- bulles,
- globules,
- cocons,
- torons, et
- parois de domaine.
8. Composant neuromorphique selon l’une quelconque des revendications 1 à 7, dans lequel la zone de détection (46) est réalisée en un matériau étant :
- un élément choisi parmi Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Ht, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm, et Yb,
- un alliage comprenant un ou plusieurs des éléments précités, et
- un oxyde comprenant un ou plusieurs éléments précités.
9. Composant neuromorphique selon l’une quelconque des revendications 1 à 8, dans lequel chaque piste (32) est réalisée en un matériau choisi parmi :
- un élément choisi parmi 10. Ni, Fe, Co, Ge, B, C, P, S, Mn, Cr, I, Br, Si, Pt, Al, Ga, Ta, Ru, Ht, Mg, Bi, Mo, Te, Se, W, N, Ti, Ir, V, Ce, Pr, Nd, Sm, Eu, Gd, Tb, Dy, Er, Tm et Yb
- un alliage comprenant un ou plusieurs des éléments précités, et
- un oxyde comprenant un ou plusieurs éléments précités.
10. Composant neuromorphique selon l'une quelconque des revendications 1 à 9, dans lequel la sous-unité de modification (44) utilise un effet physique choisi parmi un effet électrostatique, un effet magnéto-ionique, un effet électro-ionique, un effet électrochimique, un effet piézoélectrique et un effet magnétostrictif.
11. Circuit neuromorphique (10) réalisant physiquement un réseau de neurones, le circuit neuromorphique (10) comprenant un ensemble de composants neuromorphiques (28) selon l’une quelconque des revendications 1 à 10.
12. Circuit neuromorphique selon la revendication 11, dans lequel l’ensemble de composants neuromorphiques (28) est agencé pour former un réseau profond.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2214703A FR3144686B1 (fr) | 2022-12-30 | 2022-12-30 | Composant neuromorphique utilisant des textures magnétiques dénombrables |
| PCT/EP2023/087954 WO2024141621A1 (fr) | 2022-12-30 | 2023-12-29 | Composant neuromorphique utilisant des textures magnétiques dénombrables |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4643273A1 true EP4643273A1 (fr) | 2025-11-05 |
Family
ID=86331766
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23840762.1A Pending EP4643273A1 (fr) | 2022-12-30 | 2023-12-29 | Composant neuromorphique utilisant des textures magnétiques dénombrables |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4643273A1 (fr) |
| FR (1) | FR3144686B1 (fr) |
| WO (1) | WO2024141621A1 (fr) |
-
2022
- 2022-12-30 FR FR2214703A patent/FR3144686B1/fr active Active
-
2023
- 2023-12-29 WO PCT/EP2023/087954 patent/WO2024141621A1/fr not_active Ceased
- 2023-12-29 EP EP23840762.1A patent/EP4643273A1/fr active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| FR3144686A1 (fr) | 2024-07-05 |
| WO2024141621A1 (fr) | 2024-07-04 |
| FR3144686B1 (fr) | 2025-01-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Song et al. | Skyrmion-based artificial synapses for neuromorphic computing | |
| Li et al. | Reproducible ultrathin ferroelectric domain switching for high‐performance neuromorphic computing | |
| Demasius et al. | Energy-efficient memcapacitor devices for neuromorphic computing | |
| Li et al. | Efficient and self-adaptive in-situ learning in multilayer memristor neural networks | |
| Luo et al. | High-precision and linear weight updates by subnanosecond pulses in ferroelectric tunnel junction for neuro-inspired computing | |
| Sun et al. | Experimental demonstration of a skyrmion-enhanced strain-mediated physical reservoir computing system | |
| Abunahla et al. | NeuroMem: Analog graphene-based resistive memory for artificial neural networks | |
| Portner et al. | Analog nanoscale electro-optical synapses for neuromorphic computing applications | |
| Saïghi et al. | Plasticity in memristive devices for spiking neural networks | |
| Shim et al. | Stochastic spin-orbit torque devices as elements for bayesian inference | |
| Park et al. | Implementation of convolutional neural networks in memristor crossbar arrays with binary activation and weight quantization | |
| Yadav et al. | Demonstration of synaptic behavior in a heavy-metal-ferromagnetic-metal-oxide-heterostructure-based spintronic device for on-chip learning in crossbar-array-based neural networks | |
| Liu et al. | Bayesian neural networks using magnetic tunnel junction-based probabilistic in-memory computing | |
| WO2014135801A1 (fr) | Organe à neurone artificiel et memristor | |
| WO2020021004A1 (fr) | Réseau de neurones comportant des résonateurs spintroniques | |
| Saxena | Neuromorphic computing: From devices to integrated circuits | |
| Rahaman et al. | Diode characteristics in magnetic domain wall devices via geometrical pinning for neuromorphic computing | |
| Ngo et al. | Opposite synaptic plasticity in oxidation-layer-controlled 2D materials-based memristors for mimicking heterosynaptic plasticity | |
| EP3827379A1 (fr) | Chaîne synaptique comprenant des résonateurs spintroniques basés sur l'effet de diode de spin et réseau de neurones comprenant une telle chaîne synaptique | |
| Chen et al. | Assessment of functional performance in self-rectifying passive crossbar arrays utilizing sneak path current | |
| Cui et al. | Spintronic artificial neurons showing integrate-and-fire behavior with reliable cycling operation | |
| EP4224477B1 (fr) | Structure tridimensionnelle de mémoires pour le calcul dans la mémoire | |
| EP4643273A1 (fr) | Composant neuromorphique utilisant des textures magnétiques dénombrables | |
| Wang et al. | Reconfigurable neuromorphic crossbars based on titanium oxide memristors | |
| Ellis et al. | Machine learning using magnetic stochastic synapses |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250630 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |