EP4566001A1 - Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés - Google Patents

Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés

Info

Publication number
EP4566001A1
EP4566001A1 EP23749094.1A EP23749094A EP4566001A1 EP 4566001 A1 EP4566001 A1 EP 4566001A1 EP 23749094 A EP23749094 A EP 23749094A EP 4566001 A1 EP4566001 A1 EP 4566001A1
Authority
EP
European Patent Office
Prior art keywords
excitation
component
modes
neural network
configuration
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
Application number
EP23749094.1A
Other languages
German (de)
English (en)
Inventor
Paolo Bortolotti
Abdelmadjid Anane
Vincent Cros
Joo-Von Kim
Grégoire DE LOUBENS
Alfredo De Rossi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centre National de la Recherche Scientifique CNRS
Thales SA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Universite Paris Saclay
Original Assignee
Centre National de la Recherche Scientifique CNRS
Commissariat a lEnergie Atomique CEA
Thales SA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Universite Paris Saclay
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Centre National de la Recherche Scientifique CNRS, Commissariat a lEnergie Atomique CEA, Thales SA, Commissariat a lEnergie Atomique et aux Energies Alternatives CEA, Universite Paris Saclay filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP4566001A1 publication Critical patent/EP4566001A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
    • G02F3/00Optical logic elements; Optical bistable devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Definitions

  • Neuromorphic circuit physically realizing a neural network and associated production and inference method
  • the present invention relates to a neuromorphic circuit physically realizing a neural network. It also relates to a process of associated realization and inference.
  • 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 graphics unit treatment.
  • 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.
  • Von Neumann bottleneck also called “Von Neumann bottleneck” according to its English name
  • a problem of Von Neumann bottleneck appears due to the fact that the implementation of a deep neural network (more of 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 that 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 circuit physically producing a neural network, the neural network comprising a set of neurons connected by synapses, the neuromorphic circuit comprising:
  • each component able to be excited according to a plurality of specific excitation modes with a respective population, the component thus being adapted to present several excitation configurations, each excitation configuration being defined by the specific excitation modes excited and their respective population, each pair of excitation modes being coupled by a respective coupling, each specific excitation mode being a neuron of the neural network and each coupling being a synapse of the neural network,
  • the configuration unit being able to excite the component to obtain an excitation configuration chosen as a function of a desired neural network architecture, the desired architecture comprising neurons d input and output neurons, and
  • the component interrogation unit being able to selectively modify the populations of first own excitation modes and to measure the populations of second own excitation modes, the first modes own excitation being the modes of excitation of the input neurons and the second proper excitation modes being the excitation modes of the output neurons.
  • the neuromorphic circuit has one or more of the following characteristics, taken in isolation or in all technically possible combinations:
  • the component is capable of being excited in a regime in which the amplitude of a coupling between each pair of specific excitation modes in each excitation configuration depends on the respective populations of each of the two specific excitation modes;
  • the at least one component has two regimes, a first regime in which the amplitude of the coupling between each pair of specific excitation modes is independent of the population of each of the two specific excitation modes and a second regime in which the amplitude of the coupling between each pair of specific excitation modes depends on the population of each of the two specific excitation modes, the configuration unit being suitable for exciting the component in the second regime;
  • the configuration unit is capable of exciting the specific excitation modes according to an initial configuration different from the chosen excitation configuration, the component relaxing towards the chosen excitation configuration;
  • the at least one component is a layer of ferromagnetic element
  • the ferromagnetic element is an iron and yttrium garnet
  • the at least one component is chosen from the list consisting of: a magnetic microstructure, a cavity, a metamaterial, and a superconducting resonator;
  • the configuration unit is chosen from an optical excitation unit, and an electrical excitation unit.
  • the interrogation unit is chosen from: an optical excitation unit, and an electrical excitation unit.
  • the description also describes a method for physically producing a neural network having a desired architecture, the neural network comprising a set of neurons connected by synapses, the physical production method comprising:
  • each excitation configuration being defined by the modes of excited own excitations and their respective population, each pair of excitation modes being coupled by a respective coupling, each own excitation mode being a neuron of the neural network and each coupling being a synapse of the neural network, the configuration step being implemented by a configuration unit of the at least one component, the configuration unit forming part of the neuromorphic circuit and comprising the excitation of the at least one component to obtain an excitation configuration chosen as a function of the desired architecture.
  • the description also relates to a method for inferring a neural network having a desired architecture, the neural network comprising a set of neurons connected by synapses, at least one component of a neuromorphic circuit physically producing a neural network having been configured, the at least one component being capable of being excited according to a plurality of specific excitation modes with a respective population, the component thus being capable of presenting several excitation configurations, each excitation configuration being defined by the excited proper excitation modes and their respective population, each pair of excitation modes being coupled by a respective coupling, each proper excitation mode being a neuron of the neural network and each coupling being a synapse of the neural network, the configuration having been implemented by a configuration unit of the at least one component, the configuration unit forming part of the neuromorphic circuit and comprising the excitation of the at least one component to obtain an excitation configuration chosen as a function of the desired architecture, the inference process comprising:
  • the measuring step being carried out after reaching a stable state for the at least one component, the measurement step being implemented by the interrogation unit.
  • FIG. 1 is a schematic representation of a neuromorphic circuit
  • FIG. 2 is a schematic representation of an example of a neural network
  • FIG. 3 is a flowchart of an example of implementation of an inference method using the neuromorphic circuit of Figure 1, and
  • FIG. 4 is an example of an experimental implementation of the neuromorphic circuit of Figure 1.
  • a neuromorphic circuit 10 is described.
  • the neuromorphic circuit 10 is a circuit physically producing a network of neurons 12.
  • the neuromorphic circuit 10 is a physical circuit adapted to carry out the operations of a neural network 12.
  • 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.
  • excitability that is to say the capacity to respond to stimulation and to convert them into nerve impulses
  • conductivity that is to say the capacity to transmit signals. impulses.
  • activation 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).
  • the activation function in this case can be represented as a function giving the variation of the average pulse emission frequency with the input current.
  • 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 12 includes an input layer 20 followed by the hidden layer of neurons 18, itself followed by an output layer 22.
  • the layers are indexable by an integer index i, the first layer corresponding to input layer 20 and the last to 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 according to the English term of
  • the neural network 12 is a pulse neural network.
  • a spiking neural network is often called by the acronym SNN which refers to the English name “Spiking Neural Network”.
  • a neuron is a dynamic element varying in time as described above and characterized here by its pulse emission frequency.
  • a neuron 16 called pre-synaptic, upstream, emits an impulse
  • the synapse 24 weights this impulse and transmits it to the neuron 16, called postsynaptic, downstream, which possibly in turn emits an impulse.
  • the stimulation transmitted by synapse 24 is a stimulation of a part of the downstream neuron 16, called membrane and presenting a potential. If this membrane potential charges beyond a so-called activation threshold, neuron 16 emits an impulse.
  • synapse 24 performs a multiplication between input weight and activation.
  • the input activation of downstream neuron 16 is the output signal sent by upstream neuron 16.
  • the downstream neuron 16 increases its membrane potential, compares it to a threshold and emits an output pulse when the membrane potential exceeds this threshold.
  • an upstream neuron 16 is permanently activated (like an input neuron) in order to add biases to the membrane potential of the downstream neuron 16 which enrich the expressivity of the function learned by the neural network 12.
  • a neuron 16 is a “bias neuron”.
  • the neurons 16 are connected by a synapse 24 which is bidirectional.
  • the neuromorphic circuit 10 comprises a component 26, a configuration unit 28 of the component 26 and an interrogation unit 30 of the component 26.
  • component 26 is unique but configurations could be considered where component 26 is not unique (see the “other specific examples” paragraph).
  • Component 26 can be excited according to a plurality of specific excitation modes with a respective population.
  • component 26 has 7 excitation modes.
  • Excitation modes or excited states are quantified. This means that the excitation modes can be referenced by an integer i, with the excitation modes usually being ordered by increasing energy.
  • excitation modes also makes it possible to define a reciprocal space in which the excitation modes are characterized by a respective eigenvector. Therefore, in the following, each excitation mode is denoted k, with reference to its eigenvector.
  • the population of an excitation mode k can be represented by the chemical potential ni.
  • an excitation mode k with its respective population can be denoted k(ni).
  • component 26 has two regimes, namely a linear regime (first regime) and a non-linear regime (second regime).
  • the amplitude of the coupling between each pair of natural excitation modes ki to k 7 is independent of the population of each of the two natural excitation modes ki to k 7 .
  • the population of the excitation modes ki to k 7 in the linear regime does not affect the energy of the excitation modes ki to k 7 . It follows that the excitation modes k to k 7 can be considered as quasi-orthogonal in the reciprocal space.
  • the amplitude of the coupling between each pair of natural excitation modes k to k 7 depends on the population of each of the two natural excitation modes k to k 7 .
  • the amplitude of the coupling can also be affected by the population in another excitation mode k to k 7 .
  • the component 26 described thus presents several excitation configurations, each excitation configuration being defined by the specific excitation modes ki to k 7 excited and their respective population and corresponding to operation in the non-linear regime.
  • an excitation configuration corresponds to a set of values ki(ni) for all values of i.
  • Each excitation mode ki to k 7 corresponds to a neuron and each coupling between two excitation modes ki to k 7 corresponding to a synapse between the two neurons associated with the two excitation modes ki to k 7 considered.
  • the neurons of the neural network 12 are produced by the specific excitation modes ki to k 7 of the component 26 while the synapses are produced by the non-linear coupling matrix of the excitation modes ki to k 7 of the component 26 (matrix A presented previously).
  • Component 26 is thus a programmable component capable of creating the architecture of numerous neural networks.
  • architecture is meant the structure of the neural network 12, that is to say in particular, the position of each layer of neurons, the number of layers, the number of neurons in each layer and the links (synapses) between each neuron.
  • the configuration unit 28 of the component 26 is capable of exciting the component 26 to obtain an excitation configuration chosen as a function of a desired neural network architecture.
  • the desired architecture is assumed to be known, knowing that it can in particular be obtained by carrying out training for a predetermined task or chosen by an expert as particularly appropriate for said task.
  • the desired architecture makes it possible to determine a matrix A which corresponds to values of k(ni) for all values of i, that is to say an excitation configuration.
  • the configuration unit 28 is capable of exciting the component 26 in the non-linear regime.
  • the configuration unit 28 of the component 26 is capable of exciting the specific excitation modes ki to k 7 according to an initial configuration different from the chosen excitation configuration.
  • Component 26 then naturally relaxes towards an equilibrium configuration, this equilibrium configuration being the chosen excitation configuration.
  • the configuration unit 28 performs an initial configuration kio(n io ) then the component 26 can relax until reaching a dynamic quasi-equilibrium corresponding to ki(ni) which is the desired configuration.
  • the initial configuration is chosen to be simpler to obtain, for example because it involves populating fewer different excitation modes ki to k 7 .
  • the interrogation unit 30 serves to interrogate the component 26, that is to say, to send input data to the neural network to obtain at least one output data.
  • the interrogation unit 30 comprises two subunits 32 and 34.
  • the first subunit 32 is capable of selectively modifying the populations of first specific excitation modes ki to k 7 , the first specific excitation modes ki to k 7 being the excitation modes of the input neurons (those of the input layer 20).
  • first subunit 32 is a subunit for sending input data to component 26.
  • the second subunit 34 is suitable for measuring the populations of second specific excitation modes ki to k 7 , the second specific excitation modes ki to k 7 being the excitation modes of the output neurons (those of the layer input 22).
  • the second subunit 34 is a subunit for obtaining at least one output data from component 26.
  • This method comprises three steps: a configuration step 40, a modification step E42 and a measurement step E44.
  • configuration unit 28 excites the component 26 to obtain a chosen excitation configuration.
  • the configuration unit 28 receives a control signal indicating the excitation signal to apply (for example, a radio frequency signal with multiple frequencies as proposed in the embodiment of the following paragraph).
  • This excitation signal has been previously calculated, for example by a simulation tool, to make it possible to physically create a desired neural network architecture.
  • the interrogation unit 30 selectively modifies populations of first specific excitation modes.
  • This selective modification corresponds to the fact that it is desired that the neural network performs an inference on input data.
  • the input data is converted into an excitation signal for example by the aforementioned simulation tool and a control unit sends a command indicating to the interrogation unit 30 that it must send said excitation signal.
  • Component 26 then evolves naturally until reaching a stable state after such excitation.
  • the interrogation unit 30 measures the populations of second specific excitation modes.
  • the interrogation unit 30 obtains the output data of the neural network, that is to say its prediction for the input data injected during the modification step E42.
  • This output data is obtained by converting the signal measured by the interrogation unit 30 by the inverse operation of that which was used to obtain the excitation signal for the input data.
  • An inference of the desired neural network is thus carried out in three steps.
  • the present neuromorphic circuit 10 corresponds to a physical realization of a neural network which is qualitatively different from all the physical realizations known to date. Instead of designing and structuring individual nonlinear elements (neurons) and their interconnections (synapses) in real space, it is proposed to realize these elements in a reciprocal space of high dimensionality. To do this, it is sufficient to populate the specific excitation modes of component 26 in the presence of strong non-linearities to couple these excitation modes.
  • the connectivity of the neural network 12 can potentially be increased by several orders of magnitude, since it can use the full spectrum of eigenmodes in a given system. Values as large as 10 6 can be obtained.
  • the neuromorphic circuit 10 is a neuromorphic circuit that is more economical in energy consumption.
  • a neuromorphic circuit 10 realizing highly interconnected neurons can be used for solving problems beyond neuromorphic computing.
  • this neuromorphic circuit 10 could be envisaged to use this neuromorphic circuit 10 to solve difficult non-deterministic polynomial time problems. These problems are often referred to as “NP-hard”.
  • An example is to solve a problem that can be projected onto an Ising model. Such potential could make such a neuromorphic circuit 10 a serious competitor to quantum computer achievements.
  • the neuromorphic circuit 10 is easily reconfigurable. The same neuromorphic circuit 10 can be used to perform different operations. To do this, it is sufficient to modify the signals of the configuration unit 28 and the interrogation unit 30 depending on the intended application.
  • component 26 is made of a ferromagnetic element.
  • the ferromagnetic element is iron and yttrium garnet.
  • Yttrium iron garnet is more commonly referred to as YIG and refers to the element with the chemical formula YsFesO ⁇ .
  • YIG here refers to the corresponding English name “Yttrium Iron Garnet”.
  • Component 26 is here a thin layer.
  • Such a layer is obtained by growth of a layer or a multilayer of which at least one of the layers is magnetic.
  • component 26 The size and geometry of component 26 are chosen to have appropriate energy separation between modes. Typically, for a single layer of YIG forming a cylinder, the size of the base of the cylinder is a few micrometers.
  • the shape of the base is circular (as visible in Figure 4) or rectangular.
  • the thickness of the layer forming component 26 is typically a few tens of nanometers.
  • component 26 is a magnetic microstructure.
  • Component 26 is possibly covered with an overlayer 50 as is the case in the example illustrated.
  • the overlayer 50 serves to dynamically adjust the effective magnetic damping of the component 26.
  • the damping is, by definition, the characteristic life time of the different excitation states.
  • the overlayer 50 is, for example, made of platinum.
  • the overlay 50 is controlled by a current generator.
  • a current generator can deliver direct current or a current forming time slots.
  • the excitation modes therefore correspond here to a discrete frequency spectrum.
  • these excitation modes can be used to realize the neurons of the neural network.
  • these couplings can be used to realize the synapses of the neural network benefiting from high connectivity. Furthermore, it is possible to dynamically modify the synaptic weights of each synapse by controlling the population of each of the spin wave modes by application of an external signal.
  • configuration unit 28 an antenna.
  • the configuration unit 28 is capable of revealing non-linearities at very low excitation amplitude, typically for a few microTeslas (-30 dBm) of alternating magnetic fields at 10 GHz.
  • the configuration unit 28 uses radio frequency signals in the time and frequency domains to selectively populate the specific excitation modes, the spectral density of these signals respecting the previous excitation conditions.
  • the interrogation unit 30 is either the same antenna as the configuration unit 28 or, as shown in Figure 4, another antenna.
  • YIG is particularly suitable here because the thin films can be nanostructured down to 300 nanometers (nm) without any negative impact on their magnetic properties.
  • YIG exhibits very low spin wave damping, with this damping reaching 8 x 10 -5 in the geometries described in this section.
  • the materials are metal alloys of the elements, such as NiFe, CoFeB or CoNi.
  • the materials are Heusler compounds like CoFeMnSi.
  • doped YIG or to substitute the yttrium Y of YIG with another atom, for example thulium (Tm) or bismuth (Bi).
  • Tm thulium
  • Bi bismuth
  • the neuromorphic circuit 10 is here a spintronic device. As such, it has the advantage of being compatible with CMOS circuits. OTHER SPECIAL EXAMPLES
  • photonic crystals which are optical cavities produced by nanostructuring are multimode elements.
  • the non-linear regime and the couplings between modes can be obtained by modulation of the dielectric constant by generation of electron-hole pairs by optical pumping.
  • metamaterials which are versatile systems where resonances can be defined geometrically. By using materials with low dissipation, operation in non-linear mode would be obtained.
  • a superconducting resonator is an example of such a metamaterial.
  • non-accessible modes can nevertheless be used to increase the number of degrees of freedom and thus considerably increase the depth of the neural network produced.
  • configuration 28 and interrogation 30 units could be an optical excitation unit, an electrical excitation unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Neurology (AREA)
  • Optics & Photonics (AREA)
  • Nonlinear Science (AREA)
  • Image Analysis (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés L'invention concerne un circuit neuromorphique (10) réalisant physiquement un réseau de neurones. Le circuit neuromorphique (10) comprend : - au moins un composant (26) propre à être excité selon une pluralité de modes d'excitation propres avec une population respective, et à présenter plusieurs configurations d'excitation, - une unité de configuration (28) du composant (26) propre à exciter le composant (26) pour obtenir une configuration d'excitation choisie en fonction d'une architecture souhaitée de réseau de neurones, et - une unité d'interrogation (30) du composant (26) propre à modifier sélectivement les populations de premiers modes d'excitation propres et à mesurer les populations de deuxièmes modes d'excitation propres, les premiers et deuxièmes modes d'excitation propres étant respectivement les modes d'excitation des neurones d'entrée et des neurones de sortie de l'architecture souhaitée.

Description

Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d’inférence associés
DOMAINE DE L’INVENTION
La présente invention concerne un circuit neuromorphique réalisant physiquement un réseau de neurones. Elle se rapporte aussi à un procédé de réalisation et d’inférence associés.
ARRIERE-PLAN DE L’INVENTION
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 oeuvre 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é graphique de traitement.
Parmi les techniques de mise en oeuvre 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.
Pour les réseaux de neurones impulsionnels, aux problématiques précitées, s’ajoute aussi la difficulté à implémenter un entraînement puisque la technique de rétropropagation du gradient qui est la plus efficace actuellement n’est pas directement utilisable.
Pour entraîner les réseaux de neurones impulsionnels, il est connu d’utiliser un principe dérivé de la règle d’Hebb selon lequel deux neurones ont un lien synaptique plus forts lorsqu’ils émettent des impulsions simultanément. Par exemple, une contrainte est appliquée sur chaque synapse pour que le poids associé soit augmenté si les deux neurones reliés à la synapse ont émis chacun une impulsion avec un intervalle de temps inférieur à un seuil prédéfini ou soit diminué dans le cas contraire.
Néanmoins, du fait que cette technique ne résout pas l’optimisation d’une fonction objectif globale, sa précision n’est pas toujours satisfaisante.
RESUME DE L’INVENTION
Il existe donc un besoin pour un circuit neuromorphique permettant de réaliser un grand nombre de synapses et de neurones et présentant une consommation réduite.
A cet effet, la description décrit un circuit neuromorphique réalisant physiquement un réseau de neurones, le réseau de neurones comportant un ensemble de neurones reliés par des synapses, le circuit neuromorphique comprenant :
- au moins un composant propre à être excité selon une pluralité de modes d’excitation propres avec une population respective, le composant étant ainsi propre à présenter plusieurs configurations d’excitation, chaque configuration d’excitation étant définie par les modes d’excitation propres excités et leur population respective, chaque paire de modes d’excitation étant couplée par un couplage respectif, chaque mode d’excitation propre étant un neurone du réseau de neurones et chaque couplage étant une synapse du réseau de neurones,
- une unité de configuration du au moins un composant, l’unité de configuration étant propre à exciter le composant pour obtenir une configuration d’excitation choisie en fonction d’une architecture souhaitée de réseau de neurones, l’architecture souhaitée comportant des neurones d’entrée et des neurones de sortie, et
- une unité d’interrogation du au moins un composant, l’unité d’interrogation du composant étant propre à modifier sélectivement les populations de premiers modes d’excitation propres et à mesurer les populations de deuxièmes modes d’excitation propres, les premiers modes d’excitation propres étant les modes d’excitation des neurones d’entrée et les deuxièmes modes d’excitation propres étant les modes d’excitation des neurones de sortie.
Selon des modes de réalisation particuliers, le circuit neuromorphique présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles :
- le composant est propre à être excité dans un régime dans lequel l’amplitude d’un couplage entre chaque paire de modes d’excitation propres dans chaque configuration d’excitation dépend des populations respectives de chacun des deux modes d’excitation propres ;
- l’au moins un composant présente deux régimes, un premier régime dans lequel l’amplitude du couplage entre chaque paire de modes d’excitation propres est indépendante de la population de chacun des deux modes d’excitation propres et un deuxième régime dans lequel l’amplitude du couplage entre chaque paire de modes d’excitation propres dépend de la population de chacun des deux modes d’excitation propres, l’unité de configuration étant propre à exciter le composant dans le deuxième régime ;
- l’unité de configuration est propre à exciter les modes d’excitation propres selon une configuration initiale différente de la configuration d’excitation choisie, le composant se relaxant vers la configuration d’excitation choisie ;
- l’au moins un composant est une couche en élément ferromagnétique ;
- l’élément ferromagnétique est un grenat de fer et d'yttrium ;
- l’au moins un composant est choisi dans la liste constituée de : une microstructure magnétique, une cavité, un métamatériau, et un résonateur supraconducteur ;
- l’unité de configuration est choisie parmi une unité d’excitation optique, et une unité d’excitation électrique.
- l’unité d’interrogation est choisie parmi : une unité d’excitation optique, et une unité d’excitation électrique.
La description décrit également un procédé de réalisation physique d’un réseau de neurones présentant une architecture souhaitée, le réseau de neurones comportant un ensemble de neurones reliés par des synapses, le procédé de réalisation physique comprenant :
- une étape de configuration d’au moins un composant d’un circuit neuromorphique réalisant physiquement un réseau de neurones ayant été configuré, l’au moins un composant étant propre à être excité selon une pluralité de modes d’excitation propres avec une population respective, le composant étant ainsi propre à présenter plusieurs configurations d’excitation, chaque configuration d’excitation étant définie par les modes d’excitation propres excités et leur population respective, chaque paire de modes d’excitation étant couplée par un couplage respectif, chaque mode d’excitation propre étant un neurone du réseau de neurones et chaque couplage étant une synapse du réseau de neurones, l’étape de configuration étant mise en oeuvre par une unité de configuration du au moins un composant, l’unité de configuration faisant partie du circuit neuromorphique et comprenant l’excitation du au moins un composant pour obtenir une configuration d’excitation choisie en fonction de l’architecture souhaitée.
La description concerne aussi un procédé d’inférence d’un réseau de neurones présentant une architecture souhaitée, le réseau de neurones comportant un ensemble de neurones reliés par des synapses, au moins un composant d’un circuit neuromorphique réalisant physiquement un réseau de neurones ayant été configuré, l’au moins un composant étant propre à être excité selon une pluralité de modes d’excitation propres avec une population respective, le composant étant ainsi propre à présenter plusieurs configurations d’excitation, chaque configuration d’excitation étant définie par les modes d’excitation propres excités et leur population respective, chaque paire de modes d’excitation étant couplée par un couplage respectif, chaque mode d’excitation propre étant un neurone du réseau de neurones et chaque couplage étant une synapse du réseau de neurones, la configuration ayant été mise en oeuvre par une unité de configuration du au moins un composant, l’unité de configuration faisant partie du circuit neuromorphique et comprenant l’excitation l’au moins un composant pour obtenir une configuration d’excitation choisie en fonction de l’architecture souhaitée, le procédé d’inférence comportant :
- une étape de modification sélective des populations de premiers modes d’excitation propres, les premiers modes d’excitation propres étant les modes d’excitation des neurones d’entrée, l’étape de modification étant mise en oeuvre par une unité d’interrogation du circuit neuromorphique, et
- une étape de mesure des populations de deuxièmes modes d’excitation propres, les deuxièmes modes d’excitation propres étant les modes d’excitation des neurones de sortie, l’étape de mesure étant réalisée après atteinte d’un état stable pour l’au moins un composant, l’étape de mesure étant mise en oeuvre par l’unité d’interrogation.
Dans la présente description, l’expression « propre à » signifie indifféremment
« adapté pour », « adapté à » ou « configuré pour ». BREVE DESCRIPTION DES DESSINS
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 circuit neuromorphique,
- la figure 2 est une représentation schématique d’un exemple de réseau de neurones,
- la figure 3 est un ordinogramme d’un exemple de mise en oeuvre d’un procédé d’inférence utilisant le circuit neuromorphique de la figure 1 , et
- la figure 4 est un exemple de réalisation expérimentale du circuit neuromorphique de la figure 1.
DESCRIPTION DETAILLE DE MODES DE REALISATION PREFERES
CIRCUIT NEUROMORPHIQUE GENERAL
En référence à la figure 1 , il est décrit un circuit neuromorphique 10.
Comme son nom l’indique, le circuit neuromorphique 10 est un circuit réalisant physiquement un réseau de neurones 12.
Autrement formulé, le circuit neuromorphique 10 est un circuit physique adapté à réaliser les opérations d’un réseau de neurones 12.
En particulier, 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). Des modèles plus proches du neurone biologique existent, dans lesquels le neurone émet des impulsions (ou des trains d’impulsions) avec une certaine fréquence qui dépend des impulsions entrantes. La fonction d’activation dans ce cas peut être représenté comme une fonction donnant la variation de la fréquence moyenne d’émission d’impulsions avec le courant d’entrée.
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 12 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.
Les couches sont indexables par un indice i entier, la première couche correspondant à la couche d’entrée 20 et la dernière à la 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 » .
En l’occurrence, le réseau de neurones 12 est un réseau de neurones à impulsions. Un réseau de neurones à impulsions est souvent dénommé par le sigle SNN qui renvoie à la dénomination anglaise de « Spiking Neural Network ».
Dans un tel réseau de neurones impulsionnel, un neurone est un élément dynamique variant dans le temps tel que décrit plus haut et caractérisé ici par sa fréquence d’émission d’impulsions. Lorsqu’un neurone 16, dit pré-synaptique, en amont, émet une impulsion, la synapse 24 pondère cette impulsion et la transmet au neurone 16, dit post- synaptique, en aval, qui émet éventuellement à son tour une impulsion.
La stimulation transmise par la synapse 24 est une stimulation d’une partie du neurone 16 en aval, appelée membrane et présentant un potentiel. Si ce potentiel de membrane se charge au-delà d’un seuil dit d’activation, le neurone 16 émet une impulsion.
Plus précisément, la synapse 24 effectue une multiplication entre le poids et l’activation d’entrée. L’activation d’entrée du neurone 16 en aval est le signal de sortie envoyé par le neurone 16 en amont.
Le neurone 16 en aval augmente son potentiel de membrane, le compare à un seuil et émet une impulsion de sortie lorsque le potentiel de membrane excède ce seuil.
Dans certains cas, un neurone 16 en amont est activé en permanence (à la façon d’un neurone d’entrée) afin d’ajouter des biais au potentiel de membrane du neurone 16 en aval qui enrichissent l’expressivité de la fonction apprise par le réseau de neurones 12. Un tel neurone 16 est un « neurone de biais ».
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.
Comme visible sur la figure 1 , le circuit neuromorphique 10 comprend un composant 26, une unité de configuration 28 du composant 26 et une unité d’interrogation 30 du composant 26.
Dans l’exemple décrit, le composant 26 est unique mais il pourrait être envisagé des configurations où le composant 26 n’est pas unique (voir le paragraphe « autres exemples particuliers »).
Le composant 26 peut être excité selon une pluralité de modes d’excitation propres avec une population respective.
Dans l’exemple schématique proposé, il est supposé que le composant 26 présente 7 modes d’excitation.
Les modes d’excitation ou états excités sont quantifiés. Cela signifie que les modes d’excitation peuvent être référencés par un entier i, les modes d’excitation étant usuellement classés par énergie croissante.
En l’espèce, à titre d’illustration non limitative, il est supposé qu’il existe 7 modes d’exitation et que l’entier i varie entre 1 et 7.
L’existence des modes d’excitation permet également de définir un espace réciproque dans lequel les modes d’excitation sont caractérisés par un vecteur propre respectif. De ce fait, dans la suite, chaque mode d’excitation est noté k, en référence à son vecteur propre.
En outre, la population d’un mode d’excitation k peut être représentée par le potentiel chimique ni.
De ce fait, un mode d’excitation k avec sa population respective pourra être noté k(ni).
Selon l’exemple décrit, le composant 26 présente deux régimes, à savoir un régime linéaire (premier régime) et un régime non-linéaire (deuxième régime).
Dans le régime linéaire, l’amplitude du couplage entre chaque paire de modes d’excitation propres ki à k7 est indépendante de la population de chacun des deux modes d’excitation propres ki à k7.
Ainsi, le peuplement des modes d’excitation ki à k7 dans le régime linéaire n'affecte pas l’énergie des modes d’excitation ki à k7. Il en résulte que les modes d’excitation k à k7 peuvent être considérés comme quasi-orthogonaux dans l'espace réciproque.
Lorsque le composant 26 est dans le régime linéaire qui peuple ces modes d’excitation k à k7, cela n'affecte pas leur énergie et les modes d’excitation k à k7 peuvent être considérés comme principalement orthogonaux dans l'espace réciproque. Dans ce régime, le couplage entre modes d’excitation k à k7 est ainsi faible.
Par contraste, dans le régime non-linéaire, l’amplitude du couplage entre chaque paire de modes d’excitation propres k à k7 dépend de la population de chacun des deux modes d’excitation propres k à k7.
Bien entendu, ce n’est pas limitatif, l’amplitude du couplage peut également être affectée par la population dans un autre mode d’excitation k à k7.
Cela correspond à un régime dans lequel le couplage entre les paires de modes d’excitation k à k7 devient significatif, ce qui permet le transfert d'informations d'un mode d’excitation k à k7 à un autre mode d’excitation k à k7.
Les amplitudes des couplages peuvent être formalisés comme une matrice A de poids dynamiques synaptiques. Chaque élément de la matrice A est un élément ay où les indices i et j font respectivement référence aux deux modes d’excitation k et kj. Chaque élément ay dépend de la population des modes d’excitation k et kj. Le passage du régime linéaire à un régime non-linéaire s’obtient en augmentant la population des modes d’excitation ki à k7.
Le composant 26 décrit présente ainsi plusieurs configurations d’excitation, chaque configuration d’excitation étant définie par les modes d’excitation propres ki à k7 excités et leur population respective et correspondant à un fonctionnement dans le régime non- linéaire.
Autrement formulé, une configuration d’excitation correspond à un ensemble de valeurs ki(ni) pour toutes les valeurs de i.
Cela permet de réaliser un réseau de neurones avec d’une part les modes d’excitation ki à k7 et d’autre par les couplages.
Chaque mode d’excitation ki à k7 correspond à un neurone et chaque couplage entre deux modes d’excitation ki à k7 correspondant à une synapse entre les deux neurones associés aux deux modes d’excitation ki à k7 considérés.
Autrement formulé, les neurones du réseau de neurones 12 sont réalisés par les modes d’excitation propres ki à k7 du composant 26 tandis que les synapses sont réalisées par la matrice de couplage non-linéaire des modes d’excitation ki à k7 du composant 26 (matrice A présentée précédemment).
Le composant 26 est ainsi un composant programmable pouvant réaliser l’architecture de nombreux réseaux de neurones.
Par l’expression « architecture », il est entendu la structure du réseau de neurones 12, c’est-à-dire en particulier, la position de chaque couche de neurones, le nombre de couches, le nombre de neurones de chaque couche et les liens (synapses) entre chaque neurone.
C’est l’unité de configuration 28 du composant 26 qui est propre à programmer le composant 26.
L’unité de configuration 28 du composant 26 est propre à exciter le composant 26 pour obtenir une configuration d’excitation choisie en fonction d’une architecture souhaitée de réseau de neurones.
L’architecture souhaitée est supposée connue, sachant qu’elle peut notamment être obtenue par réalisation d’un entraînement pour une tâche prédéterminée ou choisie par un expert comme particulièrement appropriée pour ladite tâche.
L’architecture souhaitée permet de déterminer une matrice A qui correspond à des valeurs de k(ni) pour toutes les valeurs de i, c’est-à-dire une configuration d’excitation.
Cela implique que l’unité de configuration 28 est propre à exciter le composant 26 dans le régime non-linéaire. Selon un mode de réalisation particulier, l’unité de configuration 28 du composant 26 est propre à exciter les modes d’excitation propres ki à k7 selon une configuration initiale différente de la configuration d’excitation choisie.
Le composant 26 se relaxe alors naturellement vers une configuration d’équilibre, cette configuration d’équilibre étant la configuration d’excitation choisie.
De manière plus formalisée, l’unité de configuration 28 réalise une configuration initiale kio(nio) puis le composant 26 peut se détendre jusqu’à atteindre un quasi-équilibre dynamique correspondant à ki(ni) qui est la configuration souhaitée.
La configuration initiale est choisie pour être plus simple à obtenir, par exemple parce qu’elle implique de peupler moins de modes d’excitation ki à k7 différents.
L’unité d’interrogation 30 sert à interroger le composant 26, c’est-à-dire à envoyer des données d’entrée au réseau de neurones pour obtenir au moins une donnée de sortie.
Pour cela, selon l’exemple de la figure 1 , l’unité d’interrogation 30 comporte deux sous-unités 32 et 34.
La première sous-unité 32 est propre à modifier sélectivement les populations de premiers modes d’excitation propres ki à k7, les premiers modes d’excitation propres ki à k7 étant les modes d’excitation des neurones d’entrées (ceux de la couche d’entrée 20).
Cela signifie que la première sous-unité 32 est une sous-unité d’envoi de données d’entrée au composant 26.
La deuxième sous-unité 34 est propre à mesurer les populations de deuxièmes modes d’excitation propres ki à k7, les deuxièmes modes d’excitation propres ki à k7 étant les modes d’excitation des neurones de sortie (ceux de la couche d’entrée 22).
Cela signifie que la deuxième sous-unité 34 est une sous-unité d’obtention de l’au moins une donnée de sortie du composant 26.
Le fonctionnement du circuit neuromorphique 10 est maintenant décrit en référence à la figure 3 qui correspond à un ordinogramme d’un exemple de mise en oeuvre d’un procédé d’inférence.
Ce procédé comporte trois étapes : une étape de configuration 40, une étape de modification E42 et une étape de mesure E44.
Lors de l’étape de configuration E40, l’unité de configuration 28 excite le composant 26 pour obtenir une configuration d’excitation choisie.
Par exemple, l’unité de configuration 28 reçoit un signal de commande lui indiquant le signal d’excitation à appliquer (par exemple, un signal radiofréquence avec de multiples fréquences comme proposé dans le mode de réalisation du paragraphe suivant). Ce signal d’excitation a été préalablement calculé, par exemple par un outil de simulation, pour permettre de réaliser physiquement une architecture souhaitée de réseau de neurones.
Comme expliqué précédemment, ce signal d’excitation peut servir à obtenir une configuration initiale du composant 26 qui viendra se relaxer vers une configuration finale correspondant à l’architecture souhaitée.
Lors de l’étape de modification E42, l’unité d’interrogation 30 vient modifier sélectivement des populations de premiers modes d’excitation propres.
Cette modification sélective correspond au fait qu’il est souhaité que le réseau de neurones effectue une inférence sur une donnée d’entrée.
La donnée d’entrée est convertie en un signal d’excitation par exemple par l’outil de simulation précitée et une unité de commande envoie une commande indiquant à l’unité d’interrogation 30 qu’elle doit envoyer ledit signal d’excitation.
Le composant 26 évolue ensuite naturellement jusqu’à atteindre un état stable après une telle excitation.
Lors de l’étape de mesure E44, l’unité d’interrogation 30 vient mesurer les populations de deuxièmes modes d’excitation propres.
Ainsi, l’unité d’interrogation 30 obtient la donnée de sortie du réseau de neurones, c’est-à-dire sa prédiction pour la donnée d’entrée injectée lors de l’étape de modification E42.
Cette donnée de sortie est obtenue en convertissant le signal mesuré par l’unité d’interrogation 30 par l’opération inverse de celle qui a été utilisée pour obtenir le signal d’excitation pour la donnée d’entrée.
Il est ainsi réalisé en trois étapes une inférence du réseau de neurones souhaité.
Bien entendu, il est possible de réaliser ces étapes indépendamment. En particulier, il est possible de mettre en oeuvre la réalisation physique du réseau de neurones (étape 40 de configuration) et l’inférence proprement dite (étapes 42 et 44).
Dans chacun des cas, le présent circuit neuromorphique 10 correspond à une réalisation physique d’un réseau de neurones qui est qualitativement différente de toutes les réalisations physiques connues à ce jour. Au lieu de concevoir et de structurer des éléments non linéaires individuels (neurones) et leurs interconnexions (synapses) dans l'espace réel, il est proposé de réaliser ces éléments dans un espace réciproque de grande dimensionnalité. Pour cela, il suffit de peupler les modes d’excitation propres du composant 26 en présence de fortes non-linéarités pour coupler ces modes d’excitation.
Ainsi, la connectivité du réseau de neurones 12 peut potentiellement être augmentée de plusieurs ordres de grandeur, puisqu'elle peut utiliser le spectre complet des modes propres dans un système donné. Des valeurs aussi grandes que 106 peuvent être obtenues.
Autrement formulé, la réalisation physique dans l’espace réel de composants reliées par des liaisons physiques n’est ici plus nécessaire pour obtenir un grand nombre de neurones présentant un grand nombre de connexions tout en garantissant un bonne reconfigurabilité des poids synaptiques.
Le corolaire de cette observation est que le circuit neuromorphique 10 est un circuit neuromorphique plus économe en consommation d’énergie.
Il convient de noter ici qu’un circuit neuromorphique 10 réalisant des neurones fortement interconnectés peut être utilisé pour la résolution de problèmes allant au-délà de l’informatique neuromorphique. En particulier, il pourrait être envisagé d’utiliser ce circuit neuromorphique 10 pour résoudre des problèmes difficiles non-déterministes à temps polynomial. Ces problèmes sont souvent désignés par l’expression « NP-difficiles ». Un exemple est de résoudre un problème qui peut être projeté sur un modèle d’Ising. Une telle potentialité pourrait faire d’un tel circuit neuromorphique 10 un concurrent sérieux aux réalisations d’ordinateur quantique.
En outre, le circuit neuromorphique 10 est aisément reconfigurable. Le même circuit neuromorphique 10 peut être utilisé pour effectuer différentes opérations. Pour cela, il suffit de modifier les signaux de l’unité de configuration 28 et de l’unité d’interrogation 30 en fonction de l’application visée.
EXEMPLE PARTICULIER
Un exemple particulier d’implémentation du circuit neuromorphique 10 est maintenant décrit en référence à la figure 4.
Dans cet exemple spécifique, le composant 26 est réalisé en élément ferromagnétique.
Selon l’exemple proposé, l’élément ferromagnétique est le grenat de fer et d'yttrium.
Le grenat de fer et d'yttrium est plus communément dénommé YIG et désigne l’élément de formule chimique YsFesO^. L’abréviation YIG renvoie ici à la dénomination anglaise correspondante de « Yttrium Iron Garnet ».
Le composant 26 est ici une couche mince.
Une telle couche est obtenue par croissance d’une couche ou d’une multicouche dont au moins une des couches est magnétique.
La taille et la géométrie du composant 26 sont choisies pour avoir une séparation énergétique appropriée entre modes. Typiquement, pour une couche simple de YIG formant un cylindre, la taille de la base du cylindre est de quelques micromètres.
La forme de la base est circulaire (comme visible sur la figure 4) ou rectangulaire.
L’épaisseur de la couche formant le composant 26 est typiquement de quelques dizaines de nanomètres.
Du fait de ces dimensions, le composant 26 est une microstructure magnétique.
Le composant 26 est recouvert éventuellement d’une surcouche 50 comme c’est le cas dans l’exemple illustré.
La surcouche 50 sert à ajuster dynamiquement l'amortissement magnétique effectif du composant 26. L’amortissement est, par définition, le temps de vie caractéristique des différents états d’excitation.
La surcouche 50 est, par exemple, réalisée en platine.
La surcouche 50 est contrôlée par un générateur de courant. Un tel générateur peut délivrer du courant continu ou un courant formant des créneaux temporels.
Dans un tel système, il est observé des oscillations collectives de l'aimantation autour de la configuration d'équilibre.
Ces oscillations sont des ondes de spins qui présentent des modes d’excitation quantifiés.
Les modes d’excitation correspondent donc ici à un spectre de fréquences discret.
Comme expliqué dans la section précédente, ces modes d’excitation peuvent être utilisés pour réaliser les neurones du réseau de neurones.
Les différentes interactions ayant lieu naturellement dans les éléments ferromagnétiques peuvent être décrites par un champ effectif approprié, qui dépend lui- même de l'aimantation, rendant la dynamique des modes d’excitation, pour des écarts suffisamment importants par rapport au mode d’excitation fondamental, fortement non- linéaire.
Plus précisément, la dynamique de l’aimantation couplée à des effets géométriques et à des stimuli externes tels que des champs et des courants appliqués génère des interactions non-linéaires par échange et des interactions dipôle-dipôle.
Cela correspond à un régime dans lequel la plupart des modes d’excitation des ondes de spin sont couplés ensemble et l’amplitude du couplage dépend de la population de chaque mode d’excitation.
Comme expliqué dans la section précédente, ces couplages peuvent être utilisés pour réaliser les synapses du réseau de neurones en bénéficiant d’une connectivité élevée. En outre, il est possible de modifier dynamiquement les poids synaptiques de chaque synapse en contrôlant la population de chacun des modes d’onde de spin par application d’un signal extérieur.
Pour cela, il est utilisé comme unité de configuration 28 une antenne.
L’unité de configuration 28 est propre à faire apparaître des non-linéarités à très faible amplitude d’excitation, typiquement pour quelques microTeslas (-30 dBm) de champs magnétiques alternatifs à 10 GHz.
Une excitation plus forte du composant 26 permet d'atteindre des régimes non linéaires profonds de dynamique des ondes de spin. Dans un tel régime, l’indexation des modes linéaires n’est plus une description physique adéquate du comportement du système.
L’unité de configuration 28 utilise alors des signaux radiofréquences dans les domaines temporel et fréquentiel pour peupler sélectivement les modes d’excitation propres, la densité spectrale de ces signaux respectant les conditions d’excitation précédentes.
L’unité d’interrogation 30 est soit la même antenne que l’unité de configuration 28 soit, comme représenté sur la figure 4, une autre antenne.
Il est à noter que le YIG est ici particulièrement adapté parce que les couches minces peuvent être nanostructurées jusqu'à 300 nanomètres (nm) sans aucun impact négatif sur leurs propriétés magnétiques. En particulier, le YIG présente un amortissement très faible des ondes de spin, cet amortissement pouvant atteindre 8 x 10-5 dans les géométries décrites dans cette section.
Ce faible amortissement donne lieu à un comportement dynamique extrêmement riche avec de nombreux effets non-linéaires rendant ainsi les modes d’excitation accessibles. Une bonne exploitation de ces effets non-linéaires permet de contrôler aisément les configurations kj(ni).
D’autres matériaux que le YIG peuvent néanmoins être envisagés.
En particulier, les matériaux sont des alliages métalliques des éléments, tels NiFe, CoFeB ou CoNi.
En variante, les matériaux sont des composés Heusler comme CoFeMnSi.
Il est également possible d’utiliser du YIG dopé ou de substituer l’yttrium Y du YIG par un autre atome, par exemple du thulium (Tm) ou du bismuth (Bi).
Le circuit neuromorphique 10 est ici un dispositif spintronique. A ce titre, il présente l’avantage d’être compatible avec les circuits CMOS. AUTRES EXEMPLES PARTICULIERS
La réalisation particulière décrite dans la section précédente n’est pas limitative puisque de nombreux autres systèmes physiques présentent des comportements analogues de leur spectre d’excitation.
En particulier, les cristaux photoniques qui sont des cavités optiques réalisées par nanostructuration sont des éléments multimodes. En outre, le régime non-linéaire et les couplages entre modes peuvent être obtenus par une modulation de la constante diélectrique par génération de paires électron-trous par pompage optique.
A titre d’autre exemple, on peut considérer les métamatériaux qui sont des systèmes versatiles ou les résonances peuvent être définies de façon géométrique. En utilisant des matématériaux peu dissipatifs, le fonctionnement en régime non-linéaire serait obtenu. Un résonateur supraconducteur est un exemple d’un tel métamatériau.
Plus généralement, il suffit de disposer d’un système physique propre à être excité selon une pluralité de modes d’excitation propres avec une population respective et que chaque paire de modes d’excitation soit couplée par un couplage respectif et contrôlable.
Il est à noter ici qu’il n’est pas nécessaire de pouvoir contrôler tous les modes d’excitation propres du système physique mais uniquement une partie et que sur cette partie, le couplage soit contrôlable par la population de ces modes d’excitation propres.
En outre, les modes non accessibles peuvent néanmoins être utilisés pour augmenter le nombre de degrés de liberté et ainsi augmenter considérablement la profondeur du réseau de neurones réalisé.
Un tel contrôle pourra utiliser tout effet physique de sorte que les unités de configuration 28 et d’interrogation 30 pourront être une unité d’excitation optique, une unité d’excitation électrique.

Claims

REVENDICATIONS
1. Circuit neuromorphique (10) réalisant physiquement un réseau de neurones, le réseau de neurones comportant un ensemble de neurones reliés par des synapses, le circuit neuromorphique (10) comprenant :
- au moins un composant (26) propre à être excité selon une pluralité de modes d’excitation propres avec une population respective, le composant (26) étant ainsi propre à présenter plusieurs configurations d’excitation, chaque configuration d’excitation étant définie par les modes d’excitation propres excités et leur population respective, chaque paire de modes d’excitation étant couplée par un couplage respectif, chaque mode d’excitation propre étant un neurone du réseau de neurones et chaque couplage étant une synapse du réseau de neurones,
- une unité de configuration (28) du au moins un composant (26), l’unité de configuration (28) étant propre à exciter le composant (26) pour obtenir une configuration d’excitation choisie en fonction d’une architecture souhaitée de réseau de neurones, l’architecture souhaitée comportant des neurones d’entrée et des neurones de sortie, et
- une unité d’interrogation (30) du au moins un composant (26), l’unité d’interrogation (30) du composant (26) étant propre à modifier sélectivement les populations de premiers modes d’excitation propres et à mesurer les populations de deuxièmes modes d’excitation propres, les premiers modes d’excitation propres étant les modes d’excitation des neurones d’entrée et les deuxièmes modes d’excitation propres étant les modes d’excitation des neurones de sortie.
2. Circuit neuromorphique selon la revendication 1 , dans lequel le composant (26) est propre à être excité dans un régime dans lequel l’amplitude d’un couplage entre chaque paire de modes d’excitation propres dans chaque configuration d’excitation dépend des populations respectives de chacun des deux modes d’excitation propres.
3. Circuit neuromorphique selon la revendication 1 ou 2, dans lequel l’au moins un composant (26) présente deux régimes, un premier régime dans lequel l’amplitude du couplage entre chaque paire de modes d’excitation propres est indépendante de la population de chacun des deux modes d’excitation propres et un deuxième régime dans lequel l’amplitude du couplage entre chaque paire de modes d’excitation propres dépend de la population de chacun des deux modes d’excitation propres, l’unité de configuration (28) étant propre à exciter le composant (26) dans le deuxième régime.
4. Circuit neuromorphique selon l’une quelconque des revendications 1 à 3, dans lequel l’unité de configuration (28) est propre à exciter les modes d’excitation propres selon une configuration initiale différente de la configuration d’excitation choisie, le composant (26) se relaxant vers la configuration d’excitation choisie.
5. Circuit neuromorphique selon l’une quelconque des revendications 1 à 4, dans lequel l’au moins un composant (26) est une couche en élément ferromagnétique.
6. Circuit neuromorphique selon la revendication 5, dans lequel l’élément ferromagnétique est un grenat de fer et d'yttrium.
7. Circuit neuromorphique selon l’une quelconque des revendications 1 à 4, dans lequel l’au moins un composant (26) est choisi dans la liste constituée de :
- une microstructure magnétique
- une cavité,
- un métamatériau, et
- un résonateur supraconducteur.
8. Circuit neuromorphique selon l’une quelconque des revendications 1 à 7, dans lequel l’unité de configuration (28) est choisie parmi :
- une unité d’excitation optique, et
- une unité d’excitation électrique.
9. Circuit neuromorphique selon l’une quelconque des revendications 1 à 8, dans lequel l’unité d’interrogation (30) est choisie parmi :
- une unité d’excitation optique, et
- une unité d’excitation électrique.
10. Procédé de réalisation physique d’un réseau de neurones présentant une architecture souhaitée, le réseau de neurones comportant un ensemble de neurones reliés par des synapses, le procédé de réalisation physique comprenant :
- une étape de configuration d’au moins un composant (26) d’un circuit neuromorphique (10) réalisant physiquement un réseau de neurones ayant été configuré, l’au moins un composant (26) étant propre à être excité selon une pluralité de modes d’excitation propres avec une population respective, le composant (26) étant ainsi propre à présenter plusieurs configurations d’excitation, chaque configuration d’excitation étant définie par les modes d’excitation propres excités et leur population respective, chaque paire de modes d’excitation étant couplée par un couplage respectif, chaque mode d’excitation propre étant un neurone du réseau de neurones et chaque couplage étant une synapse du réseau de neurones, l’étape de configuration étant mise en oeuvre par une unité de configuration (28) du au moins un composant (26), l’unité de configuration (28) faisant partie du circuit neuromorphique (10) et comprenant l’excitation du au moins un composant (26) pour obtenir une configuration d’excitation choisie en fonction de l’architecture souhaitée.
11. Procédé d’inférence d’un réseau de neurones présentant une architecture souhaitée, le réseau de neurones comportant un ensemble de neurones reliés par des synapses, au moins un composant (26) d’un circuit neuromorphique (10) réalisant physiquement un réseau de neurones ayant été configuré, l’au moins un composant (26) étant propre à être excité selon une pluralité de modes d’excitation propres avec une population respective, le composant (26) étant ainsi propre à présenter plusieurs configurations d’excitation, chaque configuration d’excitation étant définie par les modes d’excitation propres excités et leur population respective, chaque paire de modes d’excitation étant couplée par un couplage respectif, chaque mode d’excitation propre étant un neurone du réseau de neurones et chaque couplage étant une synapse du réseau de neurones, la configuration ayant été mise en oeuvre par une unité de configuration (28) du au moins un composant (26), l’unité de configuration (28) faisant partie du circuit neuromorphique (10) et comprenant l’excitation l’au moins un composant (26) pour obtenir une configuration d’excitation choisie en fonction de l’architecture souhaitée, le procédé d’inférence comportant :
- une étape de modification sélective des populations de premiers modes d’excitation propres, les premiers modes d’excitation propres étant les modes d’excitation des neurones d’entrée, l’étape de modification étant mise en oeuvre par une unité d’interrogation (30) du circuit neuromorphique (10), et
- une étape de mesure des populations de deuxièmes modes d’excitation propres, les deuxièmes modes d’excitation propres étant les modes d’excitation des neurones de sortie, l’étape de mesure étant réalisée après atteinte d’un état stable pour l’au moins un composant (26), l’étape de mesure étant mise en oeuvre par l’unité d’interrogation (30).
EP23749094.1A 2022-08-02 2023-08-02 Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés Pending EP4566001A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2208016A FR3138719A1 (fr) 2022-08-02 2022-08-02 Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés
PCT/EP2023/071366 WO2024028371A1 (fr) 2022-08-02 2023-08-02 Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés

Publications (1)

Publication Number Publication Date
EP4566001A1 true EP4566001A1 (fr) 2025-06-11

Family

ID=85569596

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23749094.1A Pending EP4566001A1 (fr) 2022-08-02 2023-08-02 Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés

Country Status (3)

Country Link
EP (1) EP4566001A1 (fr)
FR (1) FR3138719A1 (fr)
WO (1) WO2024028371A1 (fr)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3084505B1 (fr) * 2018-07-26 2021-09-10 Thales Sa Reseau de neurones comportant des resonateurs spintroniques

Also Published As

Publication number Publication date
FR3138719A1 (fr) 2024-02-09
WO2024028371A1 (fr) 2024-02-08

Similar Documents

Publication Publication Date Title
Sun et al. In-sensor reservoir computing for language learning via two-dimensional memristors
Papp et al. Nanoscale neural network using non-linear spin-wave interference
Marković et al. Physics for neuromorphic computing
EP3443506A1 (fr) Neurone artificiel
EP2965269B1 (fr) Organe à neurone artificiel et memristor
EP3766019A1 (fr) Modes génératifs hybrides quantique-classique de distributions de données d'apprentissage
US12124946B2 (en) Bias scheme for single-device synaptic element
EP4292017A1 (fr) Circuit neuromorphique et procédé d'entraînement associé
EP4137999A1 (fr) Circuit neuromorphique à base de cellules rram 2t2r
Jiang et al. Metamaterial-based analog recurrent neural network toward machine intelligence
Guo et al. Photonic reservoir computing system for pattern recognition based on an array of four distributed feedback lasers
EP0454535A1 (fr) Système neuronal de classification et procédé de classification utilisant un tel système
Riou et al. Reservoir computing leveraging the transient non-linear dynamics of spin-torque nano-oscillators
EP4566001A1 (fr) Circuit neuromorphique réalisant physiquement un réseau de neurones et procédé de réalisation et d'inférence associés
Wang et al. Reconfigurable neuromorphic crossbars based on titanium oxide memristors
Hirose et al. Keynote speech: Information processing hardware, physical reservoir computing and complex-valued neural networks
Leroux Artificial neural networks with radio-frequency spintronic nano-devices
Laydevant Supervised learning in binary dynamical physical systems through energy minimization
EP4195061B1 (fr) Calculateur d'algorithme réalisé à partir de mémoires à technologies mixtes
Rybka et al. Image and audio data classification using bagging ensembles of spiking neural networks with memristive plasticity
Palit et al. Swift convergence: federated learning enhanced with GMMs for image classification
Saharia et al. 15 Integrated Photonics
Mwamsojo Neuromorphic photonic systems for information processing
Sarantoglou et al. Reconfigurable Silicon Photonics Extreme Learning Machine with Random Non-linearities as Neural Processor and Physical Unclonable Function
FR3144686A1 (fr) Composant neuromorphique utilisant des textures magnétiques dénombrables

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: 20250131

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)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS