EP3323090A1 - Data-processing device with representation of values by time intervals between events - Google Patents

Data-processing device with representation of values by time intervals between events

Info

Publication number
EP3323090A1
EP3323090A1 EP16750928.0A EP16750928A EP3323090A1 EP 3323090 A1 EP3323090 A1 EP 3323090A1 EP 16750928 A EP16750928 A EP 16750928A EP 3323090 A1 EP3323090 A1 EP 3323090A1
Authority
EP
European Patent Office
Prior art keywords
node
connection
connections
neuron
weight
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.)
Withdrawn
Application number
EP16750928.0A
Other languages
German (de)
French (fr)
Inventor
Ryad Benosman
Xavier LAGORCE
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
Institut National de la Sante et de la Recherche Medicale INSERM
Sorbonne Universite
Original Assignee
Centre National de la Recherche Scientifique CNRS
Institut National de la Sante et de la Recherche Medicale INSERM
Sorbonne Universite
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, Institut National de la Sante et de la Recherche Medicale INSERM, Sorbonne Universite filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP3323090A1 publication Critical patent/EP3323090A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/048Activation functions

Definitions

  • the present invention relates to data processing techniques.
  • Embodiments implement a new way of performing calculations in machines, particularly in programmable machines.
  • Neurogrid (Ben V. Benjamin, et al .: “Neurogrid: A Mixed-Analog-Digital Multichip System for Large-Scale Neural Simulations", Proceedings of the IEEE, Vol.102, No. 5, pages 699-716, May 2014) ;
  • a data processing device comprising a set of processing nodes and connections between the nodes.
  • Each connection has a transmitting node and a receiving node among the set of processing nodes and is configured to transmit events delivered by the transmitting node to the receiving node.
  • Each node is arranged to vary a respective potential value according to events it receives and to deliver an event when the potential value reaches a predefined threshold.
  • At least one input quantity of the data processing device is represented by a time interval between two events received by at least one node, and at least one output quantity of the data processing device is represented by a time interval between two events delivered by at least one node.
  • the processing nodes constitute neuron-type calculation units. However, we are not particularly interested here in imitating the functioning of the brain.
  • the term "neuron” is used in the memory for convenience of language, but does not necessarily signify a strong resemblance to the mode of functioning of the neurons of the cortex.
  • each processing node is arranged to reset its potential value when it issues an event.
  • the reset may especially be at a zero potential value.
  • Many embodiments of the data processing device include, among the connections between the nodes, one or more potential variation connections each having a respective weight.
  • the receiving node of such a connection is arranged to react to an event received on this connection by adding the weight of the connection to its potential value.
  • Potential variation connections may include connections excitatory, positive weight, and inhibitory connections, negative weight.
  • the set of processing nodes may comprise at least a first node forming the receiving node of a first potential variation connection having a positive first weight at least equal to the predefined threshold. for the potential value, and at least one second node forming the receiving node of a second weight potential variation connection at least equal to half of the predefined threshold for the potential value and less than the predefined threshold for the value of the potential value. potential.
  • the aforementioned first node further forms the transmitting node and the receiving node of a third weight potential variation connection equal to the opposite of the first weight, as well as the transmitting node of a fourth connection, while the second node further forms the transmitting node of a fifth connection.
  • the first and second potential variation connections are then configured to receive each two events separated by a first time interval representing an input quantity so that the fourth and fifth connections carry respective events having a second time interval between them. in relation to the first time interval.
  • an example of a data processing device comprises at least one minimum calculation circuit, which comprises itself:
  • first, second, third, fourth, fifth and sixth potential variation connections each having a first positive weight at least equal to half of the predefined threshold for the potential value and less than the predefined threshold for the potential value;
  • the first input node forms the transmitting node of the first and third connections and the receiving node of the tenth connection
  • the second input node forms the transmitting node of the second and fourth connections.
  • the receiving node of the ninth connection the first selection node forms the transmitting node of the fifth, seventh and ninth connections and the receiving node of the first and eighth connections
  • the second selection node forms the transmitting node of the sixth, eighth and tenth connections and the receiving node of the second and seventh connections
  • the output node forms the receiving node of the third, fourth, fifth and sixth connections.
  • Another example of a data processing device comprises at least one maximum calculation circuit, which itself comprises:
  • first, second, third and fourth potential variation connections each having a first positive weight at least equal to half of the predefined threshold for the potential value and less than the predefined threshold for the potential value;
  • the first input node forms the transmitting node of the first and third connections
  • the second input node forms the transmitting node of the second and fourth connections
  • the first selection node forms the sending node of the fifth connection and the receiving node of the first and sixth connections
  • the second selection node forms the sending node of the sixth connection and the receiving node of the second and fifth connections
  • the output node forms the receiving node of the third and fourth connections.
  • Another example of a data processing device comprises at least one subtracter circuit, which comprises itself:
  • first and second output nodes each having a first positive weight at least equal to the predefined threshold for the potential value;
  • the first synchronization node forms the transmitting node of the first, second, third and ninth connections
  • the second synchronization node forms the transmitting node of the fourth, fifth, sixth and tenth connections, the first node of the first node.
  • Inhibition forms the sending node of the eleventh connection and the receiving node of the third, eighth and tenth connections
  • the second muting node forms the transmitting node of the twelfth connection and the receiving node of the sixth, seventh and ninth connections
  • the first The output node forms the sending node of the seventh connection and the receiving node of the first, fifth, and eleventh connections
  • the second output node forms the transmitting node of the eighth connection and the receiving node of the second, fourth, and twelfth connections.
  • the first synchronization node is configured to receive, on at least one potential variation connection having the second weight, a first pair of events having between them a first time interval representing a first operand.
  • the second synchronization node is configured to receive, on at least one potential variation connection having the second weight, a second pair of events having between them a second time interval representing a second operand, so that a third pair of events having between them a third time interval is delivered by the first output node if the first time interval is longer than the second time interval and by the second output node if the first time interval is shorter the second time interval, the third time interval representing the absolute value of the difference between the first and second operands.
  • the subtracter circuit may further comprise a zero detection logic including at least one detection node associated with detection connections and with the first and second synchronization nodes, one of the first and second inhibition nodes and one of the first and second output nodes. Detection and muting connections are faster than the first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, and twelfth connections, to inhibit the production of events by any of the first and second output nodes when the first and second time intervals are substantially equal.
  • the set of processing nodes comprises at least one node arranged to vary a current value as a function of events received on at least one current setting connection, and to varying its potential value over time with a rate of change proportional to said current value
  • a processing node may in particular be arranged to reset its current value when it delivers an event.
  • the current value in at least some of the nodes has a constant component between two events received on at least one constant current component setting connection having a respective weight.
  • the receiving node of a constant current component tuning connection is arranged to respond to an event received on that connection by adding the weight of the connection to the constant component of its current value.
  • Another example of a data processing device comprises at least one inverting memory circuit, which comprises itself:
  • first, second and third current constant component control connections having the same positive weight and the second connection having a weight opposite the weight of the first and third connections;
  • the accumulator node forms the receiving node of the first, second and third connections and the sending node of the fourth connection, and the first and second connections are configured to respectively address the accumulator node of the first and second connections.
  • second event having between them a first time interval in relation to a time interval representing a quantity to be stored, so that the accumulator node then reacts to a third an event received on the third connection by increasing its potential value until delivery of a fourth event on the fourth connection, the third and fourth events having between them a second time slot in relation to the first time slot.
  • Another example of a data processing device comprises at least one memory circuit, which itself comprises:
  • first, second, third and fourth current constant component control connections each having a first positive weight and the third connection having a second weight opposite the first weight
  • the first storage node forms the receiving node of the first connection and the transmitting node of the third connection
  • the second storage node forms the receiving node of the second, third and fourth and fifth connections and the transmitting node.
  • the first and second connections are configured to respectively address to the first and second accumulator nodes first and second events having between them a first time interval in relation to a time interval representing a quantity to be stored, so that the second storage node then responds to a third event received on the fourth connection by increasing its potential value until delivery of a fourth event on the fifth connection, the third and fourth events having a second time slot between them; relationship with the first interval of t ime.
  • the memory circuit may further comprise a sixth connection having the first storage node as the transmitting node, the sixth connection providing an event to signal read availability of the memory circuit.
  • a data processing device comprises at least one synchronization circuit, which includes a number N> 1 of memory circuits, of the type just mentioned, and a synchronization node.
  • the synchronization node is sensitive to each event delivered on the sixth connection of one of the N circuits of memory via a respective potential variation connection of weight equal to the first weight divided by N.
  • the synchronization node is arranged to cause simultaneous reception of the third events via the fourth respective connections of the N memory circuits.
  • Another example of a data processing device comprises at least one accumulation circuit, which itself comprises:
  • N entries each having a respective weighting coefficient, N being an integer greater than 1;
  • the accumulator node forms the receiving node of the first, second and third connections
  • the synchronization node forms the transmitting node of the third connection
  • the first and second connections are configured to respectively address to the accumulator node first and second events having between them a first time slot representing a respective operand provided on said input.
  • the synchronization node is configured to deliver a third event once the first and second events have addressed for each of the N inputs, so that the accumulator node increases its potential value until a fourth event is delivered
  • the third and fourth events have between them a second time interval in relation to a time interval representing a weighted sum of the operands provided on the N inputs.
  • the Cumulative circuitry is part of a weighted summation circuit further comprising:
  • the accumulator circuit synchronization node forms the transmitting node of the fourth connection
  • the accumulator circuit accumulator node forms the transmitting node of the fifth connection
  • the second accumulator node forms the node. receiver of the fourth connection and the transmitting node of the sixth connection.
  • the accumulator circuit accumulator node increases its potential value until the fourth event is delivered on the fifth connection
  • the second storage node increases its potential value.
  • the fourth and fifth events having between them a third time interval in relation to a time interval representing a weighted sum of the operands provided on the N entries of the accumulation circuit.
  • a data processing device comprises at least one linear combination circuit including two accumulation circuits, which share their synchronization node, and a subtractor circuit configured to react to the third event delivered by the shared synchronization node. and the fourth events respectively delivered by the accumulator nodes of the two accumulation circuits by delivering a pair of events having between them a third time interval representative of the difference between the weighted sum for one of the two accumulation circuits and the sum weighted for the other of the two accumulation circuits.
  • the set of processing nodes comprises at least one node whose current value has an exponential decay component between two events received on at least one current component setting connection. with exponential decay having a respective weight.
  • the receiving node of an exponential decay current component tuning connection is arranged to respond to an event received on that connection by adding the weight of the connection to the exponentially decreasing component of its current value.
  • Another example of a data processing device comprises at least one log computation circuit, which itself comprises:
  • first and second constant current component control connections the first connection having a positive weight
  • second connection having a weight opposite to the weight of the first connection
  • the accumulator node forms the receiving node of the first, second and third connections and the transmitting node of the fourth connection.
  • the first and second connections are configured to address to the accumulator node first and second respective events having between them a first time slot in relation to a time interval representing an input quantity of the log computation circuit.
  • the third connection is configured to address to the accumulator node a third event simultaneous or subsequent to the second event, so that the accumulator node increases its potential value until a fourth event is delivered on the fourth, third, and fourth connection. events having between them a second time interval in relation to a time interval representing a logarithm of the input quantity.
  • At least one deactivation connection whose receiving node is a node capable of canceling its exponential decay current component in response to an event received on the deactivation connection.
  • Another example of a data processing device comprises at least one exponential calculating circuit, which itself comprises:
  • the accumulator node forms the receiving node of the first, second and third connections and the transmitting node of the fourth connection.
  • the first and second connections are configured to address to the accumulator node first and second respective events having between them a first time interval in relation to a time interval representing an input quantity of the exponential calculating circuit.
  • the third connection is configured to address to the accumulator node a third event simultaneous or subsequent to the second event, so that the accumulator node increases its potential value until a fourth event is delivered on the fourth, third, and fourth connection. events having between them a second time interval in relation to a time interval representing an exponential of the input quantity.
  • Another example of a data processing device comprises at least one multiplier circuit, which itself comprises:
  • first, second, third, fourth and fifth current constant component control connections the first, third and fifth connections having a positive weight, and the second and fourth connections having a weight opposite to the weight of the first, second and fifth connections.
  • the first storage node forms the receiving node of the first, second and sixth connections and the sending node of the seventh connection
  • the second storage node forms the receiving node of the third, fourth and seventh connections and the node.
  • Transmitting the fifth and ninth connections the third storage node forms the receiving node of the fifth, eighth and ninth connections and the sending node of the tenth connection
  • the synchronization node forms the sending node of the sixth and eighth connections.
  • the first and second Connections are configured to address to the first accumulator node respective first and second events having between them a first time interval in relation to a time interval representing a first operand of the multiplier circuit.
  • the third and fourth connections are configured to address to the second storage node respective third and fourth events having between them a second time slot in relation to a time slot representing a second operand of the multiplier circuit.
  • the synchronization node is configured to deliver a fifth event on the sixth and eighth connections once the first, second, third, and fourth events have been received.
  • the first storage node increases its potential value until a sixth event is delivered on the seventh connection and then, in response to the sixth event, the second storage node increases its potential value until delivery is completed. a seventh event on the fifth and ninth connections.
  • the third accumulator node increases its potential value until an eighth event is delivered on the tenth connection, with the seventh and eighth events having a third time interval in relation to an interval of time between them. time representing the product of the first and second operands.
  • Sign detection logic may be associated with the multiplier circuit for detecting the respective signs of the first and second operands and cause two events to be delivered having between them the time interval representing the product of the first and second operands on one of the first and second operands. either of two outputs of the multiplier circuit according to the detected signs.
  • each connection is associated with a delay parameter, to signal to the receiving node of this connection to perform a change of state with, compared to the reception of an event on the connection, a delay indicated by said parameter.
  • the quantities represented by time intervals have, for example, absolute values x ranging between 0 and 1.
  • a logarithmic rather than a linear scale of At as a function of x can also suitable for certain applications.
  • Other scales can be used.
  • the processing device may have special arrangements for manipulating signed quantities. He can thus understand, for an input quantity:
  • a first input having a node or two nodes among the set of processing nodes, the first input being arranged to receive two events having between them a time interval representing a positive value of the input quantity;
  • a second input having a node or two nodes among the set of processing nodes, the second input being arranged to receive two events having between them a time interval representing a negative value of the input quantity.
  • the processing device may comprise:
  • a first output having a node or two nodes among the set of processing nodes, the first output being arranged to output two events having between them a time interval representing a positive value of said output quantity; and a second output having a node or two nodes among the set of processing nodes, the second output being arranged to output two events having between them a time interval representing a negative value of said output quantity.
  • the set of processing nodes is in the form of at least one programmable network, the nodes of the network having a common behavior model as a function of the received events.
  • This device further comprises programming logic for setting weights and delay parameters of the connections between the nodes of the network according to a calculation program, and a control unit for providing input quantities to the network and recovering output quantities calculated in accordance with the program.
  • FIG. 1 is a diagram of a processing circuit producing the representation of a constant value on demand, according to one embodiment of the invention
  • FIG. 2 is a diagram of an inverting memory device according to one embodiment of the invention
  • Fig. 3 is a diagram showing the time course of potential values and the generation of events in an inverter memory device according to Fig. 2;
  • Figure 4 is a diagram of a memory device according to one embodiment of the invention.
  • Fig. 5 is a diagram showing the time course of potential values and the generation of events in a memory device according to Fig. 4;
  • Figure 6 is a diagram of a signed memory device according to an embodiment of the invention.
  • FIGS. 7 (a) and 7 (b) are diagrams showing the evolution in time of potential values and the production of events in a signed memory device according to FIG. 6 when it is presented with different values of 'Entrance ;
  • Figure 8 is a diagram of a synchronization device according to one embodiment of the invention.
  • Fig. 9 is a diagram showing the time course of potential values and the generation of events in a timing device according to Fig. 8;
  • Fig. 10 is a diagram of a synchronization device according to another embodiment of the invention.
  • Figure 11 is a diagram of a minimum computing device according to one embodiment of the invention.
  • Fig. 12 is a diagram showing the time course of potential values and the generation of events in a minimum computing device according to Fig. 11;
  • Figure 13 is a diagram of a maximum computing device according to one embodiment of the invention.
  • Fig. 14 is a diagram showing the time course of potential values and the generation of events in a maximum computing device according to Fig. 13;
  • Fig. 15 is a diagram of a subtractor device according to one embodiment of the invention.
  • Fig. 16 is a diagram showing the time course of potential values and the generation of events in a subtractor device according to Fig. 15;
  • Fig. 17 is a diagram of a variant of the subtractor device in which a difference equal to zero is taken into account
  • Fig. 18 is a diagram of an accumulation circuit according to an embodiment of the invention.
  • Fig. 19 is a diagram of a weighted summation device according to an embodiment of the invention.
  • Fig. 20 is a diagram of a linear combination calculating device according to an embodiment of the invention.
  • Fig. 21 is a diagram of a log computing device according to one embodiment of the invention.
  • Fig. 22 is a diagram showing the time course of potential values and the generation of events in a log calculator according to Fig. 21;
  • Fig. 23 is a diagram of an exponential calculator according to one embodiment of the invention.
  • Fig. 24 is a diagram showing the time course of potential values and the generation of events in an exponential calculator according to Fig. 23;
  • Fig. 25 is a diagram of a multiplier device according to one embodiment of the invention.
  • Fig. 26 is a diagram showing the time course of potential values and the generation of events in a multiplier device according to Fig. 25;
  • FIG. 27 is a diagram of a signed multiplier device according to an embodiment of the invention
  • FIG. 28 is a diagram of an integrating device according to one embodiment of the invention
  • FIG. 29 is a diagram of a device adapted to solving a first-order differential equation in an exemplary embodiment of the invention.
  • FIGS. 30A and 30B are graphs showing simulation results of the device of FIG. 29;
  • FIG. 31 is a diagram of a device adapted to solving a second-order differential equation in an exemplary embodiment of the invention.
  • FIGS. 32A and 32B are graphs showing simulation results of the device of FIG. 31;
  • FIG. 33 is a diagram of a device adapted to the resolution of a system of nonlinear differential equations with three variables in an exemplary embodiment of the invention.
  • Fig. 34 is a graph showing simulation results of the device of Fig. 33;
  • FIG. 35 is a diagram of a programmable processing device according to one embodiment of the invention.
  • a data processing apparatus as proposed herein proceeds by representing the quantities processed not as amplitudes of electrical signals or as binary coded numbers processed by logic circuits, but as time intervals between events. occurring within a set of processing nodes having connections to each other.
  • an embodiment of the data processing device is presented according to an architecture similar to that of artificial neural networks.
  • the data processing device does not necessarily have an architecture strictly in accordance with what people agree to call “neural networks”
  • the following description uses the terms “node” and “neuron” interchangeably, as it uses the term “synapse” to designate connections between two nodes or neurons within the device.
  • the synapses are oriented, i.e. each connection has a transmitting node and a receiving node, and transmitting to the receiving node events generated by the transmitting node. An event typically manifests itself as a peak ("spike") on a voltage or current signal delivered to the transmitting node and influencing the receiving node.
  • each connection or synapse has a weight parameter w which measures the influence that the transmitting node exerts on the receiving node during an event.
  • a description of the behavior of each node can be given by referring to a potential value V corresponding to the potential of membrane V in the paradigm of artificial neural networks.
  • the potential value V of a node varies over time depending on the events that the node receives on its incoming connections. When this potential value V reaches or exceeds a threshold V t , the node transmits an event ("spike") which is transmitted to the node (s) located (s) downstream.
  • the component g e is a component that remains constant, or substantially constant, between two events that the node receives on a particular synapse, referred to herein as a constant current component control connection.
  • the component gf is an exponentially dynamic component, that is to say that it varies exponentially between two events that the node receives on a particular synapse which is called a current component adjustment connection. with exponential decay.
  • a node that takes into account an exponentially decreasing gf current component may further receive activation and deactivation events of the gf component on a particular synapse referred to herein as an activation connection.
  • t denotes time
  • the component g e reflects a constant input current that can only be changed by synaptic events
  • the component g / translates an exponential dynamic input current
  • each synapse being associated with a weight parameter indicating a synaptic weight w, positive or negative:
  • V-synapses which directly modify the value of the membrane potential of the neuron: V ⁇ - V + w.
  • the receiving node responds to an event received on a V-synapse by adding to its potential value V the weight w indicated by the weight parameter;
  • the receiving node responds to an event received on a g e- synapse by adding to the constant component of its current value the weight w indicated by the weight parameter; • exponential decay current component tuning connections, or ⁇ -synapses, which directly modify the exponential dynamic input current of the neuron: g / - g / + w.
  • the receiving node responds to an event received on a ⁇ -synapse by adding to the exponential decay component of its current value the weight w indicated by the weight parameter;
  • Each synaptic connection is further associated with a delay parameter which gives the delay of propagation between the emitting neuron and the receiving neuron.
  • a neuron triggers an event, when its potential value V reaches a threshold V t , that is:
  • the notation T syn designates the delay of propagation along a standard synapse
  • the notation T neu designates the time that a neuron puts in transmitting the event by producing its spike after having been triggered by an input synaptic event T neu may for example reflect the time step of a neural simulator.
  • Wi - W e (8)
  • the quantities processed by the device are represented by time intervals between events. Two events of a pair of events are separated by a time interval At which is a function of the quantity x encoded by this pair:
  • At f (x) (9) where / is a coding function chosen for the representation of the data in the device.
  • the two events of the pair encoding this magnitude x can be delivered by the same n neuron or two different neurons.
  • the encoding function /; I ⁇ . ⁇ H can be chosen taking into account the signals processed in a particular system, and adapted to the required accuracy.
  • the / function calculates the interval between spikes associated with a particular value. In the remainder of the present description, embodiments of the processing device using a linear coding function are illustrated:
  • the value of T min may be zero. However, it is advantageous that it be non-zero. Indeed, if two events representing a value come from the same neuron or are received by the same neuron, the minimum interval T m i n > 0 gives this neuron time to reset. On the other hand, a choice T m j n > 0 allows certain neural arrangements to react to the first input event and propagate a change of state before receiving a second event.
  • the form (11) for the coding function / is not the only one possible. Another sensible choice is to take a logarithmic function, allowing to code an extended range of values with a dynamic suitability for certain applications, in this case with a lower accuracy for large values.
  • [0) 78 To represent signed values, two different paths can be used, one for each sign. Positive values will then be encoded using a particular neuron, and negative values by means of another neuron. In an arbitrary manner, the zero can be represented as a positive value or a negative value. In the following, it is represented as a positive value.
  • the choice (9) or (11) for the coding function leads to defining two standard weights for the g e- synapses.
  • the weight w acc is further defined as being the value of g e necessary to trigger a neuron, from its reset state, at the end of the time ⁇ d , namely:
  • the connections between nodes of the device may further each be associated with a respective delay parameter.
  • This parameter indicates a delay with which the The receiving node of the connection performs a state change, relative to the transmission of an event on the connection.
  • the indication of delay values by these delay parameters associated with the synapses makes it possible to ensure an adequate sequencing of the operations in the processing device.
  • Various technologies can be used to implement the processing nodes and their interconnections to behave in the manner described by equations (I) - (6), including commonly used technologies in the well-known domain of artificial neural networks.
  • Each node can for example be realized using an analog technology, with resistive and capacitive elements to keep and vary a voltage level and transistor elements to deliver events when the voltage level exceeds the threshold V t .
  • connections are oriented with a symbol on the side of their receiving nodes. This symbol is an open square for an exciter connection, that is to say a positive one, and a solid square for an inhibitory connection, that is to say of negative weight;
  • nodes or neurons represented in these figures are named in order to evoke the functions resulting from their arrangement within the circuit: 'input' for an input neuron, 'input +' for the input of a positive value, 'input -' for ⁇ input of a negative value, 'output' for an output neuron, 'output +' for the output of a positive value, 'output -' for the output of a negative value, 'recall' for a neuron serving to retrieve a value, 'acc' for an accumulator neuron, 'ready' for a neuron indicating the availability of a result or a value, etc.
  • Figure 1 shows a very simple circuit 10 usable for producing the representation of a constant value x on demand.
  • the two V-synapses 11, 12 of weight equal to or greater than w e (in the example shown, the weights are equal to w e ) each have a recall neuron 15 as the sending node and an output neuron 16 as the receiving node.
  • the synapse 11 is configured with a delay parameter T syn
  • the synapse 12 is configured with a delay parameter T syn + f (x).
  • the activation of the recall neuron 15 causes the output neuron 16 to be triggered at the times T syn and T syn + f (x), so that the circuit 10 delivers two time-separated events of the value f (x) representing the constant x.
  • Figure 2 shows a processing circuit 18 constituting an inverting memory.
  • This group includes a 'first' neuron 23 and a 'last' neuron 25.
  • Two excitatory V-synapses 22, 24 of delay T syn depart from the input neuron 21 to respectively to neuron first 23 and neuron last 25.
  • V-synapse 22 has a weight w e
  • V-synapse 24 has a weight equal to wJ2.
  • the first neuron 23 self-inhibits by a V-synapse 28 of weight wi and delay T syn .
  • the excitatory e- synapse 26 goes from the first neuron 23 to the accone neuron 30, and has the weight w acc and a delay T syn + T m i n .
  • E g the inhibitory -synapse 27 will last the neuron 25 neuron acc 30, and presents the -w acc weight and delay T syn.
  • An excitable V-synapse 32 goes from the recall neuron 31 to the output neuron 33, and has the weight w e and a delay 2T syn + T neu .
  • An excitable V-synapse 34 goes from the recall neuron 31 to the accone neuron 30, and has the weight w aC c and a delay T syn .
  • an excitatory V-synapse 35 goes from the neuron acc 30 to the output neuron 33, and has the weight w e and a delay T syn .
  • the processing circuit 18 of the figure 2 functions similarly if certain weights are chosen as follows: the V-synapse 22 has a weight w equal to or greater than w e , the V-synapse 24 has a weight at least equal to w e 12 and smaller than V t , the first neuron 23 self-inhibits by a V-synapse 28 of weight -w, the excitatory V-synapse 32 has a weight equal to or greater than w e and the excitatory V-synapse 35 has a weight equal to or greater than w e .
  • This remark extends to the following processing circuits.
  • Figure 4 shows a processing circuit 40 constituting a memory.
  • the memory circuit 40 has an input neuron 21 to receive the value to be stored, a read command input constituted by a recall neuron 48, a ready neuron 47 indicating from when a read command can be presented neuron recall 48, and a neuron output 50 to restore the stored value. All synapses of this memory circuit have the delay T syn .
  • a ⁇ -synapse 41 goes from the first neuron 25 to the first acc 42 neuron, and has the weight 1 ⁇ 4v c .
  • a ⁇ -synapse 43 goes from the neuron last 25 to the second neuron acc 44, and has the weight w acc .
  • the memory circuit 40 operates for any encoding of the magnitude x by a time interval between T min and ⁇ , without being limited to the form (11) above.
  • the signed memory circuit 60 is based on a memory circuit 40 of the type shown in Figures 4A-B.
  • the input + and input-61 neurons are respectively connected to the input neuron 21 of the circuit 40 by excitatory V-synapses 63, 64 of weight w e .
  • that of the two neurons 61, 62 which receives the two spikes representing ⁇ x ⁇ activates twice the input neuron 21 of the circuit 40, so that the time interval / (bel) will be restored on the output neuron 50 of the circuit 40.
  • neurons 61, 62 are respectively connected to ready + and ready-65 neurons 66 by excitatory V-synapses 67, 68 of weight w e / 4.
  • the signed memory circuit has a recall neuron 70 connected to the ready + and ready-65 neurons 66 by respective excitatory V-synapses 71, 72 of weight w e 12.
  • Each of the ready + and ready-65 neurons 66 is connected to the recall neuron 48 of the circuit 40 by respective excitatory V-synapses 73, 74 of weight w e .
  • An inhibitory V-synapse 75 of weight w, / 2 goes from the ready neuron + 65 to the ready-66 neuron, and conversely a 76-weight w / 2 inhibitory V-synapse goes from the ready-66 neuron to the ready neuron + 65.
  • the neuron ready + 65 is connected to the neuron output- 82 of the memory circuit signed by a weight inhibitory V-synapse 77 wi.
  • the ready-66 neuron is connected to the output neuron 81 of the memory circuit signed by an inhibitory V-synapse 78 of weight 2wi.
  • the output neuron 50 of the circuit 40 is connected to the neurons output + and output-81, 82 by respective excitatory V-synapses 79, 80 of weight w e .
  • the output of the signed memory circuit 60 comprises a ready neuron 84 which is the receiving node of an excitatory V-synapse 85 of weight w e from the ready neuron 47 of the memory circuit 40.
  • FIG. 7 shows the behavior of the neurons of the signed memory circuit 60 (a) in the case of a positive input and (b) in the case of a negative input.
  • the activation of the recall neuron 70 triggers the ready + 65 or ready-66 neuron via the V-synapse 70 or 71, and this trigger causes the other ready-66 or ready + 65 neuron to zero via the V-synapse. 75 or 76.
  • the event delivered by the ready + 65 or ready-66 neuron inhibits the output-82 or output + 81 neuron via V-synapse 77 or 78, bringing its potential to -2V t .
  • the event delivered by the ready + 65 or ready-66 neuron at the time t ign is supplied to via the V-synapse 73 or 74.
  • This causes the emission of a pair of spikes separated by an interval of time equal to (
  • This pair of spikes communicated to the neurons output + and output- 81, 82 via the V-synapses 79, 80 triggers twice, at times + (
  • the signed memory circuit 60 shown in FIG. 6 is not optimized in terms of the number of neurons, since one can:
  • FIG. 8 shows a processing circuit 90 for synchronizing the received signals to an N number of inputs (N> 2). All the synapses of this synchronization circuit have the delay T syn .
  • the circuit 90 shown in FIG. 8 comprises N input neurons 91 0 ,..., 9Ly-i and N output neurons 92 0 , 92JV-I.
  • Each input neuron 9 is the transmitting node of a V-synapse 93 k of weight w e whose receiving node is the input neuron 21 3 ⁇ 4 of a respective memory circuit 40 3 ⁇ 4 .
  • the output neuron 50 ⁇ of each memory circuit 40 3 ⁇ 4 is the node emitter of a V-synapse 9 k of weight w e whose receiving node is the output neuron 92 k of the synchronization circuit 90.
  • the synchronization circuit 90 comprises a sync neuron 95 which is the receiving node of N V-synapses excitatory 96o, 96JV-I of weight w N whose transmitting nodes are respectively the ready 47o, 47JV-I neurons of the circuits. memory 40o, 40jv-i.
  • the circuit 90 further comprises excitatory V-synapses 97o, 97JV-I of weight w e having the sync neuron 95 for transmitter node and, respectively, the recall 48o, ..., 48JV-I neuron memory circuits 40o, .. ., 40JV-I for receiving nodes.
  • the sync neuron 95 receives the events produced by the ready 47 0 , 47JV-I neurons as the N input signals are loaded into the memory circuits 40o, 40JV-I, ie at the times t dy0 ⁇ , t ⁇ dyl in Figure 9.
  • the sync neuron 95 outputs an event T syn later, that is to say at the time 9.
  • each memory circuit 40k produces its respective second spike at time t gUtk.
  • the input neurons 91o, 91JV-I and output 92 0 , 92JV-I are optional, since the inputs can be provided directly by the input neurons 21o, 21JV-I of the memory circuits 40o, 40JV-I and the outputs directly by the neurons output 50o, 50JV-I memory circuits 40o, 40JV-I.
  • the V-synapses 46 of the 40o, 40JV-I memory circuits can go directly to the sync neuron 95, without passing through a ready 47 0 , 47JV-I neuron.
  • the synapses 97 0 , 97JV-I can directly attack the output 50o, 50JV-I neurons of the memory circuits (thus replacing their synapses 49), and the sync neuron 95 can also constitute the transmitting node of the synopses 51 memory 40o, 40JV-I to control the restart of accumulation in acc 44 neurons (FIGS. 4 and 5).
  • the sync neuron 95 is excited by two V-synapses 46 of weight wJ2 coming directly from the neurons acc 42 of the two memory circuits, and it is the emitting node of the g e- synapses 51 to restart the accumulation in the neurons.
  • a specific neuron 99 denoted Output ref
  • the role of this neuron output ref 99 could, alternatively, be held by one of the two output neurons 92 0 , 92 ⁇ .
  • the two events encoding the value of an output quantity of the circuit 98 are produced by two different neurons (for example the neurons 99 and 92 ⁇ for the magnitude x ⁇ ).
  • the two events of a pair representing the value of a quantity it is not necessary for the two events of a pair representing the value of a quantity to come from a single node (in the case of a magnitude of output) or be received by a single node (in the case of an input quantity).
  • FIG. 11 shows a processing circuit 100 which calculates the minimum between two values received synchronously on two input nodes 101, 102 and delivers this minimum on an output node 103.
  • this circuit 100 comprises two 'smaller' neurons 104, 105.
  • An excitatory V-synapse 106 of weight w 2, ranging from neuron input 101 to smaller neuron 104.
  • An excitatory V-synapse 107, weight wJ2 ranges from neuron input 102 to neuron smaller 105.
  • An excitatory V-synapse 108, weight w 2 goes from neuron input 101 to neuron output 103.
  • An excitable V-synapse 109, of weight w 2 ranges from the input neuron 102 to the output neuron 103.
  • An excitatory V-synapse 110 ranges from the smaller neuron 104 to the output neuron 103.
  • a V-synapse exciter 111, of weight wJ2 goes from neuron smaller 105 to neuron output 103.
  • An inhibitory V-synapse 112, of weight Wi / 2 goes from neuron smaller 104 to neuron smaller 105.
  • An inhibitory V-synapse 114, of weight w goes from the smaller neuron 104 to the input neuron 102.
  • An inhibitory V-synapse 115, of weight w goes from the neuron smaller 105 to the neuron input 101. All synapses 106-115 shown in Fig. 11 are associated with a delay T syn , except for synapses 108, 109 for which the delay is 2.T syn + T neu .
  • FIG. 13 shows a processing circuit 120 which calculates the maximum between two values received synchronously on two input nodes 121, 122 and delivers this maximum on an output node 123.
  • this circuit 120 comprises two 'larger' neurons 124, 125.
  • An excitable V-synapse 126, weight w e / 2 goes from the input neuron 121 to the neuron larger 124.
  • An excitatory V-synapse 127, weight w e / 2 goes from the input neuron 122 to the neuron larger 125.
  • the emission of the second spike on the neuron input neuron with the smallest value, namely the neuron 121 at the time tf nl tf nl + At x in the example of FIG.
  • Fig. 15 shows a subtraction circuit 140 which calculates the difference between two values xj, X2 received synchronously on two input nodes 141, 142 and outputs the result xi - 3 ⁇ 4 on an output node 143 if it is positive and on another output node 144 if it is negative.
  • the subtraction circuit 140 comprises two sync neurons 145, 146 and two 'inb' neurons 147, 148.
  • An excitatory V-synapse 150 goes from the input neuron 141 to the sync neuron 145.
  • An excitatory V-synapse 151, weight wJ2 goes from the input neuron 142 to the sync neuron 146.
  • Three excitatory V-synapses 152, 153, 154, each weight w e range from neuron sync 145 to output neuron + 143, neuron output-144 and neuron inb 147, respectively.
  • Three excitatory V-synapses 155, 156, 157, each weight w e range from sync neuron 146 to output-144 neuron, output neuron + 143 and neuron 148, respectively.
  • An inhibitory V-synapse 158 ranges from neuron sync 145 to neuron 148.
  • Inhibitory V-synapse 159, weight w goes from neuron sync 146 to neuron 147.
  • Excitatory V-synapse 160 goes from the neuron output + 143 to the neuron inb 148.
  • An excitatory V-synapse 161, of weight wJ2, goes from the neuron output-144 to the neuron inb 147.
  • An inhibitory V-synapse 162, of weight 2w goes from the neuron inb 147 to the neuron output + 143.
  • An inhibitory V-synapse 163, weight 2w goes from the neuron inb 163 to the neuron output-144.
  • the synapses 150, 151, 154 and 157-163 are associated with a delay of T syn .
  • Synapses 152 and 155 are associated with a delay of T min + 3.T syn + 2.T neu .
  • Synapses 153 and 156 are associated with a delay of 3.T syn + 2.T neu -
  • FIG. 16 The operation of the subtraction circuit 140 according to FIG. 15 is illustrated by FIG. 16 in the case where the result xi - x 2 is positive. Things happen symmetrically if the result is negative.
  • the synapse 159 inhibits the inb 147 neuron whose potential passes to the value -V t at time t S y nc2 + T syn -ti n2 + 2.
  • T syn + T neu
  • the synapse 155 then re-excites the output-144 neuron whose potential passes to the value -V, at time tf n2 + T min + 4. T syn + 3. T neu ;
  • the synapse 154 excites the inb 147 neuron which resets its membrane potential
  • the synapse 152 excites the neuron output + 143 which delivers an event at time all ⁇ t synci + m i n + 3. T syn + 3. T neu- ti ni + T m i n + 4. T syn + 4. T neu , which one This event in turn excites the neuron 148 whose potential is reset to zero at the time t + T S y n + T neu- ti ni + T m i n + 5. T S y n + 5. T neu .
  • the neuron output + 143 delivers two events having between them a time interval At out between the events of the two pairs produced by the input neurons 141, 142, with: any ⁇ (-in T min 4- Tsyn 4- T neu ) - (tj n2 + 4. T S y n + 4. T neu )
  • Zero neuron 171 is the receiving node of two excitatory V-synapses 172, 173 of weight wJ2 and of delay T neu , one from the neuron sync 145 and the other from the sync neuron 146. It is on the other hand the receptor node of two inhibitory V-synapses 174, 175 of weight wJ2 and of delay 2.T neu , one coming from the sync neuron 145 and the other of the sync neuron 146.
  • the zero neuron 171 is self-excited by a V-synapse 176 of weight w e and delay T neu .
  • it is the transmitting node of two inhibitory V-synapses of delay T neu , one 177 of weight Wi directed towards the neuron inb 148 and the other 178 of weight directed to the neuron output- 144.
  • the zero neuron 171 acts as a coincidence detector between the events delivered by the sync neurons 145, 146. Since these two neurons only deliver events at the time of the second coding spike of their associated input, detecting this temporal coincidence is equivalent to detecting the equality of the two input values, provided that they are correctly synchronized.
  • the zero neuron 171 produces an event only if it receives two events separated by a time interval less than T neu from the sync neurons 145, 146. In this case, it directly inhibits the output-144 neuron via the synapse 178 , and disables the inb 148 neuron via the synapse 177.
  • two equal input values supplied to the subtractor circuit of FIG. 17 give rise to two events separated by a time interval equal to T min , that is to say coding a zero difference, at the output neuron output + 143, and no event on the output-144 neuron. If the input values are not equal, the zero neuron 171 is not activated and the subtractor operates in the same manner as that of FIG. 15 .
  • the circuit 180 For each input value 3 ⁇ 4 (0 ⁇ k ⁇ N), the circuit 180 comprises an input neuron 181 k and input-182 k each forming part of a respective group of neurons arranged in the same way as in group 20 described above with reference to FIG.
  • the neuron first connected to the input neuron 18 (0 ⁇ k ⁇ N) is the emitter node of a stimulating e- synapse 182 ⁇ of weight ⁇ 3 ⁇ 4.1 ⁇ 4v c and delay T min + T syn .
  • the last neuron connected to the input neuron 18 is the node emitting an inhibitory ⁇ -synapse 183 of weight - Xk Wa ⁇ and of delay T syn .
  • the neuron acc 184 accumulates the terms ⁇ 3 ⁇ 4.3 ⁇ 4.
  • the accelerator neuron 187 is the receptor node of the excitatory ⁇ -synapse 182 and the inhibitory ⁇ -synapse 183.
  • the circuit 180 further comprises a sync neuron 185 which is the receiving node of N V-synapses, each wJN weight and delay T syn , respectively from the last neurons connected to N input neuron 18 (0 ⁇ k ⁇ NOT).
  • the sync neuron 185 is the emitting node of an excitatory e- synapse 186 of weight w acc and delay T syn , whose receiving node is the accession neuron 184.
  • the acc echon neuron 184 integrates the quantity CCk-V t IT max over a period of time.
  • the sync neuron 185 is triggered and excites the accelerated neuron via the ⁇ -synapse 186.
  • the weighted sum is made available by the circuit 180 in its inverted form (1 - s).
  • a weighted summation circuit 190 may have the structure shown in FIG. 19.
  • a weighted cumulative circuit 180 of the type described with reference to FIG. 18 is associated with another acc 188 neuron and a neuron output 189.
  • the accelerator neuron 188 is the receiving node of an excitatory ⁇ -synapse 191 of weight Waoe and delay T syn , and the emitter node of an excitatory V-synapse 192 of weight w e and delay T min + T syn .
  • the output neuron 189 is also the receiving node of an excitatory V-synapse 193 of weight w e and of delay T syn .
  • the linear dynamic accumulation starts on the accelerated neuron 188 at the same time as it restarts on the acceleration neuron 184 of the circuit 180, the two acceleration neurons 184, 188 being excited on the nonsynapses 186, 191 by the same event coming from the sync neuron 185.
  • the expected weighted sum is well represented at the output of the circuit 190.
  • the linear combination calculation circuit 200 shown in FIG. 20 comprises two accumulation circuits 180A, 180B of the type of that described with reference to FIG. 18.
  • the input neurons 18 of the cumulative circuit 180A are respectively associated with the coefficients ⁇ 3 ⁇ 4 for 0 ⁇ k ⁇ M and with the inverted coefficients - ⁇ 3 ⁇ 4 for M ⁇ k ⁇ N. These input neurons 18 for 0 ⁇ k ⁇ M receive a pair of spikes representing 3 ⁇ 4 when 3 ⁇ 4> 0 and therefore form input + neurons for these quantities x 0 , XM- ⁇ - The input 18 neurons of the circuit 180A for M ⁇ k ⁇ N receive a pair of spikes representing 3 ⁇ 4 when 3 ⁇ 4 ⁇ 0 and therefore form input-type neurons for these XM variables, ⁇ ⁇ ⁇ , XN-I -
  • the input 18 neurons of the weighted cumulative circuit 180B are respectively associated with the inverted coefficients - ⁇ 3 ⁇ 4 for 0 ⁇ k ⁇ M and with the coefficients ⁇ 3 ⁇ 4 for M ⁇ k ⁇ N. These input neurons 18 for 0 ⁇ k ⁇ M receive a pair of spikes representing 3 ⁇ 4 when 3 ⁇ 4 ⁇ 0 and thus form input-type neurons for these magnitudes x 0 , XM- ⁇ - The input 18 neurons of the circuit 180B for M ⁇ k ⁇ N receive a pair of spikes representing 3 ⁇ 4 when 3 ⁇ 4> 0 and therefore form input + neurons for these XM variables, ⁇ ⁇ ⁇ , XN-I -
  • the two aggregation circuits 180A, 180B share their sync neuron 185 which is thus the receiving node of 2N V-synapses, each of weights w e IN and of delay T syn , from the neurons last coupled to the 2N neurons input 18.
  • the sync neuron 185 of the linear combination calculating circuit 200 is therefore triggered once the N input variables x 0 ,..., 3 ⁇ 4 ⁇ - ⁇ , positive or negative, have been received on the neurons l & lk.
  • the linear combination calculation circuit 200 of FIG. 20 comprises for this purpose two excitatory V-synapses 198, 199, of weight w e and of delay T min + T syn , directed towards the input neurons 141, 142 of the subtraction circuit 170.
  • an excitatory V-synapse 201 of weight w e and delay T syn goes from the neuron acc 184 of the circuit 180A to the input neuron 141 of the subtractor circuit 170.
  • An excitatory V-synapse 202 of weight w e and delay T syn goes from the neuron acc 184 of the circuit 180B to the other neuron input 142 of the subtractor circuit 170.
  • the output-144 and output + 143 neurons of the subtractor circuit 170 are respectively connected, via exciter V-synapses 205, 206 of weight w e and of delay T syn , to two other neurons output + 203 and output-204 which constitute the outputs of the linear combination calculation circuit 200.
  • a 'start' 207 neuron receiving two excitatory V-synapses 208, 209, of weight w e and of delay T syn , from the neurons output + 143 and output-144 of the subtractor circuit 170.
  • the start neuron 207 self-inhibits by means of a V-synapse 210, weight Wi and delay T syn .
  • the start 204 neuron delivers a spike simultaneously to the first spike of the output + 203 or output-204 neuron activated.
  • linear combination calculation 200 operates as described above.
  • the normalization factor must be taken into account in the result.
  • the input neuron 211 belongs to a group of nodes 20 similar to that described with reference to FIG. 2.
  • the first neuron 213 of this group 20 is the emitting node of a stimulating e- synapse 212 of weight w acc and delay T m i n + T syn
  • the neuron last 215 is the node emitting an inhibitory ⁇ -synapse 214 of weight-w acc and delay T syn
  • Both ⁇ -synapses 212, 214 have the same access neuron 216 as the receiving node.
  • From neuron last 215 to neuron acc 216, there is also a ⁇ / - synapse 217 of weight 9mu.it V f ⁇ and of delay T syn , and a gay-synapse 218 of weight 1 and of delay T syn .
  • the circuit 210 further comprises a neuron output 220 which is the receiving node of an excitatory V-synapse 221 of weight w e and of delay 2.T syn from the neuron last 215, and a V-synapse exciter 222 of weight w e and delay T m i n + T syn from the neuron acc 216.
  • a neuron output 220 which is the receiving node of an excitatory V-synapse 221 of weight w e and of delay 2.T syn from the neuron last 215, and a V-synapse exciter 222 of weight w e and delay T m i n + T syn from the neuron acc 216.
  • FIG. 22 The operation of the log computation circuit 210 according to FIG. 21 is illustrated by FIG. 22.
  • the last neuron 215 also activates the exponential dynamics on the neuron acc 216 at the same time.
  • the circuit 210 of FIG. 21 delivers the representation of log A c) when it receives the representation of a real number x such that A ⁇ x ⁇ 1, where log A (.) Denotes the basic logarithmic operation A. Assuming that, in the form (11), the time interval between the two events delivered by the output neuron 220 may exceed, the circuit 210 delivers the representation of ⁇ ⁇ ( ⁇ ) for any number x such that 0 ⁇ x ⁇ 1.
  • the input neuron 231 belongs to a group of nodes 20 similar to that described with reference to FIG. 2.
  • the first neuron 233 of this group 20 is the node emitting a n -synapse 232 of weight g mu i t and of delay T min + T syn , as well as of an excitatory gay-synapse 234 of weight 1 and of delay T m i n + T syn .
  • the group 235 neuron last 235 is the node emitting an inhibitory gay-synapse 236 of weight -1 and delay T syn , as well as an excitatory e- synapse 237 of weight w acc and of delay T syn . Synapses have the same acc 238 neuron for receiving node.
  • the circuit 230 further comprises a neuron output 240 which is the receiving node of an excitatory V-synapse 241 of weight w e and of delay 2.T syn from the neuron last 235, and a V-synapse exciter 242 weight w e and delay T min + T syn from the neuron acc 238.
  • a neuron output 240 which is the receiving node of an excitatory V-synapse 241 of weight w e and of delay 2.T syn from the neuron last 235, and a V-synapse exciter 242 weight w e and delay T min + T syn from the neuron acc 238.
  • the membrane potential of neuron 238 then evolves according to:
  • V (t) V t . (l - A x + - t ⁇ (21)
  • the second event triggered by synapse 242 occurs at time t ut acc + T min + T syn +
  • the circuit 230 of FIG. 23 thus delivers the representation of A x when it receives the representation of a number x between 0 and 1.
  • This circuit can admit input values x greater than 1 (At> ⁇ ⁇ ) and still deliver the representation of A x on its output neuron 240.
  • the circuit 230 of FIG. 23 performs the inversion of the operation performed by the circuit 210 of FIG. 21. [00208] It is possible to take advantage of this to implement various non-linear calculations using simple operations between log computation and exponential computation circuits. For example, the sum of two logarithms allows to implement a multiplication, their subtraction allows to implement a division, the sum of n times the logarithm allows to raise a number x to an integer power n, and so on.
  • the first neuron 253 k of this group 20 3 ⁇ 4 is the transmitting node of a g e k -synapse exciter 252 weight w acc and delay T min + T syn, while the last neuron k 255 is the source node of a g e inhibitory -synapse 254 3 ⁇ 4 weight- w acc and delay T syn .
  • the two g e -synapses 252 3 ⁇ 4 , 254 3 ⁇ 4 from the node group 20 3 ⁇ 4 have as receiving node the same acc 256 k neuron which plays a role similar to the accelerator neuron 216 of FIG. 21.
  • a sync neuron 260 which is the receiver of two V-excitatory synapses node 261 l5 261 2 WJ2 weight and delay T syn respectively from the neurones last 255 ⁇ , 255 2.
  • a synapse 262 of weight g ⁇ u and of delay T syn and an excitatory gay-synapse 264 of weight 1 and of delay T syn go from neuron sync 260 to neuron acc 256 ⁇ .
  • a ⁇ / - synapse 265 of weight g mu i t and of delay T syn and an excitatory gay-synapse 266 of weight 1 and of delay T syn go from the neuron acc 256 ⁇ to the neuron acc 256 2 .
  • the circuit 250 comprises another acc 268 neuron which plays a role similar to the accelerator neuron 238 of FIG. 23.
  • the accelerator neuron 268 is the receptor node of a 269 ⁇ / synapse of weight g mu i t and 3T syn , and a 270 excitatory gay synapse, weight 1 and 3T syn syn , both from the sync neuron 260.
  • the acc 268 neuron is the receiving node of an inhibitory gay synapse 271, weight -1 and delay T syn , and excitatory e- synapse 272, weight w acc and delay T syn , both from the neuron acc 256 2 .
  • the circuit 250 finally has a neuron output 274 which is the receiving node an excitatory V-synapse 275, of weight w e and 2T syn late, from the acceler 256 neuron 2 and an excitatory V-synapse 276, weight w e and delay T syn + T syn , from the neuron acc 268.
  • a neuron output 274 which is the receiving node an excitatory V-synapse 275, of weight w e and 2T syn late, from the acceler 256 neuron 2 and an excitatory V-synapse 276, weight w e and delay T syn + T syn , from the neuron acc 268.
  • Each of the two neurons acc 256 1; 256 2 behaves initially like the neuron acc 216 of Figure 21, with a linear progression 278 1; 278 2 of weight w acc over a first period of respective duration xi.T cod , X2-T cod , leading to store the potential values V t .x ⁇ and V t .X2 in acc 2561, 256 2 neurons.
  • V-synapse 275 causes the emission of a first spike on the neuron output 274 at the time + 2T syn + T neu .
  • the acc 268 neuron reaches the threshold V t and causes an event on the
  • the emission of a second spike at time t% ut + T min + T syn + T neu .
  • Figure 27 shows a multiplier circuit 290 which calculates the product of two signed values x ⁇ , JC 2 . All the synapses shown in Figure 27 show the delay T
  • the multiplier circuit 290 For each input value 3 ⁇ 4 (1 ⁇ k ⁇ 2), the multiplier circuit 290 comprises an input neuron + 29 and an input-292 k neuron which are the transmitting nodes of two respective V-synapses 293 3 ⁇ 4 and 294 ⁇ weight e .
  • the y-synapses 293i and 294i are directed towards a neuron input 25 ⁇ ⁇ of a multiplier circuit 250 of the kind shown in Figure 25, while the V-synapses 293 and 29-i are directed to the other input neuron 251 2 of the circuit 250.
  • the multiplier circuit 290 has a + 295 output neuron and an output-296 neuron which are the receptor nodes of two respective excitatory V-synapses 297 and 298 of weight w e from the output neuron 274 of the circuit 250.
  • the multiplier circuit 290 further comprises four sign 300-303 neurons connected to form a selection logic of the sign of the result of the multiplication.
  • Each signaling neuron 300-303 is the receiving node of two respective excitatory V-synapses of weight w e / 4 from two of the four input neurons 291 3 ⁇ 4 , 292 ⁇ .
  • the sign 300 neuron connected to input + 291 1 neurons ; 291 2 detects the reception of two positive x X2 inputs. It forms the emitting node of an inhibitory V-synapse 305 of weight 2wi going to the neuron output- 296.
  • the sign 303 neuron connected to the input-292 1 neurons ; 292 2 detects the reception of two x ⁇ , x 2 negative inputs. It forms the transmitting node of a 308 inhibitory V-synapse of weight to neuron output- 296.
  • the signal neuron 301 connected to the input- 292 ⁇ neurons and input + 292 ⁇ detects the reception of a negative input x ⁇ and a positive input JC 2 . It forms the emitter node of an inhibitory synapse V-306 2wi weight from the neuron 295.
  • the neuron output + sign 302 connected to input neurons + 29 ⁇ ⁇ input- and 292 2 detects the reception of an input x ⁇ positive and a negative x 2 input. It forms the transmitting node of an inhibitory V-synapse 307 of weight 2wi going to the neuron output + 295.
  • Inhibitory V-synapses are arranged between the 300-303 sign neurons to ensure that only one of them intervenes to inhibit one of the output 295 and output 296 neurons.
  • Each neuron sign 300-303 corresponding to a sign (+ or -) of the product is thus the node emitting two inhibitory V-synapses of weight wJ2 going respectively to the two sign neurons corresponding to the opposite sign.
  • the circuit 290 of FIG. 27 delivers two events separated from the time interval. on one of its outputs 295, 296, according to the sign of X1.X2, when the two numbers x ⁇ , JC 2 are presented with their respective signs on the inputs 29, 2923 ⁇ 4.
  • Zero detection logic can be added to one of the inputs, as in Figure 17, to ensure that zero input will produce the time T min between two events produced on the neuron output + 295 and not the neuron output- 296.
  • Figure 28 shows a circuit 310 that reconstructs a signal from its derivatives provided in signed form on a neuron of a pair of input + 311 and input-312 neurons. The integrated signal is presented, based on of its sign, by a neuron of a pair of output + 313 and output-314 neurons.
  • the 321-332 synapses shown in FIG. 28 are excitatory V-synapses of weight w e . They have all the delay T syn except the synapse 329 whose delay is T m i n + T syn .
  • the other input neurons + and input- 181 ⁇ circuit 200, associated with the coefficient ao 1, are respectively connected by two V-synapses 323, 324 to two output neurons + 315 and output- 316 of a circuit 217 whose role is to provide an initialization value xc, for the integration process.
  • the circuit 317 essentially consists of the pair of output + 315 and output-316 neurons connected to the same recall neuron 15 as shown in FIG.
  • Another initiating neuron 318 of the integration circuit 310 is the transmitting node of a synapse 325 whose receiving node is the recall neuron 15 of the circuit 317.
  • the initiating neuron 318 loads the integrator with its initial value x 0. stored in circuit 317.
  • Synapses 326, 327 are arranged to retroact, respectively, the neuron output + 143 of the linear combination circuit 200 on its input neuron + 18 lo and the output-144 neuron of the integration circuit 200 on its neuron input-18.
  • a start neuron 319 is the transmitting node of two synapses 328, 329 which have a zero value in the form of two events separated from the time interval T m in on the input neuron + 18 of the integration circuit 180.
  • the neurons output + 143 and output-144 of the linear combination circuit 200 are the respective transmitting nodes of two synapses 330, 331 whose receiving nodes are respectively the output 313 and output 314 neurons of the integration circuit 310.
  • the integration circuit 310 finally has a new input neuron 320 which is the receiving node of a synapse 332 coming from the start neuron 207 of the linear combination circuit 200.
  • the initial value xc is, according to its sign, delivered on the neuron output + 313 or output- 314 once the neuron init 318 and then the neuron start 319 have been activated.
  • the synapses shown in Figure 29 are all excitatory V-synapses of weight w e and delay T
  • a circuit 317 for supplying the constant X ⁇ similar to the circuit 317 described with reference to FIG. 28, in the form of the time interval f ( ⁇ XJ) between two spikes delivered either by its output neuron + 315, or by its output-316 neuron, according to the sign of X ⁇ .
  • Two synapses 341, 342 retroact the output + 313 of the integrator circuit 310 on the other input input + 18 lo of the linear combination circuit 200 and, respectively, the output output 314 of the circuit 310 on the other input-18 input of the circuit 200.
  • Two synapses 343, 344 go from the output output + 203 of the linear combination circuit 200 at input input + 311 of integrator circuit 310 and, respectively, of output output 204 of circuit 200 at input input 312 of circuit 310.
  • the device of FIG. 29 has a pair of output + 346 and output-347 neurons which are the receiving nodes of two synapses resulting from the output + 313 and output-314 neurons of the integrator circuit 310.
  • the init 348 and start 349 neurons are used to initialize and start the integration process.
  • the init neuron 348 must be triggered before the integration process to load the initial value in the integrator circuit 310.
  • the start neuron 349 is triggered to deliver the first value from the circuit 310.
  • the device of Fig. 29 is carried out using 118 neurons if the components as described with reference to the preceding figures are used. This number of neurons can be reduced by optimization.
  • Figure 31 shows a processing device that implements the resolution of the differential equation? O "dt ⁇ . U $ 2 dt ⁇ * ⁇ , where ⁇ and &> o are parameters that can take different values
  • the synapses shown in Fig. 31 are all excitatory V-synapses of weight w e and delay T syn, since the quantities manipulated in this example are all positive. necessary to provide two separate paths for positive and negative values. Only the path relative to the positive values is therefore included.
  • the device of FIG. 31 uses:
  • Two integrating circuits 310A, 310B such as that shown in FIG. 28, with an integration step dt;
  • a circuit 317 for supplying the constant X ⁇ similar to the circuit described with reference to FIG. 1, in the form of the time interval flX ⁇ ) between two spikes delivered by its output neuron 16 (X ⁇ > 0).
  • a synapse 353 goes from the output output 203 of the linear combination circuit 200 to the input input 311 of the first integrator circuit 310A.
  • a synapse 354 goes from the output output 313 of the first integrator circuit 310A to the input input 311 of the second integrator circuit 310B.
  • the device of FIG. 31 has a output neuron 356 which is the receiving node of a synapse originating from the output neuron 313 of the second integrating circuit 310B.
  • the init 358 and start 359 neurons make it possible to initialize and start the integration process.
  • the init neuron 358 must be triggered prior to the integration process to load the initial values into the integrator circuits 310A, 310B.
  • the start neuron 359 is triggered to deliver the first value from the second integrator circuit 310B.
  • the device of FIG. 31 is made using 187 neurons if the components as described with reference to the preceding figures are used. This number of neurons can be reduced by optimization.
  • the synapses shown in Fig. 33 are all excitatory V-synapses of weight w e and delay T syn . To simplify the drawing, only one path is represented, but it must be understood that each time there is a path for the positive values of the variables and, in parallel, a path for their negative values.
  • the device of FIG. 33 uses: Two signed multiplication circuits 290A, 290B such as that shown in FIG. 27 to calculate the nonlinearities contained in the derivatives of X, Y and Z;
  • Three linear combination circuits 200A, 200B, 200C such as that shown in FIG. 20 to calculate the derivatives of X, Y and Z;
  • N 3 to wait until the three derivatives are calculated before changing the state of the system
  • Three integrating circuits 310A, 310B, 310C of steps dt such as that represented in FIG. 28 to calculate the new state from the derivatives of X, Y and Z.
  • Its input neuron 181Ao is excited from the output neuron 313A of the integrator circuit 310A, and its input neuron 181Ai from the output neuron 313B of the integrator circuit 310B.
  • Its output neuron 203A is the transmitting node of a synapse going to the input neuron 91 0 of the synchronizing circuit 90.
  • Three synapses are respectively the neuron output 92 0 Circuit synchronizer 90 to the input neuron 311A of 310A integrator circuit, the neuron output 92 ⁇ circuit 90 at input neuron 311B from 310B integrator circuit, and the output neuron 92 2 Circuit 90 to the input neuron 311C of the integrator circuit 310C.
  • the input neuron 291 Ai of the multiplier circuit 290A is excited from the output neuron 313A of the integrator circuit 310A, and its input neuron 291A 2 from the output neuron 313C of the integrator circuit 31C0.
  • the input neuron 291Bi of the multiplier circuit 290B is excited from the output neuron 313A of the integrator circuit 310A, and its input neuron 291B 2 from the output neuron 313B of the integrator circuit 310B.
  • the device of FIG. 33 has three output neurons 361, 362 and 363 which are the receiving nodes of three respective excitatory V-synapses from the output neurons 313A, 313B and 313C of the integrator circuits 310A, 310B, 310C. These three output neurons 361-363 deliver event pairs whose intervals represent values of the solution ⁇ X (t), Y (t), Z (t) ⁇ calculated for the system (26).
  • the device of FIG. 33 is made using 549 neurons if the components as described with reference to the preceding figures are used. This number of neurons can be significantly reduced by optimization.
  • the points in FIG. 34 each correspond to a triplet ⁇ X (t), Y (t), Z (t) ⁇ of output values encoded by three pairs of spikes respectively delivered by the three output neurons 361-363 , in a three-dimensional graph illustrating a simulation of the device shown in FIG. 33.
  • the point P represents the initialization values X (0), Y (0), Z (0) of the simulation.
  • the other points represent triplets calculated by the device of Figure 33. [0) 272]
  • the system behaves in the expected manner, in accordance with the strange attractor described by Lorenz.
  • a programmable network 400 constituting the set of processing nodes, or a part thereof, in an exemplary implementation of the processing device is illustrated schematically in FIG. 35.
  • the network 400 consists of multiple neurons. all having the same pattern of behavior based on events received on their connections.
  • the behavior can be modeled by the equations (1) indicated above, with identical parameters T m and Tf for the different nodes of the network.
  • a programming or configuration logic 420 is associated with the network 400 for adjusting the synaptic weights and the delay parameters of the connections between the nodes of the network 400.
  • This configuration is operated in a manner analogous to that which is commonly practiced in the network. field of artificial neural networks.
  • the configuration of the parameters of the connections is carried out according to the calculation program which it is necessary to execute and taking into account the relation employed between the intervals of time and the quantities which they represent, by example the relation (11). If the program is broken down into elementary operations, the configuration may result from a circuit assembly of the kind described above. This configuration is performed under the control of a control unit 410 provided with a man-machine interface.
  • control unit 410 Another role of the control unit 410 and to provide the input quantities to the programmable network 400 as events separated by time intervals appropriate, for the network processing nodes 400 to execute the calculation and to deliver the results. These results are quickly retrieved by the control unit 410 to be presented to a user or an application that uses them.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Multi Processors (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Advance Control (AREA)

Abstract

The invention relates to a data-processing device including a set of processing nodes (21, 23, 25, 42, 44, 47, 48, 50) and connections between said nodes. Each connection (22, 24, 41, 43, 45, 46, 49, 51) is configured to transmit events sent by a transmitting node to a receiving node. Each node is arranged to vary a respective potential value as a function of events received thereby and to output an event when the potential value reaches a predetermined threshold. At least one input quantity of the data-processing device is represented by a time interval between two events received by at least one node, and at least one output quantity of the data-processing device is represented by a time interval between two events output by at least one node.

Description

DISPOSITIF DE TRAITEMENT DE DONNEES AVEC REPRESENTATION DE VALEURS PAR DES INTERVALLES DE TEMPS ENTRE EVENEMENTS iOOOl] La présente invention concerne les techniques de traitement de données. Des modes de réalisation mettent en œuvre une nouvelle manière d'exécuter des calculs dans des machines, en particulier dans des machines programmables.  The present invention relates to data processing techniques. Embodiments implement a new way of performing calculations in machines, particularly in programmable machines.
En grande majorité, les ordinateurs actuels reposent sur l'architecture de Von Neumann. Les données et les instructions de programme sont stockées dans une mémoire à laquelle une unité arithmétique et logique accède de manière séquentielle pour exécuter le programme sur les données. Cette architecture séquentielle est relativement inefficace, notamment en raison de l'exigence de nombreux accès à la mémoire, en lecture et en écriture. The vast majority of current computers are based on Von Neumann architecture. The data and program instructions are stored in a memory to which an arithmetic logic unit accesses sequentially to execute the program on the data. This sequential architecture is relatively inefficient, especially because of the requirement for many access to memory, reading and writing.
[0Θ 3] La recherche d'alternatives énergiquement plus efficaces a conduit à proposer des architectures de traitement sans horloge qui tentent d'imiter le fonctionnement du cerveau. Des projets récents, comme le programme SyNAPSE DARPA, ont conduit au développement de technologies de cartes neuromorphiques à base de silicium, qui permettent de construire un nouveau type de calculateur inspiré de la forme, du fonctionnement et de l'architecture du cerveau. Les principaux avantages de ces systèmes sans horloge sont leur efficacité énergétique et le fait que la performance soit en rapport avec la quantité de neurones et de synapses utilisés. Plusieurs plates-formes qui ont été développées dans ce contexte, en particulier : [0Θ 3] The search for energetically more effective alternatives has led to the proposal of non-clocked processing architectures that attempt to mimic the functioning of the brain. Recent projects, such as the SyNAPSE DARPA program, have led to the development of silicon-based neuromorphic card technologies, which make it possible to build a new type of calculator inspired by the shape, function and architecture of the brain. The main advantages of these systems without clock are their energy efficiency and the fact that the performance is related to the amount of neurons and synapses used. Several platforms that have been developed in this context, in particular:
• IBM TrueNorth (Paul A. Merolla, et al.: "A Million Spiking-Neuron Integrated Circuit with a Scalable Communication Network and Interface", Science, Vol. 345, No. 6197, pages 668-673, août 2014) ;  • IBM TrueNorth (Paul A. Merolla, et al .: "A Million Spiking-Neuron Integrated Circuit with a Scalable Communication Network and Interface", Science, Vol 345, No. 6197, pages 668-673, August 2014);
• Neurogrid (Ben V. Benjamin, et al.: "Neurogrid: A Mixed-Analog-Digital Multichip System for Large-Scale Neural Simulations", Proceedings of the IEEE, Vol. 102, No. 5, pages 699-716, mai 2014) ;  • Neurogrid (Ben V. Benjamin, et al .: "Neurogrid: A Mixed-Analog-Digital Multichip System for Large-Scale Neural Simulations", Proceedings of the IEEE, Vol.102, No. 5, pages 699-716, May 2014) ;
• SpiNNaker (Steve B. Furber, et al.: "The SpiNNaker Project", Proceedings of the IEEE, Vol. 102, No. 5, pages 652-665, mai 2014).  • Spinnaker (Steve B. Furber, et al .: "The Spinnaker Project," Proceedings of the IEEE, Vol 102, No. 5, pages 652-665, May 2014).
[0Θ04] Ces machines visent essentiellement à simuler la biologie. Leurs applications principales sont dans le domaine de l'apprentissage, notamment pour exécuter des architectures d'apprentissage profond ("deep learning") telles que des réseaux de neurones ou des réseaux de croyance ("deep belief networks"). Elles se révèlent efficaces dans plusieurs domaines comme ceux de la vision artificielle, de la reconnaissance de parole et du traitement des langues. [1)8(15] Il existe d'autres options comme le NEF ("Neural Engineering Framework") capables de simuler certaines fonctionnalités du cerveau et notamment accomplir des tâches visuelles, cognitives et motrices (Chris Eliasmith, et al. : "A Large-Scale Model of the Functioning Brain", Science, Vol. 338, No. 6111, pages 1202-1205, novembre 2012). [0Θ04] These machines essentially aim to simulate biology. Their main applications are in the field of learning, in particular to execute deep learning architectures such as neural networks or belief networks ("deep belief networks"). They are effective in several areas such as artificial vision, speech recognition and language processing. [1] 8 (15) There are other options, such as NEF ("Neural Engineering Framework"), which can simulate certain functionalities of the brain, including performing visual, cognitive and motor tasks (Chris Eliasmith, et al .: "A Large-Scale Model of the Functioning Brain ", Science, Vol 338, No. 6111, pages 1202-1205, November 2012).
[0006] Ces différentes approches n'offrent pas une méthodologie générale pour l'exécution de calculs dans une machine programmable. [0006] These different approaches do not offer a general methodology for performing calculations in a programmable machine.
[1)807] La présente convention vise à proposer une nouvelle approche pour la représentation des données et l'exécution de calculs. Il est souhaitable que cette approche se prête bien à une mise en œuvre à consommation énergétique modérée et à un parallélisme massif. Î0008] Il est proposé un dispositif de traitement de données, comprenant un ensemble de nœuds de traitement et des connexions entre les nœuds. Chaque connexion a un nœud émetteur et un nœud récepteur parmi l'ensemble de nœuds de traitement et est configurée pour transmettre au nœud récepteur des événements délivrés par le nœud émetteur. Chaque nœud est agencé pour faire varier une valeur de potentiel respective en fonction d'événements qu'il reçoit et pour délivrer un événement lorsque la valeur de potentiel atteint un seuil prédéfini. Au moins une grandeur d'entrée du dispositif de traitement de données est représentée par un intervalle de temps entre deux événements reçus par au moins un nœud, et au moins une grandeur de sortie du dispositif de traitement de données est représentée par un intervalle de temps entre deux événements délivrés par au moins un nœud. [1) 807] The purpose of this Convention is to propose a new approach for data representation and calculation. It is desirable that this approach lends itself to implementation with moderate energy consumption and massive parallelism. There is provided a data processing device, comprising a set of processing nodes and connections between the nodes. Each connection has a transmitting node and a receiving node among the set of processing nodes and is configured to transmit events delivered by the transmitting node to the receiving node. Each node is arranged to vary a respective potential value according to events it receives and to deliver an event when the potential value reaches a predefined threshold. At least one input quantity of the data processing device is represented by a time interval between two events received by at least one node, and at least one output quantity of the data processing device is represented by a time interval between two events delivered by at least one node.
[0809] Les nœuds de traitement constituent des unités de calcul de type neurone. Cependant, on ne cherche pas particulièrement ici à imiter le fonctionnement du cerveau. Le terme « neurone » est utilisé dans le mémoire par commodité de langage, mais ne signifie pas nécessairement une ressemblance forte avec le mode de fonctionnement des neurones du cortex. [8810] En utilisant une organisation temporelle précise des événements au sein du dispositif de traitement, ainsi que diverses propriétés des connexions (synapses), on peut obtenir un cadre général de calcul, apte à calculer les fonctions mathématiques élémentaires. On peut dès lors implémenter tous les opérateurs mathématiques existants, qu'ils soient linéaires ou non, sans recourir obligatoirement à une architecture de Von Neumann. À partir de là, il devient possible que le dispositif fonctionne comme un ordinateur classique, mais sans nécessiter d'allers-retours incessants en mémoire et sans reposer sur la précision en virgule flottante. Ce sont les concordances temporelles d'événements synaptiques, ou leurs décalages temporels, qui constituent la base de la représentation des données. [OOIï] La méthodologie proposée est en adéquation avec les architectures neuromorphiques qui ne font aucune distinction entre mémoire et calcul. Chaque connexion de chaque nœud de traitement stocke de l'information et, simultanément, utilise cette information pour le calcul. Ceci est très différent de l'organisation régnant dans les ordinateurs classiques qui fait une distinction entre mémoire et traitement et provoque le goulot d'étranglement de Von Neumann, où une majeure partie du temps de calcul est consacrée à déplacer de l'information entre la mémoire et l'unité centrale de traitement (John Backus : "Can Programming Be Liberated from the von Neumann Style?: A Functional Style and Its Algebra of Programs", Communications of the ACM, Vol. 21, No. 8, pages 613-641, août 1978). iûûï2] Le fonctionnement repose sur une communication gouvernée par des événements ("event-driven") comme dans les neurones biologiques, et permettant donc une exécution avec un parallélisme massif. The processing nodes constitute neuron-type calculation units. However, we are not particularly interested here in imitating the functioning of the brain. The term "neuron" is used in the memory for convenience of language, but does not necessarily signify a strong resemblance to the mode of functioning of the neurons of the cortex. [8810] By using a precise temporal organization of the events within the processing device, as well as various properties of the connections (synapses), one can obtain a general computing framework, able to calculate the elementary mathematical functions. We can then implement all existing mathematical operators, whether linear or not, without necessarily resorting to a Von Neumann architecture. From there, it becomes possible for the device to function as a conventional computer, but without the need for incessant round trips in memory and without relying on floating-point precision. It is the temporal concordances of synaptic events, or their temporal offsets, that form the basis of the representation of the data. [OOIï] The proposed methodology is in line with neuromorphic architectures that make no distinction between memory and calculation. Each connection of each processing node stores information and simultaneously uses this information for calculation. This is very different from the conventional computer organization that makes a distinction between memory and processing and causes Von Neumann's bottleneck, where much of the computation time is spent moving information between the two. Memory and the Central Processing Unit (John Backus: "Can Programming Be Liberated from the Neumann Style ?: A Functional Style and Its Algebra of Programs," Communications of the ACM, Vol 21, No. 8, pages 613- 641, August 1978). The operation is based on event-driven communication as in biological neurons, and thus allows execution with massive parallelism.
ÎÛ0ï3] Dans un mode de réalisation du dispositif, chaque nœud de traitement est agencé pour réinitialiser sa valeur de potentiel lorsqu'il délivre un événement. La réinitialisation peut notamment être à une valeur de potentiel nulle. In one embodiment of the device, each processing node is arranged to reset its potential value when it issues an event. The reset may especially be at a zero potential value.
[tM)ï4] De nombreux modes de réalisation du dispositif de traitement de données incluent, parmi les connexions entre les nœuds, une ou plusieurs connexions de variation de potentiel ayant chacune un poids respectif. Le nœud récepteur d'une telle connexion est agencé pour réagir à un événement reçu sur cette connexion en ajoutant le poids de la connexion à sa valeur de potentiel. Many embodiments of the data processing device include, among the connections between the nodes, one or more potential variation connections each having a respective weight. The receiving node of such a connection is arranged to react to an event received on this connection by adding the weight of the connection to its potential value.
[0015] Les connexions de variation de potentiel peuvent comprendre des connexions excitatrices, de poids positif, et des connexions inhibitrices, de poids négatif. Potential variation connections may include connections excitatory, positive weight, and inhibitory connections, negative weight.
[0016] Pour manipuler une grandeur au sein du dispositif, l'ensemble des nœuds de traitement peut comprendre au moins un premier nœud formant le nœud récepteur d'une première connexion de variation de potentiel ayant un premier poids positif au moins égal au seuil prédéfini pour la valeur de potentiel, et au moins un second nœud formant le nœud récepteur d'une seconde connexion de variation de potentiel de poids au moins égal à la moitié du seuil prédéfini pour la valeur de potentiel et inférieur au seuil prédéfini pour la valeur de potentiel. Le premier nœud susmentionné forme en outre le nœud émetteur et le nœud récepteur d'une troisième connexion de variation de potentiel de poids égal à l'opposé du premier poids, ainsi que le nœud émetteur d'une quatrième connexion, tandis que le second nœud forme en outre le nœud émetteur d'une cinquième connexion. Les première et seconde connexions de variation de potentiel sont alors configurées pour recevoir chacune deux événements séparés par un premier intervalle de temps représentant une grandeur d'entrée de sorte que les quatrième et cinquième connexions transportent des événements respectifs ayant entre eux un second intervalle de temps en rapport avec le premier intervalle de temps. To manipulate a quantity within the device, the set of processing nodes may comprise at least a first node forming the receiving node of a first potential variation connection having a positive first weight at least equal to the predefined threshold. for the potential value, and at least one second node forming the receiving node of a second weight potential variation connection at least equal to half of the predefined threshold for the potential value and less than the predefined threshold for the value of the potential value. potential. The aforementioned first node further forms the transmitting node and the receiving node of a third weight potential variation connection equal to the opposite of the first weight, as well as the transmitting node of a fourth connection, while the second node further forms the transmitting node of a fifth connection. The first and second potential variation connections are then configured to receive each two events separated by a first time interval representing an input quantity so that the fourth and fifth connections carry respective events having a second time interval between them. in relation to the first time interval.
[001.7] Diverses opérations peuvent être exécutées à l'aide d'un dispositif selon l'invention. [001.7] Various operations can be performed using a device according to the invention.
[0018] En particulier, un exemple de dispositif de traitement de données comprend au moins un circuit de calcul de minimum, qui comprend lui-même : In particular, an example of a data processing device comprises at least one minimum calculation circuit, which comprises itself:
des premier et second nœuds d'entrée ;  first and second input nodes;
un nœud de sortie ;  an output node;
des premier et second nœuds de sélection ;  first and second selection nodes;
des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel ayant chacune un premier poids positif au moins égal à la moitié du seuil prédéfini pour la valeur de potentiel et inférieur au seuil prédéfini pour la valeur de potentiel ;  first, second, third, fourth, fifth and sixth potential variation connections each having a first positive weight at least equal to half of the predefined threshold for the potential value and less than the predefined threshold for the potential value;
des septième et huitième connexions de variation de potentiel ayant chacune un second poids opposé au premier poids ; et  seventh and eighth potential variation connections each having a second weight opposite the first weight; and
des neuvième et dixième connexions de variation de potentiel ayant chacune un troisième poids double du second poids. [8819] Dans ce circuit de calcul de minimum, le premier nœud d'entrée forme le nœud émetteur des première et troisième connexions et le nœud récepteur de la dixième connexion, le second nœud d'entrée forme le nœud émetteur des seconde et quatrième connexions et le nœud récepteur de la neuvième connexion, le premier nœud de sélection forme le nœud émetteur des cinquième, septième et neuvième connexion et le nœud récepteur des première et huitième connexions, le second nœud de sélection forme le nœud émetteur des sixième, huitième et dixième connexions et le nœud récepteur des seconde et septième connexions, et le nœud de sortie forme le nœud récepteur des troisième, quatrième, cinquième et sixième connexions. [8 )20] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de calcul de maximum, qui comprend lui-même : ninth and tenth potential variation connections each having a third double weight of the second weight. [8819] In this minimum computation circuit, the first input node forms the transmitting node of the first and third connections and the receiving node of the tenth connection, the second input node forms the transmitting node of the second and fourth connections. and the receiving node of the ninth connection, the first selection node forms the transmitting node of the fifth, seventh and ninth connections and the receiving node of the first and eighth connections, the second selection node forms the transmitting node of the sixth, eighth and tenth connections and the receiving node of the second and seventh connections, and the output node forms the receiving node of the third, fourth, fifth and sixth connections. [8) Another example of a data processing device comprises at least one maximum calculation circuit, which itself comprises:
des premier et second nœuds d'entrée ;  first and second input nodes;
un nœud de sortie ;  an output node;
des premier et second nœuds de sélection ;  first and second selection nodes;
des première, seconde, troisième et quatrième connexions de variation de potentiel ayant chacune un premier poids positif au moins égal à la moitié du seuil prédéfini pour la valeur de potentiel et inférieur au seuil prédéfini pour la valeur de potentiel ; et  first, second, third and fourth potential variation connections each having a first positive weight at least equal to half of the predefined threshold for the potential value and less than the predefined threshold for the potential value; and
des cinquième et sixième connexions de variation de potentiel ayant chacune un second poids égal au double de l'opposé du premier poids. [8821] Dans ce circuit de calcul de maximum, le premier nœud d'entrée forme le nœud émetteur des première et troisième connexions, le second nœud d'entrée forme le nœud émetteur des seconde et quatrième connexions, le premier nœud de sélection forme le nœud émetteur de la cinquième connexion et le nœud récepteur des première et sixième connexions, le second nœud de sélection forme le nœud émetteur de la sixième connexion et le nœud récepteur des seconde et cinquième connexions, et le nœud de sortie forme le nœud récepteur des troisième et quatrième connexions.  fifth and sixth potential variation connections each having a second weight equal to twice the opposite of the first weight. [8821] In this maximum computation circuit, the first input node forms the transmitting node of the first and third connections, the second input node forms the transmitting node of the second and fourth connections, the first selection node forms the sending node of the fifth connection and the receiving node of the first and sixth connections, the second selection node forms the sending node of the sixth connection and the receiving node of the second and fifth connections, and the output node forms the receiving node of the third and fourth connections.
[0022] Un autre exemple de dispositif de traitement de données comprend au moins un circuit soustracteur, qui comprend lui-même : Another example of a data processing device comprises at least one subtracter circuit, which comprises itself:
des premier et second nœuds de synchronisation ;  first and second synchronization nodes;
des premier et second nœuds d'inhibition ;  first and second inhibition nodes;
des premier et second nœuds de sortie ; des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel ayant chacune un premier poids positif au moins égal au seuil prédéfini pour la valeur de potentiel ; first and second output nodes; first, second, third, fourth, fifth and sixth potential variation connections each having a first positive weight at least equal to the predefined threshold for the potential value;
des septième et huitième connexions de variation de potentiel ayant chacune un second poids égal à la moitié du premier poids ;  seventh and eighth potential variation connections each having a second weight equal to half the first weight;
des neuvième et dixième connexions de variation de potentiel ayant chacune un troisième poids opposé au premier poids ; et  ninth and tenth potential variation connections each having a third weight opposite the first weight; and
des onzième et douzième connexions de variation de potentiel ayant chacune un quatrième poids double du troisième poids. [0023] Dans ce circuit soustracteur, le premier nœud de synchronisation forme le nœud émetteur des première, seconde, troisième et neuvième connexions, le second nœud de synchronisation forme le nœud émetteur des quatrième, cinquième, sixième et dixième connexions, le premier nœud d'inhibition forme le nœud émetteur de la onzième connexion et le nœud récepteur des troisième, huitième et dixième connexions, le second nœud d'inhibition forme le nœud émetteur de la douzième connexion et le nœud récepteur des sixième, septième et neuvième connexions, le premier nœud de sortie forme le nœud émetteur de la septième connexion et le nœud récepteur des première, cinquième et onzième connexions, et le second nœud de sortie forme le nœud émetteur de la huitième connexion et le nœud récepteur des seconde, quatrième et douzième connexions. Le premier nœud de synchronisation est configuré pour recevoir, sur au moins une connexion de variation de potentiel ayant le second poids, une première paire d'événements ayant entre eux un premier intervalle de temps représentant un premier opérande. Le second nœud de synchronisation est configuré pour recevoir, sur au moins une connexion de variation de potentiel ayant le second poids, une seconde paire d'événements ayant entre eux un second intervalle de temps représentant un second opérande, de sorte qu'une troisième paire d'événements ayant entre eux un troisième intervalle de temps est délivrée par le premier nœud de sortie si le premier intervalle de temps est plus long que le second intervalle de temps et par le second nœud de sortie si le premier intervalle de temps est plus court que le second intervalle de temps, le troisième intervalle de temps représentant la valeur absolue de la différence entre les premier et second opérande.  eleventh and twelfth potential variation connections each having a fourth double weight of the third weight. In this subtractor circuit, the first synchronization node forms the transmitting node of the first, second, third and ninth connections, the second synchronization node forms the transmitting node of the fourth, fifth, sixth and tenth connections, the first node of the first node. Inhibition forms the sending node of the eleventh connection and the receiving node of the third, eighth and tenth connections, the second muting node forms the transmitting node of the twelfth connection and the receiving node of the sixth, seventh and ninth connections, the first The output node forms the sending node of the seventh connection and the receiving node of the first, fifth, and eleventh connections, and the second output node forms the transmitting node of the eighth connection and the receiving node of the second, fourth, and twelfth connections. The first synchronization node is configured to receive, on at least one potential variation connection having the second weight, a first pair of events having between them a first time interval representing a first operand. The second synchronization node is configured to receive, on at least one potential variation connection having the second weight, a second pair of events having between them a second time interval representing a second operand, so that a third pair of events having between them a third time interval is delivered by the first output node if the first time interval is longer than the second time interval and by the second output node if the first time interval is shorter the second time interval, the third time interval representing the absolute value of the difference between the first and second operands.
[0024] Le circuit soustracteur peut comprendre en outre une logique de détection de zéro incluant au moins un nœud de détection associé à des connexions de détection et d'inhibition avec les premier et second nœud de synchronisation, l'un des premier et second nœud d'inhibition et l'un des premier et second nœud de sortie. Les connexions de détection et d'inhibition sont plus rapides que les première, seconde, troisième, quatrième, cinquième, sixième, septième, huitième, neuvième, dixième, onzième et douzième connexions, pour inhiber la production d'événements par l'un des premier et second nœuds de sortie lorsque les premier et second intervalles de temps sont sensiblement égaux. The subtracter circuit may further comprise a zero detection logic including at least one detection node associated with detection connections and with the first and second synchronization nodes, one of the first and second inhibition nodes and one of the first and second output nodes. Detection and muting connections are faster than the first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, and twelfth connections, to inhibit the production of events by any of the first and second output nodes when the first and second time intervals are substantially equal.
[8(125] Dans diverses réalisations du dispositif, l'ensemble de nœuds de traitement comprend au moins un nœud agencé pour faire varier une valeur de courant en fonction d'événements reçus sur au moins une connexion de réglage de courant, et pour faire varier sa valeur de potentiel au cours du temps avec un taux de variation proportionnel à ladite valeur de courant. Un tel nœud de traitement peut notamment être agencé pour remettre à zéro sa valeur de courant lorsqu'il délivre un événement. [8 (125) In various embodiments of the device, the set of processing nodes comprises at least one node arranged to vary a current value as a function of events received on at least one current setting connection, and to varying its potential value over time with a rate of change proportional to said current value Such a processing node may in particular be arranged to reset its current value when it delivers an event.
[8 )26] La valeur de courant dans certains au moins des nœuds a une composante constante entre deux événements reçus sur au moins une connexion de réglage de composante constante de courant ayant un poids respectif. Le nœud récepteur d'une connexion de réglage de composante constante de courant est agencé pour réagir à un événement reçu sur cette connexion en ajoutant le poids de la connexion à la composante constante de sa valeur de courant. [8) 26] The current value in at least some of the nodes has a constant component between two events received on at least one constant current component setting connection having a respective weight. The receiving node of a constant current component tuning connection is arranged to respond to an event received on that connection by adding the weight of the connection to the constant component of its current value.
[0027] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de mémoire inverseuse, qui comprend lui-même : Another example of a data processing device comprises at least one inverting memory circuit, which comprises itself:
un nœud accumulateur ;  an accumulator node;
des première, seconde et troisième connexions de réglage de composante constante de courant, les première et troisième connexions ayant un même poids positif et la seconde connexion ayant un poids opposé au poids des première et troisième connexions ; et  first, second and third current constant component control connections, the first and third connections having the same positive weight and the second connection having a weight opposite the weight of the first and third connections; and
au moins une quatrième connexion,  at least one fourth connection,
[8828] Dans ce circuit de mémoire inverseuse, le nœud accumulateur forme le nœud récepteur des première, seconde et troisième connexions et le nœud émetteur de la quatrième connexion, et les première et seconde connexions sont configurées pour adresser respectivement au nœud accumulateur des premier et second événements ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à mémoriser, de sorte que le nœud accumulateur réagit ensuite à un troisième événement reçu sur la troisième connexion en faisant croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec le premier intervalle de temps. [1)829] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de mémoire, qui comprend lui-même : [8828] In this inverting memory circuit, the accumulator node forms the receiving node of the first, second and third connections and the sending node of the fourth connection, and the first and second connections are configured to respectively address the accumulator node of the first and second connections. second event having between them a first time interval in relation to a time interval representing a quantity to be stored, so that the accumulator node then reacts to a third an event received on the third connection by increasing its potential value until delivery of a fourth event on the fourth connection, the third and fourth events having between them a second time slot in relation to the first time slot. [1) 829] Another example of a data processing device comprises at least one memory circuit, which itself comprises:
des premier et second nœuds accumulateurs ;  first and second accumulator nodes;
des première, seconde, troisième et quatrième connexions de réglage de composante constante de courant, les première, seconde et quatrième connexions ayant chacune un premier poids positif et la troisième connexion ayant un second poids opposé au premier poids ; et  first, second, third and fourth current constant component control connections, the first, second and fourth connections each having a first positive weight and the third connection having a second weight opposite the first weight; and
au moins une cinquième connexion.  at least one fifth connection.
Î0030] Dans ce circuit de mémoire, le premier nœud accumulateur forme le nœud récepteur de la première connexion et le nœud émetteur de la troisième connexion, le second nœud accumulateur forme le nœud récepteur des seconde, troisième et quatrième et cinquième connexions et le nœud émetteur de la cinquième connexion, les première et seconde connexions sont configurées pour adresser respectivement aux premier et second nœuds accumulateurs des premier et second événements ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à mémoriser, de sorte que le second nœud accumulateur réagit ensuite à un troisième événement reçu sur la quatrième connexion en faisant croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la cinquième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec le premier intervalle de temps. [0031] Le circuit de mémoire peut en outre comprendre une sixième connexion ayant le premier nœud accumulateur comme nœud émetteur, la sixième connexion délivrant un événement pour signaler la disponibilité en lecture du circuit de mémoire. In this memory circuit, the first storage node forms the receiving node of the first connection and the transmitting node of the third connection, the second storage node forms the receiving node of the second, third and fourth and fifth connections and the transmitting node. of the fifth connection, the first and second connections are configured to respectively address to the first and second accumulator nodes first and second events having between them a first time interval in relation to a time interval representing a quantity to be stored, so that the second storage node then responds to a third event received on the fourth connection by increasing its potential value until delivery of a fourth event on the fifth connection, the third and fourth events having a second time slot between them; relationship with the first interval of t ime. The memory circuit may further comprise a sixth connection having the first storage node as the transmitting node, the sixth connection providing an event to signal read availability of the memory circuit.
[0032] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de synchronisation, qui inclut un nombre N > 1 de circuits de mémoire, du type qui vient d'être mentionné, et un nœud de synchronisation. Le nœud de synchronisation est sensible à chaque événement délivré sur la sixième connexion de l'un des N circuits de mémoire via une connexion de variation de potentiel respective de poids égal au premier poids divisé par N. Le nœud de synchronisation est agencé pour provoquer une réception simultanée des troisièmes événements via les quatrièmes connexions respectives des N de circuits de mémoire. Another example of a data processing device comprises at least one synchronization circuit, which includes a number N> 1 of memory circuits, of the type just mentioned, and a synchronization node. The synchronization node is sensitive to each event delivered on the sixth connection of one of the N circuits of memory via a respective potential variation connection of weight equal to the first weight divided by N. The synchronization node is arranged to cause simultaneous reception of the third events via the fourth respective connections of the N memory circuits.
[0Θ33] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de cumul, qui comprend lui-même : [0Θ33] Another example of a data processing device comprises at least one accumulation circuit, which itself comprises:
N entrées ayant chacune un coefficient de pondération respectif, N étant un nombre entier supérieur à 1 ;  N entries each having a respective weighting coefficient, N being an integer greater than 1;
un nœud accumulateur ;  an accumulator node;
un nœud de synchronisation ;  a synchronization node;
pour chacune des N entrées du circuit de cumul :  for each of the N entries of the accumulation circuit:
une première connexion de réglage de composante constante de courant ayant un premier poids positif proportionnel au coefficient de pondération respectif de ladite entrée ; et  a first constant current component setting connection having a first positive weight proportional to the respective weighting coefficient of said input; and
une seconde connexion de réglage de composante constante de courant ayant un second poids opposé au premier poids ;  a second constant current component setting connection having a second weight opposite the first weight;
une troisième connexion de réglage de composante constante de courant ayant un troisième poids positif.  a third constant current component setting connection having a third positive weight.
[8(134] Dans ce circuit de cumul, le nœud accumulateur forme le nœud récepteur des premières, secondes et troisième connexions, le nœud de synchronisation forme le nœud émetteur de la troisième connexion. Pour chacune des N entrées, les première et seconde connexions sont configurées pour adresser respectivement au nœud accumulateur des premier et second événements ayant entre eux un premier intervalle de temps représentant un opérande respectif fourni sur ladite entrée. Le nœud de synchronisation est configuré pour délivrer un troisième événement une fois que les premier et second événements ont été adressés pour chacune des N entrées, de sorte que le nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement. Les troisième et quatrième événements ont entre eux un second intervalle de temps en relation avec un intervalle de temps représentant une somme pondérée des opérandes fournis sur les N entrées. [8 (134) In this accumulation circuit, the accumulator node forms the receiving node of the first, second and third connections, the synchronization node forms the transmitting node of the third connection For each of the N inputs, the first and second connections are configured to respectively address to the accumulator node first and second events having between them a first time slot representing a respective operand provided on said input.The synchronization node is configured to deliver a third event once the first and second events have addressed for each of the N inputs, so that the accumulator node increases its potential value until a fourth event is delivered The third and fourth events have between them a second time interval in relation to a time interval representing a weighted sum of the operands provided on the N inputs.
[0(135] Dans un exemple de dispositif de traitement de données selon l'invention, le circuit de cumul fait partie d'un circuit de sommation pondérée comprenant en outre : [0 (135) In an exemplary data processing device according to the invention, the Cumulative circuitry is part of a weighted summation circuit further comprising:
un second nœud accumulateur ;  a second accumulator node;
une quatrième connexion de réglage de composante constante de courant ayant le troisième poids ; et  a fourth constant current component setting connection having the third weight; and
des cinquième et sixième connexions.  fifth and sixth connections.
ÎÛ036] Dans ce circuit de sommation pondérée, le nœud de synchronisation du circuit de cumul forme le nœud émetteur de la quatrième connexion, le nœud accumulateur du circuit de cumul forme le nœud émetteur de la cinquième connexion, et le second nœud accumulateur forme le nœud récepteur de la quatrième connexion et le nœud émetteur de la sixième connexion. En réponse à la délivrance du troisième événement par le nœud de synchronisation, le nœud accumulateur du circuit de cumul fait croître sa valeur de potentiel jusqu'à délivrance du quatrième événement sur la cinquième connexion, et le second nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un cinquième événement sur la sixième connexion, les quatrième et cinquième événements ayant entre eux un troisième intervalle de temps en relation avec un intervalle de temps représentant une somme pondérée des opérandes fournis sur les N entrées du circuit de cumul. In this weighted summation circuit, the accumulator circuit synchronization node forms the transmitting node of the fourth connection, the accumulator circuit accumulator node forms the transmitting node of the fifth connection, and the second accumulator node forms the node. receiver of the fourth connection and the transmitting node of the sixth connection. In response to the delivery of the third event by the synchronization node, the accumulator circuit accumulator node increases its potential value until the fourth event is delivered on the fifth connection, and the second storage node increases its potential value. until a fifth event is delivered on the sixth connection, the fourth and fifth events having between them a third time interval in relation to a time interval representing a weighted sum of the operands provided on the N entries of the accumulation circuit.
[0037] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de combinaison linéaire incluant deux circuits de cumul, qui partagent leur nœud de synchronisation, et un circuit soustracteur configuré pour réagir au troisième événement délivré par le nœud de synchronisation partagé et aux quatrièmes événements respectivement délivrés par les nœuds accumulateurs des deux circuits de cumul en délivrant une paire d'événements ayant entre eux un troisième intervalle de temps représentatif de la différence entre la somme pondérée pour l'un des deux circuits de cumul et la somme pondérée pour l'autre des deux circuits de cumul. [0038] Dans un certain nombre de réalisations du dispositif, l'ensemble de nœuds de traitement comprend au moins un nœud dont la valeur de courant a une composante à décroissance exponentielle entre deux événements reçus sur au moins une connexion de réglage de composante de courant à décroissance exponentielle ayant un poids respectif. Le nœud récepteur d'une connexion de réglage de composante de courant à décroissance exponentielle est agencé pour réagir à un événement reçu sur cette connexion en ajoutant le poids de la connexion à la composante à décroissance exponentielle de sa valeur de courant. [8839] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de calcul de logarithme, qui comprend lui-même : Another example of a data processing device comprises at least one linear combination circuit including two accumulation circuits, which share their synchronization node, and a subtractor circuit configured to react to the third event delivered by the shared synchronization node. and the fourth events respectively delivered by the accumulator nodes of the two accumulation circuits by delivering a pair of events having between them a third time interval representative of the difference between the weighted sum for one of the two accumulation circuits and the sum weighted for the other of the two accumulation circuits. In a number of embodiments of the device, the set of processing nodes comprises at least one node whose current value has an exponential decay component between two events received on at least one current component setting connection. with exponential decay having a respective weight. The receiving node of an exponential decay current component tuning connection is arranged to respond to an event received on that connection by adding the weight of the connection to the exponentially decreasing component of its current value. [8839] Another example of a data processing device comprises at least one log computation circuit, which itself comprises:
un nœud accumulateur ;  an accumulator node;
des première et seconde connexions de réglage de composante constante de courant, la première connexion ayant un poids positif, et la seconde connexion ayant un poids opposé au poids de la première connexion ;  first and second constant current component control connections, the first connection having a positive weight, and the second connection having a weight opposite to the weight of the first connection;
une troisième connexion de réglage de composante de courant à décroissance exponentielle ; et  a third exponential decay current component setting connection; and
au moins une quatrième connexion. [8840] Dans ce circuit de calcul de logarithme, le nœud accumulateur forme le nœud récepteur des première, seconde et troisième connexions et le nœud émetteur de la quatrième connexion. Les première et seconde connexions sont configurées pour adresser au nœud accumulateur des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur d'entrée du circuit de calcul de logarithme. La troisième connexion est configurée pour adresser au nœud accumulateur un troisième événement simultané ou postérieur au second événement, de sorte que le nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps représentant un logarithme de la grandeur d'entrée.  at least one fourth connection. [8840] In this logarithmic circuit, the accumulator node forms the receiving node of the first, second and third connections and the transmitting node of the fourth connection. The first and second connections are configured to address to the accumulator node first and second respective events having between them a first time slot in relation to a time interval representing an input quantity of the log computation circuit. The third connection is configured to address to the accumulator node a third event simultaneous or subsequent to the second event, so that the accumulator node increases its potential value until a fourth event is delivered on the fourth, third, and fourth connection. events having between them a second time interval in relation to a time interval representing a logarithm of the input quantity.
[0841] Il peut en outre y avoir dans le dispositif de traitement au moins une connexion de désactivation dont le nœud récepteur est un nœud capable d'annuler sa composante de courant à décroissance exponentielle en réponse à un événement reçu sur la connexion de désactivation. [8842] Un autre exemple de dispositif de traitement de données comprend au moins un circuit de calcul d'exponentielle, qui comprend lui-même : [0841] There may further be in the processing device at least one deactivation connection whose receiving node is a node capable of canceling its exponential decay current component in response to an event received on the deactivation connection. [8842] Another example of a data processing device comprises at least one exponential calculating circuit, which itself comprises:
un nœud accumulateur ;  an accumulator node;
une première connexion de réglage de composante de courant à décroissance exponentielle ;  a first exponential decay current component tuning connection;
une seconde connexion de désactivation ;  a second deactivation connection;
une troisième connexion de réglage de composante constante de courant ; et au moins une quatrième connexion. a third constant current component setting connection; and at least one fourth connection.
Î0043] Dans ce circuit de calcul d'exponentielle, le nœud accumulateur forme le nœud récepteur des première, seconde et troisième connexions et le nœud émetteur de la quatrième connexion. Les première et seconde connexions sont configurées pour adresser au nœud accumulateur des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur d'entrée du circuit de calcul d'exponentielle. La troisième connexion est configurée pour adresser au nœud accumulateur un troisième événement simultané ou postérieur au second événement, de sorte que le nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps représentant une exponentielle de la grandeur d'entrée. In this exponential calculating circuit, the accumulator node forms the receiving node of the first, second and third connections and the transmitting node of the fourth connection. The first and second connections are configured to address to the accumulator node first and second respective events having between them a first time interval in relation to a time interval representing an input quantity of the exponential calculating circuit. The third connection is configured to address to the accumulator node a third event simultaneous or subsequent to the second event, so that the accumulator node increases its potential value until a fourth event is delivered on the fourth, third, and fourth connection. events having between them a second time interval in relation to a time interval representing an exponential of the input quantity.
[8 )44] Un autre exemple de dispositif de traitement de données comprend au moins un circuit multiplieur, qui comprend lui-même : [8) 44] Another example of a data processing device comprises at least one multiplier circuit, which itself comprises:
des premier, second et troisième nœuds accumulateurs ;  first, second and third accumulator nodes;
un nœud de synchronisation ;  a synchronization node;
des première, seconde, troisième, quatrième et cinquième connexions de réglage de composante constante de courant, les première, troisième et cinquième connexions ayant un poids positif, et les seconde et quatrième connexions ayant un poids opposé au poids des première, seconde et cinquième connexions ;  first, second, third, fourth and fifth current constant component control connections, the first, third and fifth connections having a positive weight, and the second and fourth connections having a weight opposite to the weight of the first, second and fifth connections. ;
des sixième, septième et huitième connexions de réglage de composante de courant à décroissance exponentielle ;  sixth, seventh, and eighth exponential decay current component tuning connections;
une neuvième connexion de désactivation ; et  a ninth deactivation connection; and
au moins une dixième connexion. [0045] Dans ce circuit multiplieur, le premier nœud accumulateur forme le nœud récepteur des première, seconde et sixième connexions et le nœud émetteur de la septième connexion, le second nœud accumulateur forme le nœud récepteur des troisième, quatrième et septième connexions et le nœud émetteur des cinquième et neuvième connexions, le troisième nœud accumulateur forme le nœud récepteur des cinquième, huitième et neuvième connexions et le nœud émetteur de la dixième connexion, et le nœud de synchronisation forme le nœud émetteur des sixième et huitième connexions. Les première et seconde connexions sont configurées pour adresser au premier nœud accumulateur des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant un premier opérande du circuit multiplieur. Les troisième et quatrième connexions sont configurées pour adresser au second nœud accumulateur des troisième et quatrième événements respectifs ayant entre eux un second intervalle de temps en relation avec un intervalle de temps représentant un second opérande du circuit multiplieur. Le nœud de synchronisation est configuré pour délivrer un cinquième événement sur les sixième et huitième connexions une fois que les premier, second, troisième et quatrième événements ont été reçus. De ce fait, le premier nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un sixième événement sur la septième connexion puis, en réponse au sixième événement, le second nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un septième événement sur les cinquième et neuvième connexions. En réponse à ce septième événement, le troisième nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un huitième événement sur la dixième connexion, les septième et huitième événements ayant entre eux un troisième intervalle de temps en relation avec un intervalle de temps représentant le produit des premier et second opérandes. at least one tenth connection. In this multiplier circuit, the first storage node forms the receiving node of the first, second and sixth connections and the sending node of the seventh connection, the second storage node forms the receiving node of the third, fourth and seventh connections and the node. Transmitting the fifth and ninth connections, the third storage node forms the receiving node of the fifth, eighth and ninth connections and the sending node of the tenth connection, and the synchronization node forms the sending node of the sixth and eighth connections. The first and second Connections are configured to address to the first accumulator node respective first and second events having between them a first time interval in relation to a time interval representing a first operand of the multiplier circuit. The third and fourth connections are configured to address to the second storage node respective third and fourth events having between them a second time slot in relation to a time slot representing a second operand of the multiplier circuit. The synchronization node is configured to deliver a fifth event on the sixth and eighth connections once the first, second, third, and fourth events have been received. As a result, the first storage node increases its potential value until a sixth event is delivered on the seventh connection and then, in response to the sixth event, the second storage node increases its potential value until delivery is completed. a seventh event on the fifth and ninth connections. In response to this seventh event, the third accumulator node increases its potential value until an eighth event is delivered on the tenth connection, with the seventh and eighth events having a third time interval in relation to an interval of time between them. time representing the product of the first and second operands.
[8846] Une logique de détection de signe peut être associée au circuit multiplieur pour détecter les signes respectifs des premier et second opérandes et faire délivrer deux événements ayant entre eux l'intervalle de temps représentant le produit des premier et second opérandes sur l'une ou l'autre de deux sorties du circuit multiplieur en fonction des signes détectés. [8846] Sign detection logic may be associated with the multiplier circuit for detecting the respective signs of the first and second operands and cause two events to be delivered having between them the time interval representing the product of the first and second operands on one of the first and second operands. either of two outputs of the multiplier circuit according to the detected signs.
[8847] Dans une réalisation typique du dispositif de traitement, chaque connexion est associée à un paramètre de retard, pour signaler au nœud récepteur de cette connexion d'effectuer un changement d'état avec, par rapport à la réception d'un événement sur la connexion, un retard indiqué par ledit paramètre. [8847] In a typical embodiment of the processing device, each connection is associated with a delay parameter, to signal to the receiving node of this connection to perform a change of state with, compared to the reception of an event on the connection, a delay indicated by said parameter.
[8 )48] L'intervalle de temps At entre deux événements représentant une grandeur de valeur absolue x peut être, en particulier, de la forme At = Tmin + x.Tcod, où Tmin et Tco sont des paramètres temporels prédéfinis. Les grandeurs représentées par des intervalles de temps ont par exemple des valeurs absolues x comprises entre 0 et 1. [8) 48] The time interval Δt between two events representing a magnitude of absolute value x can be, in particular, of the form At = T min + xT cod , where T min and T co are predefined temporal parameters. The quantities represented by time intervals have, for example, absolute values x ranging between 0 and 1.
[8849] Une échelle logarithmique plutôt que linéaire de At en fonction de x peut également convenir à certaines applications. D'autres échelles encore peuvent être utilisées. [8849] A logarithmic rather than a linear scale of At as a function of x can also suitable for certain applications. Other scales can be used.
Î0050] Le dispositif de traitement peut avoir des agencements spéciaux pour manipuler des grandeurs signées. Il peut ainsi comprendre, pour une grandeur d'entrée : The processing device may have special arrangements for manipulating signed quantities. He can thus understand, for an input quantity:
une première entrée comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la première entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps représentant une valeur positive de la grandeur d'entrée ; et  a first input having a node or two nodes among the set of processing nodes, the first input being arranged to receive two events having between them a time interval representing a positive value of the input quantity; and
une seconde entrée comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la seconde entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps représentant une valeur négative de la grandeur d'entrée.  a second input having a node or two nodes among the set of processing nodes, the second input being arranged to receive two events having between them a time interval representing a negative value of the input quantity.
Î0051] Pour une grandeur de sortie, le dispositif de traitement peut comprendre : For an output quantity, the processing device may comprise:
une première sortie comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la première sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps représentant une valeur positive de ladite grandeur de sortie ; et une seconde sortie comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la seconde sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps représentant une valeur négative de ladite grandeur de sortie.  a first output having a node or two nodes among the set of processing nodes, the first output being arranged to output two events having between them a time interval representing a positive value of said output quantity; and a second output having a node or two nodes among the set of processing nodes, the second output being arranged to output two events having between them a time interval representing a negative value of said output quantity.
[1)852] Dans une mise en œuvre du dispositif de traitement, l'ensemble de nœuds de traitement est sous la forme d'au moins un réseau programmable, les nœuds du réseau ayant un modèle de comportement commun en fonction des événements reçus. Ce dispositif comprend en outre une logique de programmation pour régler des poids et des paramètres de retard des connexions entre les nœuds du réseau en fonction d'un programme de calcul, et une unité de commande pour fournir des grandeurs d'entrée au réseau et récupérer des grandeurs de sortie calculées conformément au programme. [1) 852] In an implementation of the processing device, the set of processing nodes is in the form of at least one programmable network, the nodes of the network having a common behavior model as a function of the received events. This device further comprises programming logic for setting weights and delay parameters of the connections between the nodes of the network according to a calculation program, and a control unit for providing input quantities to the network and recovering output quantities calculated in accordance with the program.
[8 )53] D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après, en référence aux dessins annexés, dans lesquels : [8] 53] Other features and advantages of the present invention will appear in the description below, with reference to the accompanying drawings, in which:
- la figure 1 est un schéma d'un circuit de traitement produisant la représentation d'une valeur constante sur demande, selon un mode de réalisation de l'invention ;  - Figure 1 is a diagram of a processing circuit producing the representation of a constant value on demand, according to one embodiment of the invention;
- la figure 2 est un schéma d'un dispositif de mémoire inverseuse selon un mode de réalisation de l'invention ; la figure 3 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de mémoire in verseuse selon la figure 2 ; FIG. 2 is a diagram of an inverting memory device according to one embodiment of the invention; Fig. 3 is a diagram showing the time course of potential values and the generation of events in an inverter memory device according to Fig. 2;
la figure 4 est un schéma d'un dispositif de mémoire selon un mode de réalisation de l'invention ; Figure 4 is a diagram of a memory device according to one embodiment of the invention;
la figure 5 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de mémoire selon la figure 4 ; Fig. 5 is a diagram showing the time course of potential values and the generation of events in a memory device according to Fig. 4;
la figure 6 est un schéma d'un dispositif de mémoire signée selon un mode de réalisation de l'invention ; Figure 6 is a diagram of a signed memory device according to an embodiment of the invention;
les figures 7(a) et 7(b) sont des diagrammes montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de mémoire signée selon la figure 6 lorsqu'il lui est présenté différentes valeurs d'entrée ; FIGS. 7 (a) and 7 (b) are diagrams showing the evolution in time of potential values and the production of events in a signed memory device according to FIG. 6 when it is presented with different values of 'Entrance ;
la figure 8 est un schéma d'un dispositif de synchronisation selon un mode de réalisation de l'invention ; Figure 8 is a diagram of a synchronization device according to one embodiment of the invention;
la figure 9 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de synchronisation selon la figure 8 ; Fig. 9 is a diagram showing the time course of potential values and the generation of events in a timing device according to Fig. 8;
la figure 10 est un schéma d'un dispositif de synchronisation selon un autre mode de réalisation de l'invention ; Fig. 10 is a diagram of a synchronization device according to another embodiment of the invention;
la figure 11 est un schéma d'un dispositif de calcul de minimum selon un mode de réalisation de l'invention ; Figure 11 is a diagram of a minimum computing device according to one embodiment of the invention;
la figure 12 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul de minimum selon la figure 11 ; Fig. 12 is a diagram showing the time course of potential values and the generation of events in a minimum computing device according to Fig. 11;
la figure 13 est un schéma d'un dispositif de calcul de maximum selon un mode de réalisation de l'invention ; Figure 13 is a diagram of a maximum computing device according to one embodiment of the invention;
la figure 14 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul de maximum selon la figure 13 ; la figure 15 est un schéma d'un dispositif soustracteur selon un mode de réalisation de l'invention ; Fig. 14 is a diagram showing the time course of potential values and the generation of events in a maximum computing device according to Fig. 13; Fig. 15 is a diagram of a subtractor device according to one embodiment of the invention;
la figure 16 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif soustracteur selon la figure 15 ; Fig. 16 is a diagram showing the time course of potential values and the generation of events in a subtractor device according to Fig. 15;
la figure 17 est un schéma d'une variante du dispositif soustracteur dans laquelle une différence égale à zéro est prise en compte ; Fig. 17 is a diagram of a variant of the subtractor device in which a difference equal to zero is taken into account;
la figure 18 est un schéma d'un circuit de cumul selon un mode de réalisation de l'invention ; Fig. 18 is a diagram of an accumulation circuit according to an embodiment of the invention;
la figure 19 est un schéma d'un dispositif de sommation pondérée selon un mode de réalisation de l'invention ; Fig. 19 is a diagram of a weighted summation device according to an embodiment of the invention;
la figure 20 est un schéma d'un dispositif de calcul de combinaison linéaire selon un mode de réalisation de l'invention ; Fig. 20 is a diagram of a linear combination calculating device according to an embodiment of the invention;
la figure 21 est un schéma d'un dispositif de calcul de logarithme selon un mode de réalisation de l'invention ; Fig. 21 is a diagram of a log computing device according to one embodiment of the invention;
la figure 22 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul de logarithme selon la figure 21 ; Fig. 22 is a diagram showing the time course of potential values and the generation of events in a log calculator according to Fig. 21;
la figure 23 est un schéma d'un dispositif de calcul d'exponentielle selon un mode de réalisation de l'invention ; Fig. 23 is a diagram of an exponential calculator according to one embodiment of the invention;
la figure 24 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif de calcul d'exponentielle selon la figure 23 ; Fig. 24 is a diagram showing the time course of potential values and the generation of events in an exponential calculator according to Fig. 23;
la figure 25 est un schéma d'un dispositif multiplieur selon un mode de réalisation de l'invention ; Fig. 25 is a diagram of a multiplier device according to one embodiment of the invention;
la figure 26 est un diagramme montrant l'évolution dans le temps de valeurs de potentiel et la production d'événements dans un dispositif multiplieur selon la figure 25 ; Fig. 26 is a diagram showing the time course of potential values and the generation of events in a multiplier device according to Fig. 25;
la figure 27 est un schéma d'un dispositif multiplieur signé selon un mode de réalisation de l'invention ; - la figure 28 est un schéma d'un dispositif intégrateur selon un mode de réalisation de l'invention ; Fig. 27 is a diagram of a signed multiplier device according to an embodiment of the invention; FIG. 28 is a diagram of an integrating device according to one embodiment of the invention;
- la figure 29 est un schéma d'un dispositif adapté à la résolution d'une équation différentielle du premier ordre dans un exemple de réalisation de l'invention ;  FIG. 29 is a diagram of a device adapted to solving a first-order differential equation in an exemplary embodiment of the invention;
- les figures 30A et 30B sont des graphiques montrant des résultats de simulation du dispositif de la figure 29 ;  FIGS. 30A and 30B are graphs showing simulation results of the device of FIG. 29;
- la figure 31 est un schéma d'un dispositif adapté à la résolution d'une équation différentielle du second ordre dans un exemple de réalisation de l'invention ;  FIG. 31 is a diagram of a device adapted to solving a second-order differential equation in an exemplary embodiment of the invention;
- les figures 32A et 32B sont des graphiques montrant des résultats de simulation du dispositif de la figure 31 ;  FIGS. 32A and 32B are graphs showing simulation results of the device of FIG. 31;
- la figure 33 est un schéma d'un dispositif adapté à la résolution d'un système d'équations différentielles non-linéaires à trois variables dans un exemple de réalisation de l'invention ;  FIG. 33 is a diagram of a device adapted to the resolution of a system of nonlinear differential equations with three variables in an exemplary embodiment of the invention;
- la figure 34 est un graphique montrant des résultats de simulation du dispositif de la figure 33 ;  Fig. 34 is a graph showing simulation results of the device of Fig. 33;
- la figure 35 est un schéma d'un dispositif de traitement programmable selon un mode de réalisation de l'invention.  FIG. 35 is a diagram of a programmable processing device according to one embodiment of the invention.
[8 )54] Un dispositif de traitement de données tel que proposé ici procède en représentant les grandeurs traitées non pas comme des amplitudes de signaux électriques ou comme des nombres à codage binaire traités par des circuits logiques, mais comme des intervalles de temps entre événements survenant au sein d'un ensemble de nœuds de traitement ayant des connexions entre eux. [8) 54] A data processing apparatus as proposed herein proceeds by representing the quantities processed not as amplitudes of electrical signals or as binary coded numbers processed by logic circuits, but as time intervals between events. occurring within a set of processing nodes having connections to each other.
[0 55J Dans le cadre du présent exposé, on présente une réalisation du dispositif de traitement de données selon une architecture analogue à celles des réseaux de neurones artificiels. Bien que le dispositif de traitement de données n'ait pas obligatoirement une architecture strictement conforme à ce que des personnes conviennent d'appeler « réseaux de neurones », la description qui suit utilise de manière interchangeable les termes « nœud » et « neurone », de même qu'elle utilise le terme « synapse » pour désigner les connexions entre deux nœuds ou neurones au sein du dispositif. [8856] Les synapses sont orientées, c'est-à-dire que chaque connexion a un nœud émetteur et un nœud récepteur, et transmet au nœud récepteur des événements générés par le nœud émetteur. Un événement se manifeste typiquement par un pic (« spike ») sur un signal de tension ou de courant délivré le nœud émetteur et influençant le nœud récepteur. [0857] Comme il est usuel dans le cadre des réseaux de neurones artificiels, chaque connexion ou synapse possède un paramètre de poids w qui mesure l'influence que le nœud émetteur exerce sur le nœud récepteur lors d'un événement. In the context of this presentation, an embodiment of the data processing device is presented according to an architecture similar to that of artificial neural networks. Although the data processing device does not necessarily have an architecture strictly in accordance with what people agree to call "neural networks", the following description uses the terms "node" and "neuron" interchangeably, as it uses the term "synapse" to designate connections between two nodes or neurons within the device. [8856] The synapses are oriented, i.e. each connection has a transmitting node and a receiving node, and transmitting to the receiving node events generated by the transmitting node. An event typically manifests itself as a peak ("spike") on a voltage or current signal delivered to the transmitting node and influencing the receiving node. [0857] As is customary in the context of artificial neural networks, each connection or synapse has a weight parameter w which measures the influence that the transmitting node exerts on the receiving node during an event.
[0858] Une description du comportement de chaque nœud peut être donnée en faisant référence à une valeur de potentiel V correspondant au potentiel de membrane V dans le paradigme des réseaux de neurones artificiels. La valeur de potentiel V d'un nœud varie dans le temps en fonction des événements que le nœud reçoit sur ses connexions entrantes. Lorsque cette valeur de potentiel V atteint ou dépasse un seuil Vt, le nœud émet un événement ("spike") qui est transmis au(x) nœud(s) situé(s) en aval. [0858] A description of the behavior of each node can be given by referring to a potential value V corresponding to the potential of membrane V in the paradigm of artificial neural networks. The potential value V of a node varies over time depending on the events that the node receives on its incoming connections. When this potential value V reaches or exceeds a threshold V t , the node transmits an event ("spike") which is transmitted to the node (s) located (s) downstream.
[01)59] Pour décrire le comportement d'un nœud, ou neurone, dans un exemple de réalisation de l'invention, on peut faire en outre référence à une valeur de courant g ayant une composante ge et éventuellement une composante gf. [01) 59] To describe the behavior of a node, or neuron, in an exemplary embodiment of the invention, reference may be made to a current value g having a component g e and possibly a component gf.
[01)60] La composante ge est une composante qui reste constante, ou sensiblement constante, entre deux événements que le nœud reçoit sur une synapse particulière qu'on appelle ici connexion de réglage de composante constante de courant. [01)61] La composante gf est une composante à dynamique exponentielle, c'est-à-dire qu'elle varie exponentiellement entre deux événements que le nœud reçoit sur une synapse particulière qu'on appelle ici connexion de réglage de composante de courant à décroissance exponentielle. [01) 60] The component g e is a component that remains constant, or substantially constant, between two events that the node receives on a particular synapse, referred to herein as a constant current component control connection. [01) 61] The component gf is an exponentially dynamic component, that is to say that it varies exponentially between two events that the node receives on a particular synapse which is called a current component adjustment connection. with exponential decay.
[0862] Un nœud qui prend en compte une composante de courant gf à décroissance exponentielle peut en outre recevoir des événements d'activation et de désactivation de la composante gf sur une synapse particulière qu'on appelle ici connexion d'activation. [0862] A node that takes into account an exponentially decreasing gf current component may further receive activation and deactivation events of the gf component on a particular synapse referred to herein as an activation connection.
[0863] Dans l'exemple considéré, on peut ainsi exprimer le comportement d'un nœud de traitement de manière générique par un jeu d'équations différentielles : dV [0863] In the example considered, it is thus possible to express the behavior of a processing node generically by a set of differential equations: dV
= 9e + gate dt (1)  = 9th + gate dt (1)
t désigne le temps ; t denotes time;
la composante ge traduit un courant d'entrée constant qui ne peut être changé que par des événements synaptiques ; the component g e reflects a constant input current that can only be changed by synaptic events;
la composante g/ traduit un courant d'entrée à dynamique exponentielle ;  the component g / translates an exponential dynamic input current;
gâte est un signal binaire d'activation (gâte = 1) ou de déactivation (gâte = 0) de la composante de courant gf à décroissance exponentielle ;  is a binary activation (gate = 1) or deactivation (gate = 0) signal of the gf exponential decay component;
Tm est une constante de temps réglant la variation linéaire de la valeur de potentiel V en fonction de la valeur de courant g = ge + gâte. g/; T m is a time constant controlling the linear variation of the potential value V as a function of the current value g = g e + gate. boy Wut/;
et if est une constante de temps réglant la dynamique exponentielle de la décroissance de la composante gf.  and if is a time constant controlling the exponential dynamics of the decay of the gf component.
Dans le système (1), il est considéré qu'il n'y a pas de fuite du potentiel de membrane V, ou que la dynamique de cette fuite est sur une échelle de temps beaucoup plus grande que toutes les autres dynamiques à l'œuvre dans le dispositif. In the system (1), it is considered that there is no leakage of the membrane potential V, or that the dynamics of this leak is on a much larger time scale than all the other dynamics at the in the device.
[0065] Dans ce modèle, on peut distinguer quatre types de synapses influençant le comportement d'un neurone, chaque synapse étant associée un paramètre de poids indiquant un poids synaptique w, positif ou négatif : In this model, we can distinguish four types of synapses influencing the behavior of a neuron, each synapse being associated with a weight parameter indicating a synaptic weight w, positive or negative:
• connexions de variation de potentiel, ou V-synapses, qui modifient directement la valeur du potentiel de membrane du neurone : V <— V + w. En d'autres termes, le nœud récepteur réagit à un événement reçu sur une V-synapse en ajoutant à sa valeur de potentiel V le poids w indiqué par le paramètre de poids ;  • Potential variation connections, or V-synapses, which directly modify the value of the membrane potential of the neuron: V <- V + w. In other words, the receiving node responds to an event received on a V-synapse by adding to its potential value V the weight w indicated by the weight parameter;
• connexions de réglage de composante constante de courant, ou ge-synapses, qui modifient directement le courant d'entrée constant du neurone : ge <— ge + w. En d'autres termes, le nœud récepteur réagit à un événement reçu sur une ge-synapse en ajoutant à la composante constante de sa valeur de courant le poids w indiqué par le paramètre de poids ; • connexions de réglage de composante de courant à décroissance exponentielle, ou ^ -synapses, qui modifient directement le courant d'entrée à dynamique exponentielle du neurone : g/ — g/+ w. En d'autres termes, le nœud récepteur réagit à un événement reçu sur une ^-synapse en ajoutant à la composante à décroissance exponentielle de sa valeur de courant le poids w indiqué par le paramètre de poids ;• constant component of current control connections, or g e -synapses, which directly modify the constant input current of the neuron: g e <- e + w g. In other words, the receiving node responds to an event received on a g e- synapse by adding to the constant component of its current value the weight w indicated by the weight parameter; • exponential decay current component tuning connections, or ^ -synapses, which directly modify the exponential dynamic input current of the neuron: g / - g / + w. In other words, the receiving node responds to an event received on a ^ -synapse by adding to the exponential decay component of its current value the weight w indicated by the weight parameter;
• et connexions d'activation, ou gaie-synapses, qui activent le neurone en fixant gâte <— 1 lorsqu'elles indiquent un poids positif w = 1 et désactivent le neurone en fixant gâte <— 0 lorsqu'elles indiquent un poids négatif w = - 1. • and activation connections, or gay-synapses, that activate the neuron by fixing <- 1 when they indicate a positive weight w = 1 and turn off the neuron by fixing <- 0 when they indicate a negative weight w = - 1.
Î0Û66] Chaque connexion synaptique est en outre associée à un paramètre de retard qui donne le retard de propagation entre le neurone émetteur et le neurone récepteur. Î0Û66] Each synaptic connection is further associated with a delay parameter which gives the delay of propagation between the emitting neuron and the receiving neuron.
[8 )67] Un neurone déclenche un événement, lorsque sa valeur de potentiel V atteint un seuil Vt, soit : [8) 67] A neuron triggers an event, when its potential value V reaches a threshold V t , that is:
V≥Vt (2) V≥V t (2)
ÎÛ068] Le déclenchement de l'événement se traduit par un pic ("spike") délivré sur chaque synapse dont le neurone constitue le nœud émetteur et par la réinitialisation de ses variables d'état à : ÎÛ068] The triggering of the event results in a peak ("spike") delivered on each synapse whose neuron constitutes the sending node and by resetting its state variables to:
V ^ Vreset (3) gf ^ O (5) gâte <- 0 (6) V ^ V reset (3) gf ^ O (5) spoil <- 0 (6)
[0Θ69] Sans perte de généralité, on peut se placer dans le cas où Vreset = 0. [0Θ69] Without loss of generality, one can place oneself in the case where V reset = 0.
[8(170] Dans la suite, la notation Tsyn désigne le retard de propagation le long d'une synapse standard, et la notation Tneu désigne le temps que met un neurone pour transmettre l'événement en produisant son spike après avoir été déclenché par un événement synaptique d'entrée. Tneu peut par exemple refléter le pas de temps d'un simulateur neuronal. [8 (170) In the following, the notation T syn designates the delay of propagation along a standard synapse, and the notation T neu designates the time that a neuron puts in transmitting the event by producing its spike after having been triggered by an input synaptic event T neu may for example reflect the time step of a neural simulator.
[0071] On définit un poids standard we comme le poids d'excitation minimal qu'il faut mettre sur une V-synapse pour déclencher un neurone depuis l'état réinitialisé, et un autre poids standard Wi comme le poids d'inhibition d'effet contraire : we = Vt (7) We define a standard weight w e as the minimum excitation weight that must be placed on a V-synapse to trigger a neuron since the reset state, and another standard weight Wi as the inhibition weight d contrary effect: w e = V t (7)
Wi = - We (8) Wi = - W e (8)
[8872] Les grandeurs traitées par le dispositif sont représentées par des intervalles de temps entre événements. Deux événements d'une paire d'événements sont séparés par un intervalle de temps At qui est fonction de la grandeur x codée par cette paire : [8872] The quantities processed by the device are represented by time intervals between events. Two events of a pair of events are separated by a time interval At which is a function of the quantity x encoded by this pair:
At =f(x) (9) où/est une fonction de codage choisie pour la représentation des données dans le dispositif. At = f (x) (9) where / is a coding function chosen for the representation of the data in the device.
[01)73] Les deux événements de la paire codant cette grandeur x peuvent être délivrés par un même neurone n ou par deux neurones distincts. [01) 73] The two events of the pair encoding this magnitude x can be delivered by the same n neuron or two different neurons.
[8874] Quand il s'agit du même neurone n, délivrant des événements à des instants successifs en(i), i = 0, 1, 2, etc., on peut considérer que ce neurone n code un signal u(t) variant dans le temps, dont des valeurs discrètes sont données par : [8874] When it is the same neuron n, delivering events at successive instants e n (i), i = 0, 1, 2, etc., we can consider that this neuron n codes a signal u (t ) varying over time, whose discrete values are given by:
V-ÎAÎ }) = + 1) - W = %fr p€ (10) où 1 est l'inverse fonction de codage choisie et i est un nombre pair. V-ÎAÎ}} = + 1) - W =% en p € (10) where 1 is the inverse coding function chosen and i is an even number.
[1)875] La fonction de codage / ; I{.→ H peut être choisie en tenant compte des signaux traités dans un système particulier, et adaptée à la précision requise. La fonction / calcule l'intervalle entre spikes associé à une valeur particulière. Dans la suite de la présente description, on illustre des modes de réalisation du dispositif de traitement utilisant une fonction de codage linéaire : [1) 875] The encoding function /; I {. → H can be chosen taking into account the signals processed in a particular system, and adapted to the required accuracy. The / function calculates the interval between spikes associated with a particular value. In the remainder of the present description, embodiments of the processing device using a linear coding function are illustrated:
At = f(x) = Tmin + x. Tcod (11) avec x G [0, 1]. At = f (x) = T min + x. T cod (11) with x G [0, 1].
[8876] Cette représentation de la fonction / : [0, 1]—> X mm, TmaÀ permet de coder linéairement toute valeur x comprise entre 0 et 1 par un intervalle de temps compris entre Tmin et Tmax = Tmin + Tcod. La valeur de Tmin pourra être nulle. Cependant, il est avantageux qu'elle soit non nulle. En effet, si deux événements représentant une valeur proviennent d'un même neurone ou sont reçus par un même neurone, l'intervalle minimum Tmin > 0 donne à ce neurone le temps de se réinitialiser. D'autre part, un choix Tmjn > 0 permet à certains agencements de neurones de réagir au premier événement d'entrée et de propager un changement d'état avant de recevoir un second événement. [8876] This representation of the function /: [0, 1] -> X mm, T ma A is used to linearly code any value x between 0 and 1 by a time interval between T min and T max = T min + T cod . The value of T min may be zero. However, it is advantageous that it be non-zero. Indeed, if two events representing a value come from the same neuron or are received by the same neuron, the minimum interval T m i n > 0 gives this neuron time to reset. On the other hand, a choice T m j n > 0 allows certain neural arrangements to react to the first input event and propagate a change of state before receiving a second event.
[0077] La forme (11) pour la fonction de codage/n'est pas la seule possible. Un autre choix judicieux est de prendre une fonction logarithmique, permettant de coder une plage de valeurs étendue avec une dynamique convenant à certaines applications, en l'occurrence avec une précision plus faible pour les grandes valeurs. The form (11) for the coding function / is not the only one possible. Another sensible choice is to take a logarithmic function, allowing to code an extended range of values with a dynamic suitability for certain applications, in this case with a lower accuracy for large values.
[0 )78] Pour représenter des valeurs signées, on peut utiliser deux trajets différents, un pour chaque signe. Des valeurs positives seront alors codées au moyen d'un neurone particulier, et des valeurs négatives au moyen d'un autre neurone. De manière arbitraire, le zéro peut être représenté comme une valeur positive ou une valeur négative. Dans la suite, on le représente comme une valeur positive. [0) 78] To represent signed values, two different paths can be used, one for each sign. Positive values will then be encoded using a particular neuron, and negative values by means of another neuron. In an arbitrary manner, the zero can be represented as a positive value or a negative value. In the following, it is represented as a positive value.
[0079] Ainsi, pour prolonger l'exemple de la forme (11), si une grandeur x a une valeur dans l'intervalle [-1, +1], on la représente par un intervalle de temps At = Τ^η + \x\.Tcod entre deux événements propagés sur le trajet associé aux valeurs positives si x≥ 0, et sur le trajet associé aux valeurs négatives si x < 0. Thus, to extend the example of the form (11), if a magnitude x has a value in the interval [-1, +1], it is represented by a time interval At = Τ ^ η + \ x \ .T cod between two events propagated on the path associated with positive values if x≥ 0, and on the path associated with negative values if x <0.
[0880] Le choix (9) ou (11) pour la fonction de codage amène à définir deux poids standards pour les ge-synapses. On définit le poids wacc comme étant la valeur de ge nécessaire pour faire déclencher un neurone, depuis son état réinitialisé, au bout du temps max = Tmin + Tcod, soit, d'après (1) : Wacc = Vt. ^ (12) [0880] The choice (9) or (11) for the coding function leads to defining two standard weights for the g e- synapses. The weight w acc is defined as the value of g e needed to trigger a neuron from its reset state at the end time m a x = T min + T cod, or, by (1): = Wacc V t . ^ (12)
'max  max
[0881] On définit en outre le poids wacc comme étant la valeur de ge nécessaire pour faire déclencher un neurone, depuis son état réinitialisé, au bout du temps ∞d, soit : [0881] The weight w acc is further defined as being the value of g e necessary to trigger a neuron, from its reset state, at the end of the time ∞d , namely:
Wacc = Vt. ^ (13) Wacc = V t . ^ (13)
1 cod  1 cod
[8082] Pour les ge-synapses, on peut se donner un autre poids standard g^u : Brunit = Vt ' (14) [8082] For g e -synapses, we can give ourselves another standard weight g ^ u: Bruni t = V t '(14)
[0883] Les connexions entre nœuds du dispositif peuvent en outre être associées chacune à un paramètre de retard respectif. Ce paramètre indique un retard avec lequel le nœud récepteur de la connexion effectue un changement d'état, relativement à l'émission d'un événement sur la connexion. L'indication de valeurs de retards par ces paramètres de retards associés aux synapses permet d'assurer un séquencement adéquat des opérations dans le dispositif de traitement. [1)884] Diverses technologies sont utilisables pour implémenter les nœuds de traitement et leurs interconnexions afin qu'ils se comportent de la manière décrite par les équations (l)-(6), notamment les technologies couramment utilisées dans le domaine bien connu des réseaux de neurones artificiels. Chaque nœud peut par exemple être réalisé à l'aide d'une technologie analogique, avec des éléments résistifs et capacitifs pour conserver et faire varier un niveau de tension et des éléments à transistors pour délivrer des événements lorsque le niveau de tension dépasse le seuil Vt. [0883] The connections between nodes of the device may further each be associated with a respective delay parameter. This parameter indicates a delay with which the The receiving node of the connection performs a state change, relative to the transmission of an event on the connection. The indication of delay values by these delay parameters associated with the synapses makes it possible to ensure an adequate sequencing of the operations in the processing device. [1] 884] Various technologies can be used to implement the processing nodes and their interconnections to behave in the manner described by equations (I) - (6), including commonly used technologies in the well-known domain of artificial neural networks. Each node can for example be realized using an analog technology, with resistive and capacitive elements to keep and vary a voltage level and transistor elements to deliver events when the voltage level exceeds the threshold V t .
[8885] Une autre possibilité est de recourir à des technologies numériques, par exemple à base de FPGA ("field-programmable gâte arrays"), qui offrent un moyen commode d' implémenter des neurones artificiels. [8886] Dans la suite, on présente un certain nombre de dispositifs ou circuits de traitement de données réalisés à l'aide de nœuds de traitement interconnectés. Sur les figures 1, 2, 4, 6, 8, 10, 11, 13, 15, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 31 et 33 : [8885] Another possibility is to use digital technologies, for example based on FPGA ("field-programmable trick arrays"), which offer a convenient way of implementing artificial neurons. [8886] In the following, we present a number of data processing devices or circuits realized using interconnected processing nodes. In FIGS. 1, 2, 4, 6, 8, 10, 11, 13, 15, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 31 and 33:
• les connexions entre nœuds représentées en trait plein sont des V-synapses ;  • the connections between nodes represented in solid lines are V-synapses;
• les connexions représentées en trait interrompu sont des ge-synapses ; • the connections represented in broken lines are g e -synapses;
· les connexions représentées en trait mixte sont des ^/-synapses ;  · The connections represented in dotted lines are ^ / - synapses;
• les connexions représentées en pointillés sont des gaie-synapses ;  • the connections shown in dotted lines are gay-synapses;
• les connexions sont orientées avec un symbole du côté de leurs nœuds récepteurs. Ce symbole est un carré ouvert pour une connexion excitatrice, c'est-à-dire de poids positif, et un carré plein pour une connexion inhibitrice, c'est-à-dire de poids négatif ;  • the connections are oriented with a symbol on the side of their receiving nodes. This symbol is an open square for an exciter connection, that is to say a positive one, and a solid square for an inhibitory connection, that is to say of negative weight;
• la paire de paramètres (w ; T) figurant à côté d'une connexion indique le poids w et le retard T associé à la connexion. Parfois, seul le poids w est indiqué.  • the parameter pair (w; T) next to a connection indicates the weight w and the delay T associated with the connection. Sometimes only the weight w is indicated.
[0Θ87] Certains des nœuds ou neurones représentés sur ces figures sont nommés de manière à évoquer les fonctions résultant de leur agencement au sein du circuit : 'input' pour un neurone d'entrée, 'input + ' pour l'entrée d'une valeur positive, 'input -' pour Γ entrée d'une valeur négative, 'output' pour un neurone de sortie, 'output + ' pour la sortie d'une valeur positive, 'output -' pour la sortie d'une valeur négative, 'recall' pour un neurone servant à récupérer une valeur, 'acc' pour un neurone accumulateur, 'ready' pour un neurone indiquant la disponibilité d'un résultat ou d'une valeur, etc. [1)888] La figure 1 montre un circuit très simple 10 utilisable pour produire la représentation d'une valeur constante x sur demande. Les deux V-synapses 11, 12 de poids égaux ou supérieurs à we (dans l'exemple représenté, les poids sont pris égaux à we) ont chacune un neurone recall 15 comme nœud émetteur et un neurone output 16 comme nœud récepteur. La synapse 11 est configurée avec un paramètre de retard Tsyn, tandis que la synapse 12 est configurée avec un paramètre de retard Tsyn +f(x). [0Θ87] Some of the nodes or neurons represented in these figures are named in order to evoke the functions resulting from their arrangement within the circuit: 'input' for an input neuron, 'input +' for the input of a positive value, 'input -' for Γ input of a negative value, 'output' for an output neuron, 'output +' for the output of a positive value, 'output -' for the output of a negative value, 'recall' for a neuron serving to retrieve a value, 'acc' for an accumulator neuron, 'ready' for a neuron indicating the availability of a result or a value, etc. [1) 888] Figure 1 shows a very simple circuit 10 usable for producing the representation of a constant value x on demand. The two V-synapses 11, 12 of weight equal to or greater than w e (in the example shown, the weights are equal to w e ) each have a recall neuron 15 as the sending node and an output neuron 16 as the receiving node. The synapse 11 is configured with a delay parameter T syn , while the synapse 12 is configured with a delay parameter T syn + f (x).
[ 08 J L' activation du neurone recall 15 fait déclencher le neurone output 16 aux temps Tsyn et Tsyn +f(x), de sorte que le circuit 10 délivre deux événements séparés dans le temps de la valeur f(x) représentant la constante x. [08] The activation of the recall neuron 15 causes the output neuron 16 to be triggered at the times T syn and T syn + f (x), so that the circuit 10 delivers two time-separated events of the value f (x) representing the constant x.
A. Mémoires A. Briefs
A. l . Mémoire in verseuse  A. l. Invertible memory
[8 )90] La figure 2 montre un circuit de traitement 18 constituant une mémoire inverseuse.  [8) 90] Figure 2 shows a processing circuit 18 constituting an inverting memory.
[8891] Ce dispositif 18 mémorise une valeur analogique x codée par une paire de spikes d'entrée fournis à un neurone input 21 avec un intervalle Atin =f(x), en utilisant une intégration de courant sur la dynamique ge dans un neurone acc 30. La valeur x est mémorisée dans le potentiel de membrane du neurone acc 30 et lue lors de activation d'un neurone recall 31, ce qui conduit à faire délivrer une paire d'événements séparés par un intervalle de temps Atout correspondant à la valeur 1 - x au niveau du neurone output 33, soit Atout = f(l - x). [ )892] Le neurone input 21 appartient à un groupe de nœuds 20 servant à produire deux événements séparés de f(x) - Tmjn = x.Tcod sur des ^-synapses 26, 27 dirigées vers le neurone acc 30. Ce groupe comprend un neurone 'first' 23 et un neurone 'last' 25. Deux V-synapses excitatrices 22, 24 de retard Tsyn partent du neurone input 21 pour aller respectivement au neurone first 23 et au neurone last 25. La V-synapse 22 présente un poids we, tandis que la V-synapse 24 présente un poids égal à wJ2. Le neurone first 23 s'auto- inhibe par une V-synapse 28 de poids wi et de retard Tsyn. [8891] This device 18 stores an analog value x encoded by a pair of input spikes supplied to an input neuron 21 with an interval At in = f (x), using a current integration on the dynamic g e in a acc neuron 30. the x value is stored in the membrane potential of the neuron 30 access and read during activation of a recall neuron 31, which leads to issue a pair of events separated by a corresponding time interval at out to the value 1 - x at the level of the output neuron 33, ie At out = f (l - x). [) 892] The input neuron 21 belongs to a group of nodes 20 for producing two separate events of f (x) -T m j n = xT co d on ^ -synapses 26, 27 directed to the acc 30 neuron. This group includes a 'first' neuron 23 and a 'last' neuron 25. Two excitatory V-synapses 22, 24 of delay T syn depart from the input neuron 21 to respectively to neuron first 23 and neuron last 25. V-synapse 22 has a weight w e , while V-synapse 24 has a weight equal to wJ2. The first neuron 23 self-inhibits by a V-synapse 28 of weight wi and delay T syn .
[8893] La ge-synapse excitatrice 26 va du neurone first 23 au neurone acc 30, et présente le poids wacc et un retard Tsyn + Tmin. La ge-synapse inhibitrice 27 va du neurone last 25 au neurone acc 30, et présente le poids -wacc et un retard Tsyn. Une V-synapse excitatrice 32 va du neurone recall 31 au neurone output 33, et présente le poids we et un retard 2Tsyn + Tneu. Une V-synapse excitatrice 34 va du neurone recall 31 au neurone acc 30, et présente le poids waCc et un retard Tsyn. Finalement, une V-synapse excitatrice 35 va du neurone acc 30 au neurone output 33, et présente le poids we et un retard Tsyn. [8893] The excitatory e- synapse 26 goes from the first neuron 23 to the accone neuron 30, and has the weight w acc and a delay T syn + T m i n . E g the inhibitory -synapse 27 will last the neuron 25 neuron acc 30, and presents the -w acc weight and delay T syn. An excitable V-synapse 32 goes from the recall neuron 31 to the output neuron 33, and has the weight w e and a delay 2T syn + T neu . An excitable V-synapse 34 goes from the recall neuron 31 to the accone neuron 30, and has the weight w aC c and a delay T syn . Finally, an excitatory V-synapse 35 goes from the neuron acc 30 to the output neuron 33, and has the weight w e and a delay T syn .
[01)94] Le fonctionnement du dispositif de mémoire inverseuse 18 est illustré par la figure 3. [01) 94] The operation of the inverting memory device 18 is illustrated in FIG.
[1)895] L'émission d'un premier événement (spike) au temps tfn au niveau du neurone input 21 déclenche un événement en sortie du neurone first 23 au bout du temps Tsyn + Tneu, soit au temps tjirst sur la figure 3, et fait monter à V/2 la valeur de potentiel du neurone last 25. Le neurone first 23 s'inhibe alors via la synapse 28 en donnant la valeur -Vt à son potentiel de membrane, et il fait démarrer l'accumulation par le neurone acc 30 après Tsyn + Tmin, soit au temps t t, via la ^-synapse 26. [1) 895] The emission of a first event (spike) at the time tf n at the level of the input neuron 21 triggers an event at the output of the first neuron 23 at the end of the time T syn + T neu , ie at the time tj first in FIG. 3, and raises to V / 2 the potential value of the neuron last 25. The first neuron 23 is then inhibited via the synapse 28 by giving the value -V t to its membrane potential, and it starts accumulation by the accelerated neuron after T syn + T m i n , ie at time t t , via the ^ -synapse 26.
[8896] L'émission du second spike au temps tfn = tfn + Tmin + x. Tcod au niveau du neurone input 21 amène le neurone last 25 au potentiel seuil Vt. Un événement est alors produit au temps tfast = tfn + Tsyn + Tneu sur la ge-synapse inhibitrice 27. Le second spike provoque également la remise à zéro du potentiel du neurone first 23 via la synapse 22. L'événement transporté par la ge-synapse 27 en réponse au second spike stoppe l'accumulation réalisée par le neurone acc 30 au = t t + x. Tcod . [8897] À ce stade, la valeur de potentiel Vt. stockée dans le neurone acc 30 [8896] The emission of the second spike at time tf n = tf n + T min + x. T cod at the level of the input neuron 21 brings the neuron last 25 to the threshold potential V t . An event is then produced at the time tf ast = tf n + T syn + T neu on the inhibitory g e -synapse 27. The second spike also causes the resetting of the potential of the first neuron 23 via the synapse 22. The event transported by the e- synapse 27 in response to the second spike stops the accumulation made by the neuron acc 30 = t + t +. T cod . [8897] At this point, the potential value V t . stored in the neuron acc 30
pour conserver la valeur x. Son complément 1 - x peut ensuite être lu en activant le neurone recall 31, ce qui a lieu au temps t^ecaU sur la figure 3. Cette activation fait redémarrer le processus d'accumulation dans le neurone acc 30 au temps t t = + Tsyn et provoque un événement au temps + 2Tsyn + 2Tneu sur le neurone output 33. L'accumulation se poursuit dans le neurone acc 30 jusqu'au temps tjnd où sa valeur de potentiel atteint le seuil Vt, soit t nd = t t + Tmax— x. Tcod. Un événement est émis sur la V-synapse 35 au temps tjnd + Tneu et provoque un autre événement sur le neurone output 33 au temps tout— tend + TSyn + 2Tneu — trecau + 2TSyn + 2Tneu + Tmin + (1— x). TC0Cj. to keep the value x. Its complement 1 - x can then be read by activating the recall neuron 31, which takes place at the time shown in FIG. 3. This activation restarts the accumulation process in the neuron acc up to the time t t = + T syn and cause an event at the time + 2T syn + 2T neu on the neuron output 33. The accumulation continues in the neuron acc 30 until the time tj nd where its value of potential reaches the threshold V t , ie t nd = t t + T max - x. T cod . An event is sent on the V-synapse 35 at the time tj nd + T neu and causes another event on the neuron output 33 at time t out - t end + T Syn + 2T neu - t reca u + 2T Syn + 2T neu + T m i n + (1- x). T C0C j.
[0ΐ>98] Finalement, les deux événements délivrés par le neurone output 33 sont séparés par un intervalle de temps AT0Ut = t%ut - to x ut = Tmin + (1 - x). Tcod = /(l - x) . [0ΐ> 98] Finally, the two events delivered by the output neuron 33 are separated by a time interval AT 0Ut = t% ut - t o x ut = T min + (1 - x). T cod = / (l - x).
[8 )99] On remarque que la valeur x est mémorisée dans le neurone acc 30 dès réception des deux spikes d'entrée, et immédiatement disponible pour être lue en activant le neurone recall 31. [8] 99] Note that the value x is stored in the acc cellon neuron upon receipt of the two input spikes, and immediately available to be read by activating the recall neuron 31.
[001.00] Puisque le poids standard we a été défini comme le poids d'excitation minimal qu'il faut mettre sur une V-synapse pour déclencher un neurone depuis l'état réinitialisé, on note que le circuit de traitement 18 de la figure 2 fonctionne similairement si certains poids sont choisis de la manière suivante : la V-synapse 22 présente un poids w égal ou supérieur à we, la V-synapse 24 présente un poids au moins égal à wel2 et inférieur à Vt, le neurone first 23 s'auto-inhibe par une V-synapse 28 de poids -w, la V-synapse excitatrice 32 présente un poids égal ou supérieur à we et la V-synapse excitatrice 35 présente un poids égal ou supérieur à we. Cette remarque s'étend aux circuits de traitement suivants. [001.00] Since the standard weight w e has been defined as the minimum excitation weight that must be put on a V-synapse to trigger a neuron since the reset state, it is noted that the processing circuit 18 of the figure 2 functions similarly if certain weights are chosen as follows: the V-synapse 22 has a weight w equal to or greater than w e , the V-synapse 24 has a weight at least equal to w e 12 and smaller than V t , the first neuron 23 self-inhibits by a V-synapse 28 of weight -w, the excitatory V-synapse 32 has a weight equal to or greater than w e and the excitatory V-synapse 35 has a weight equal to or greater than w e . This remark extends to the following processing circuits.
A.2. Mémoire A.2. Memory
[001.01] La figure 4 montre un circuit de traitement 40 constituant une mémoire. [001.01] Figure 4 shows a processing circuit 40 constituting a memory.
[00102] Ce dispositif 40 mémorise une valeur analogique x codée par une paire de spikes d'entrée fournis à un neurone input 21 avec un intervalle m =f(x), en utilisant une intégration de courant sur la dynamique ge dans deux neurones acc en cascade 42, 44 pour fournir une sortie non-inverseuse avec une paire d'événements séparés par un intervalle de temps Atout =f(x)- This device 40 stores an analog value x encoded by a pair of input spikes supplied to an input neuron 21 with an interval m = f (x), using a current integration on the dynamics g e in two neurons. cascade access 42, 44 to provide a non-inverting output with a pair of events separated by a time interval At out = f (x) -
[00103] Le circuit de mémoire 40 a un neurone input 21 pour recevoir la valeur à mémoriser, une entrée de commande de lecture constituée par un neurone recall 48, un neurone ready 47 indiquant à partir de quand une commande de lecture peut être présentée neurone recall 48, et un neurone output 50 pour restituer la valeur mémorisée. Toutes les synapses de ce circuit de mémoire présentent le retard Tsyn. Le neurone input 21 appartient à un groupe de nœuds 20 semblable à celui décrit en référence à la figure 2, avec un neurone first 23 et un neurone last 25 pour séparer les deux événements produits avec un intervalle de (jc) = Tmin + x.Tcod par le neurone input 21. The memory circuit 40 has an input neuron 21 to receive the value to be stored, a read command input constituted by a recall neuron 48, a ready neuron 47 indicating from when a read command can be presented neuron recall 48, and a neuron output 50 to restore the stored value. All synapses of this memory circuit have the delay T syn . The input neuron 21 belongs to a group of nodes similar to that described with reference to FIG. 2, with a first neuron 23 and a last neuron 25 to separate the two events produced with an interval of (jc) = T m i n + xT cod by the 21 input neuron.
[88105] Une ^-synapse 41 va du neurone first 25 au premier neurone acc 42, et présente le poids ¼vc. Le neurone acc 42 démarre ainsi une accumulation au temps t t = tfn + 2- Tsyn + Tneu (figure 5). Une ^-synapse 43 va du neurone last 25 au second neurone acc 44, et présente le poids wacc. Le neurone acc 44 démarre ainsi une accumulation au temps ^sti = tfn + 2- syn + Tneu. En sortie du neurone acc 42, une autre ^-synapse 45 de poids Waœ va au neurone acc 44, et une V-synapse 46 de poids we va au neurone ready 47. Î00106] L'accumulation sur le neurone acc 42 se poursuit jusqu'au temps = t t + Tmax où le potentiel du neurone acc 42 atteint le seuil Vt, ce qui provoque l'émission d'un spike au temps tacc = + Tneu sur la ge-synapse 45 (figure 5). Ce spike stoppe l'accumulation sur le neurone acc 44 au temps = tacc + Tsyn = tfn + 3. Tsyn + 2- T-neu + Tmax - Le déclenchement du neurone acc 42 provoque également un événement sur le neurone ready 47 au temps t^eady = tacc + Tsyn + Tneu. [88105] A ^ -synapse 41 goes from the first neuron 25 to the first acc 42 neuron, and has the weight ¼v c . The acceleration neuron 42 thus starts an accumulation at time t t = tf n + 2 - T syn + T neu (FIG. 5). A ^ -synapse 43 goes from the neuron last 25 to the second neuron acc 44, and has the weight w acc . The accelerator neuron 44 thus starts an accumulation at the time t = tn + 2- syn + T neu . At the exit of the accelerator neuron 42, another λ -synapse 45 of weight Waε goes to the accelerator neuron 44, and a V-synapse 46 of weight w e goes to the ready neuron 47. Accumulation on the accelerator neuron 42 continues until the time = t t + T max where the potential of the acceleration neuron 42 reaches the threshold V t , which causes the emission of a spike at time t acc = + T neu on the e- synapse 45 (Figure 5). This spike stops the accumulation on the neuron acc 44 time = t acc + T syn = tf n + 3. T syn + 2- T-neu + T ma x - The triggering of the acc 42 neuron also causes an event on the ready 47 neuron at time t ^ eady = t acc + T syn + T neu .
Î00107] À ce stade, la valeur de potentiel stockée dans le neurone acc 44 est ~~ V~■ (tend2 ~ ^2) = Vt- (l /W Ts n Tneu\ ^ ^ permet de conserver la valeur x. La lecture peut alors intervenir en activant le neurone recall 48, ce qui a lieu au temps sur la figure 5. [f)i)ï()8] L'activation du neurone recall 48 provoque un événement au temps = trecaii + Tsyn + Tneu sur le neurone output 50 via la V-synapse 49, et fait redémarrer le processus d'accumulation dans le neurone acc 44 via la ge-synapse 51 au temps t t2 = t-recaii + Tsyn- L' accumulation se poursuit dans le neurone acc 44 jusqu'au temps tjnd2 où sa valeur de potentiel atteint le seuil Vt, soit tfnd2 = t t2 + f (x)— Tsyn— Tneu . Un événement est émis sur la V-synapse 52 au temps tacc2 = tjnd2 + Tneu et provoque un autre événement sur le neurone output 50 au temps tgUt = tacc2 + Tsyn + Tneu = + Tsyn +Î00107] At this point, the potential value stored in the neuron acc 44 is ~~ V ~ ■ (tend2 ~ ^ 2 ) = V t - (l - / W T sn T neu \ ^ ^ keeps the value x Reading can then take place by activating the recall neuron 48, which takes place at the same time in Figure 5. [f) i) ï () 8] Activation of the recall neuron 48 causes a time event = trecaii + Tsyn + T neu on the neuron output 50 via the V-synapse 49, and restart the accumulation process in the neuron acc 44 via the g e -synapse 51 at time t t2 = t-recaii + T sy n - The accumulation continues in the neuron acc 44 until the time tj nd2 where its potential value reaches the threshold V t , ie tf nd2 = t t2 + f (x) - T syn - T neu . An event is emitted on the V-synapse 52 at the time t acc2 = tj nd2 + T neu and causes another event on the neuron output 50 at time t gUt = t acc2 + T syn + T neu = + T syn +
Tneu f (-*) Tneu f (- * )
[88109] Finalement, les deux événements délivrés par le neurone output 50 sont séparés par un intervalle de temps AT0Ut = tgUt— = f (x) . [88118] On remarque que le neurone acc 42 de la figure 4 pourrait être éliminé en configurant des retards Tsyn + sur certaines synapses. Ceci peut être intéressant pour réduire le nombre de neurones, mais peut poser une difficulté dans une implantation à l'aide de circuits intégrés spécifiques (ASIC) à cause de l'allongement des retards entre neurones voisins. [88109] Finally, the two events delivered by the output neuron 50 are separated by a time interval AT 0Ut = t gUt - = f (x). [88118] Note that the accelerator neuron 42 of FIG. 4 could be eliminated by configuring T syn + delays on certain synapses. This may be useful for reducing the number of neurons, but may be difficult to implement with specific integrated circuits (ASICs) because of the lengthening of delays between neighboring neurons.
100111] On remarque encore que le circuit de mémoire 40 fonctionne pour un codage quelconque de la grandeur x par un intervalle de temps compris entre Tmin et ^, sans être limité à la forme (11) ci-dessus. 100111] It is further noted that the memory circuit 40 operates for any encoding of the magnitude x by a time interval between T min and ^, without being limited to the form (11) above.
A.3. Mémoire signée [88112] La figure 6 montre un circuit de traitement 60 constituant une mémoire pour une valeur signée, c'est-à-dire comprise entre -1 et +1. Sa valeur absolue est codée par un intervalle Atin =f(\x\) entre deux événements qui, si x≥ 0, sont fournis par le neurone input+ 61 puis restitués par le neurone output+ 81 et, si x < 0, sont fournis par le neurone input- 62 puis restitués par le neurone output- 82. Toutes les synapses de ce circuit de mémoire présentent le retard Tsyn. A3. Signed memory [88112] Fig. 6 shows a processing circuit 60 constituting a memory for a signed value, i.e., between -1 and +1. Its absolute value is coded by an interval At in = f (\ x \) between two events which, if x≥ 0, are provided by the input neuron + 61 and then restored by the neuron output + 81 and, if x <0, are provided by the neuron input- 62 then restored by the neuron output- 82. All synapses of this memory circuit have the delay T syn .
[001.13] Le circuit de mémoire signée 60 repose sur un circuit de mémoire 40 du type représenté sur les figures 4A-B. Les neurones input+ et input- 61, 62 sont respectivement reliés au neurone input 21 du circuit 40 par des V-synapses excitatrices 63, 64 de poids we. Ainsi, celui des deux neurones 61, 62 qui reçoit les deux spikes représentant \x\ active deux fois le neurone input 21 du circuit 40, de sorte que l'intervalle de temps /(bel ) sera restitué sur le neurone output 50 du circuit 40. [001.13] The signed memory circuit 60 is based on a memory circuit 40 of the type shown in Figures 4A-B. The input + and input-61 neurons are respectively connected to the input neuron 21 of the circuit 40 by excitatory V-synapses 63, 64 of weight w e . Thus, that of the two neurons 61, 62 which receives the two spikes representing \ x \ activates twice the input neuron 21 of the circuit 40, so that the time interval / (bel) will be restored on the output neuron 50 of the circuit 40.
[881 14] En outre, les neurones 61, 62 sont respectivement reliés à des neurones ready + et ready- 65, 66 par des V-synapses excitatrices 67, 68 de poids we/4. Le circuit de mémoire signée a un neurone recall 70 relié aux des neurones ready+ et ready- 65, 66 par des V-synapses excitatrices respectives 71, 72 de poids wel2. Chacun des neurones ready + et ready- 65, 66 est relié au neurone recall 48 du circuit 40 par des V-synapses excitatrices respectives 73, 74 de poids we. Une V-synapse inhibitrice 75 de poids w,/2 va du neurone ready+ 65 au neurone ready- 66, et réciproquement une V-synapse inhibitrice 76 de poids Wi/2 va du neurone ready- 66 au neurone ready + 65. Le neurone ready + 65 est relié au neurone output- 82 du circuit de mémoire signée par une V-synapse inhibitrice 77 de poids wi. Le neurone ready- 66 est relié au neurone output+ 81 du circuit de mémoire signée par une V-synapse inhibitrice 78 de poids 2wi. [881 14] In addition, neurons 61, 62 are respectively connected to ready + and ready-65 neurons 66 by excitatory V-synapses 67, 68 of weight w e / 4. The signed memory circuit has a recall neuron 70 connected to the ready + and ready-65 neurons 66 by respective excitatory V-synapses 71, 72 of weight w e 12. Each of the ready + and ready-65 neurons 66 is connected to the recall neuron 48 of the circuit 40 by respective excitatory V-synapses 73, 74 of weight w e . An inhibitory V-synapse 75 of weight w, / 2 goes from the ready neuron + 65 to the ready-66 neuron, and conversely a 76-weight w / 2 inhibitory V-synapse goes from the ready-66 neuron to the ready neuron + 65. The neuron ready + 65 is connected to the neuron output- 82 of the memory circuit signed by a weight inhibitory V-synapse 77 wi. The ready-66 neuron is connected to the output neuron 81 of the memory circuit signed by an inhibitory V-synapse 78 of weight 2wi.
[00115] Le neurone output 50 du circuit 40 est relié aux des neurones output+ et output- 81, 82 par des V-synapses excitatrices respectives 79, 80 de poids we. 100116] La sortie du circuit de mémoire signée 60 comporte un neurone ready 84 qui est le nœud récepteur d'une V-synapse excitatrice 85 de poids we provenant du neurone ready 47 du circuit de mémoire 40. The output neuron 50 of the circuit 40 is connected to the neurons output + and output-81, 82 by respective excitatory V-synapses 79, 80 of weight w e . 100116] The output of the signed memory circuit 60 comprises a ready neuron 84 which is the receiving node of an excitatory V-synapse 85 of weight w e from the ready neuron 47 of the memory circuit 40.
100117] La figure 7 montre le comportement des neurones du circuit de mémoire signée 60 (a) dans le cas d'une entrée positive et (b) dans le cas d'une entrée négative. [001 8] L'apparition des deux événements aux temps tfn et tfn = tfn + f Çx) sur l'un des neurones 61, 62 fait monter en deux étapes le potentiel du neurone ready + 65 ou ready- 66 à la valeur Vt/2. Parallèlement, le circuit de mémoire 40 a son neurone acc 44 qui se charge à la valeur Vt. (l— Tsyn Tneu el- son neurone ready 47 qui produit un événement au temps comme décrit précédemment. [00119] Une fois que le neurone ready 47 a produit son événement, le neurone recall 70 peut être activé pour lire la donnée signée, ce qui a lieu au temps t^ecaU sur la figure 7. FIG. 7 shows the behavior of the neurons of the signed memory circuit 60 (a) in the case of a positive input and (b) in the case of a negative input. [001 8] The appearance of the two events at times tf n and tf n = tf n + f Çx) on one of the neurons 61, 62 makes the potential of the ready + 65 or ready-66 neuron rise in two stages. the value V t / 2. Meanwhile, the memory circuit 40 has its acceleration neuron 44 which is loaded at the value V t . (l- Tsyn Tneu el - sound ready urone 47 produces an event in time as described above [00119] Once the neuron ready 47 produced its event, the recall neuron 70 can be activated to read the signed data,. which takes place at the time shown in Fig. 7.
[00120] L'activation du neurone recall 70 déclenche le neurone ready+ 65 ou ready- 66 via la V-synapse 70 ou 71, et ce déclenchement remet l'autre neurone ready- 66 ou ready + 65 à zéro via la V-synapse 75 ou 76. L'événement délivré par le neurone ready+ 65 ou ready- 66 inhibe le neurone de sortie le neurone output- 82 ou output+ 81 via la V-synapse 77 ou 78 en amenant son potentiel à -2Vt. The activation of the recall neuron 70 triggers the ready + 65 or ready-66 neuron via the V-synapse 70 or 71, and this trigger causes the other ready-66 or ready + 65 neuron to zero via the V-synapse. 75 or 76. The event delivered by the ready + 65 or ready-66 neuron inhibits the output-82 or output + 81 neuron via V-synapse 77 or 78, bringing its potential to -2V t .
[0012!] L'événement délivré par le neurone ready + 65 ou ready- 66 au temps t ign est fourni au via la V-synapse 73 ou 74. Ceci provoque l'émission d'une paire de spikes séparés d'un intervalle de temps égal à (| |) par le neurone output 50 du circuit 40. Cette paire de spikes communiquée aux neurones output+ et output- 81, 82 via les V-synapses 79, 80 fait déclencher deux fois, aux temps + (| |), celui des neurones output+ et output- 81, 82 qui correspond au signe de la donnée d'entrée x, et remet à zéro la valeur de potentiel de l'autre neurone 81, 82. [88122] On remarque que le circuit de mémoire signée 60 représenté sur la figure 6 n'est pas optimisé en termes de nombre de neurones, puisqu'on peut : [0012] The event delivered by the ready + 65 or ready-66 neuron at the time t ign is supplied to via the V-synapse 73 or 74. This causes the emission of a pair of spikes separated by an interval of time equal to (| |) by the neuron output 50 of the circuit 40. This pair of spikes communicated to the neurons output + and output- 81, 82 via the V-synapses 79, 80 triggers twice, at times + (| |), that of the neurons output + and output- 81, 82 which corresponds to the sign of the input data x, and resets the potential value of the other neuron 81, 82 to zero. [88122] Note that the signed memory circuit 60 shown in FIG. 6 is not optimized in terms of the number of neurons, since one can:
• se dispenser du neurone input 21 du circuit de mémoire 40, en envoyant les V-synapses 63 et 64 directement sur le neurone first 23 du circuit 40 représenté sur la figure 4 (à la place de la V-synapse 22), et en ajoutant des V-synapses excitatrices de poids wJ2 des neurones input+ et input- 61, 62 vers le neurone last 25 (à la place de la V-synapse 24) ;  • dispense with the input neuron 21 of the memory circuit 40, by sending the V-synapses 63 and 64 directly to the first neuron 23 of the circuit 40 shown in FIG. 4 (in place of the V-synapse 22), and adding excitatory V-synapses of weight wJ2 of the input + and input- 61, 62 neurons to the neuron last 25 (instead of the V-synapse 24);
• se dispenser du neurone output 50 du circuit de mémoire 40, en envoyant la ^-synapse 52 directement sur les neurones output+ et output- 81, 82 (à la place des V-synapses 79, 80) ; et  • dispense with the output neuron 50 of the memory circuit 40, sending the ^ -synapse 52 directly to the neurons output + and output- 81, 82 (instead of V-synapses 79, 80); and
• se dispenser du neurone recall 48 du circuit de mémoire 40, en envoyant les V-synapses 73 et 74 directement sur les neurones output+ et output- 81, 82 (à la place de la V-synapse 49), et en ajoutant des ^-synapses excitatrices de poids wacc depuis les neurones ready+ et ready- 65, 66 vers le neurone acc 44 du circuit 40 (à la place de la ge- synapse 51). • dispense with the recall neuron 48 of the memory circuit 40, sending the V-synapses 73 and 74 directly to the output + and output-81, 82 neurons (instead of the V-synapse 49), and adding excitatory synapses of weight w acc from the ready + and ready-65 neurons to the access neuron 44 of the circuit 40 (in place of the g e -synapse 51).
A.4. Synchroniseur  A.4. synchronizer
100123] La figure 8 montre un circuit de traitement 90 servant à synchroniser les signaux reçus sur un nombre N d'entrées (N >2). Toutes les synapses de ce circuit de synchronisation présentent le retard Tsyn. FIG. 8 shows a processing circuit 90 for synchronizing the received signals to an N number of inputs (N> 2). All the synapses of this synchronization circuit have the delay T syn .
[00Ï24] Chaque signal code une valeur ¾ pour k = 0, 1, N - 1 et se présente sous la forme d'une paire de spikes survenant à des instants tfnk et tfnk = tfnk + Atk avec Atk = fixk) G XTmm, - Ces signaux sont restitués en sortie du circuit 90 de manière synchronisée, c'est-à-dire qu'on retrouve chaque signal codant une valeur ¾ en sortie sous la forme d'une paire de spikes survenant à des instants + Atk avec touto = touti = ·· · = toutw-i' comme le montre la figure 9 dans un cas où N = 2. [0024] Each signal codes a value ¾ for k = 0, 1, N-1 and is in the form of a pair of spikes occurring at times tf nk and tf nk = tf nk + At k with Atk = fixk ) G XTmm, These signals are restored at the output of the circuit 90 in a synchronized manner, that is to say that each signal coding a value ¾ is found in the form of a pair of spikes occurring at times + At k with touto = touti = ·· · = allw-i 'as shown in Figure 9 in a case where N = 2.
[08125] Le circuit 90 représenté sur la figure 8 comporte N neurones input 910, ..., 9Ly-i et N neurones output 920, 92JV-I. Chaque neurone input 9 est le nœud émetteur d'une V-synapse 93k de poids we dont le nœud récepteur est le neurone input 21¾ d'un circuit de mémoire respectif 40¾. Le neurone output 50^ de chaque circuit de mémoire 40¾ est le nœud émetteur d'une V-synapse 9 k de poids we dont le nœud récepteur est le neurone output 92k du circuit de synchronisation 90. The circuit 90 shown in FIG. 8 comprises N input neurons 91 0 ,..., 9Ly-i and N output neurons 92 0 , 92JV-I. Each input neuron 9 is the transmitting node of a V-synapse 93 k of weight w e whose receiving node is the input neuron 21 ¾ of a respective memory circuit 40 ¾ . The output neuron 50 ^ of each memory circuit 40 ¾ is the node emitter of a V-synapse 9 k of weight w e whose receiving node is the output neuron 92 k of the synchronization circuit 90.
[00126] Le circuit de synchronisation 90 comporte un neurone sync 95 qui est le nœud récepteur de N V-synapses excitatrices 96o, 96JV-I de poids w N dont les nœuds émetteurs sont respectivement les neurones ready 47o, 47JV-I des circuits de mémoire 40o, 40jv-i. Le circuit 90 comporte encore V-synapses excitatrices 97o, 97JV-I de poids we ayant le neurone sync 95 pour nœud émetteur et, respectivement, les neurones recall 48o, ..., 48JV-I des circuits de mémoire 40o, ..., 40JV-I pour nœuds récepteurs. The synchronization circuit 90 comprises a sync neuron 95 which is the receiving node of N V-synapses excitatory 96o, 96JV-I of weight w N whose transmitting nodes are respectively the ready 47o, 47JV-I neurons of the circuits. memory 40o, 40jv-i. The circuit 90 further comprises excitatory V-synapses 97o, 97JV-I of weight w e having the sync neuron 95 for transmitter node and, respectively, the recall 48o, ..., 48JV-I neuron memory circuits 40o, .. ., 40JV-I for receiving nodes.
[00127] Le neurone sync 95 reçoit les événements produits par les neurones ready 470, 47JV-I au fur et à mesure que les N signaux d'entrée sont chargés dans les circuits de mémoire 40o, 40JV-I, soit aux temps t^dy0 , t^dyl sur la figure 9. Quand le dernier de ces N événements a été reçu, le neurone sync 95 délivre un événement Tsyn plus tard, c'est-à-dire au temps sur la figure 9. Ceci déclenche, via les synapses 97o, 97JV-I et les synapses 49 des circuits de mémoire 40o, 40JV-I, l'émission d'un premier spike synchronisé (touto = ■" = toutN-i sur chaque neurone output 92o, 92JV-I. Puis chaque circuit de mémoire 40k produit son second spike respectif au temps tgUtk . The sync neuron 95 receives the events produced by the ready 47 0 , 47JV-I neurons as the N input signals are loaded into the memory circuits 40o, 40JV-I, ie at the times t dy0 ^, t ^ dyl in Figure 9. When the last of these N events has been received, the sync neuron 95 outputs an event T syn later, that is to say at the time 9. This triggers, via the synapses 97o, 97JV-I and the synapses 49 of the memory circuits 40o, 40JV-I, the transmission of a first synchronized spike (touto = ■ " = allN-i on each neuron output 92o, 92JV-I. Then each memory circuit 40k produces its respective second spike at time t gUtk.
[0 )128] La présentation du circuit de synchronisation en référence à la figure 8 est donnée pour faciliter l'explication, mais on notera que plusieurs simplifications sont possibles en supprimant certains neurones. Par exemple, les neurones input 91o, 91JV-I et output 920, 92JV-I sont optionnels, puisque les entrées peuvent être fournies directement par les neurones input 21o, 21JV-I des circuits de mémoire 40o, 40JV-I et les sorties directement par les neurones output 50o, 50JV-I des circuits de mémoire 40o, 40JV-I . Les V-synapses 46 des circuits de mémoire 40o, 40JV-I peuvent aller directement au neurone sync 95, sans passer par un neurone ready 470, 47JV-I. Les synapses 970, 97JV-I peuvent attaquer directement les neurones output 50o, 50JV-I des circuits de mémoire (remplaçant ainsi leurs synapses 49), et le neurone sync 95 peut également constituer le nœud émetteur des ^-synapses 51 des circuits de mémoire 40o, 40JV-I pour commander le redémarrage d'accumulation dans les neurones acc 44 (figures 4 et 5). [0) 128] The presentation of the synchronization circuit with reference to Figure 8 is given to facilitate the explanation, but note that several simplifications are possible by removing some neurons. For example, the input neurons 91o, 91JV-I and output 92 0 , 92JV-I are optional, since the inputs can be provided directly by the input neurons 21o, 21JV-I of the memory circuits 40o, 40JV-I and the outputs directly by the neurons output 50o, 50JV-I memory circuits 40o, 40JV-I. The V-synapses 46 of the 40o, 40JV-I memory circuits can go directly to the sync neuron 95, without passing through a ready 47 0 , 47JV-I neuron. The synapses 97 0 , 97JV-I can directly attack the output 50o, 50JV-I neurons of the memory circuits (thus replacing their synapses 49), and the sync neuron 95 can also constitute the transmitting node of the synopses 51 memory 40o, 40JV-I to control the restart of accumulation in acc 44 neurons (FIGS. 4 and 5).
[0 )129] D'autre part, il est possible de ne sortir qu'un seul événement, au temps tout = t-outa = t-outi = ·· · = toutw-i' en tant ¾ue premier événement de toutes les paires formant les signaux de sortie synchronisés. Le neurone sync 95 commande alors directement l'émission du premier spike sur une sortie particulière du circuit (qui peut être l'un des neurones output 920, ou un neurone spécifique), puis le second spike de chaque paire en réactivant les neurones acc 44 des circuits de mémoire 40ο, ..., 40JV-I via une ^-synapse. En d'autres termes, le neurone sync 95 joue le rôle des neurones recall 48 des différents circuits de mémoire. [0) 129] Moreover, it is possible to get only one event at any time = t = t outa-outi = · · · = toutw-i 'as ¾ of all eu first event the pairs forming the synchronized output signals. The sync neuron 95 then directly the emission of the first spike on a particular output of the circuit (which can be one of the output 92 0 neurons, or a specific neuron), then the second spike of each pair by reactivating the neurons acc 44 memory circuits 40ο, ..., 40JV-I via a ^ -synapse. In other words, the sync neuron 95 plays the role of recall neurons 48 of the different memory circuits.
[00130] Un tel circuit synchroniseur 98 est illustré dans le cas où N = 2 par la figure 10 où, de nouveau, toutes les synapses présentent le retard Tsyn. Le neurone sync 95 est excité par deux V-synapses 46 de poids wJ2 venant directement des neurones acc 42 des deux circuits de mémoire, et il est le nœud émetteur des ge-synapses 51 pour faire redémarrer l'accumulation dans les neurones acc 44. Dans cet exemple, un neurone spécifique 99, noté Output ref, délivre le premier événement de chacune des deux paires de sortie au temps tout = tlync + Tsyn, en réponse à une excitation reçue du neurone sync 95 via la V-synapse 97. le rôle de ce neurone output ref 99 pourrait, en variante, être tenu par l'un des deux neurones output 920, 92\. Such a synchronizer circuit 98 is illustrated in the case where N = 2 in FIG. 10 where, again, all the synapses have the delay T syn . The sync neuron 95 is excited by two V-synapses 46 of weight wJ2 coming directly from the neurons acc 42 of the two memory circuits, and it is the emitting node of the g e- synapses 51 to restart the accumulation in the neurons. In this example, a specific neuron 99, denoted Output ref, delivers the first event of each of the two output pairs at the time all = tlync + T syn , in response to an excitation received from the sync neuron 95 via the V-synapse 97 The role of this neuron output ref 99 could, alternatively, be held by one of the two output neurons 92 0 , 92 \ .
[00Ï31] Il est à noter que, dans l'exemple de la figure 10, les deux événements codant la valeur d'une grandeur de sortie du circuit 98 sont produits par deux neurones différents (par exemple les neurones 99 et 92\ pour la grandeur x\). [0031] It should be noted that, in the example of FIG. 10, the two events encoding the value of an output quantity of the circuit 98 are produced by two different neurons (for example the neurons 99 and 92 \ for the magnitude x \ ).
[00Ï32] Plus généralement, dans le cadre de la présente invention, il n'est pas nécessaire que les deux événements d'une paire représentant la valeur d'une grandeur proviennent d'un unique nœud (dans le cas d'une grandeur de sortie) ou soient reçus par un unique nœud (dans le cas d'une grandeur d'entrée). More generally, in the context of the present invention, it is not necessary for the two events of a pair representing the value of a quantity to come from a single node (in the case of a magnitude of output) or be received by a single node (in the case of an input quantity).
B. Opérations logiques B. Logical operations
B.l. Minimum B.l. Minimum
[80133] La figure 11 montre un circuit de traitement 100 qui calcule le minimum entre deux valeurs reçues de façon synchronisée sur deux nœuds d'entrée 101, 102 et délivre ce minimum sur un nœud de sortie 103. FIG. 11 shows a processing circuit 100 which calculates the minimum between two values received synchronously on two input nodes 101, 102 and delivers this minimum on an output node 103.
[80134] Outre les neurones input 101, 102 et le neurone output 103, ce circuit 100 comprend deux neurones 'smaller' 104, 105. Une V-synapse excitatrice 106, de poids w 2, va du neurone input 101 au neurone smaller 104. Une V-synapse excitatrice 107, de poids wJ2, va du neurone input 102 au neurone smaller 105. Une V-synapse excitatrice 108, de poids w 2, va du neurone input 101 au neurone output 103. Une V-synapse excitatrice 109, de poids w 2, va du neurone input 102 au neurone output 103. Une V-synapse excitatrice 110, de poids wJ2, va du neurone smaller 104 au neurone output 103. Une V-synapse excitatrice 111, de poids wJ2, va du neurone smaller 105 au neurone output 103. Une V- synapse inhibitrice 112, de poids Wi/2, va du neurone smaller 104 au neurone smaller 105. Une V-synapse inhibitrice 113, de poids Wi/2, va du neurone smaller 105 au neurone smaller 104. Une V-synapse inhibitrice 114, de poids w va du neurone smaller 104 au neurone input 102. Une V-synapse inhibitrice 115, de poids w va du neurone smaller 105 au neurone input 101. Toutes les synapses 106-115 représentées sur la figure 11 sont associées à un retard Tsyn, sauf les synapses 108, 109 pour lesquelles le retard est de 2.Tsyn + Tneu. [80134] In addition to the input neurons 101, 102 and the output neuron 103, this circuit 100 comprises two 'smaller' neurons 104, 105. An excitatory V-synapse 106, of weight w 2, ranging from neuron input 101 to smaller neuron 104. An excitatory V-synapse 107, weight wJ2, ranges from neuron input 102 to neuron smaller 105. An excitatory V-synapse 108, weight w 2, goes from neuron input 101 to neuron output 103. An excitable V-synapse 109, of weight w 2, ranges from the input neuron 102 to the output neuron 103. An excitatory V-synapse 110, of weight wJ2, ranges from the smaller neuron 104 to the output neuron 103. A V-synapse exciter 111, of weight wJ2, goes from neuron smaller 105 to neuron output 103. An inhibitory V-synapse 112, of weight Wi / 2, goes from neuron smaller 104 to neuron smaller 105. An inhibitory V-synapse 113, of weight Wi / 2, going from the smaller neuron 105 to the smaller neuron 104. An inhibitory V-synapse 114, of weight w goes from the smaller neuron 104 to the input neuron 102. An inhibitory V-synapse 115, of weight w goes from the neuron smaller 105 to the neuron input 101. All synapses 106-115 shown in Fig. 11 are associated with a delay T syn , except for synapses 108, 109 for which the delay is 2.T syn + T neu .
[00135] L'émission du premier spike sur chaque neurone input 101, 102 au temps tfni = tln2 (figure 12) amène chacun des neurones smaller 104, 105 à une valeur de potentiel V/2 au temps tfnl + Tsyn , et déclenche un premier événement sur le neurone output 103 au temps = tfnl + 2. Tsyn + 2. Tneu . L'émission du second spike sur le neurone input ayant la plus petite valeur, à savoir le neurone 101 au temps tfnl = tfnl + Atx dans l'exemple de la figure 12, amène l'un des neurones smaller à la tension de seuil Vt, à savoir le neurone 104 dans cet exemple, ce qui entraîne un événement au temps t|maHerl = tfni + TSyn + Tneu en sortie de ce neurone 104. De ce fait, la synapse 114 inhibe l'autre neurone input 102, qui ne produira pas son second spike au temps tfn2 = tfn2 + Ât2 , et la synapse 112 inhibe l'autre neurone smaller 105 dont le potentiel est remis à zéro. Le déclenchement du neurone smaller 104 provoque en outre le second déclenchement du neurone output 103 au temps tgUtl = t^maUerl + Tsyn + Tneu = tfnl + 2. Tsyn + 2. Tneu. [00136] Finalement, le neurone output 103 restitue bien, entre les événements qu'il délivre, l'intervalle de temps minimum t¾ut = tfnl— tfnl = Atx entre les événements des deux paires produites par les neurones input 101, 102. Ce minimum est disponible en sortie du circuit 100 dès réception du second événement de la paire qui le représente en entrée. Î00137] Le circuit de calcul de minimum 100 de la figure 11 fonctionne dès lors que la fonction /telle que At =f(x) est une fonction croissante. B.2. Maximum [00135] The transmission of the first spike on each input neuron 101, 102 at the time tfni tln = 2 (Fig ure 12) causes each of smaller neurons 104, 105 to a potential value V / 2 at time tf nl + T syn , and triggers a first event on the neuron output 103 at the time = tf nl + 2. T syn + 2. T neu . The emission of the second spike on the smaller value neuron input, namely the neuron 101 at the time tf nl = tf nl + At x in the example of FIG. 12, brings one of the smaller neurons to the voltage threshold V t , namely the neuron 104 in this example, which causes an event at time t | maHerl = tfni + T S yn + T neu at the output of this neuron 104. As a result, the synapse 114 inhibits the other input neuron 102, which will not produce its second spike at time tf n2 = tf n2 + At 2 , and the synapse 112 inhibits the other smaller neuron 105 whose potential is reset. Triggering the smaller neuron 104 also causes the second triggering of the output neuron 103 at time t gUtl = t ^ maUerl + T syn + T neu = tf nl + 2. T syn + 2. T neu . Finally, the neuron output 103 restores well, between the events it delivers, the minimum time interval t¾ ut - = tf nl - tf nl = At x between the events of the two pairs produced by the input neurons 101, 102. This minimum is available at the output of the circuit 100 upon receipt of the second event of the pair which represents it as input. The calculation circuit of minimum 100 of FIG. 11 functions as long as the function / such that At = f (x) is an increasing function. B.2. Maximum
[80138] La figure 13 montre un circuit de traitement 120 qui calcule le maximum entre deux valeurs reçues de façon synchronisée sur deux nœuds d'entrée 121, 122 et délivre ce maximum sur un nœud de sortie 123. 100139] Outre les neurones input 121, 122 et le neurone output 123, ce circuit 120 comprend deux neurones 'larger' 124, 125. Une V-synapse excitatrice 126, de poids we/2, va du neurone input 121 au neurone larger 124. Une V-synapse excitatrice 127, de poids we/2, va du neurone input 122 au neurone larger 125. Une V-synapse excitatrice 128, de poids we/2, va du neurone input 121 au neurone output 123. Une V-synapse excitatrice 129, de poids we/2, va du neurone input 122 au neurone output 123. Une V-synapse inhibitrice 132, de poids w va du neurone larger 124 au neurone larger 125. Une V-synapse inhibitrice 133, de poids w va du neurone larger 125 au neurone larger 124. Toutes les synapses représentées sur la figure 13 sont associées à un retard Tsyn. FIG. 13 shows a processing circuit 120 which calculates the maximum between two values received synchronously on two input nodes 121, 122 and delivers this maximum on an output node 123. 100139] In addition to the input neurons 121 , 122 and the neuron output 123, this circuit 120 comprises two 'larger' neurons 124, 125. An excitable V-synapse 126, weight w e / 2, goes from the input neuron 121 to the neuron larger 124. An excitatory V-synapse 127, weight w e / 2, goes from the input neuron 122 to the neuron larger 125. An excitatory V-synapse 128, weight w e / 2, goes from the input neuron 121 to the output neuron 123. An excitatory V-synapse 129, weight w e / 2, goes from the neuron input 122 to the neuron output 123. An inhibitory V-synapse 132, weight w goes from the neuron larger 124 to the neuron larger 125. An inhibitory V-synapse 133, weight w goes from the neuron larger 125 to neuron larger 124. All synapses shown in Fig. 13 are associated with a delay T syn .
1X 0140] Les premiers spikes émis de façon synchronisée (tfnl = tfn2) par les neurones input 121, 122 amènent les neurones larger 124, 125 à une valeur de potentiel V/2 au temps tfnl + Tsyn , et déclenchent un premier événement sur le neurone output 123 au temps tout = tfnl + Tsyn + Tneu, (figure 14). L'émission du second spike sur le neurone input ayant la plus petite valeur, à savoir le neurone 121 au temps tfnl = tfnl + Atx dans l'exemple de la figure 14, amène l'un des neurones larger à la tension de seuil V, à savoir le neurone 124 dans cet exemple, ce qui entraîne un événement au temps tfarger2 = tfnl + TSyn + Tneu en sortie de ce neurone 124. De ce fait, la synapse 132 inhibe l'autre neurone larger 125 dont le potentiel passe à la valeur -V 2. Lorsque le second spike est émis par l'autre neurone input 122 au temps tfn2 = tfn2 + At (avec At2 > At ), le potentiel du neurone larger 125 est remis à zéro via la synapse 127, et le neurone output 123 est déclenché via la synapse 129 au temps t%ut = tfn2 + Tsyn + Tneu . 1X 0140] The first spikes emitted in a synchronized manner (tf nl = tf n2 ) by the input neurons 121, 122 bring the larger neurons 124, 125 to a value of potential V / 2 at the time tf nl + T syn , and trigger a first event on the neuron output 123 at time all = tf nl + T syn + T neu , (figure 14). The emission of the second spike on the neuron input neuron with the smallest value, namely the neuron 121 at the time tf nl = tf nl + At x in the example of FIG. 14, causes one of the neurons to be larger than the voltage threshold V, namely the neuron 124 in this example, which causes an event at time tf arger2 = tf nl + T S yn + T neu at the output of this neuron 124. As a result, the synapse 132 inhibits the other neuron larger 125 whose potential changes to the value -V 2. When the second spike is emitted by the other neuron input 122 at the time tf n2 = tf n2 + At (with At 2 > At), the neuron potential greater 125 is reset to zero via the synapse 127, and the output neuron 123 is triggered via the synapse 129 at time t% ut = tf n2 + T syn + T neu .
[00141] Finalement, le neurone output 123 restitue bien, entre les événements qu'il délivre, l'intervalle de temps maximum = tfn2— tfn2 = At2 entre les événements des deux paires produites par les neurones input 121, 122. Ce maximum est disponible en sortie du circuit 120 dès réception du second événement de la paire qui le représente en entrée. [88142] Le circuit de calcul de maximum 120 de la figure 13 fonctionne dès lors que la fonction /telle que At =f(x) est une fonction croissante. [00141] Finally, the neuron output 123 restores well, between the events it delivers, the maximum time interval. = tf n2 - tf n2 = At 2 between the events of the two pairs produced by the input neurons 121, 122. This maximum is available at the output of the circuit 120 upon receipt of the second event of the pair which represents it as input. [88142] The maximum calculation circuit 120 of FIG. 13 functions as long as the function / such that At = f (x) is an increasing function.
C. Opérations linéaires C. Linear operations
Cl. Soustraction [88143] La figure 15 montre un circuit de soustraction 140 qui calcule la différence entre deux valeurs xj, X2 reçues de façon synchronisée sur deux nœuds d'entrée 141, 142 et délivre le résultat xi - ¾ sur un nœud de sortie 143 s'il est positif et sur un autre nœud de sortie 144 s'il est négatif. On suppose ici que la fonction / telle que Ati = f(xi) et At2 = /fe) est une fonction linéaire, comme c'est le cas avec la forme (11). [08144] Outre les neurones input 141, 142 et les neurones output+ 143 et output- 144, le circuit de soustraction 140 comprend deux neurones sync 145, 146 et deux neurones 'inb ' 147, 148. Une V-synapse excitatrice 150, de poids wJ2, va du neurone input 141 au neurone sync 145. Une V-synapse excitatrice 151, de poids wJ2, va du neurone input 142 au neurone sync 146. Trois V-synapses excitatrices 152, 153, 154, chacune de poids we, vont du neurone sync 145 au neurone output+ 143, au neurone output- 144 et au neurone inb 147, respectivement. Trois V-synapses excitatrices 155, 156, 157, chacune de poids we, vont du neurone sync 146 au neurone output- 144, au neurone output+ 143 et au neurone inb 148, respectivement. Une V-synapse inhibitrice 158, de poids w va du neurone sync 145 au neurone inb 148. Une V-synapse inhibitrice 159, de poids w va du neurone sync 146 au neurone inb 147. Une V-synapse excitatrice 160, de poids wJ2, va du neurone output+ 143 au neurone inb 148. Une V-synapse excitatrice 161, de poids wJ2, va du neurone output- 144 au neurone inb 147. Une V-synapse inhibitrice 162, de poids 2w va du neurone inb 147 au neurone output+ 143. Une V-synapse inhibitrice 163, de poids 2w va du neurone inb 163 au neurone output- 144. Les synapses 150, 151, 154 et 157-163 sont associées à un retard de Tsyn. Les synapses 152 et 155 sont associées à un retard de Tmin + 3.Tsyn + 2.Tneu. Les synapses 153 et 156 sont associées à un retard de 3.Tsyn + 2.Tneu- Cl. Subtraction [88143] Fig. 15 shows a subtraction circuit 140 which calculates the difference between two values xj, X2 received synchronously on two input nodes 141, 142 and outputs the result xi - ¾ on an output node 143 if it is positive and on another output node 144 if it is negative. We assume here that the function / such that Ati = f (xi) and At 2 = / fe) is a linear function, as it is the case with the form (11). In addition to the input neurons 141, 142 and the output + 143 and output-144 neurons, the subtraction circuit 140 comprises two sync neurons 145, 146 and two 'inb' neurons 147, 148. An excitatory V-synapse 150, of weight wJ2, goes from the input neuron 141 to the sync neuron 145. An excitatory V-synapse 151, weight wJ2, goes from the input neuron 142 to the sync neuron 146. Three excitatory V-synapses 152, 153, 154, each weight w e range from neuron sync 145 to output neuron + 143, neuron output-144 and neuron inb 147, respectively. Three excitatory V-synapses 155, 156, 157, each weight w e , range from sync neuron 146 to output-144 neuron, output neuron + 143 and neuron 148, respectively. An inhibitory V-synapse 158, of w weight, ranges from neuron sync 145 to neuron 148. Inhibitory V-synapse 159, weight w goes from neuron sync 146 to neuron 147. Excitatory V-synapse 160, weight wJ2 , goes from the neuron output + 143 to the neuron inb 148. An excitatory V-synapse 161, of weight wJ2, goes from the neuron output-144 to the neuron inb 147. An inhibitory V-synapse 162, of weight 2w goes from the neuron inb 147 to the neuron output + 143. An inhibitory V-synapse 163, weight 2w goes from the neuron inb 163 to the neuron output-144. The synapses 150, 151, 154 and 157-163 are associated with a delay of T syn . Synapses 152 and 155 are associated with a delay of T min + 3.T syn + 2.T neu . Synapses 153 and 156 are associated with a delay of 3.T syn + 2.T neu -
[8 145] Le fonctionnement du circuit de soustraction 140 selon la figure 15 est illustré par la figure 16 dans le cas où le résultat xi - x2 est positif. Les choses se passent symétriquement si le résultat est négatif. [00Ï46] Les premiers spikes émis de façon synchronisée (tfnl = tfn2) par les neurones input 141, 142 amènent les neurones sync 145, 146 à la valeur de potentiel Vt/2 au temps tfnl + Tsyn . L'émission du second spike sur le neurone input fournissant la plus petite valeur, à savoir le neurone 142 au temps tfn2 = tfn2 + At2 dans l'exemple de la figure 16 où At < Atx , amène l'un des neurones sync à la tension de seuil Vt, à savoir le neurone 146 dans cet exemple, ce qui entraîne un événement au temps = tfn2 + Tsyn + Tneu en sortie de ce neurone 146. De ce fait : [8 145] The operation of the subtraction circuit 140 according to FIG. 15 is illustrated by FIG. 16 in the case where the result xi - x 2 is positive. Things happen symmetrically if the result is negative. [00Ï46] The first spikes transmitted synchronously (tf tf nl = n2) by the input neurons 141, 142 cause the sync neurons 145, 146 to the potential value V t / 2 at time tf nl + T syn. The emission of the second spike on the input neuron providing the smallest value, namely neuron 142 at time tf n2 = tf n2 + At 2 in the example of FIG. 16 where At <At x , brings one of the sync neurons at the threshold voltage V t , namely the 146 neuron in this example, resulting in a time event = tf n2 + T syn + T neu at the output of this neuron 146. Therefore:
• la synapse 159 inhibe le neurone inb 147 dont le potentiel passe à la valeur -Vt au temps tSync2 + Tsyn— tin2 + 2. Tsyn + Tneu , The synapse 159 inhibits the inb 147 neuron whose potential passes to the value -V t at time t S y nc2 + T syn -ti n2 + 2. T syn + T neu ,
· la synapse 157 excite le neurone inb 148 qui délivre un événement au temps ii>2 = t ync2 + Tsyn + Tneu = tfn2 + 2. Tsyn + 2. Tneu, lequel événement inhibe à son tour, via la synapse 163, le neurone output- 144 dont le potentiel passe à la valeur -2Vt a temps tfn2 + 3. Tsyn + 2. Tneu ; The synapse 157 excites the neuron 148 that delivers an event at time ii> 2 = t ync2 + T syn + T neu = tf n2 + 2. T syn + 2. T neu , which event in turn inhibits, via the synapse 163, the neuron output- 144 whose potential passes to the value -2V t at time tf n2 + 3. T syn + 2. T neu ;
• la synapse 155 ré-excite ensuite le neurone output- 144 dont le potentiel passe à la valeur -V, au temps tfn2 + Tmin + 4. Tsyn + 3. Tneu ; The synapse 155 then re-excites the output-144 neuron whose potential passes to the value -V, at time tf n2 + T min + 4. T syn + 3. T neu ;
• la synapse 156 excite le neurone output+ 143 qui délivre un événement au temps tout = tsync2 ^s n 3- Tneu = tjn2 + 4. Tsyn + 4. Tneu, lequel événement excite à son tour le neurone inb 148 dont le potentiel, remis à zéro suite au précédent événement émis au temps tfnb2 , passe à la valeur Vt/2 au temps + Tsyn + Tneu — tin2 + 5. Tsyn + 5. Tneu. • the synapse 156 excites the neuron output + 143 which delivers an event at time all = tsync2 ^ sn 3- T neu = tj n2 + 4. T syn + 4. T neu , which event in turn excites the neuron inb 148 whose potential, reset after the previous event transmitted at time tf nb2 , passes to the value V t / 2 at the time + T syn + T neu - ti n2 + 5. T syn + 5. T neu .
[00147] Ensuite, l'émission du second spike sur l'autre neurone input 141 au temps tfm = tfni + -^ι amène l'autre neurone sync 145 à la tension de seuil Vt, ce qui entraîne un événement au temps = tfnl + Tsyn + Tneu en sortie de ce neurone 145. De ce fait :[00147] Next, the emission of the second spike on the other input neuron 141 at time tfm = tfni + - ^ ι causes the other sync neuron 145 to the threshold voltage V t , which causes a time event. = tf nl + T syn + T neu at the output of this neuron 145. Therefore:
• la synapse 158 inhibe le neurone inb 148 dont le potentiel passe à la valeur -VJ2 au temps tsynci + Tsyn— tini + 2. Tsyn + Tneu , • the synapse 158 inhibits the neuron 148 whose potential passes to the value -VJ2 at time t synci + T syn -ti ni + 2. T syn + T neu ,
• la synapse 154 excite le neurone inb 147 qui remet à zéro son potentiel de membrane ;  The synapse 154 excites the inb 147 neuron which resets its membrane potential;
• la synapse 152 excite le neurone output+ 143 qui délivre un événement au temps tout ~ tsynci + min + 3. Tsyn + 3. Tneu — tini + Tmin + 4. Tsyn + 4. Tneu , lequel événement excite à son tour le neurone inb 148 dont le potentiel est remis à zéro au temps t + TSyn + Tneu— tini + Tmin + 5. TSyn + 5. Tneu . • the synapse 152 excites the neuron output + 143 which delivers an event at time all ~ t synci + m i n + 3. T syn + 3. T neu- ti ni + T m i n + 4. T syn + 4. T neu , which one This event in turn excites the neuron 148 whose potential is reset to zero at the time t + T S y n + T neu- ti ni + T m i n + 5. T S y n + 5. T neu .
• la synapse 153 excite le neurone output- 144 dont le potentiel est remis à zéro au temps tS nci + 3. TSyn + 2. Tneu t^ni 4- TSyn + 3. ^ neu -• the synapse 153 excites the output-144 neuron whose potential is reset to zero at time t S nc i + 3. T S y n + 2. T neu t ^ ni 4- T S y n + 3. ^ neu -
[00Ï48] Les deux événements excitateurs reçus par le neurone output- 144, aux temps f2 + Tmin + 4. Tsyn + 3. Tneu et tfnl + 4. rsyn + 3. Tneu sont bien postérieurs à l'événement inhibiteur reçu au temps tfn2 + 3. Tsyn + 2. Tneu . Il en résulte que ce neurone 144 n'émet aucun événement lorsque At2 < At\, de sorte que le signe du résultat est convenablement signalé. [0048] The two excitatory events received by the output-144 neuron, at times f2 + T min + 4. T syn + 3. T neu and tf nl + 4. r syn + 3. T neu are much later than the inhibitory event received at time tf n2 + 3. T syn + 2. T neu . As a result, this neuron 144 emits no event when At 2 <At \ , so that the sign of the result is properly signaled.
[01)149] Finalement, le neurone output+ 143 délivre deux événements ayant entre eux un intervalle de temps Atout entre les événements des deux paires produites par les neurones input 141, 142, avec : tout ~ ( -inl T-min 4- Tsyn 4- Tneu)— (tjn2 + 4. TSyn + 4. Tneu)[01) 149] Finally, the neuron output + 143 delivers two events having between them a time interval At out between the events of the two pairs produced by the input neurons 141, 142, with: any ~ (-in T min 4- Tsyn 4- T neu ) - (tj n2 + 4. T S y n + 4. T neu )
= Tmin + (xl - x2). Tcod (15) = T min + (x l - x 2 ). T cod (15)
[0(U5ft] On obtient bien, sur le neurone output de bon signe en sortie du circuit soustracteur 140, deux événements ayant entre eux l'intervalle de temps Atout =f(x\ - ¾)· Ce résultat est disponible en sortie du circuit dès réception du second événement de la paire d'entrée ayant la plus grande valeur absolue. [8 )151] Lorsque deux valeurs égales lui sont présentées en entrée, le circuit soustracteur 140 représenté sur la figure 15 active les deux trajets parallèles et le résultat est délivré sur les deux neurones output+ 143 et output- 144, les neurones inb 147, 148 n'ayant pas le temps de sélectionner un trajet gagnant. Pour éviter cela, il est possible d'ajouter au circuit soustracteur un neurone zéro 171 et des V-synapses rapides 172-178 pour former un circuit soustracteur 170 selon la figure 17. [0 (U5ft) We obtain, well on the neuron output of a good sign at the output of the subtractor circuit 140, two events having between them the time interval At out = f (x \ - ¾) · This result is available as output of the circuit upon receipt of the second event of the input pair having the largest absolute value. [8) 151] When two equal values are presented to it at the input, the subtractor circuit 140 shown in Fig. 15 activates the two parallel paths and the result is delivered on the two neurons output + 143 and output-144, the neurons inb 147, 148 having no time to select a winning path. To avoid this, it is possible to add to the subtractor circuit a zero neuron 171 and fast V-synapses 172-178 to form a subtractor circuit 170 according to FIG. 17.
[00152] Sur la figure 17, les références numériques des neurones et synapses agencés de la même manière que sur la figure 15 ne sont pas reportées. Le neurone zéro 171 est le nœud récepteur de deux V-synapses excitatrices 172, 173 de poids wJ2 et de retard Tneu, l'une venant du neurone sync 145 et l'autre du neurone sync 146. Il est d'autre part le nœud récepteur de deux V-synapses inhibitrices 174, 175 de poids wJ2 et de retard 2.Tneu, l'une venant du neurone sync 145 et l'autre du neurone sync 146. Le neurone zéro 171 s'auto- excite par une V-synapse 176 de poids we et de retard Tneu. Il est d'autre part le nœud émetteur de deux V-synapses inhibitrices de retard Tneu, l'une 177 de poids Wi dirigée vers le neurone inb 148 et l'autre 178 de poids dirigée vers le neurone output- 144. In FIG. 17, the numerical references of the neurons and synapses arranged in the same manner as in FIG. 15 are not reported. Zero neuron 171 is the receiving node of two excitatory V-synapses 172, 173 of weight wJ2 and of delay T neu , one from the neuron sync 145 and the other from the sync neuron 146. It is on the other hand the receptor node of two inhibitory V-synapses 174, 175 of weight wJ2 and of delay 2.T neu , one coming from the sync neuron 145 and the other of the sync neuron 146. The zero neuron 171 is self-excited by a V-synapse 176 of weight w e and delay T neu . On the other hand, it is the transmitting node of two inhibitory V-synapses of delay T neu , one 177 of weight Wi directed towards the neuron inb 148 and the other 178 of weight directed to the neuron output- 144.
[C 53] Le neurone zéro 171 agit comme un détecteur de coïncidence entre les événements délivrés par les neurones sync 145, 146. Étant donné que ces deux neurones ne délivrent des événements qu'au moment du second spike de codage de leur entrée associée, détecter cette coïncidence temporelle est équivalent à détecter l'égalité des deux valeurs d'entrée, dès lors que celles-ci sont correctement synchronisées. Le neurone zéro 171 ne produit un événement que s'il reçoit deux événements séparés par un intervalle de temps inférieur à Tneu en provenance des neurones sync 145, 146. Dans ce cas, il inhibe directement le neurone output- 144 via la synapse 178, et désactive le neurone inb 148 via la synapse 177. [C 53] The zero neuron 171 acts as a coincidence detector between the events delivered by the sync neurons 145, 146. Since these two neurons only deliver events at the time of the second coding spike of their associated input, detecting this temporal coincidence is equivalent to detecting the equality of the two input values, provided that they are correctly synchronized. The zero neuron 171 produces an event only if it receives two events separated by a time interval less than T neu from the sync neurons 145, 146. In this case, it directly inhibits the output-144 neuron via the synapse 178 , and disables the inb 148 neuron via the synapse 177.
[00154] En conséquence, deux valeurs d'entrée égales fournies au circuit soustracteur de la figure 17 donnent lieu à deux événements séparés par un intervalle de temps égal à Tmin, c'est-à-dire codant une différence nulle, en sortie du neurone output+ 143, et à aucun événement sur le neurone output- 144. Si les valeurs d'entrée ne sont pas égales, le neurone zéro 171 n'est pas activé et le soustracteur fonctionne de la même manière que celui de la figure 15. Consequently, two equal input values supplied to the subtractor circuit of FIG. 17 give rise to two events separated by a time interval equal to T min , that is to say coding a zero difference, at the output neuron output + 143, and no event on the output-144 neuron. If the input values are not equal, the zero neuron 171 is not activated and the subtractor operates in the same manner as that of FIG. 15 .
C.2. Cumul (MMSSj La figure 18 montre un circuit 180 de cumul de grandeurs d'entrée positives avec des pondérations. Son objet est de charger dans un neurone acc 184 une valeur de potentiel en rapport avec une somme pondérée : s =∑∑ ak. xk (16) où OQ, <¾, .. ·, OCN-I sont des coefficients de pondération positifs ou nuls et les grandeurs d'entrée χο, χι , XN-Ï sont positives ou nulles. C.2. Cumulum (MMSS) Figure 18 shows a circuit 160 for summing positive input quantities with weights, whose purpose is to load into a neuron acc 184 a potential value related to a weighted sum: s = ΣΣ a k . x k (16) where OQ, <¾, .. ·, OCN-I are positive or zero weighting coefficients and the input quantities χο, χι, XN-Ï are positive or zero.
[88156] Pour chaque valeur d'entrée ¾ (0 < k < N), le circuit 180 comporte un neurone input 181k et input- 182k faisant chacun partie d'un groupe respectif 20 de neurones agencés de la même manière que dans le groupe 20 décrit précédemment en référence à la figure 2. [88156] For each input value ¾ (0 <k <N), the circuit 180 comprises an input neuron 181 k and input-182 k each forming part of a respective group of neurons arranged in the same way as in group 20 described above with reference to FIG.
[88157] Les connexions sortantes des neurones first et last de ces N groupes de neurones 20 sont configurées en fonction des coefficients <¾ de la somme pondérée à calculer. [88157] The outgoing connections of the first and last neurons of these N groups of neurons 20 are configured according to the coefficients <¾ of the weighted sum to be calculated.
[88158] Le neurone first relié au neurone input 18 (0 < k < N) est le nœud émetteur d'une ge-synapse excitatrice 182^ de poids <¾.¼vc et de retard Tmin + Tsyn. Le neurone last relié au neurone input 18 est le nœud émetteur d'une ^-synapse inhibitrice 183^ de poids - Xk Waœ et de retard Tsyn. [88158] The neuron first connected to the input neuron 18 (0 <k <N) is the emitter node of a stimulating e- synapse 182 ^ of weight <¾.¼v c and delay T min + T syn . The last neuron connected to the input neuron 18 is the node emitting an inhibitory γ-synapse 183 of weight - Xk Waœ and of delay T syn .
[00159] Le neurone acc 184 accumule les termes <¾.¾. Ainsi, pour chaque entrée k, le neurone acc 187 est le nœud récepteur de la ^-synapse excitatrice 182^ et de la ^-synapse inhibitrice 183^. The neuron acc 184 accumulates the terms <¾.¾. Thus, for each entry k, the accelerator neuron 187 is the receptor node of the excitatory γ-synapse 182 and the inhibitory γ-synapse 183.
[00Ï60] Le circuit 180 comporte en outre un neurone sync 185 qui est le nœud récepteur de N V-synapses, chacune de poids wJN et de retard Tsyn, respectivement issues des neurones last reliés aux N neurones input 18 (0 < k < N). Le neurone sync 185 est le nœud émetteur d'une ge-synapse excitatrice 186 de poids wacc et de retard Tsyn, dont le nœud récepteur est le neurone acc 184. [0060] The circuit 180 further comprises a sync neuron 185 which is the receiving node of N V-synapses, each wJN weight and delay T syn , respectively from the last neurons connected to N input neuron 18 (0 <k < NOT). The sync neuron 185 is the emitting node of an excitatory e- synapse 186 of weight w acc and delay T syn , whose receiving node is the accession neuron 184.
[00Ï61] Pour chaque entrée présentant deux spikes séparés de Atk = Tmin + Xk-Tcod sur le neurone input 18 , le neurone acc 184 intègre la quantité CCk- VtITmax sur une durée [0061] For each input having two spikes separated from At k = T m i n + Xk-T co d on the input neuron 18, the acc echon neuron 184 integrates the quantity CCk-V t IT max over a period of time.
[00162] Une fois que tous les seconds spikes des k signaux d'entrée ont été reçus, le neurone sync 185 est déclenché et excite le neurone acc 184 via la ^-synapse 186. Le potentiel du neurone acc 184 continue à croître pendant une durée résiduelle égale à Tmax ~∑fe=o k - xk- Tœd - À ce moment-là, le seuil Vt est atteint par le neurone acc 184 qui déclenche un événement. Once all the second spikes of the input signals have been received, the sync neuron 185 is triggered and excites the accelerated neuron via the ε-synapse 186. The potential of the accelerator neuron 184 continues to grow for a period of time. residual time equal to Tmax ~ Σfe = ok - x k- T œ d - At this point, the threshold V t is reached by the acceleration neuron 184 which triggers an event.
[00163] Le retard de cet événement par rapport à celui qu'a délivré le neurone sync 185 est de Tmax - ak. xk. Tcod = /(l -Σ"^1 ak. xk) = /(l - s) . La somme pondérée s n'est rendue accessible par le circuit 180 que dans sa forme inversée (1 - s). The delay of this event compared to that delivered by the sync neuron 185 is T max - a k . x k . Cod = T / (l -Σ "^ 1 a k x k.) = /. (L - s) s The weighted sum is made available by the circuit 180 in its inverted form (1 - s).
[8 )164] Le circuit 180 fonctionne de la manière qui vient d'être décrite à condition qu'on ait rcod.∑"-To afe. xfe < Tmax . On peut normaliser les coefficients <¾ pour que cette condition soit remplie pour toutes les valeurs possibles des ¾, c'est-à-dire de façon que [8) 164] The circuit 180 operates in the manner which has just been described on condition that r is cod .Σ "-To a fe. X fe <T max. One can normalize the coefficients <¾ for this condition is fulfilled for all possible values of ¾, that is, so that
C .3. Sommation pondérée C .3. Weighted summation
[08165] Un circuit de sommation pondérée 190 peut avoir la structure représentée sur la figure 19. [08165] A weighted summation circuit 190 may have the structure shown in FIG. 19.
[88166] Pour obtenir la représentation de la somme pondérée s selon (16), un circuit de cumul pondéré 180 du type de celui décrit en référence à la figure 18 est associé à un autre neurone acc 188 et à un neurone output 189. [88166] To obtain the representation of the weighted sum s according to (16), a weighted cumulative circuit 180 of the type described with reference to FIG. 18 is associated with another acc 188 neuron and a neuron output 189.
[0 )167] Le neurone acc 188 est le nœud récepteur d'une ^-synapse excitatrice 191 de poids Waœ et de retard Tsyn, et le nœud émetteur d'une V-synapse excitatrice 192 de poids we et de retard Tmin + Tsyn. Le neurone output 189 est également le nœud récepteur d'une V-synapse excitatrice 193 de poids we et de retard Tsyn. [0] 167] The accelerator neuron 188 is the receiving node of an excitatory ^ -synapse 191 of weight Waoe and delay T syn , and the emitter node of an excitatory V-synapse 192 of weight w e and delay T min + T syn . The output neuron 189 is also the receiving node of an excitatory V-synapse 193 of weight w e and of delay T syn .
[08168] L'accumulation à dynamique linéaire démarre sur le neurone acc 188 au même moment qu'elle redémarre sur le neurone acc 184 du circuit 180, les deux neurones acc 184, 188 étant excités sur les ^-synapses 186, 191 par le même événement provenant du neurone sync 185. Leurs durées résiduelles d'accumulation, jusqu'à atteindre le seuil Vt sont respectivement de Tmax—∑"=o ak - xk- TCod et de Τ^. Du fait que la synapse 192 présente un retard relatif de Tmin, les deux événements déclenchés sur le neurone output 189 ont entre eux l'intervalle de temps Tmin + k. xk. Tcod = /(s) . The linear dynamic accumulation starts on the accelerated neuron 188 at the same time as it restarts on the acceleration neuron 184 of the circuit 180, the two acceleration neurons 184, 188 being excited on the nonsynapses 186, 191 by the same event coming from the sync neuron 185. Their residual accumulation durations up to the threshold V t are respectively T max -Σ "= o a k- x k-T C od and Τ ^. the synapse 192 has a relative delay of T min , the two events triggered on the output neuron 189 have between them the time interval T min + k, x k, T cod = / (s).
[08169] La somme pondérée attendue est bien représentée en sortie du circuit 190. Quand N = 2 et <% = <¾ = 1/2, ce circuit 190 se ramène à un simple circuit additionneur, avec un facteur d'échelle 1/2 pour éviter les débordements dans le neurone acc 184. The expected weighted sum is well represented at the output of the circuit 190. When N = 2 and <% = <¾ = 1/2, this circuit 190 is reduced to a simple adder circuit, with a scale factor 1 / 2 to avoid overflows in the neuron acc 184.
C.4. Combinaison linéaire C.4. Linear combination
[08178] Le cas plus général de combinaison linéaire s'exprime aussi par l'équation (16) ci-dessus, mais les coefficients <¾ peuvent être positifs ou négatifs, de même que les grandeurs d'entrée ¾. Sans perte de généralité, on ordonne les coefficients et grandeurs d'entrée de sorte que les coefficients <%, <¾, <¾i_1 soient positifs ou nuls et les coefficients aM+i, XM+2, soient négatifs (N≥ 2, M≥ 0, N - M≥ 0). [88171] Pour prendre en compte les valeurs positives ou négatives, le circuit de calcul de combinaison linéaire 200 représenté sur la figure 20 comporte deux circuits de cumul 180A, 180B du type de celui décrit en référence à la figure 18. [08178] The more general case of linear combination is also expressed by equation (16) above, but the coefficients <¾ can be positive or negative, as can the input quantities ¾. Without loss of generality, the input coefficients and quantities are ordered so that the coefficients <%, <¾, <¾ i _ 1 are positive or zero and the coefficients a M + 1, X M + 2, are negative (N≥2, M≥0, N - M≥0). [88171] To take into account the positive or negative values, the linear combination calculation circuit 200 shown in FIG. 20 comprises two accumulation circuits 180A, 180B of the type of that described with reference to FIG. 18.
[88172] Les neurones input 18 du circuit de cumul 180A sont respectivement associés aux coefficients <¾ pour 0 < k < M et aux coefficients inversés -<¾ pour M < k < N. Ces neurones input 18 pour 0 < k < M reçoivent une paire de spikes représentant ¾ quand ¾ > 0 et forment donc des neurones de type input+ pour ces grandeurs x0, XM-\ - Les neurones input 18 du circuit 180A pour M < k < N reçoivent une paire de spikes représentant ¾ quand ¾ < 0 et forment donc des neurones de type input- pour ces grandeurs XM, · · ·, XN-I - [88172] The input neurons 18 of the cumulative circuit 180A are respectively associated with the coefficients <¾ for 0 <k <M and with the inverted coefficients - <¾ for M <k <N. These input neurons 18 for 0 <k <M receive a pair of spikes representing ¾ when ¾> 0 and therefore form input + neurons for these quantities x 0 , XM- \ - The input 18 neurons of the circuit 180A for M <k <N receive a pair of spikes representing ¾ when ¾ <0 and therefore form input-type neurons for these XM variables, · · ·, XN-I -
100173] Les neurones input 18 du circuit de cumul pondéré 180B sont respectivement associés aux coefficients inversés -<¾ pour 0 < k < M et aux coefficients <¾ pour M < k < N. Ces neurones input 18 pour 0 < k < M reçoivent une paire de spikes représentant ¾ quand ¾ < 0 et forment donc des neurones de type input- pour ces grandeurs x0, XM-\ - Les neurones input 18 du circuit 180B pour M < k < N reçoivent une paire de spikes représentant ¾ quand ¾ > 0 et forment donc des neurones de type input+ pour ces grandeurs XM, · · ·, XN-I - 100173] The input 18 neurons of the weighted cumulative circuit 180B are respectively associated with the inverted coefficients - <¾ for 0 <k <M and with the coefficients <¾ for M <k <N. These input neurons 18 for 0 <k <M receive a pair of spikes representing ¾ when ¾ <0 and thus form input-type neurons for these magnitudes x 0 , XM- \ - The input 18 neurons of the circuit 180B for M <k <N receive a pair of spikes representing ¾ when ¾> 0 and therefore form input + neurons for these XM variables, · · ·, XN-I -
[08174] Les deux circuits de cumul 180A, 180B partagent leur neurone sync 185 qui est ainsi le nœud récepteur de 2N V-synapses, chacune de poids weIN et de retard Tsyn, en provenance des neurones last couplés aux 2N neurones input 18 . Le neurone sync 185 du circuit de calcul de combinaison linéaire 200 est donc déclenché une fois que les N grandeurs d'entrée x0, ..., ¾ν-ΐ, positives ou négatives, ont été reçues sur les neurones l& lk. The two aggregation circuits 180A, 180B share their sync neuron 185 which is thus the receiving node of 2N V-synapses, each of weights w e IN and of delay T syn , from the neurons last coupled to the 2N neurons input 18. The sync neuron 185 of the linear combination calculating circuit 200 is therefore triggered once the N input variables x 0 ,..., ¾ν- ΐ , positive or negative, have been received on the neurons l & lk.
s'écoule entre les événements respectivement délivrés par le neurone sync 185 et le neurone acc 184 du circuit 180A. flows between the events respectively delivered by the sync neuron 185 and the acceleration neuron 184 of the circuit 180A.
[08176] Un temps ATB = Tmax [08176] A time AT B = T max
s'écoule entre les événements respectivement délivrés par le neurone sync 185 et le neurone acc 184 du circuit 180B. flows between the events respectively delivered by the sync neuron 185 and the acceleration neuron 184 of the circuit 180B.
[08177] Un circuit soustracteur 170 qui peut être du genre de celui représenté sur la figure 17 se charge ensuite de combiner les intervalles de temps ATA et ATB pour produire la représentation de \s\ =∑akJCk≥0\ak. xk \ -∑akJCk<0\ak. xk \ sur une sortie indicative du signe de s. Le circuit de calcul de combinaison linéaire 200 de la figure 20 comporte pour cela deux V-synapses excitatrices 198, 199, de poids we et de retard Tmin + Tsyn, dirigées vers les neurones input 141, 142 du circuit soustracteur 170. Par ailleurs, une V-synapse excitatrice 201 de poids we et de retard Tsyn va du neurone acc 184 du circuit 180A au neurone input 141 du circuit soustracteur 170. Une V-synapse excitatrice 202 de poids we et de retard Tsyn va du neurone acc 184 du circuit 180B à l'autre neurone input 142 du circuit soustracteur 170. A subtractor circuit 170, which may be of the type shown in FIG. 17, is then used to combine the ATA and ATB time slots to produce the representation of \ s \ = Σ akJCk≥0 \ a k . x k \ -Σ akJCk <0 \ a k . x k \ on an output indicative of the sign of s. The linear combination calculation circuit 200 of FIG. 20 comprises for this purpose two excitatory V-synapses 198, 199, of weight w e and of delay T min + T syn , directed towards the input neurons 141, 142 of the subtraction circuit 170. Moreover, an excitatory V-synapse 201 of weight w e and delay T syn goes from the neuron acc 184 of the circuit 180A to the input neuron 141 of the subtractor circuit 170. An excitatory V-synapse 202 of weight w e and delay T syn goes from the neuron acc 184 of the circuit 180B to the other neuron input 142 of the subtractor circuit 170.
[88178] Les neurones output- 144 et output+ 143 du circuit soustracteur 170 sont respectivement reliés, via des V-synapses excitatrices 205, 206 de poids we et de retard Tsyn, à deux autres neurones output+ 203 et output- 204 qui constituent les sorties du circuit de calcul de combinaison linéaire 200. [88178] The output-144 and output + 143 neurons of the subtractor circuit 170 are respectively connected, via exciter V-synapses 205, 206 of weight w e and of delay T syn , to two other neurons output + 203 and output-204 which constitute the outputs of the linear combination calculation circuit 200.
[08179] Celui de ces deux neurones qui est déclenché indique le signe du résultat s de la combinaison linéaire. Il délivre une paire d'événements séparés par l'intervalle de temps Atout = Tmin + ATA— ATB = - [08179] Which of these two neurons is triggered indicates the sign of the result s of the linear combination. It delivers a pair of events separated by the time interval At out = T min + AT A - AT B = -
Î00180] La disponibilité de ce résultat est indiquée à l'extérieur par un neurone 'start' 207 recevant deux V-synapses excitatrices 208, 209, de poids we et de retard Tsyn, en provenance des neurones output+ 143 et output- 144 du circuit soustracteur 170. Le neurone start 207 s'auto-inhibe au moyen d'une V-synapse 210, de poids Wi et de retard Tsyn. Le neurone start 204 délivre un spike simultanément au premier spike du neurone output+ 203 ou output- 204 activé. Î00180] The availability of this result is indicated externally by a 'start' 207 neuron receiving two excitatory V-synapses 208, 209, of weight w e and of delay T syn , from the neurons output + 143 and output-144 of the subtractor circuit 170. The start neuron 207 self-inhibits by means of a V-synapse 210, weight Wi and delay T syn . The start 204 neuron delivers a spike simultaneously to the first spike of the output + 203 or output-204 neuron activated.
[08181] On peut normaliser les coefficients <¾ pour que les conditions ∑ak.xk≥o k- xk \ - TCod < Tmax ak. xk \ . Tcod < Tmax soient remplies pour toutes les valeurs possibles des ¾, c'est-à-dire de façon que∑"=ο Ι<¾1 < ^2^, afin que le circuit de [08181] It can normalize the coefficients <¾ for the Σa terms k .x ≥o k k x k \ - T od C <Tmax a k . x k \. T cod <T max are fulfilled for all possible values of ¾, that is, so that "" = ο Ι < ¾ 1 <^ 2 ^, so that the circuit of
Tcod  TCOD
calcul de combinaison linéaire 200 fonctionne comme décrit ci-dessus. Il faut alors tenir compte du facteur de normalisation dans le résultat. linear combination calculation 200 operates as described above. The normalization factor must be taken into account in the result.
D. Opérations non-linéaires D. Non-linear operations
D. l. Logarithme [88182] La figure 21 montre un circuit 210 de calcul du logarithme népérien d'un nombre x e ]0, 1] dont une représentation codée est produite par un neurone input 211 sous forme de deux événements survenant à des temps tfn et tfn = tfn + At (figure 22) avec At =f(x) = Tmin + x cod. [001.83] Le neurone input 211 appartient à un groupe de nœuds 20 semblable à celui décrit en référence à la figure 2. Le neurone first 213 de ce groupe 20 est le nœud émetteur d'une ge-synapse excitatrice 212 de poids wacc et de retard Tmin + Tsyn, tandis que le neurone last 215 est le nœud émetteur d'une ^-synapse inhibitrice 214 de poids— wacc et de retard Tsyn. Les deux ^-synapses 212, 214 ont un même neurone acc 216 comme nœud récepteur. Du neurone last 215 au neurone acc 216, il y a aussi une ^/-synapse 217 de poids 9mu.it = Vf ~ et de retard Tsyn, et une gaie-synapse 218 de poids 1 et de retard Tsyn. D. l. Logarithm FIG. 21 shows a circuit 210 for calculating the natural logarithm of a number xe] 0, 1] of which a coded representation is produced by an input neuron 211 in the form of two events occurring at times tf n and tf n. = tf n + At (figure 22) with At = f (x) = T min + x cod . [001.83] The input neuron 211 belongs to a group of nodes 20 similar to that described with reference to FIG. 2. The first neuron 213 of this group 20 is the emitting node of a stimulating e- synapse 212 of weight w acc and delay T m i n + T syn , while the neuron last 215 is the node emitting an inhibitory ^ -synapse 214 of weight-w acc and delay T syn . Both ^ -synapses 212, 214 have the same access neuron 216 as the receiving node. From neuron last 215 to neuron acc 216, there is also a ^ / - synapse 217 of weight 9mu.it = V f ~ and of delay T syn , and a gay-synapse 218 of weight 1 and of delay T syn .
[08184] Le circuit 210 comporte en outre un neurone output 220 qui est le nœud récepteur d'une V-synapse excitatrice 221 de poids we et de retard 2.Tsyn provenant du neurone last 215, et d'une V-synapse excitatrice 222 de poids we et de retard Tmin + Tsyn provenant du neurone acc 216. The circuit 210 further comprises a neuron output 220 which is the receiving node of an excitatory V-synapse 221 of weight w e and of delay 2.T syn from the neuron last 215, and a V-synapse exciter 222 of weight w e and delay T m i n + T syn from the neuron acc 216.
[0 185] Le fonctionnement du circuit de calcul de logarithme 210 selon la figure 21 est illustré par la figure 22. [0 185] The operation of the log computation circuit 210 according to FIG. 21 is illustrated by FIG. 22.
[00186] L'émission du premier spike au temps tfn au niveau du neurone input 211 déclenche un événement en sortie du neurone first 213 au temps tjirst = tfn + Tsyn + Tneu. Le neurone first 213 fait démarrer l'accumulation par le neurone acc 216 au temps t = t}n + Tmin + 2. Tsyn + Tneu via la ge-synapse 212. The emission of the first spike at time tf n at the level of the input neuron 211 triggers an event at the output of the first neuron 213 at the time tj irst = tf n + T syn + T neu . The first neuron 213 starts accumulation by the neuron acc 216 at time t = t} n + T min + 2. T syn + T neu via g e -synapse 212.
[80187] L'émission du second spike au temps tfn = tfn + Tmin + x. Tcod au niveau du neurone input 211 amène le neurone last 215 à délivrer un événement au temps t-iast = tfn + TSyn + Tneu . Cet événement transporté par la ge-synapse 214 stoppe l'accumulation réalisée par le neurone acc 216 au temps = tfast + Tsyn = + x. Tcod . À ce moment, la valeur de potentiel Vt.x est stockée dans le neurone acc 216. [80187] The emission of the second spike at time tf n = tf n + T min + x. T cod at the level of the input neuron 211 causes the neuron last 215 to deliver an event at time t-iast = tfn + T S yn + T neu . This event carried by the e -synapse 214 stops the accumulation made by the neuron acc 216 time = tf ast + T syn = + x. T cod . At this time, the potential value V t .x is stored in the acc 216 neuron.
[80188] Par l'intermédiaire des synapses 217 et 218, le neurone last 215 active en outre la dynamique exponentielle sur le neurone acc 216 au même instant Through synapses 217 and 218, the last neuron 215 also activates the exponential dynamics on the neuron acc 216 at the same time.
217 et la gate-synapse 218. Il est à noter qu'en variante, l'événement transporté par la ^ -synapse 217 pourrait aussi arriver plus tard au neurone acc 216 s'il est souhaité de mémoriser dans celui-ci la valeur de potentiel Vt.x pendant que d'autres opérations interviennent dans le dispositif. And 217 g ate -synapse 218. It should be noted that alternatively, the event transported by ^ -synapse 217 could also happen later to the acceleration neuron 216 if it is desired to store therein the potential value V t .x while other operations occur in the device.
[88189] Après activation par les synapses 217 et 218, la composante g/ du neurone acc 216 évolue selon : t~tenti [88189] After activation by the synapses 217 and 218, the g / component of the acc 222 neuron evolves according to: t ~ t enti
gf (t) = Vt. T . e V (17) et son potentiel de membrane selon : g f (t) = V t . T. e V (17) and its membrane potential according to:
Î0Û190] Ce potentiel V(t) atteint le seuil Vt et provoque un événement sur la V-synapse 222 au temps tacc = - rf. log(x). Î0Û190] This potential V (t) reaches the threshold V t and causes an event on the V-synapse 222 at the time t acc = - r f . log (x).
[1)8191] Un premier événement est déclenché sur le neurone output 220 du fait de la V-synapse 221 au temps to x ut = tlast + 2Tsyn + Tneu = + Tsyn + Tneu . Le second événement déclenché par la synapse 222 intervient au temps t%ut = tacc + Tmin + Tsyn +[1) 8191] A first event is triggered on the neuron output 220 because of the V-synapse 221 at time t o x ut = tl ast + 2T syn + T neu = + T syn + T neu . The second event triggered by synapse 222 occurs at time t% ut = t acc + T min + T syn +
^neu ~ tout Tmin ~ T ^. log(x). ^ neu ~ all Tmin ~ T ^. log (x).
[1)8192] Finalement, les deux événements délivrés par le neurone output 220 sont séparés par un intervalle de temps AT0Ut = t%ut - to x ut = Tmin - rf. log(x) = f (- ^- . log(x) ). [1) 8192] Finally, the two events delivered by the output neuron 220 are separated by a time interval AT 0Ut = t% ut - t o x ut = T min - r f . log (x) = f (- ^ - log (x)).
V Tcod V T cod
[88193] On obtient bien en sortie la représentation d'un nombre proportionnel au logarithme népérien log(jc) de la valeur d'entrée x. Comme 0 < x < 1, le logarithme log(jc) est négatif.  [88193] The representation of a number proportional to the natural logarithm log (jc) of the input value x is well obtained. As 0 <x <1, the logarithm log (jc) is negative.
1 cod 1 cod
[00Ï 4] Si on note A = e Tf , le circuit 210 de la figure 21 délivre la représentation de logA c) lorsqu'il reçoit la représentation d'un nombre réel x tel que A < x < 1, où logA(.) désigne l'opération logarithme de base A. En admettant que, dans la forme (11), l'intervalle de temps entre les deux événements délivrés par le neurone output 220 puisse dépasser ^, le circuit 210 délivre la représentation de \Ο§Α(Χ) pour tout nombre x tel que 0 < x < 1. [001] If A = e T f is denoted, the circuit 210 of FIG. 21 delivers the representation of log A c) when it receives the representation of a real number x such that A <x <1, where log A (.) Denotes the basic logarithmic operation A. Assuming that, in the form (11), the time interval between the two events delivered by the output neuron 220 may exceed,, the circuit 210 delivers the representation of \ Ο§Α (Χ) for any number x such that 0 <x <1.
D.2. Exponentielle [88195] La figure 23 montre un circuit 230 de calcul d'exponentielle d'un nombre x G [0, 1] dont une représentation codée est produite par un neurone input 231 sous forme de deux événements survenant à des temps tfn et tfn = tfn + At (figure 24) avec At =f(x) = Tmin + x cod. D.2. exponential FIG. 23 shows an exponential calculating circuit 230 of a number x G [0, 1], a coded representation of which is produced by an input neuron 231 in the form of two events occurring at times tf n and tf n = tf n + At (figure 24) with At = f (x) = T min + x cod .
[08196] Le neurone input 231 appartient à un groupe de nœuds 20 semblable à celui décrit en référence à la figure 2. Le neurone first 233 de ce groupe 20 est le nœud émetteur d'une ^-synapse 232 de poids gmuit et de retard Tmin + Tsyn, ainsi que d'une gaie-synapse excitatrice 234 de poids 1 et de retard Tmin + Tsyn. Le neurone last 235 du groupe 20 est le nœud émetteur d'une gaie-synapse inhibitrice 236 de poids -1 et de retard Tsyn, ainsi que d'une ge-synapse excitatrice 237 de poids wacc et de retard Tsyn. Les synapses ont un même neurone acc 238 pour nœud récepteur. The input neuron 231 belongs to a group of nodes 20 similar to that described with reference to FIG. 2. The first neuron 233 of this group 20 is the node emitting a n -synapse 232 of weight g mu i t and of delay T min + T syn , as well as of an excitatory gay-synapse 234 of weight 1 and of delay T m i n + T syn . The group 235 neuron last 235 is the node emitting an inhibitory gay-synapse 236 of weight -1 and delay T syn , as well as an excitatory e- synapse 237 of weight w acc and of delay T syn . Synapses have the same acc 238 neuron for receiving node.
[08197] Le circuit 230 comporte en outre un neurone output 240 qui est le nœud récepteur d'une V-synapse excitatrice 241 de poids we et de retard 2.Tsyn provenant du neurone last 235, et d'une V-synapse excitatrice 242 de poids we et de retard Tmin + Tsyn provenant du neurone acc 238. The circuit 230 further comprises a neuron output 240 which is the receiving node of an excitatory V-synapse 241 of weight w e and of delay 2.T syn from the neuron last 235, and a V-synapse exciter 242 weight w e and delay T min + T syn from the neuron acc 238.
[88198] Le fonctionnement du circuit de calcul d'exponentielle 230 selon la figure 23 est illustré par la figure 24. [88198] The operation of the exponential calculation circuit 230 according to FIG. 23 is illustrated in FIG. 24.
[80199] L'émission du premier spike au temps tfn au niveau du neurone input 231 déclenche un événement en sortie du neurone first 233 au temps tjirst = tfn + Tsyn + Tneu. Le neurone first 233 fait démarrer une accumulation à dynamique exponentielle sur le neurone acc 238 au temps = tfn + Tmin + 2. Tsyn + Tneu via la ^/-synapse 232 et la gate-synapse 234. [80199] The emission of the first spike at time tf n at the level of the input neuron 231 triggers an event at the output of the first neuron 233 at the time tj irst = tf n + T syn + T neu . The neuron 233 first starts an exponential dynamic storage on the access neuron at time = 238 tf n + T min + T + T 2 syn neu via the ^ / - synapse 232 and 234 g ate -synapse.
[08208] La composante gf du neurone acc 238 évolue alors selon : [08208] The gf component of the acc 238 neuron then evolves according to:
et son potentiel de membrane selon : and its membrane potential according to:
(20) ' émission du second spike au temps tfn = tfn + Tmin + x. Tcod au niveau neurone input 231 amène le neurone last 235 à délivrer un événement au temps tiast = t ifnn + ~ + T T 1 ssyynn + Tneu. Cet événement transporté par la gaie-synapse 236 stoppe l'accumulation à dynamique exponentielle réalisée par le neurone acc 238 au temps = tfast + Tsyn = t t + x. Tcod. À ce moment, la valeur de potentiel Vt.(l - Ax) est stockée dans le neurone acc (20) emission of the second spike at time tf n = tf n + T min + x. T cod at the neuron input level 231 causes the neuron last 235 to deliver an event at time t iast = t ifnn + ~ + TT 1 s y y nn + T neu . This event carried by the gay-synapse 236 stops the accumulation with exponential dynamics carried out by the neuron acc 238 at the time = tf ast + T syn = t t + x. T cod . At this time, the potential value V t . (L - A x ) is stored in the neuron acc
_∑cod_  _Σcod_
238, où, comme précédemment, A = e Tf . Par l'intermédiaire de la ge-synapse 237, le neurone last 235 active en outre la dynamique linéaire de poids wacc sur le neurone acc 238 au même instant 238, where, as previously, A = e T f. Via the e- synapse 237, the last 235 neuron further activates the linear dynamics of weight w acc on the accelerator neuron 238 at the same time
Le potentiel de membrane du neurone 238 évolue alors selon : The membrane potential of neuron 238 then evolves according to:
V(t) = Vt. (l - Ax + - t^ (21) V (t) = V t . (l - A x + - t ^ (21)
V ' cod '  V 'cod'
100203] Ce potentiel V(t) atteint le seuil Vt et provoque un événement sur la V-synapse 222 au temps tacc = + Ax. Tcod. 100203] This potential V (t) reaches the threshold V t and causes an event on V-synapse 222 at time t acc = + A x. T cod .
[8(1204] Un premier événement est déclenché sur le neurone output 240 du fait de la[8 (1204) A first event is triggered on the output neuron 240 because of the
V-synapse 241 au temps to x ut = tlast + 2Tsyn + Tneu = + Tsyn + Tneu . Le second événement déclenché par la synapse 242 intervient au temps t^ut = tacc + Tmin + Tsyn +V-synapse 241 at time t o x ut = tl ast + 2T syn + T neu = + T syn + T neu . The second event triggered by synapse 242 occurs at time t = ut acc + T min + T syn +
T 1 neu — f Lo1ut A ~- T 1 mi■n A ~- A x · T 1 cod , - T 1 neu - f L o 1 ut A ~ - T 1 mi ■ n A ~ - A x · T 1 cod, -
[0D20S] Finalement, les deux événements délivrés par le neurone output 240 sont séparés par un intervalle de temps de AT0Ut = t%ut - t ut = Tmin + Ax. Tcod = f (Ax). [0D20S] Finally, the two events delivered by the neuron output 240 are separated by a time interval of AT 0Ut = t% ut - t ut = T min + A x . T cod = f (A x ).
[00206] Le circuit 230 de la figure 23 délivre donc la représentation de Ax lorsqu'il reçoit la représentation d'un nombre x compris entre 0 et 1. Ce circuit peut admettre des valeurs d'entrée x supérieures à 1 (At > Τ^) et délivrer encore la représentation de Ax sur son neurone output 240. The circuit 230 of FIG. 23 thus delivers the representation of A x when it receives the representation of a number x between 0 and 1. This circuit can admit input values x greater than 1 (At> Τ ^) and still deliver the representation of A x on its output neuron 240.
[0 )207] Le circuit 230 de la figure 23 réalise l'inversion de l'opération effectuée par le circuit 210 de la figure 21. [00208] On peut tirer parti de cela pour implémenter divers calculs non-linéaires à l'aide d'opérations simples entre des circuits de calcul de logarithme et de calcul d'exponentielle. Par exemple, la somme de deux logarithmes permet d' implémenter une multiplication, leur soustraction permet d' implémenter une division, la somme de n fois le logarithme permet d'élever un nombre x à une puissance entière n, etc. [0] 207] The circuit 230 of FIG. 23 performs the inversion of the operation performed by the circuit 210 of FIG. 21. [00208] It is possible to take advantage of this to implement various non-linear calculations using simple operations between log computation and exponential computation circuits. For example, the sum of two logarithms allows to implement a multiplication, their subtraction allows to implement a division, the sum of n times the logarithm allows to raise a number x to an integer power n, and so on.
D.3. Multiplication D.3. Multiplication
[00209] La figure 25 montre un circuit multiplieur 250 qui calcule le produit de deux valeurs x\, x2 dont des représentations codées sont respectivement produites par deux neurones input 2511; 2512 sous forme de deux paires d'événements survenant à des temps tfnl et tfnl = tfnl + Atx pour la valeur x\ et à des temps tfn2 et tfn2 = tfn2 + At2 pour la valeur x2 (figure 25) avec Ah = Tmin + x2.Tcod. [00209] FIG. 25 shows a multiplier circuit 250 which calculates the product of two values x 1 , x 2 , coded representations of which are respectively produced by two input neurons 251 1; 251 2 as two pairs of events occurring at times tf nl and tf nl = tf nl + At x for the value x \ and at times tf n2 and tf n2 = tf n2 + At 2 for the value x 2 (figure 25) with Ah = T min + x 2 .T cod .
[00210] Chaque neurone input 251 k (k = 1 ou 2) appartient à un groupe de nœuds 20¾ semblable à celui décrit en référence à la figure 2. Le neurone first 253k de ce groupe 20¾ est le nœud émetteur d'une ge-synapse excitatrice 252k de poids wacc et de retard Tmin + Tsyn, tandis que le neurone last 255k est le nœud émetteur d'une ge-synapse inhibitrice 254¾ de poids— wacc et de retard Tsyn. Les deux ge-synapses 252¾, 254¾ issues du groupe de nœuds 20¾ ont comme nœud récepteur un même neurone acc 256k qui joue un rôle similaire au neurone acc 216 de la figure 21. [00211] Le circuit 250 comporte en outre un neurone sync 260 qui est le nœud récepteur de deux V-synapses excitatrices 261 l5 2612 de poids wJ2 et de retard Tsyn provenant respectivement des neurones last 255 \, 2552. Une ^synapse 262 de poids g^u et de retard Tsyn et une gaie-synapse excitatrice 264 de poids 1 et de retard Tsyn vont du neurone sync 260 au neurone acc 256\. [00212] Une ^/-synapse 265 de poids gmuit et de retard Tsyn et une gaie-synapse excitatrice 266 de poids 1 et de retard Tsyn vont du neurone acc 256\ au neurone acc 2562. Each neuron input 251 k (k = 1 or 2) belongs to a group of nodes 20 ¾ similar to that described with reference to FIG. 2. The first neuron 253 k of this group 20 ¾ is the transmitting node of a g e k -synapse exciter 252 weight w acc and delay T min + T syn, while the last neuron k 255 is the source node of a g e inhibitory -synapse 254 ¾ weight- w acc and delay T syn . The two g e -synapses 252 ¾ , 254 ¾ from the node group 20 ¾ have as receiving node the same acc 256 k neuron which plays a role similar to the accelerator neuron 216 of FIG. 21. further a sync neuron 260 which is the receiver of two V-excitatory synapses node 261 l5 261 2 WJ2 weight and delay T syn respectively from the neurones last 255 \, 255 2. A synapse 262 of weight g ^ u and of delay T syn and an excitatory gay-synapse 264 of weight 1 and of delay T syn go from neuron sync 260 to neuron acc 256 \ . [00212] A ^ / - synapse 265 of weight g mu i t and of delay T syn and an excitatory gay-synapse 266 of weight 1 and of delay T syn go from the neuron acc 256 \ to the neuron acc 256 2 .
[00213] Le circuit 250 comporte un autre neurone acc 268 qui joue un rôle similaire au neurone acc 238 de la figure 23. Le neurone acc 268 est le nœud récepteur d'une ^/-synapse 269, de poids gmuit et de retard 3Tsyn, et d'une gaie-synapse excitatrice 270, de poids 1 et de retard 3Tsyn, provenant toutes deux du neurone sync 260. En outre, le neurone acc 268 est le nœud récepteur d'une gaie-synapse inhibitrice 271, de poids -1 et de retard Tsyn, et d'une ge-synapse excitatrice 272, de poids wacc et de retard Tsyn, provenant toutes deux du neurone acc 2562. The circuit 250 comprises another acc 268 neuron which plays a role similar to the accelerator neuron 238 of FIG. 23. The accelerator neuron 268 is the receptor node of a 269 μ / synapse of weight g mu i t and 3T syn , and a 270 excitatory gay synapse, weight 1 and 3T syn syn , both from the sync neuron 260. In addition, the acc 268 neuron is the receiving node of an inhibitory gay synapse 271, weight -1 and delay T syn , and excitatory e- synapse 272, weight w acc and delay T syn , both from the neuron acc 256 2 .
[00214] Le circuit 250 possède enfin un neurone output 274 qui est le nœud récepteur d'une V-synapse excitatrice 275, de poids we et de retard 2Tsyn, provenant du neurone acc 2562 et d'une V-synapse excitatrice 276, de poids we et de retard Tsyn + Tsyn, provenant du neurone acc 268. The circuit 250 finally has a neuron output 274 which is the receiving node an excitatory V-synapse 275, of weight w e and 2T syn late, from the acceler 256 neuron 2 and an excitatory V-synapse 276, weight w e and delay T syn + T syn , from the neuron acc 268.
[88215] Le fonctionnement du circuit multiplieur 250 selon la figure 25 est illustré par la figure 26. [88215] The operation of the multiplier circuit 250 according to FIG. 25 is illustrated in FIG. 26.
[01)216] Chacun des deux neurones acc 2561 ; 2562 se comporte initialement comme le neurone acc 216 de la figure 21, avec une progression linéaire 2781 ; 2782 de poids wacc sur une première période de durée respective xi.Tcod, X2-Tcod, conduisant à stocker les valeurs de potentiel Vt.x\ et Vt.X2 dans les neurones acc 2561 , 2562. [8 )217] L'émission du second spike au temps tfn2 = tfn2 + Tmin + x2 - TCod au niveau du neurone input présentant la plus petite valeur (le neurone input 2512 dans l'exemple représenté sur la figure 26 où on a x\ > JC2) stoppe l'accumulation à dynamique linéaire sur le neurone acc correspondant 2562 via la ge-synapse 2542 au temps tlast2 + Tsyn = tfn2 + 2Tsyn + Tneu. Le potentiel de membrane de ce neurone acc 2562 présente alors un plateau 279 qui dure jusqu'à sa réactivation via les synapses 265, 266. Au temps tlast2 + Tsyn = tfm + 2Tsyn + Tneu , le potentiel du neurone sync 260 passe à la valeur Vt/2 du fait de l'événement reçu du neurone last 2552 via la V-synapse 2612. [01) 216] Each of the two neurons acc 256 1; 256 2 behaves initially like the neuron acc 216 of Figure 21, with a linear progression 278 1; 278 2 of weight w acc over a first period of respective duration xi.T cod , X2-T cod , leading to store the potential values V t .x \ and V t .X2 in acc 2561, 256 2 neurons. [8) 217] The emission of the second spike at time tf tf n2 + n2 = T min + x 2 - T C o d at the input neuron having the smallest value (the neuron input 251 2 in the example shown in figure 26 where one ax \ > JC 2 ) stops the accumulation with linear dynamics on the acc corresponding neuron 256 2 via the g e -synapse 254 2 at the time tl ast2 + T syn = tf n2 + 2T syn + T neu . The membrane potential of this neuron acc 256 2 then presents a plateau 279 which lasts until its reactivation via the synapses 265, 266. At time t1 ast2 + T syn = tfm + 2T syn + T neu , the potential of the sync neuron 260 passes to the value V t / 2 due to the event received from the neuron last 255 2 via the V-synapse 261 2 .
[1)8218] L'émission du second spike au temps tfnl = tfnl + Tmin + xx. Tcod au niveau du neurone input présentant la plus grande valeur (le neurone input 25 \ \ dans le cas de la figure 26) stoppe l'accumulation à dynamique linéaire sur le neurone acc correspondant 256 \ via la ^-synapse 254i au temps tfastl + Tsyn = tfnl + 2Tsyn + Tneu . Au même moment, le potentiel de ce neurone sync 260 atteint la valeur du fait de l'événement reçu sur la V-synapse 2611 . Il en résulte l'émission d'un événement au temps = tfnl + 2Tsyn + 2Tneu sur les synapses 262 et 264. La dynamique exponentielle 280i est alors activée sur le neurone acc 256i à la place de la dynamique linéaire 278i au temps t tl = + Tsyn. Parallèlement, les synapses 269, 270 activent la dynamique exponentielle 281 sur le neurone acc 268 au temps t t3 = + 3Tsyn. [1) 8218] The emission of the second spike at time tf nl = tf nl + T min + x x . T cod at the level of the neuron input having the highest value (the input neuron 25 \ \ in the case of Figure 26) stops linear dynamic accumulation on the corresponding acce neuron 256 \ via the ^ -synapse 254i at time tf astl + T syn = tf nl + 2T syn + T neu . At the same time, the potential of this neuron sync 260 reaches the value due to the event received on the V-synapse 2611. The result is the emission of an event at the time = tf nl + 2T syn + 2T neu on the synapses 262 and 264. The exponential dynamics 280i is then activated on the accelerometer 256i instead of the linear dynamics 278i at the time t tl = + T syn . At the same time, the synapses 269, 270 activate the exponential dynamics 281 on the acc 268 neuron at time t t3 = + 3T syn .
[08219] Le potentiel du neurone acc 256 \ atteint le seuil Vt et provoque un événement sur les synapses 265, 266 au temps tfogl = t tl— r^. log(x1) . [00220] La dynamique exponentielle 280i est alors activée sur le neurone acc 2562 au temps = tfogi + Tsyn. Le potentiel de ce neurone acc 2562 atteint le seuil Vt et provoque un événement sur les synapses 271, 272, 275 au temps î . log(x2) = t ync ~ Tf. \og(x1. x2) + 2Tsyn. La gaie-synapse 271 désactive la dynamique exponentielle 281 sur le neurone acc 268 au temps tgnd3 = + Tsyn, et simultanément la dynamique linéaire 282 du neurone acc 268 est activée via la ge-synapse 272 à partir de la valeur : [08219] The potential of access 256 \ neuron reaches the threshold V t and causes an event on synapses 265, 266 at time t = tf ogl t - r ^. log (x 1 ). The exponential dynamics 280i is then activated on the neuron acc 256 2 at time = tfogi + T syn . The potential of this neuron acc 256 2 reaches the threshold V t and causes an event on the synapses 271, 272, 275 at the time î. log (x 2 ) = t ync ~ Tf. \ og (x 1 x 2 ) + 2T syn . The gay-synapse 271 disables the exponential dynamic 281 on the acc 268 neuron at time t gnd3 = + T syn , and simultaneously the linear dynamics 282 of the acc 268 neuron is activated via the g e -synapse 272 from the value:
[88221] La V-synapse 275 provoque l'émission d'un premier spike sur le neurone output 274 au temps + 2Tsyn + Tneu. [00222] Le neurone acc 268 atteint le seuil Vt et provoque un événement sur la[88221] The V-synapse 275 causes the emission of a first spike on the neuron output 274 at the time + 2T syn + T neu . [00222] The acc 268 neuron reaches the threshold V t and causes an event on the
V-synapse 276 au temps exxpv = + x1. x2. Tcod . Il en résulte, au niveau du neurone output 21 l'émission d'un second spike au temps t%ut = + Tmin + Tsyn + Tneu. V-synapse 276 at the time ex x p v = + x 1 . x 2 . T cod . As a result, at the level of the output neuron 21 the emission of a second spike at time t% ut = + T min + T syn + T neu .
[8 )223] Finalement, les deux événements délivrés par le neurone output 268 sont séparés par un intervalle de temps de AT0Ut = t%ut - t£ut = Tmin + x1. x2. Tcod = f{x . x2). [8(1224] Le circuit 250 de la figure 25 délivre donc sur son neurone output 268 la représentation du produit x\ .X2 des deux nombres x\, x2 compris entre A et 1 dont il reçoit les représentations respectives sur ses neurones input 2511; 2512. [8) 223] Finally, two events issued by the output neuron 268 are separated by a time interval AT 0UT t =% C - t £ ut = T min + x 1. x 2 . T cod = f {x. x 2 ). [8 (1224] The circuit 250 of FIG. 25 thus delivers on its output neuron 268 the representation of the product x \ .X2 of the two numbers x \ , x 2 between A and 1 from which it receives the respective representations on its neurons. 251 1; 251 2 .
[80225] Pour cela, les paires d'événements n'ont pas eu à être reçus synchronisées sur neurones input 2511; 2512, le neurone sync 260 se chargeant de la synchronisation. D.4. Multiplication signée [80225] For this, the event pairs did not have to be received synchronized on neurons input 251 1; 251 2 , the sync neuron 260 taking care of the synchronization. D.4. Signed multiplication
[88226] La figure 27 montre un circuit multiplieur 290 qui calcule le produit de deux valeurs signées x\, JC2. Toutes les synapses représentées sur la figure 27 présentent le retard T Figure 27 shows a multiplier circuit 290 which calculates the product of two signed values x \ , JC 2 . All the synapses shown in Figure 27 show the delay T
[88227] Pour chaque valeur d'entrée ¾ (1 < k < 2), le circuit multiplieur 290 comporte un neurone input+ 29 et un neurone input- 292k qui sont les nœuds émetteurs de deux V-synapses respectives 293¾ et 294^ de poids we. Les y-synapses 293i et 294i sont dirigées vers un neurone input 25\\ d'un circuit multiplieur 250 du genre représenté sur la figure 25, tandis que les V-synapses 293 et 29 -i sont dirigées vers l'autre neurone input 2512 du circuit 250. [88227] For each input value ¾ (1 <k <2), the multiplier circuit 290 comprises an input neuron + 29 and an input-292 k neuron which are the transmitting nodes of two respective V-synapses 293 ¾ and 294 ^ weight e . The y-synapses 293i and 294i are directed towards a neuron input 25 \ \ of a multiplier circuit 250 of the kind shown in Figure 25, while the V-synapses 293 and 29-i are directed to the other input neuron 251 2 of the circuit 250.
[01)228] Le circuit multiplieur 290 possède un neurone output+ 295 et un neurone output- 296 qui sont les nœuds récepteurs de deux V-synapses excitatrices respectives 297 et 298 de poids we provenant du neurone output 274 du circuit 250. [01) 228] The multiplier circuit 290 has a + 295 output neuron and an output-296 neuron which are the receptor nodes of two respective excitatory V-synapses 297 and 298 of weight w e from the output neuron 274 of the circuit 250.
[01)229] Le circuit multiplieur 290 comporte encore quatre neurones sign 300-303 connectés pour former une logique de sélection du signe du résultat de la multiplication. Chaque neurone sign 300-303 est le nœud récepteur de deux V-synapses excitatrices respectives de poids we/4 provenant de deux des quatre neurones input 291¾, 292^. Le neurone sign 300 relié aux neurones input+ 2911; 2912 détecte la réception de deux entrées x X2 positives. Il forme le nœud émetteur d'une V-synapse inhibitrice 305 de poids 2wi allant au neurone output- 296. Le neurone sign 303 relié aux neurones input- 2921; 2922 détecte la réception de deux entrées x\, x2 négatives. Il forme le nœud émetteur d'une V-synapse inhibitrice 308 de poids allant au neurone output- 296. Le neurone sign 301 relié aux neurones input- 292\ et input+ 292\ détecte la réception d'une entrée x\ négative et d'une entrée JC2 positive. Il forme le nœud émetteur d'une V-synapse inhibitrice 306 de poids 2wi allant au neurone output+ 295. Le neurone sign 302 relié aux neurones input+ 29\\ et input- 2922 détecte la réception d'une entrée x\ positive et d'une entrée x2 négative. Il forme le nœud émetteur d'une V-synapse inhibitrice 307 de poids 2wi allant au neurone output+ 295. [01) 229] The multiplier circuit 290 further comprises four sign 300-303 neurons connected to form a selection logic of the sign of the result of the multiplication. Each signaling neuron 300-303 is the receiving node of two respective excitatory V-synapses of weight w e / 4 from two of the four input neurons 291 ¾ , 292 ^. The sign 300 neuron connected to input + 291 1 neurons ; 291 2 detects the reception of two positive x X2 inputs. It forms the emitting node of an inhibitory V-synapse 305 of weight 2wi going to the neuron output- 296. The sign 303 neuron connected to the input-292 1 neurons ; 292 2 detects the reception of two x \ , x 2 negative inputs. It forms the transmitting node of a 308 inhibitory V-synapse of weight to neuron output- 296. The signal neuron 301 connected to the input- 292 \ neurons and input + 292 \ detects the reception of a negative input x \ and a positive input JC 2 . It forms the emitter node of an inhibitory synapse V-306 2wi weight from the neuron 295. The neuron output + sign 302 connected to input neurons + 29 \ \ input- and 292 2 detects the reception of an input x \ positive and a negative x 2 input. It forms the transmitting node of an inhibitory V-synapse 307 of weight 2wi going to the neuron output + 295.
[8 )230] Des V-synapses inhibitrices sont agencées entre les neurones sign 300-303 pour assurer qu'un seul d'entre eux intervienne pour inhiber l'un des neurones output+ 295 et output- 296. Chaque neurone sign 300-303 correspondant à un signe (+ ou -) du produit est ainsi le nœud émetteur de deux V-synapses inhibitrices de poids wJ2 allant respectivement vers les deux neurones sign correspondant au signe opposé. [8) 230] Inhibitory V-synapses are arranged between the 300-303 sign neurons to ensure that only one of them intervenes to inhibit one of the output 295 and output 296 neurons. Each neuron sign 300-303 corresponding to a sign (+ or -) of the product is thus the node emitting two inhibitory V-synapses of weight wJ2 going respectively to the two sign neurons corresponding to the opposite sign.
[00231 ] Ainsi agencé, le circuit 290 de la figure 27 délivre deux événements séparés de l'intervalle de temps sur l'une de ses sorties 295, 296, conformément au signe de X1.X2, lorsque les deux nombres x\, JC2 sont présentés avec leurs signes respectifs sur les entrées 29 , 292¾. [0 )232] On peut y adjoindre une logique de détection de zéro sur l'une des entrées, comme dans le cas de la figure 17, pour assurer qu'une entrée nulle produira l'intervalle de temps Tmin entre deux événements produits sur le neurone output+ 295 et non pas le neurone output- 296. [00231] Thus arranged, the circuit 290 of FIG. 27 delivers two events separated from the time interval. on one of its outputs 295, 296, according to the sign of X1.X2, when the two numbers x \ , JC 2 are presented with their respective signs on the inputs 29, 292¾. [0] 232] Zero detection logic can be added to one of the inputs, as in Figure 17, to ensure that zero input will produce the time T min between two events produced on the neuron output + 295 and not the neuron output- 296.
E. Résolution d'équations différentielles E.1. Intégration [1)8233] La figure 28 montre un circuit 310 qui reconstruit un signal à partir de ses dérivées fournies sous forme signée sur un neurone d'une paire de neurones input+ 311 et input- 312. Le signal intégré est présenté, en fonction de son signe, par un neurone d'une paire de neurones output+ 313 et output- 314. Les synapses 321-332 représentées sur la figure 28 sont toutes des V-synapses excitatrices de poids we. Elles présentent toutes le retard Tsyn sauf la synapse 329 dont le retard est Tmin + Tsyn. E. Resolution of differential equations E.1. Integration [1) 8233] Figure 28 shows a circuit 310 that reconstructs a signal from its derivatives provided in signed form on a neuron of a pair of input + 311 and input-312 neurons. The integrated signal is presented, based on of its sign, by a neuron of a pair of output + 313 and output-314 neurons. The 321-332 synapses shown in FIG. 28 are excitatory V-synapses of weight w e . They have all the delay T syn except the synapse 329 whose delay is T m i n + T syn .
[01)234] Pour réaliser l'intégration, le circuit 310 utilise un circuit de combinaison linéaire 200 du genre de celui représenté sur la figure 20, avec N = 2 et des coefficients aç> = 1 et a = dt, où dt est le pas d'intégration choisi. [01) 234] To achieve the integration, the circuit 310 uses a linear combination circuit 200 of the kind shown in FIG. 20, with N = 2 and coefficients ac > = 1 and a = dt, where dt is the integration step chosen.
[01)235] Les neurones input+ 311 et input- 312 sont respectivement reliés aux neurones input+ et input- 18 \\ du circuit 200 associés au coefficient a\ = dt par deux V-synapses 321, 322. [01) 235] Neurons input + 311 and input- 312 are respectively connected to the input neurons and input- + 18 \ \ circuit 200 associated with the coefficient a \ = dt by two V-synapses 321, 322.
[01)236] Les autres neurones input+ et input- 181 \ du circuit 200, associés au coefficient ao = 1, sont respectivement reliés par deux V-synapses 323, 324 à deux neurones output+ 315 et output- 316 d'un circuit 217 dont le rôle est de fournir une valeur d'initialisation xç, pour le processus d'intégration. Le circuit 317 est essentiellement constitué de la paire de neurones output+ 315 et output- 316 reliés à un même neurone recall 15 de la manière représentée sur la figure 1. [01) 236] The other input neurons + and input- 181 \ circuit 200, associated with the coefficient ao = 1, are respectively connected by two V-synapses 323, 324 to two output neurons + 315 and output- 316 of a circuit 217 whose role is to provide an initialization value xc, for the integration process. The circuit 317 essentially consists of the pair of output + 315 and output-316 neurons connected to the same recall neuron 15 as shown in FIG.
[00237] Un autre neurone init 318 du circuit d'intégration 310 est le nœud émetteur d'une synapse 325 dont le nœud récepteur est le neurone recall 15 du circuit 317. Le neurone init 318 charge l'intégrateur avec sa valeur initiale x0 stockée dans le circuit 317. Another initiating neuron 318 of the integration circuit 310 is the transmitting node of a synapse 325 whose receiving node is the recall neuron 15 of the circuit 317. The initiating neuron 318 loads the integrator with its initial value x 0. stored in circuit 317.
[00238] De synapses 326, 327 sont agencées pour faire rétroagir, respectivement, le neurone output+ 143 du circuit de combinaison linéaire 200 sur son neurone input+ 18 lo et le neurone output- 144 du circuit d'intégration 200 sur son neurone input- 18 lo- [88239] Un neurone start 319 est le nœud émetteur de deux synapses 328, 329 qui présentent une valeur nulle sous forme de deux événements séparés de l'intervalle de temps Tmin sur le neurone input+ 18 du circuit d'intégration 180. Synapses 326, 327 are arranged to retroact, respectively, the neuron output + 143 of the linear combination circuit 200 on its input neuron + 18 lo and the output-144 neuron of the integration circuit 200 on its neuron input-18. lo- [88239] A start neuron 319 is the transmitting node of two synapses 328, 329 which have a zero value in the form of two events separated from the time interval T m in on the input neuron + 18 of the integration circuit 180.
[88248] Les neurones output+ 143 et output- 144 du circuit de combinaison linéaire 200 sont les nœuds émetteurs respectifs de deux synapses 330, 331 dont les nœuds récepteurs sont respectivement les neurones output+ 313 et output- 314 du circuit d'intégration 310. [88248] The neurons output + 143 and output-144 of the linear combination circuit 200 are the respective transmitting nodes of two synapses 330, 331 whose receiving nodes are respectively the output 313 and output 314 neurons of the integration circuit 310.
[08241] Le circuit d'intégration 310 possède enfin un neurone new input 320 qui est le nœud récepteur d'une synapse 332 provenant du neurone start 207 du circuit de combinaison linéaire 200. [08242] La valeur initiale xç, est, selon son signe, délivrée sur le neurone output+ 313 ou output- 314 une fois que le neurone init 318 puis le neurone start 319 ont été activés. Au même moment, un événement est délivré par le neurone new input 320. Cet événement signale à l'environnement du circuit 310 que la valeur de dérivée g k.dt), avec k = 0, peut être fournie. Dès que cette valeur de dérivée g k.dt) est présentée sur le neurone input+ 311 ou input- 312, une nouvelle valeur d'intégrale est délivrée par le neurone output+ 313 ou output- 314 et un nouvel événement délivré par le neurone new input 320 signale à l'environnement du circuit 310 que la prochaine valeur de dérivée g'' ' ((k+l).dt) peut être fournie. Ce processus se répète autant de fois que des valeurs de dérivée g k.dt) sont fournies (k = 0, 1, 2, etc.). [00243] Après fourniture d'une (fc+l)-ième valeur de dérivée g k.dt) au circuit intégrateur 310, on trouve en sortie la représentation de la valeur : x0 +∑ =0 g' (i. dt). dt (23) qui, à une constante additive près, est une approximation de g(T) = / g' (t). dt , avec T = (k + l).dt. [08244] Les circuits décrits précédemment en référence aux figures 1-28 peuvent être assemblés et configurés pour exécuter de nombreux types de calculs dans lesquels les grandeurs manipulées, en entrée et/ou sortie sont représentées par des intervalles de temps entre événements reçus ou délivrés par des neurones. [88245] En particulier, les figures 29, 31 et 33 illustrent des exemples de dispositifs de traitement selon l'invention servant à résoudre des équations différentielles. Des calculs ont été réalisés avec des circuits construits comme sur ces figures, avec des paramètres choisis purement à titre d'exemple de la façon suivante : Tm = 100 s, -^= 20 ms, V^ lO mV, Tmin = 10 ms et Tcod = 100 ms. The integration circuit 310 finally has a new input neuron 320 which is the receiving node of a synapse 332 coming from the start neuron 207 of the linear combination circuit 200. The initial value xc is, according to its sign, delivered on the neuron output + 313 or output- 314 once the neuron init 318 and then the neuron start 319 have been activated. At the same time, an event is delivered by the new input neuron 320. This event signals to the environment of the circuit 310 that the derivative value g k.dt), with k = 0, can be provided. As soon as this derivative value g k.dt) is presented on the input + 311 or input-312 neuron, a new integral value is delivered by the output + 313 or output-314 neuron and a new event delivered by the new input neuron. 320 signals to the environment of circuit 310 that the next derivative value g ''' ((k + 1) .dt) can be provided. This process is repeated as many times as derivative values g k.dt) are provided (k = 0, 1, 2, etc.). After providing a (fc + 1) -th derivative value g k.dt) to the integrator circuit 310, the output is represented by the value: x 0 + Σ = 0 g '(i .dt) ). dt (23) which, to an additive constant, is an approximation of g (T) = / g '(t). dt, with T = (k + l) .dt. The circuits described above with reference to FIGS. 1-28 can be assembled and configured to perform many types of calculations in which the quantities manipulated, input and / or output are represented by time intervals between events received or delivered. by neurons. In particular, Figures 29, 31 and 33 illustrate examples of processing devices according to the invention for solving differential equations. Calculations have been made with circuits constructed as in these figures, with parameters chosen purely by way of example as follows: T m = 100 s, - ^ = 20 ms, V ^ 10 mV, Tmin = 10 ms and T cod = 100 ms.
E.2. Équation différentielle du premier ordre E.2. Differential equation of the first order
[88246] La figure 29 montre un dispositif de traitement qui implémente la résolution de l'équation différentielle : x. - + X{t) = X (24) où τ et X sont des paramètres pouvant prendre différentes valeurs. Les synapses représentées sur la figure 29 sont toutes des V-synapses excitatrices de poids we et de retard T [88246] Figure 29 shows a processing device that implements the resolution of the differential equation: x. - + X {t) = X (24) where τ and X are parameters that can take different values. The synapses shown in Figure 29 are all excitatory V-synapses of weight w e and delay T
[88247] Pour résoudre l'équation (24), le dispositif de la figure 29 utilise : [88247] To solve equation (24), the device of FIG. 29 uses:
• un circuit de combinaison linéaire 200 tel que représenté sur la figure 20, avec N = 2 et des coefficients aç> = -l/τ et a\ = +1/τ; A linear combination circuit 200 as represented in FIG. 20, with N = 2 and coefficients ac > = -l / τ and a \ = + 1 / τ;
• un circuit intégrateur 310 tel que représenté sur la figure 28, avec un pas d'intégration dt ; et  An integrator circuit 310 as represented in FIG. 28, with an integration step dt; and
• un circuit 317 de fourniture de la constante X∞, semblable au circuit 317 décrit en référence à la figure 28, sous forme de l'intervalle de temps f(\XJ) entre deux spikes délivrés soit par son neurone output+ 315, soit par son neurone output- 316, selon le signe de X. A circuit 317 for supplying the constant X∞, similar to the circuit 317 described with reference to FIG. 28, in the form of the time interval f (\ XJ) between two spikes delivered either by its output neuron + 315, or by its output-316 neuron, according to the sign of X .
[88248] La constante X est fournie à l'un des neurones input+ et input- 18 associés au coefficient a\ = 1/f dans le circuit de combinaison linéaire 200 après chaque activation du neurone recall 15 qui est le nœud récepteur d'une synapse 340 provenant du neurone new input 320 du circuit intégrateur 310. Deux synapses 341, 342 font rétroagir la sortie output+ 313 du circuit intégrateur 310 sur l'autre entrée input+ 18 lo du circuit de combinaison linéaire 200 et, respectivement, la sortie output- 314 du circuit 310 sur l'autre entrée input- 18 lo du circuit 200. Deux synapses 343, 344 vont de la sortie output+ 203 du circuit de combinaison linéaire 200 à l'entrée input+ 311 du circuit intégrateur 310 et, respectivement, de la sortie output+ 204 du circuit 200 à l'entrée input- 312 du circuit 310. [88248] The constant X is supplied to one of the input + and input-18 neurons associated with the coefficient a \ = 1 / f in the linear combination circuit 200 after each activation of the recall neuron 15 which is the receiving node of a synapse 340 from the new input neuron 320 of the integrator circuit 310. Two synapses 341, 342 retroact the output + 313 of the integrator circuit 310 on the other input input + 18 lo of the linear combination circuit 200 and, respectively, the output output 314 of the circuit 310 on the other input-18 input of the circuit 200. Two synapses 343, 344 go from the output output + 203 of the linear combination circuit 200 at input input + 311 of integrator circuit 310 and, respectively, of output output 204 of circuit 200 at input input 312 of circuit 310.
[01)249] Le dispositif de la figure 29 a une paire de neurones output+ 346 et output- 347 qui sont les nœuds récepteurs de deux synapses issues des neurones output+ 313 et output- 314 du circuit intégrateur 310. [01) 249] The device of FIG. 29 has a pair of output + 346 and output-347 neurons which are the receiving nodes of two synapses resulting from the output + 313 and output-314 neurons of the integrator circuit 310.
[t)D25ft] Les neurones init 348 et start 349 permettent d'initialiser et de faire démarrer le processus d'intégration. Le neurone init 348 doit être déclenché avant le processus d'intégration pour charger la valeur initiale dans le circuit intégrateur 310. Le neurone start 349 est déclenché pour délivrer la première valeur à partir du circuit 310. [00251] Le dispositif de la figure 29 est réalisé à l'aide de 118 neurones si on utilise les composants tels que décrits en référence aux figures précédentes. Ce nombre de neurones peut être réduit par optimisation. [t) D25ft] The init 348 and start 349 neurons are used to initialize and start the integration process. The init neuron 348 must be triggered before the integration process to load the initial value in the integrator circuit 310. The start neuron 349 is triggered to deliver the first value from the circuit 310. The device of Fig. 29 is carried out using 118 neurons if the components as described with reference to the preceding figures are used. This number of neurons can be reduced by optimization.
100252] Des résultats de simulation de ce dispositif avec différents jeux de paramètres τ, Xoo et avec un pas d'intégration dt = 0,5 sont présentés sur la figure 30A pour différentes valeurs de τ et sur la figure 30B pour différentes valeurs de X (X = -0,2, X = 0,1 et Xoo = -0,4). Chaque point des courbes C1-C3, C' l-C'3 montrées sur les figures 30A et 30B correspond à une valeur de sortie respective codée par une paire de spikes délivrée par le neurone output+ 346 ou le neurone output- 347. On voit que les courbes ainsi obtenues pour la solution X(t) de l'équation différentielle (24) sont conformes à ce qu'on attend (par résolution analytique). 100252] Simulation results of this device with different sets of parameters τ, Xoo and with an integration step dt = 0.5 are presented in FIG. 30A for different values of τ and in FIG. 30B for different values of X (X = -0.2, X = 0.1 and Xoo = -0.4). Each point of the curves C1-C3, C '1-C'3 shown in FIGS. 30A and 30B corresponds to a respective output value coded by a pair of spikes delivered by the output neuron + 346 or the output-347 neuron. that the curves thus obtained for the solution X (t) of the differential equation (24) are in accordance with what is expected (by analytical resolution).
E.3. Équation différentielle du second ordre E.3. Differential equation of the second order
[88253] La figure 31 montre un dispositif de traitement qui implémente la résolution de l'équation différentielle : u$ dt2 ' ?o " dt ^'* ^ ^ où ξ et &>o sont des paramètres pouvant prendre différentes valeurs. Les synapses représentées sur la figure 31 sont toutes des V-synapses excitatrices de poids we et de retard Tsyn. Comme les grandeurs manipulées dans cet exemple sont toutes positives, il n'est pas nécessaire de prévoir deux trajets distincts pour les valeurs positives et pour les valeurs négatives. Seul le trajet relatif aux valeurs positives est donc inclus. [88253] Figure 31 shows a processing device that implements the resolution of the differential equation? O "dt ^. U $ 2 dt ^ * ^, where ξ and &> o are parameters that can take different values The synapses shown in Fig. 31 are all excitatory V-synapses of weight w e and delay T syn, since the quantities manipulated in this example are all positive. necessary to provide two separate paths for positive and negative values. Only the path relative to the positive values is therefore included.
[00254] Pour résoudre l'équation (25), le dispositif de la figure 31 utilise : [00254] To solve equation (25), the device of FIG. 31 uses:
• un circuit de combinaison linéaire 200 tel que représenté sur la figure 20, avec N = 3 et des coefficients ο = a2 = &Ό2 et ai = -ζ.ω ; • a linear combination circuit 200 as shown in Figure 20, with N = 3 and the coefficients ο = a 2 = & Ό 2 and ai = -ζ.ω;
• deux circuits intégrateurs 310A, 310B tels que celui représenté sur la figure 28, avec un pas d'intégration dt ; et  Two integrating circuits 310A, 310B such as that shown in FIG. 28, with an integration step dt; and
• un circuit 317 de fourniture de la constante X∞, semblable au circuit décrit en référence à la figure 1, sous forme de l'intervalle de temps flX∞) entre deux spikes délivrés par son neurone output 16 (X∞ > 0).  A circuit 317 for supplying the constant X∞, similar to the circuit described with reference to FIG. 1, in the form of the time interval flX∞) between two spikes delivered by its output neuron 16 (X∞> 0).
[88255] La constante X est fournie au neurone input 1812 associé au coefficient 2 = a>o dans le circuit de combinaison linéaire 200 après chaque activation du neurone recall 15 qui est le nœud récepteur d'une synapse 350 provenant du neurone new input 320 du second circuit intégrateur 310B. Deux synapses 351, 352 font rétroagir la sortie output 313 du second circuit intégrateur 310B sur l'entrée input 18 \ \ du circuit de combinaison linéaire 200 associée au coefficient a\ = -ξ.ωο et, respectivement, la sortie output 313 du premier circuit intégrateur 310A sur l'autre entrée input 18 lo du circuit 200 associée au coefficient ao = ωο . Une synapse 353 va de la sortie output 203 du circuit de combinaison linéaire 200 à l'entrée input 311 du premier circuit intégrateur 310A. Une synapse 354 va de la sortie output 313 du premier circuit intégrateur 310A à l'entrée input 311 du second circuit intégrateur 310B. [88255] The constant X is supplied to the input neuron 181 2 associated with the coefficient 2 = a> o in the linear combination circuit 200 after each activation of the recall neuron 15 which is the receiving node of a synapse 350 originating from the neuron new input 320 of the second integrator circuit 310B. Two synapses 351, 352 make the output output 313 of the second integrator circuit 310B back to the input input 18 \ of the linear combination circuit 200 associated with the coefficient a \ = -ξ.ωο and, respectively, the output output 313 of the first integrator circuit 310A on the other input input 18 lo of the circuit 200 associated with the coefficient ao = ωο. A synapse 353 goes from the output output 203 of the linear combination circuit 200 to the input input 311 of the first integrator circuit 310A. A synapse 354 goes from the output output 313 of the first integrator circuit 310A to the input input 311 of the second integrator circuit 310B.
[00256] Le dispositif de la figure 31 a un neurone output 356 qui est le nœud récepteur d'une synapse issue du neurone output 313 du second circuit intégrateur 310B. The device of FIG. 31 has a output neuron 356 which is the receiving node of a synapse originating from the output neuron 313 of the second integrating circuit 310B.
[88257] Les neurones init 358 et start 359 permettent d'initialiser et de faire démarrer le processus d'intégration. Le neurone init 358 doit être déclenché avant le processus d'intégration pour charger les valeurs initiales dans les circuits intégrateurs 310A, 310B. Le neurone start 359 est déclenché pour délivrer la première valeur à partir du second circuit intégrateur 310B. [88258] Le dispositif de la figure 31 est réalisé à l'aide de 187 neurones si on utilise les composants tels que décrits en référence aux figures précédentes. Ce nombre de neurones peut être réduit par optimisation. [88257] The init 358 and start 359 neurons make it possible to initialize and start the integration process. The init neuron 358 must be triggered prior to the integration process to load the initial values into the integrator circuits 310A, 310B. The start neuron 359 is triggered to deliver the first value from the second integrator circuit 310B. [88258] The device of FIG. 31 is made using 187 neurons if the components as described with reference to the preceding figures are used. This number of neurons can be reduced by optimization.
[88259] Des résultats de simulation de ce dispositif avec différents jeux de paramètres ξ, coç, et avec un pas d'intégration dt = 0,2 et X = 0,5 sont présentés sur la figure 32A pour différentes valeurs de coç, et sur la figure 32B pour différentes valeurs de ξ. Chaque point sur les courbes D1-D3, D' l-D'3 montrées sur les figures 32A et 32B correspond à une valeur de sortie respective codée par une paire de spikes délivrée par le neurone output 356. On voit que les courbes ainsi obtenues pour la solution X(t) de l'équation différentielle (25) sont de nouveau conformes à ce qu'on attend. [88259] Simulation results of this device with different sets of parameters ξ, coç, and with an integration step dt = 0.2 and X = 0.5 are presented in FIG. 32A for different values of coç, and in Fig. 32B for different values of ξ. Each point on the curves D1-D3, D '1-D'3 shown in FIGS. 32A and 32B corresponds to a respective output value coded by a pair of spikes delivered by the output neuron 356. It can be seen that the curves thus obtained for the solution X (t) of the differential equation (25) are again in accordance with what is expected.
E.4. Résolution d'un système d'équations différentielles non-linéaires E.4. Resolution of a system of nonlinear differential equations
[88260] La figure 33 montre un dispositif de traitement qui implémente la résolution du système d'équations différentielles non-linéaires proposées par E. Lorenz pour la modélisation d'un écoulement non périodique déterministe ("Deterministic Nonperiodic Flow", Journal ofthe Atmospheric Sciences, Vol. 20, No. 2, pages 130-141, mars 1963) : = o{Y{t) - X(t)) [88260] Figure 33 shows a processing device that implements the resolution of E. Lorenz's system of non-linear differential equations for the modeling of a deterministic nonperiodic flow (Journal of the Atmospheric Sciences). Vol 20, No. 2, pages 130-141, March 1963): = o {Y (t) - X (t))
< ^t = p. X(t) - Y(t) - X(t). Z{t) (26) <^ t = p. X (t) - Y (t) - X (t). Z {t) (26)
[I) 8261] Pour assurer que le système modélisé ait un comportement chaotique, le dispositif de la figure 33 a été simulé avec le choix de paramètres σ = 10, β = 8/3 et p = 28. Les variables étaient mises à l'échelle pour obtenir des variables d'état X, Y et Z évoluant chacune dans l'intervalle [0, 1] de façon qu'elles puissent être représentées sous la forme[I) 8261] To ensure that the modeled system has a chaotic behavior, the device of figure 33 was simulated with the choice of parameters σ = 10, β = 8/3 and p = 28. The variables were set to scale to obtain X, Y and Z state variables each moving in the range [0, 1] so that they can be represented in the form
(I I) ci-dessus. L'état initial du système était fixé à X = - 0,15, Y = - 0,20, et Z = 0,20. Le pas d'intégration utilisé était dt = 0,01. (I I) above. The initial state of the system was set at X = - 0.15, Y = - 0.20, and Z = 0.20. The integration step used was dt = 0.01.
[08262] Les synapses représentées sur la figure 33 sont toutes des V-synapses excitatrices de poids we et de retard Tsyn. Pour alléger le dessin, un seul trajet est représenté, mais il faut entendre qu'il y a à chaque fois un trajet pour les valeurs positives des variables et, en parallèle, un trajet pour leurs valeurs négatives. The synapses shown in Fig. 33 are all excitatory V-synapses of weight w e and delay T syn . To simplify the drawing, only one path is represented, but it must be understood that each time there is a path for the positive values of the variables and, in parallel, a path for their negative values.
[08263] Pour résoudre le système (26), le dispositif de la figure 33 utilise : • deux circuits multiplieurs signés 290A, 290B tels que celui représenté sur la figure 27 pour calculer les non-linéarités contenues dans les dérivées de X, Y et Z ; To solve the system (26), the device of FIG. 33 uses: Two signed multiplication circuits 290A, 290B such as that shown in FIG. 27 to calculate the nonlinearities contained in the derivatives of X, Y and Z;
• trois circuits de combinaison linéaire 200 A, 200B, 200C tels que celui représenté sur la figure 20 pour calculer les dérivées de X, Y et Z ;  Three linear combination circuits 200A, 200B, 200C such as that shown in FIG. 20 to calculate the derivatives of X, Y and Z;
« un circuit synchroniseur signé 90 du type de celui représenté sur la figure 8 avec A signed synchronizer circuit 90 of the type shown in FIG.
N = 3 pour attendre que les trois dérivées soient calculées avant de faire évoluer l'état du système ; N = 3 to wait until the three derivatives are calculated before changing the state of the system;
• trois circuits intégrateurs 310A, 310B, 310C de pas dt tels que celui représenté sur la figure 28 pour calculer le nouvel état à partir des dérivées de X, Y et Z. [00264] Le circuit de combinaison linéaire 200A est configuré N = 2 et des coefficients aç> = σ et ai = -σ. Son neurone input 181Ao est excité depuis le neurone output 313A du circuit intégrateur 310A, et son neurone input 181Ai depuis le neurone output 313B du circuit intégrateur 310B. Son neurone output 203A est le nœud émetteur d'une synapse allant au neurone input 910 du circuit synchroniseur 90. [0026SJ Le circuit de combinaison linéaire 200B est configuré N = 3 et des coefficients aç> = p et ai = a2 = -1. Son neurone input I8IB0 est excité depuis le neurone output 313B du circuit intégrateur 310B, son neurone input 181Bi depuis le neurone output 313A du circuit intégrateur 310A, et son neurone input 181B2 depuis le neurone output 295A du circuit multiplieur 290A. Son neurone output 203B est le nœud émetteur d'une synapse allant au neurone input 911 du circuit synchroniseur 90. Three integrating circuits 310A, 310B, 310C of steps dt such as that represented in FIG. 28 to calculate the new state from the derivatives of X, Y and Z. The linear combination circuit 200A is configured N = 2 and coefficients ac> = σ and ai = -σ. Its input neuron 181Ao is excited from the output neuron 313A of the integrator circuit 310A, and its input neuron 181Ai from the output neuron 313B of the integrator circuit 310B. Its output neuron 203A is the transmitting node of a synapse going to the input neuron 91 0 of the synchronizing circuit 90. [0026] The linear combination circuit 200B is configured N = 3 and the coefficients ac> = p and a1 = a 2 = - 1. Its input neuron I8IB 0 is excited from the output neuron 313B of the integrator circuit 310B, its input neuron 181Bi from the output neuron 313A of the integrator circuit 310A, and its input neuron 181B 2 from the output neuron 295A of the multiplier circuit 290A. Its output neuron 203B is the node transmitting a synapse going to the input neuron 91 1 of the synchronizer circuit 90.
[00266] Le circuit de combinaison linéaire 200C est configuré N = 2 et des coefficients aç> = 1 et ai = - β. Son neurone input I8 IC0 est excité depuis le neurone output 295B du circuit multiplieur 290B, et son neurone input 18 lCi depuis le neurone output 313C du circuit intégrateur 310C. Son neurone output 203C est le nœud émetteur d'une synapse allant au neurone input 912 du circuit synchroniseur 90. The linear combination circuit 200C is configured N = 2 and coefficients ac> = 1 and ai = - β. Its input neuron I8 IC 0 is excited from the output neuron 295B of the multiplier circuit 290B, and its input neuron 18 1Ci from the output neuron 313C of the integrator circuit 310C. Its output 203C neuron is the node transmitting a synapse going to the input neuron 91 2 of the synchronizer circuit 90.
[00267] Trois synapses vont respectivement du neurone output 920 du circuit synchroniseur 90 au neurone input 311A du circuit intégrateur 310A, du neurone output 92\ du circuit 90 au neurone input 311B du circuit intégrateur 310B, et du neurone output 922 du circuit 90 au neurone input 311C du circuit intégrateur 310C. [88268] Le neurone input 291 Ai du circuit multiplieur 290A est excité depuis le neurone output 313 A du circuit intégrateur 310A, et son neurone input 291A2 depuis le neurone output 313C du circuit intégrateur 31 OC. Le neurone input 291Bi du circuit multiplieur 290B est excité depuis le neurone output 313 A du circuit intégrateur 310A, et son neurone input 291B2 depuis le neurone output 313B du circuit intégrateur 310B. [00267] Three synapses are respectively the neuron output 92 0 Circuit synchronizer 90 to the input neuron 311A of 310A integrator circuit, the neuron output 92 \ circuit 90 at input neuron 311B from 310B integrator circuit, and the output neuron 92 2 Circuit 90 to the input neuron 311C of the integrator circuit 310C. [88268] The input neuron 291 Ai of the multiplier circuit 290A is excited from the output neuron 313A of the integrator circuit 310A, and its input neuron 291A 2 from the output neuron 313C of the integrator circuit 31C0. The input neuron 291Bi of the multiplier circuit 290B is excited from the output neuron 313A of the integrator circuit 310A, and its input neuron 291B 2 from the output neuron 313B of the integrator circuit 310B.
[00269] Le dispositif de la figure 33 possède trois neurones output 361, 362 et 363 qui sont les nœuds récepteurs de trois V-synapses excitatrices respectives provenant des neurones output 313A, 313B et 313C des circuits intégrateurs 310A, 310B, 310C. Ces trois neurones output 361-363 délivrent des paires d'événements dont les intervalles représentent des valeurs de la solution {X(t), Y(t), Z(t)} calculée pour le système (26). The device of FIG. 33 has three output neurons 361, 362 and 363 which are the receiving nodes of three respective excitatory V-synapses from the output neurons 313A, 313B and 313C of the integrator circuits 310A, 310B, 310C. These three output neurons 361-363 deliver event pairs whose intervals represent values of the solution {X (t), Y (t), Z (t)} calculated for the system (26).
[01)278] Le dispositif de la figure 33 est réalisé à l'aide de 549 neurones si on utilise les composants tels que décrits en référence aux figures précédentes. Ce nombre de neurones peut être significativement réduit par optimisation. [01) 278] The device of FIG. 33 is made using 549 neurons if the components as described with reference to the preceding figures are used. This number of neurons can be significantly reduced by optimization.
[00271 ] Les points sur la figure 34 correspondent chacun à un triplet {X(t), Y(t), Z(t)} de valeurs de sortie codé par trois paires de spikes respectivement délivrées par les trois neurones output 361-363, dans un graphe à trois dimensions illustrant une simulation du dispositif représenté sur la figure 33. Le point P représente les valeurs X(0), Y(0), Z(0) d'initialisation de la simulation. Les autres points représentent des triplets calculés par le dispositif de la figure 33. [0 )272] Le système se comporte de la manière attendue, en conformité avec l'attracteur étrange décrit par Lorenz. The points in FIG. 34 each correspond to a triplet {X (t), Y (t), Z (t)} of output values encoded by three pairs of spikes respectively delivered by the three output neurons 361-363 , in a three-dimensional graph illustrating a simulation of the device shown in FIG. 33. The point P represents the initialization values X (0), Y (0), Z (0) of the simulation. The other points represent triplets calculated by the device of Figure 33. [0) 272] The system behaves in the expected manner, in accordance with the strange attractor described by Lorenz.
F. Discussion F. Discussion
[00273] On a montré que l'architecture de calcul proposée, avec la représentation des données sous forme d'intervalles de temps entre événements au sein d'un ensemble de nœuds de traitement, permet de concevoir des circuits relativement simples pour réaliser des fonctions élémentaires de manière très efficace et rapide. En général, les résultats des calculs sont disponibles dès que les différentes données d'entrée ont été fournies (à quelques retards synaptiques près). [88274] Ces circuits peuvent ensuite être assemblés pour exécuter des calculs plus sophistiqués. Ils forment des sortes de briques à partir desquelles on peut construire des structures de calcul performantes. Des exemples en ont été montrés en ce qui concerne la résolution d'équations différentielles. [08275] Lorsque les circuits élémentaires sont assemblés, il est possible d'optimiser le nombre de neurones utilisés. Par exemple, certains des circuits ont été décrits avec des neurones input, et/ou des neurones output et/ou des neurones first, last. Dans la pratique, on peut souvent se passer de ces neurones aux interfaces entre circuits élémentaires sans changer la fonctionnalité remplie. [00276] Les nœuds de traitement sont typiquement organisés en matrice. Ceci se prête bien notamment à une implémentation à l'aide de FPGA. It has been shown that the proposed calculation architecture, with the representation of data in the form of time intervals between events within a set of processing nodes, makes it possible to design relatively simple circuits for performing functions. elementary in a very efficient and fast way. In general, the results of the calculations are available as soon as the different input data have been provided (with some synaptic delays). [88274] These circuits can then be assembled to perform more sophisticated calculations. They form types of bricks from which one can build efficient computing structures. Examples have been shown for the resolution of differential equations. [08275] When the elementary circuits are assembled, it is possible to optimize the number of neurons used. For example, some of the circuits have been described with input neurons, and / or output neurons and / or first, last neurons. In practice, these neurons can often be dispensed with at the interfaces between elementary circuits without changing the functionality that is fulfilled. The processing nodes are typically organized into a matrix. This lends itself particularly to an implementation using FPGA.
[00277] Un réseau programmable 400 constituant l'ensemble de nœuds de traitement, ou une partie de cet ensemble, dans un exemple de mise en œuvre du dispositif de traitement est illustré schématiquement sur la figure 35. Le réseau 400 est constitué de multiples neurones ayant tous le même modèle de comportement en fonction des événements reçus sur leurs connexions. Par exemple, le comportement peut être modélisé par les équations (1) indiquées ci-dessus, avec des paramètres Tm et Tf identiques pour les différents nœuds du réseau. A programmable network 400 constituting the set of processing nodes, or a part thereof, in an exemplary implementation of the processing device is illustrated schematically in FIG. 35. The network 400 consists of multiple neurons. all having the same pattern of behavior based on events received on their connections. For example, the behavior can be modeled by the equations (1) indicated above, with identical parameters T m and Tf for the different nodes of the network.
[00278] Une logique de programmation ou de configuration 420 est associée au réseau 400 pour régler les poids synaptiques et les paramètres de retard des connexions entre les nœuds du réseau 400. Cette configuration est opérée de manière analogue à ce qui est couramment pratiqué dans le domaine des réseaux de neurones artificiels. Dans le présent contexte, la configuration des paramètres des connexions est effectuée en fonction du programme de calcul qu'il s'agit d'exécuter et en tenant compte de la relation employée entre les intervalles de temps et les grandeurs qu'ils représentent, par exemple la relation (11). Si le programme est décomposé en opérations élémentaires, la configuration peut résulter d'un assemblage de circuits du genre de ceux qui ont été décrits précédemment. Cette configuration est réalisée sous le contrôle d'une unité de commande 410 munie d'une interface homme-machine. [08279] Un autre rôle de l'unité de commande 410 et de fournir les grandeurs d'entrée au réseau programmable 400, sous forme d'événements séparés par des intervalles de temps appropriés, pour que les nœuds de traitement du réseau 400 exécutent le calcul et délivrent les résultats. Ces résultats sont rapidement récupérés par l'unité de commande 410 pour être présentés à un utilisateur ou à une application qui les utilise. A programming or configuration logic 420 is associated with the network 400 for adjusting the synaptic weights and the delay parameters of the connections between the nodes of the network 400. This configuration is operated in a manner analogous to that which is commonly practiced in the network. field of artificial neural networks. In the present context, the configuration of the parameters of the connections is carried out according to the calculation program which it is necessary to execute and taking into account the relation employed between the intervals of time and the quantities which they represent, by example the relation (11). If the program is broken down into elementary operations, the configuration may result from a circuit assembly of the kind described above. This configuration is performed under the control of a control unit 410 provided with a man-machine interface. Another role of the control unit 410 and to provide the input quantities to the programmable network 400 as events separated by time intervals appropriate, for the network processing nodes 400 to execute the calculation and to deliver the results. These results are quickly retrieved by the control unit 410 to be presented to a user or an application that uses them.
[88288] Cette architecture de calcul convient bien à une exécution rapide de calculs massivement parallèles. [88288] This computation architecture is well suited for fast execution of massively parallel calculations.
[8828 ] En outre, il est relativement facile d'avoir une organisation en pipeline des calculs pour l'exécution d'algorithmes qui se prêtent bien à ce type d'organisation. [8828] In addition, it is relatively easy to have a pipeline organization of calculations for the execution of algorithms that lend themselves to this type of organization.
[88282] Les modes de réalisation décrits ci-dessus sont des illustrations de la présente invention. Diverses modifications peuvent leur être apportées sans sortir du cadre de l'invention qui ressort des revendications annexées. [88282] The embodiments described above are illustrations of the present invention. Various modifications can be made without departing from the scope of the invention which emerges from the appended claims.

Claims

R E V E N D I C A T I O N S
1. Dispositif de traitement de données, comprenant un ensemble de nœuds de traitement et des connexions entre les nœuds, A data processing device, comprising a set of processing nodes and connections between the nodes,
dans lequel chaque connexion a un nœud émetteur et un nœud récepteur parmi l'ensemble de nœuds de traitement et est configurée pour transmettre au nœud récepteur des événements délivrés par le nœud émetteur,  wherein each connection has a transmitting node and a receiving node among the set of processing nodes and is configured to transmit events delivered by the transmitting node to the receiving node,
dans lequel chaque nœud est agencé pour faire varier une valeur de potentiel respective (V) en fonction d'événements reçus par ledit nœud et pour délivrer un événement lorsque la valeur de potentiel atteint un seuil prédéfini (Vt), wherein each node is arranged to vary a respective potential value (V) as a function of events received by said node and to deliver an event when the potential value reaches a predefined threshold (V t ),
dans lequel au moins une grandeur d'entrée (x) du dispositif de traitement de données est représentée par un intervalle de temps (At) entre deux événements reçus par au moins un nœud,  wherein at least one input variable (x) of the data processing device is represented by a time interval (At) between two events received by at least one node,
et dans lequel au moins une grandeur de sortie du dispositif de traitement de données est représentée par un intervalle de temps entre deux événements délivrés par au moins un nœud.  and wherein at least one output quantity of the data processing device is represented by a time interval between two events delivered by at least one node.
2. Dispositif selon la revendication 1, 2. Device according to claim 1,
dans lequel chaque nœud de traitement est agencé pour réinitialiser sa valeur de potentiel lorsqu'il délivre un événement.  wherein each processing node is arranged to reset its potential value when delivering an event.
3. Dispositif selon l'une quelconque des revendications précédentes, 3. Device according to any one of the preceding claims,
dans lequel les connexions entre les nœuds comprennent des connexions de variation de potentiel ayant chacune un poids respectif,  wherein the connections between the nodes comprise potential variation connections each having a respective weight,
et dans lequel le nœud récepteur d'une connexion de variation de potentiel est agencé pour réagir à un événement reçu sur ladite connexion de variation de potentiel en ajoutant à sa valeur de potentiel (V) le poids de ladite connexion de variation de potentiel.  and wherein the receiver node of a potential variation connection is arranged to react to an event received on said potential variation connection by adding to its potential value (V) the weight of said potential variation connection.
4. Dispositif selon la revendication 3, dans lequel l'ensemble de nœuds de traitement comprend au moins un premier nœud (23) formant le nœud récepteur d'une première connexion de variation de potentiel (22) ayant un premier poids positif au moins égal au seuil prédéfini (Vt) pour la valeur de potentiel, et au moins un second nœud (25) formant le nœud récepteur d'une seconde connexion de variation de potentiel (24) de poids au moins égal à la moitié du seuil prédéfini pour la valeur de potentiel et inférieur au seuil prédéfini (Vt) pour la valeur de potentiel,dans lequel le premier nœud (23) forme en outre le nœud émetteur et le nœud récepteur d'une troisième connexion de variation de potentiel (28) de poids égal à l'opposé du premier poids, 4. Device according to claim 3, wherein the set of processing nodes comprises at least a first node (23) forming the receiving node of a first potential variation connection (22) having a first positive weight at least equal to the predefined threshold (V t ) for the potential value, and at least one second node (25) forming the receiving node of a second potential variation connection (24) of weight at least equal to half the predefined threshold for the potential value and below the threshold predefined (V t ) for the potential value, wherein the first node (23) further forms the transmitting node and the receiving node of a third potential variation connection (28) of equal weight opposite the first weight,
dans lequel le premier nœud (23) forme en outre le nœud émetteur d'une quatrième connexion (26) et le second nœud (25) forme en outre le nœud émetteur d'une cinquième connexion (27),  wherein the first node (23) further forms the transmitting node of a fourth connection (26) and the second node (25) further forms the transmitting node of a fifth connection (27),
et dans lequel les première et seconde connexions de variation de potentiel (22, 24) sont configurées pour recevoir chacune deux événements séparés par un premier intervalle de temps (At) représentant une grandeur d'entrée de sorte que les quatrième et cinquième connexions (26, 27) transportent des événements respectifs ayant entre eux un second intervalle de temps en rapport avec le premier intervalle de temps (At).  and wherein the first and second potential variation connections (22, 24) are configured to each receive two events separated by a first time interval (At) representing an input quantity so that the fourth and fifth connections (26) , 27) carry respective events having between them a second time interval related to the first time interval (At).
5. Dispositif selon la revendication 3, comprenant au moins un circuit de calcul de minimum (100), 5. Device according to claim 3, comprising at least one minimum calculation circuit (100),
dans lequel le circuit de calcul de minimum comprend :  wherein the minimum calculation circuit comprises:
des premier et second nœuds d'entrée (101, 102) ;  first and second input nodes (101, 102);
un nœud de sortie (103) ;  an output node (103);
des premier et second nœuds de sélection (104, 105) ;  first and second selection nodes (104, 105);
des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel (106-111) ayant chacune un premier poids positif au moins égal à la moitié du seuil prédéfini (Vt) pour la valeur de potentiel et inférieur au seuil prédéfini (Vt) pour la valeur de potentiel ; first, second, third, fourth, fifth and sixth potential variation connections (106-111) each having a first positive weight at least equal to half the predefined threshold (V t ) for the potential value and less than the threshold predefined value (V t ) for the potential value;
des septième et huitième connexions de variation de potentiel (112-113) ayant chacune un second poids opposé au premier poids ; et des neuvième et dixième connexions de variation de potentiel (114- 115) ayant chacune un troisième poids double du second poids, seventh and eighth potential variation connections (112-113) each having a second weight opposite the first weight; and ninth and tenth potential variation connections (114-115) each having a third double weight of the second weight,
dans lequel le premier nœud d'entrée (101) forme le nœud émetteur des première et troisième connexions (106, 108) et le nœud récepteur de la dixième connexion (115),  wherein the first input node (101) forms the transmitting node of the first and third connections (106, 108) and the receiving node of the tenth connection (115),
dans lequel le second nœud d'entrée (102) forme le nœud émetteur des seconde et quatrième connexions (107, 109) et le nœud récepteur de la neuvième connexion (114), dans lequel le premier nœud de sélection (104) forme le nœud émetteur des cinquième, septième et neuvième connexions (110, 112, 114) et le nœud récepteur des première et huitième connexions (106, 113),  wherein the second input node (102) forms the sending node of the second and fourth connections (107, 109) and the receiving node of the ninth connection (114), wherein the first selection node (104) forms the node emitter of the fifth, seventh and ninth connections (110, 112, 114) and the receiving node of the first and eighth connections (106, 113),
dans lequel le second nœud de sélection (105) forme le nœud émetteur des sixième, huitième et dixième connexions (111, 113, 115) et le nœud récepteur des seconde et septième connexions (107, 112),  wherein the second selection node (105) forms the transmitting node of the sixth, eighth and tenth connections (111, 113, 115) and the receiving node of the second and seventh connections (107, 112),
et dans lequel le nœud de sortie (103) forme le nœud récepteur des troisième, quatrième, cinquième et sixième connexions (108-111).  and wherein the output node (103) forms the receiving node of the third, fourth, fifth and sixth connections (108-111).
6. Dispositif selon la revendication 3, comprenant au moins un circuit de calcul de maximum (120), 6. Device according to claim 3, comprising at least one calculation circuit of maximum (120),
dans lequel le circuit de calcul de maximum comprend :  in which the maximum calculation circuit comprises:
des premier et second nœuds d'entrée (121, 122) ;  first and second input nodes (121, 122);
un nœud de sortie (123) ;  an output node (123);
des premier et second nœuds de sélection (124, 125) ;  first and second selection nodes (124, 125);
des première, seconde, troisième et quatrième connexions de variation de potentiel (126- 129) ayant chacune un premier poids positif au moins égal à la moitié du seuil prédéfini (Vt) pour la valeur de potentiel et inférieur au seuil prédéfini (Vt) pour la valeur de potentiel ; et first, second, third and fourth potential variation connections (126-129) each having a first positive weight at least equal to half the predefined threshold (V t ) for the potential value and less than the predefined threshold (V t ) for the potential value; and
des cinquième et sixième connexions de variation de potentiel (132-133) ayant chacune un second poids égal au double de l'opposé du premier poids, dans lequel le premier nœud d'entrée (121) forme le nœud émetteur des première et troisième connexions (126, 128),  fifth and sixth potential variation connections (132-133) each having a second weight equal to twice the opposite of the first weight, wherein the first input node (121) forms the transmitting node of the first and third connections (126, 128),
dans lequel le second nœud d'entrée (122) forme le nœud émetteur des seconde et quatrième connexions (127, 129), dans lequel le premier nœud de sélection (104) forme le nœud émetteur de la cinquième connexion (132) et le nœud récepteur des première et sixième connexions (126, 133), wherein the second input node (122) forms the transmitting node of the second and fourth connections (127, 129), wherein the first selection node (104) forms the transmitting node of the fifth connection (132) and the receiving node of the first and sixth connections (126, 133),
dans lequel le second nœud de sélection (105) forme le nœud émetteur de la sixième connexion (133) et le nœud récepteur des seconde et cinquième connexions (127, 132), et dans lequel le nœud de sortie (123) forme le nœud récepteur des troisième et quatrième connexions (128, 129).  wherein the second selection node (105) forms the sending node of the sixth connection (133) and the receiving node of the second and fifth connections (127, 132), and wherein the output node (123) forms the receiving node third and fourth connections (128, 129).
7. Dispositif selon la revendication 3, comprenant au moins un circuit soustracteur (140, 170), 7. Device according to claim 3, comprising at least one subtraction circuit (140, 170),
dans lequel le circuit soustracteur (140, 170) comprend :  wherein the subtracter circuit (140, 170) comprises:
des premier et second nœuds de synchronisation (145, 146) ; des premier et second nœuds d'inhibition (147, 148) ;  first and second synchronization nodes (145, 146); first and second inhibition nodes (147, 148);
des premier et second nœuds de sortie (143, 144) ;  first and second output nodes (143, 144);
des première, seconde, troisième, quatrième, cinquième et sixième connexions de variation de potentiel (152-157) ayant chacune un premier poids positif au moins égal au seuil prédéfini (Vt) pour la valeur de potentiel ; des septième et huitième connexions de variation de potentiel (160, 161) ayant chacune un second poids égal à la moitié du premier poids ; first, second, third, fourth, fifth and sixth potential variation connections (152-157) each having a first positive weight at least equal to the predefined threshold (V t ) for the potential value; seventh and eighth potential variation connections (160, 161) each having a second weight equal to half the first weight;
des neuvième et dixième connexions de variation de potentiel (158, 159) ayant chacune un troisième poids opposé au premier poids ; et  ninth and tenth potential variation connections (158, 159) each having a third weight opposite the first weight; and
des onzième et douzième connexions de variation de potentiel (162, 163) ayant chacune un quatrième poids double du troisième poids, eleventh and twelfth potential variation connections (162, 163) each having a fourth weight double the third weight,
dans lequel le premier nœud de synchronisation (145) forme le nœud émetteur des première, seconde, troisième et neuvième connexions (152, 153, 154, 158),  wherein the first synchronization node (145) forms the transmitting node of the first, second, third and ninth connections (152, 153, 154, 158),
dans lequel le second nœud de synchronisation (146) forme le nœud émetteur des quatrième, cinquième, sixième et dixième connexions (155, 156, 157, 159),  wherein the second synchronization node (146) forms the transmitting node of the fourth, fifth, sixth and tenth connections (155, 156, 157, 159),
dans lequel le premier nœud d'inhibition (147) forme le nœud émetteur de la onzième connexion (162) et le nœud récepteur des troisième, huitième et dixième connexions (154, 161, 159), dans lequel le second nœud d'inhibition ( 148) forme le nœud émetteur de la douzième connexion ( 163) et le nœud récepteur des sixième, septième et neuvième connexions ( 157, 160, 158), wherein the first muting node (147) forms the transmitting node of the eleventh connection (162) and the receiving node of the third, eighth and tenth connections (154, 161, 159), wherein the second muting node (148) forms the transmitting node of the twelfth connection (163) and the receiving node of the sixth, seventh and ninth connections (157, 160, 158),
dans lequel le premier nœud de sortie ( 143) forme le nœud émetteur de la septième connexion ( 160) et le nœud récepteur des première, cinquième et onzième connexions ( 152, 156, 162),  wherein the first output node (143) forms the sending node of the seventh connection (160) and the receiving node of the first, fifth and eleventh connections (152, 156, 162),
dans lequel le second nœud de sortie ( 144) forme le nœud émetteur de la huitième connexion ( 161 ) et le nœud récepteur des seconde, quatrième et douzième connexions ( 153, 155, 163),  wherein the second output node (144) forms the transmitting node of the eighth connection (161) and the receiving node of the second, fourth and twelfth connections (153, 155, 163),
et dans lequel le premier nœud de synchronisation ( 145) est configuré pour recevoir, sur au moins une connexion de variation de potentiel ( 150) ayant le second poids, une première paire d'événements ayant entre eux un premier intervalle de temps (At\) représentant un premier opérande (x ), et le second nœud de synchronisation ( 146) est configuré pour recevoir, sur au moins une connexion de variation de potentiel ( 15 1 ) ayant le second poids, une seconde paire d'événements ayant entre eux un second intervalle de temps (_dt2) représentant un second opérande (x2), de sorte qu'une troisième paire d'événements ayant entre eux un troisième intervalle de temps (zliout) est délivrée par le premier nœud de sortie ( 143) si le premier intervalle de temps (At\) est plus long que le second intervalle de temps (_dt2) et par le second nœud de sortie ( 144) si le premier intervalle de temps (At\) est plus court que le second intervalle de temps (At2), le troisième intervalle de temps (zliout) représentant la valeur absolue de la différence entre les premier et second opérande (xi, x2). and wherein the first synchronization node (145) is configured to receive, on at least one potential variation connection (150) having the second weight, a first pair of events having a first time interval between them (At \ ) representing a first operand (x), and the second synchronization node (146) is configured to receive, on at least one potential variation connection (15 1) having the second weight, a second pair of events having them a second time interval (_dt 2 ) representing a second operand (x 2 ), so that a third pair of events having between them a third time interval (zli out ) is delivered by the first output node (143); ) if the first time interval (At \ ) is longer than the second time interval (_dt 2 ) and the second output node (144) if the first time interval (At \ ) is shorter than the second time interval (At \ ) time interval (At2), the third th time interval (zliout) representing the absolute value of the difference between the first and second operands (xi, x 2 ).
8. Dispositif selon la revendication 7, 8. Device according to claim 7,
dans lequel le circuit soustracteur ( 170) comprend en outre une logique de détection de zéro incluant au moins un nœud de détection ( 17 1 ) associé à des connexions de détection et d'inhibition ( 172- 178) avec les premier et second nœud de synchronisation ( 145, 146), l'un des premier et second nœud d'inhibition ( 147, 148) et l'un des premier et second nœud de sortie ( 143, 144),  wherein the subtractor circuit (170) further comprises a zero detection logic including at least one detection node (17 1) associated with detection and inhibition connections (172-178) with the first and second node of synchronization (145, 146), one of the first and second muting nodes (147, 148) and one of the first and second output nodes (143, 144),
et dans lequel les connexions de détection et d'inhibition ( 172- 178) sont plus rapides que les première, seconde, troisième, quatrième, cinquième, sixième, septième, huitième, neuvième, dixième, onzième et douzième connexions ( 152- 163), pour inhiber la production d'événements par l'un des premier et second nœuds de sortie (143, 144) lorsque les premier et second intervalles de temps (Mu Mi) sont sensiblement égaux. and wherein the detection and inhibition (172-178) connections are faster than the first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, and twelfth connections (152-163) , for inhibiting the generation of events by one of the first and second output nodes (143, 144) when the first and second time slots (Mu Mi) are substantially equal.
9. Dispositif selon l'une quelconque des revendications 3 à 8, 9. Device according to any one of claims 3 to 8,
dans lequel l'ensemble de nœuds de traitement comprend au moins un nœud agencé pour faire varier une valeur de courant en fonction d'événements reçus sur au moins une connexion de réglage de courant, et pour faire varier sa valeur de potentiel au cours du temps avec un taux de variation proportionnel à ladite valeur de courant.  wherein the set of processing nodes comprises at least one node arranged to vary a current value as a function of events received on at least one current setting connection, and to vary its potential value over time with a rate of change proportional to said current value.
10. Dispositif selon la revendication 9, Device according to claim 9,
dans lequel un nœud de traitement agencé pour faire varier une valeur de courant est agencé pour remettre à zéro ladite valeur de courant lorsqu'il délivre un événement.  wherein a processing node arranged to vary a current value is arranged to reset said current value when delivering an event.
11. Dispositif selon la revendication 9 ou la revendication 10, 11. Device according to claim 9 or claim 10,
dans lequel la valeur de courant dans au moins un nœud a une composante (ge) constante entre deux événements reçus sur au moins une connexion de réglage de composante constante de courant ayant un poids respectif, wherein the current value in at least one node has a constant component (g e ) between two events received on at least one constant current component setting connection having a respective weight,
et dans lequel le nœud récepteur d'une connexion de réglage de composante constante de courant est agencé pour réagir à un événement reçu sur ladite connexion en ajoutant le poids de ladite connexion à la composante constante (ge) de sa valeur de courant. and wherein the receiving node of a current constant component tuning connection is arranged to react to an event received on said connection by adding the weight of said connection to the constant component (g e ) of its current value.
12. Dispositif selon la revendication 11, comprenant au moins un circuit de mémoire inverseuse (18), Device according to claim 11, comprising at least one inverting memory circuit (18),
dans lequel le circuit de mémoire inverseuse comprend :  wherein the inverting memory circuit comprises:
un nœud accumulateur (30) ;  an accumulator node (30);
des première, seconde et troisième connexions de réglage de composante constante de courant, les première et troisième connexions (26, 34) ayant un même poids positif (wacc) et la seconde connexion (27) ayant un poids (-wacc) opposé au poids des première et troisième connexions ; et first, second and third current constant component control connections, the first and third connections (26, 34) having the same positive weight (w acc ) and the second connection (27) having an opposite weight (-w acc ) the weight of the first and third connections; and
au moins une quatrième connexion (35), dans lequel le nœud accumulateur (30) forme le nœud récepteur des première, seconde et troisième connexions (26, 27, 34) et le nœud émetteur de la quatrième connexion (35), at least one fourth connection (35), wherein the accumulator node (30) forms the receiving node of the first, second and third connections (26, 27, 34) and the transmitting node of the fourth connection (35),
et dans lequel les première et seconde connexions (26, 27) sont configurées pour adresser respectivement au nœud accumulateur (30) des premier et second événements ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à mémoriser, de sorte que le nœud accumulateur (30) réagit ensuite à un troisième événement reçu sur la troisième connexion (34) en faisant croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion (35), les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec le premier intervalle de temps.  and wherein the first and second connections (26, 27) are configured to respectively address to the accumulator node (30) first and second events having between them a first time interval in relation to a time interval representing a magnitude to be stored, whereby the accumulator node (30) then responds to a third event received on the third connection (34) by increasing its potential value until a fourth event is delivered on the fourth connection (35), the third and fourth events having between them a second time interval in relation to the first time interval.
13. Dispositif selon la revendication 12, comprenant au moins un circuit de mémoire (40), Device according to claim 12, comprising at least one memory circuit (40),
dans lequel le circuit de mémoire comprend :  wherein the memory circuit comprises:
des premier et second nœuds accumulateurs (42, 44) ;  first and second accumulator nodes (42, 44);
des première, seconde, troisième et quatrième connexions de réglage de composante constante de courant, les première, seconde et quatrième connexions (41, 43, 51) ayant chacune un premier poids positif (wacc) et la troisième connexion (45) ayant un poids (-wacc) opposé au poids des première, seconde et quatrième connexions ; et first, second, third and fourth current constant component control connections, the first, second and fourth connections (41, 43, 51) each having a first positive weight (w acc ) and the third connection (45) having a weight (-w acc ) opposite to the weight of the first, second and fourth connections; and
au moins une cinquième connexion (52),  at least one fifth connection (52),
dans lequel le premier nœud accumulateur (42) forme le nœud récepteur de la première connexion (41) et le nœud émetteur de la troisième connexion (45),  wherein the first storage node (42) forms the receiving node of the first connection (41) and the transmitting node of the third connection (45),
dans lequel le second nœud accumulateur (44) forme le nœud récepteur des seconde, troisième et quatrième et cinquième connexions (43, 45, 51) et le nœud émetteur de la cinquième connexion (52),  wherein the second storage node (44) forms the receiving node of the second, third and fourth and fifth connections (43, 45, 51) and the transmitting node of the fifth connection (52),
et dans lequel les première et seconde connexions (41, 43) sont configurées pour adresser respectivement aux premier et second nœuds accumulateurs (42, 44) des premier et second événements ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps représentant une grandeur à mémoriser, de sorte que le second nœud accumulateur (44) réagit ensuite à un troisième événement reçu sur la quatrième connexion (51) en faisant croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la cinquième connexion (52), les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec le premier intervalle de temps. and wherein the first and second connections (41, 43) are configured to respectively address to the first and second accumulator nodes (42, 44) first and second events having between them a first time interval in relation to a time interval representing a magnitude to be stored, so that the second accumulator node (44) then responds to a third event received on the fourth connection (51) by increasing its potential value until delivery of a fourth event on the fifth connection (52), the third and fourth events having between them a second time interval in relation to the first time interval.
14. Dispositif selon la revendication 13, 14. Device according to claim 13,
dans lequel le circuit de mémoire (40) comprend une sixième connexion (46) ayant le premier nœud accumulateur (42) comme nœud émetteur, la sixième connexion délivrant un événement pour signaler la disponibilité en lecture du circuit de mémoire.  wherein the memory circuit (40) comprises a sixth connection (46) having the first storage node (42) as the transmitting node, the sixth connection providing an event for signaling the read availability of the memory circuit.
15. Dispositif selon la revendication 14, comprenant au moins un circuit de synchronisation (90, 98) incluant un nombre N > 1 de circuits de mémoire (401; 40JV-I) et un nœud de synchronisation (95), Device according to claim 14, comprising at least one synchronization circuit (90, 98) including a number N> 1 of memory circuits (40 1; 40 JV-I) and a synchronization node (95),
dans lequel le nœud de synchronisation (95) est sensible à chaque événement délivré sur la sixième connexion de l'un des N circuits de mémoire (401; 40JV-I) via une connexion de variation de potentiel respective (46 ; 96o, 96JV-I) de poids égal au premier poids divisé par N, wherein the synchronization node (95) is responsive to each event delivered on the sixth connection of one of the N memory circuits (40 1; 40JV-I) via a respective potential variation connection (46; 96o, 96JV). -I) of weight equal to the first weight divided by N,
et dans lequel le nœud de synchronisation (95) est agencé pour provoquer une réception simultanée des troisièmes événements via les quatrièmes connexions (51) respectives des N de circuits de mémoire (401; ..., 40JV-I). and wherein the synchronization node (95) is arranged to cause simultaneous reception of the third events via the fourth respective connections (51) of the N memory circuits (40 1; ..., 40JV-I).
16. Dispositif selon la revendication 11, comprenant au moins un circuit de cumul (180), dans lequel le circuit de cumul comprend : Device according to claim 11, comprising at least one accumulation circuit (180), in which the accumulation circuit comprises:
N entrées (181o, 181JV-I) ayant chacune un coefficient de pondération respectif (<%, ..., <¾v-i), N étant un nombre entier supérieur à 1 ;  N entries (181o, 181JV-I) each having a respective weighting coefficient (<%, ..., <¾v-i), N being an integer greater than 1;
un nœud accumulateur (184) ;  an accumulator node (184);
un nœud de synchronisation (185) ;  a synchronization node (185);
pour chacune des N entrées du circuit de cumul (180) :  for each of the N inputs of the accumulation circuit (180):
une première connexion de réglage de composante constante de courant (182o, 182JV-I) ayant un premier poids positif (<%¼vc, CCN-Ï WOCC) proportionnel au coefficient de pondération respectif de ladite entrée ; et une seconde connexion de réglage de composante constante de courant (183o, · · ·, 183JV-I) ayant un second poids (-<%¼vc, opposé au premier poids ; et a first current constant component control connection (182o, 182JV-I) having a first positive weight (<% ¼v c , CCN-Ï W OCC ) proportional to the respective weighting coefficient of said input; and a second current constant component control connection (183o, · · ·, 183JV-I) having a second weight (- <% ¼v c , opposite the first weight; and
une troisième connexion de réglage de composante constante de courant (186) ayant un troisième poids positif (wacc), a third constant current component setting connection (186) having a third positive weight (w acc ),
dans lequel le nœud accumulateur (184) forme le nœud récepteur des premières, secondes et troisième connexions (181o, 181JV-I, 1820, 182jv-i, 186), wherein the accumulator node (184) forms the receiving node of the first, second and third connections (181o, 181JV-I, 182 0 , 182jv-i, 186),
dans lequel le nœud de synchronisation (185) forme le nœud émetteur de la troisième connexion (186),  wherein the synchronization node (185) forms the transmitting node of the third connection (186),
dans lequel, pour chacune des N entrées, les première et seconde connexions (18 lo, , 181 j -i , 1820, 182JV-I) sont configurées pour adresser respectivement au nœud accumulateur (184) des premier et second événements ayant entre eux un premier intervalle de temps représentant un opérande respectif fourni sur ladite entrée, wherein, for each of the N inputs, the first and second connections (18 lo,, 181 j-i, 182 0 , 182JV-I) are configured to respectively address the accumulator node (184) of the first and second events having them a first time interval representing a respective operand provided on said input,
dans lequel le nœud de synchronisation (185) est configuré pour délivrer un troisième événement une fois que les premier et second événements ont été adressés pour chacune des N entrées, de sorte que le nœud accumulateur (184) fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement, les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps représentant une somme pondérée des opérandes fournis sur les N entrées.  wherein the synchronization node (185) is configured to output a third event after the first and second events have been addressed for each of the N inputs, so that the accumulator node (184) increases its potential value to at issuing a fourth event, the third and fourth events having between them a second time interval in relation to a time interval representing a weighted sum of the operands provided on the N entries.
17. Dispositif selon la revendication 16, Device according to claim 16,
dans lequel le circuit de cumul (180) fait partie d'un circuit de sommation pondérée (190) comprenant en outre :  wherein the stacking circuit (180) is part of a weighted summation circuit (190) further comprising:
un second nœud accumulateur (188) ;  a second accumulator node (188);
une quatrième connexion de réglage de composante constante de courant (191) ayant le troisième poids (¼vc) ; et a fourth current constant component control connection (191) having the third weight (¼v c ); and
des cinquième et sixième connexions (193, 192),  fifth and sixth connections (193, 192),
dans lequel le nœud de synchronisation (185) du circuit de cumul forme le nœud émetteur de la quatrième connexion (191),  wherein the synchronization node (185) of the accumulation circuit forms the transmitting node of the fourth connection (191),
dans lequel le nœud accumulateur (184) du circuit de cumul forme le nœud émetteur de la cinquième connexion (193), dans lequel le second nœud accumulateur (188) forme le nœud récepteur de la quatrième connexion (191) et le nœud émetteur de la sixième connexion (192), wherein the accumulator circuit accumulator node (184) forms the transmitting node of the fifth connection (193), wherein the second storage node (188) forms the receiving node of the fourth connection (191) and the transmitting node of the sixth connection (192),
dans lequel, en réponse à la délivrance du troisième événement par le nœud de synchronisation (185), le nœud accumulateur (184) du circuit de cumul fait croître sa valeur de potentiel jusqu'à délivrance du quatrième événement sur la cinquième connexion (193), et le second nœud accumulateur (188) fait croître sa valeur de potentiel jusqu'à délivrance d'un cinquième événement sur la sixième connexion (192), les quatrième et cinquième événements ayant entre eux un troisième intervalle de temps en relation avec un intervalle de temps représentant une somme pondérée des opérandes fournis sur les N entrées du circuit de cumul (180).  wherein, in response to the delivery of the third event by the synchronization node (185), the accumulator node (184) of the accumulation circuit increases its potential value until delivery of the fourth event on the fifth connection (193) , and the second accumulator node (188) increases its potential value until a fifth event is delivered on the sixth connection (192), the fourth and fifth events having a third time interval in relation to an interval between them time representing a weighted sum of the operands provided on the N inputs of the accumulation circuit (180).
18. Dispositif selon la revendication 16, comprenant deux circuits de cumul (180A, 180B) assemblés dans un circuit de combinaison linéaire (200), Device according to claim 16, comprising two accumulation circuits (180A, 180B) assembled in a linear combination circuit (200),
dans lequel les deux circuits de cumul (180A, 180B) partagent leur nœud de synchronisation (184),  wherein the two accumulator circuits (180A, 180B) share their synchronization node (184),
dans lequel le circuit de combinaison linéaire comprend en outre un circuit soustracteur (170) configuré pour réagir au troisième événement délivré par le nœud de synchronisation partagé (185) et aux quatrièmes événements respectivement délivrés par les nœuds accumulateurs (184) des deux circuits de cumul (180A, 180B) en délivrant une paire d'événements ayant entre eux un troisième intervalle de temps représentatif de la différence entre la somme pondérée pour l'un des deux circuits de cumul et la somme pondérée pour l'autre des deux circuits de cumul.  wherein the linear combination circuit further comprises a subtractor circuit (170) configured to respond to the third event delivered by the shared synchronization node (185) and the fourth events respectively delivered by the accumulator nodes (184) of the two accumulation circuits (180A, 180B) by delivering a pair of events having between them a third time interval representative of the difference between the weighted sum for one of the two accumulation circuits and the weighted sum for the other of the two accumulation circuits .
19. Dispositif selon l'une quelconque des revendications 11 à 18, 19. Device according to any one of claims 11 to 18,
dans lequel la valeur de courant dans au moins un nœud a une composante (gf) à décroissance exponentielle entre deux événements reçus sur au moins une connexion de réglage de composante de courant à décroissance exponentielle ayant un poids respectif, et dans lequel le nœud récepteur d'une connexion de réglage de composante de courant à décroissance exponentielle est agencé pour réagir à un événement reçu sur ladite connexion en ajoutant le poids de ladite connexion à la composante à décroissance exponentielle (gf) de sa valeur de courant. wherein the current value in at least one node has an exponentially decreasing component (gf) between two events received on at least one exponential decay current component setting connection having a respective weight, and wherein the receive node an exponential decay current component setting connection is arranged to react to an event received on said connection by adding the weight of said connection to the exponential decay component (gf) of its current value.
20. Dispositif selon la revendication 19, comprenant au moins un circuit de calcul de logarithme (210), Device according to claim 19, comprising at least one log calculating circuit (210),
dans lequel le circuit de calcul de logarithme comprend :  wherein the log computation circuit comprises:
un nœud accumulateur (216) ;  an accumulator node (216);
des première et seconde connexions de réglage de composante constante de courant, la première connexion (212) ayant un poids positif (wacc), et la seconde connexion (214) ayant un poids (— wacc ) opposé au poids de la première connexion ; first and second current constant component control connections, the first connection (212) having a positive weight (w acc ), and the second connection (214) having a weight (- w acc ) opposite to the weight of the first connection ;
une troisième connexion de réglage de composante de courant à décroissance exponentielle (217) ; et  a third exponential decay current component control connection (217); and
au moins une quatrième connexion (222),  at least one fourth connection (222),
dans lequel le nœud accumulateur (216) forme le nœud récepteur des première, seconde et troisième connexions (212, 214, 217) et le nœud émetteur de la quatrième connexion (222),  wherein the accumulator node (216) forms the receiving node of the first, second and third connections (212, 214, 217) and the transmitting node of the fourth connection (222),
dans lequel les première et seconde connexions (212, 214) sont configurées pour adresser au nœud accumulateur (216) des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps (At) représentant une grandeur d'entrée (x) du circuit de calcul de logarithme (210),  wherein the first and second connections (212, 214) are configured to address to the accumulator node (216) first and second respective events having between them a first time interval in relation to a time interval (At) representing a magnitude of input (x) of the log computation circuit (210),
dans lequel la troisième connexion (217) est configurée pour adresser au nœud accumulateur (216) un troisième événement simultané ou postérieur au second événement, de sorte que le nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion (222), les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps (Atout) représentant un logarithme de ladite grandeur d'entrée. wherein the third connection (217) is configured to address to the accumulator node (216) a third event concurrent with or subsequent to the second event, so that the accumulator node increases its potential value until a fourth event is delivered on the fourth connection (222), the third and fourth events having between them a second time interval in relation to a time interval (At out ) representing a logarithm of said input quantity.
21. Dispositif selon la revendication 19, Device according to claim 19,
dans lequel au moins un nœud (238 ; 268) prenant en compte une composante de courant (gf) à décroissance exponentielle est le nœud récepteur d'une connexion de désactivation (236 ; 271) pour recevoir des événements de désactivation de la composante à décroissance exponentielle. wherein at least one node (238; 268) accounting for an exponential decaying current component (gf) is the receiving node of a disabling connection (236; 271) for receiving decay component deactivation events exponential.
22. Dispositif selon la revendication 21, comprenant au moins un circuit de calcul d'exponentielle (230), 22. Device according to claim 21, comprising at least one exponential calculation circuit (230),
dans lequel le circuit de calcul d'exponentielle comprend :  wherein the exponential calculating circuit comprises:
un nœud accumulateur (238) ;  an accumulator node (238);
une première connexion de réglage de composante de courant à décroissance exponentielle (232) ;  a first exponential decay current component setting connection (232);
une seconde connexion de désactivation (236) ;  a second deactivation connection (236);
une troisième connexion de réglage de composante constante de courant (237) ; et  a third current constant component setting connection (237); and
au moins une quatrième connexion (242),  at least one fourth connection (242),
dans lequel le nœud accumulateur (238) forme le nœud récepteur des première, seconde et troisième connexions (232, 236, 237) et le nœud émetteur de la quatrième connexion (242),  wherein the accumulator node (238) forms the receiving node of the first, second and third connections (232, 236, 237) and the transmitting node of the fourth connection (242),
dans lequel les première et seconde connexions (232, 236) sont configurées pour adresser au nœud accumulateur (238) des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps (At) représentant une grandeur d'entrée (x) du circuit de calcul d'exponentielle (230),  wherein the first and second connections (232, 236) are configured to address to the accumulator node (238) first and second respective events having between them a first time interval in relation to a time interval (At) representing a magnitude of input (x) of the exponential calculating circuit (230),
dans lequel la troisième connexion (237) est configurée pour adresser au nœud accumulateur (238) un troisième événement simultané ou postérieur au second événement, de sorte que le nœud accumulateur fait croître sa valeur de potentiel jusqu'à délivrance d'un quatrième événement sur la quatrième connexion (242), les troisième et quatrième événements ayant entre eux un second intervalle de temps en relation avec un intervalle de temps (Atout) représentant une exponentielle de ladite grandeur d'entrée. wherein the third connection (237) is configured to address to the accumulator node (238) a third event concurrent with or subsequent to the second event, so that the accumulator node increases its potential value until a fourth event is delivered on the fourth connection (242), the third and fourth events having between them a second time interval in relation to a time interval (At out ) representing an exponential of said input quantity.
23. Dispositif selon la revendication 21, comprenant au moins un circuit multiplieur (250), 23. Device according to claim 21, comprising at least one multiplier circuit (250),
dans lequel le circuit multiplieur comprend :  wherein the multiplier circuit comprises:
des premier, second et troisième nœuds accumulateurs (2561 ; 2562, 268) ; un nœud de synchronisation (260) ; first, second and third accumulator nodes (256 1, 256 2 , 268); a synchronization node (260);
des première, seconde, troisième, quatrième et cinquième connexions de réglage de composante constante de courant, les première, troisième et cinquième connexions (2521 ; 2522, 272) ayant un premier poids positif (wacc), et les seconde et quatrième connexions (2541 ; 2542) ayant un second poids (— wacc) opposé au premier poids ; first, second, third, fourth and fifth current constant component control connections, the first, third and fifth connections (252 1; 252 2 , 272) having a first positive weight (w acc ), and the second and fourth connections (254 1; 254 2 ) having a second weight (- w acc ) opposite the first weight;
des sixième, septième et huitième connexions de réglage de composante de courant à décroissance exponentielle (262, 265, 269) ;  sixth, seventh and eighth exponential decay current component tuning connections (262, 265, 269);
une neuvième connexion de désactivation (271) ; et  a ninth deactivation connection (271); and
au moins une dixième connexion (276),  at least one tenth connection (276),
dans lequel le premier nœud accumulateur (2560 forme le nœud récepteur des première, seconde et sixième connexions (2521; 2541 ; 262) et le nœud émetteur de la septième connexion (265), wherein the first storage node (2560) forms the receiving node of the first, second and sixth connections (252 1; 254 1; 262) and the transmitting node of the seventh connection (265);
dans lequel le second nœud accumulateur (2562) forme le nœud récepteur des troisième, quatrième et septième connexions (2522, 2542, 265) et le nœud émetteur des cinquième et neuvième connexions (272, 271), wherein the second storage node (256 2 ) forms the receiving node of the third, fourth and seventh connections (252 2 , 254 2 , 265) and the transmitting node of the fifth and ninth connections (272, 271),
dans lequel le troisième nœud accumulateur (268) forme le nœud récepteur des cinquième, huitième et neuvième connexions (272, 269, 271) et le nœud émetteur de la dixième connexion (276),  wherein the third storage node (268) forms the receiving node of the fifth, eighth and ninth connections (272, 269, 271) and the transmitting node of the tenth connection (276),
dans lequel le nœud de synchronisation (260) forme le nœud émetteur des sixième et huitième connexions (272, 271),  wherein the synchronization node (260) forms the transmitting node of the sixth and eighth connections (272, 271),
dans lequel les première et seconde connexions (2521 ; 2540 sont configurées pour adresser au premier nœud accumulateur (2560 des premier et second événements respectifs ayant entre eux un premier intervalle de temps en relation avec un intervalle de temps (Ati) représentant un premier opérande (JCO du circuit multiplieur (250), wherein the first and second connections (252 1; 2540 are configured to address to the first accumulator node (2560) respective first and second events having between them a first time slot in relation to a time slot (Ati) representing a first operand (JCO multiplier circuit (250),
dans lequel les troisième et quatrième connexions (2522, 2542) sont configurées pour adresser au second nœud accumulateur (2562) des troisième et quatrième événements respectifs ayant entre eux un second intervalle de temps en relation avec un intervalle de temps (_dt2) représentant un second opérande (x2) du circuit multiplieur (250), wherein the third and fourth connections (252 2 , 254 2 ) are configured to address to the second storage node (256 2 ) respective third and fourth events having between them a second time slot in relation to a time slot (_dt 2 ) representing a second operand (x 2 ) of the multiplier circuit (250),
dans lequel le nœud de synchronisation (260) est configuré pour délivrer un cinquième événement sur les sixième et huitième connexions une fois que les premier, second, troisième et quatrième événements ont été reçus, de sorte :  wherein the synchronization node (260) is configured to deliver a fifth event on the sixth and eighth connections once the first, second, third and fourth events have been received, so that:
que le premier nœud accumulateur (2560 fait croître sa valeur de potentiel jusqu'à délivrance d'un sixième événement sur la septième connexion (265) ; qu'en réponse au sixième événement, le second nœud accumulateur (2562) fait croître sa valeur de potentiel jusqu'à délivrance d'un septième événement sur les cinquième et neuvième connexions (272, 271) ; that the first accumulator node (2560 increases its potential value until a sixth event is delivered on the seventh connection (265); in response to the sixth event, the second accumulator node (256 2 ) increases its potential value until a seventh event is delivered on the fifth and ninth connections (272, 271);
qu'en réponse au septième événement, le troisième nœud accumulateur (268) fait croître sa valeur de potentiel jusqu'à délivrance d'un huitième événement sur la dixième connexion (276), les septième et huitième événements ayant entre eux un troisième intervalle de temps en relation avec un intervalle de temps (Atout) représentant le produit des premier et second opérandes (x , ¾). in response to the seventh event, the third accumulator node (268) increases its potential value until an eighth event is delivered on the tenth connection (276), with the seventh and eighth events having a third interval between them. time in relation to a time interval (At out ) representing the product of the first and second operands (x, ¾).
24. Dispositif selon la revendication 23, comprenant en outre une logique de détection de signe (300-303) associée au circuit multiplieur (250) pour détecter les signes respectifs des premier et second opérandes (x , JC2) et faire délivrer deux événements ayant entre eux l'intervalle de temps (Atout) représentant le produit des premier et second opérandes sur l'une ou l'autre de deux sorties du circuit multiplieur (250) en fonction des signes détectés. The apparatus of claim 23, further comprising a sign detection logic (300-303) associated with the multiplier circuit (250) for detecting the respective signs of the first and second operands (x, JC 2 ) and having two events delivered having between them the time interval (At out ) representing the product of the first and second operands on one or the other of two outputs of the multiplier circuit (250) according to the detected signs.
25. Dispositif selon l'une quelconque des revendications précédentes, 25. Device according to any one of the preceding claims,
dans lequel chaque connexion est associée à un paramètre de retard, pour signaler au nœud récepteur de ladite connexion d'effectuer un changement d'état avec, par rapport à la réception d'un événement sur ladite connexion, un retard indiqué par ledit paramètre.  wherein each connection is associated with a delay parameter, for signaling to the receiving node of said connection to perform a state change with, with respect to receiving an event on said connection, a delay indicated by said parameter.
26. Dispositif selon l'une quelconque des revendications précédentes, 26. Device according to any one of the preceding claims,
dans lequel l'intervalle de temps At entre deux événements représentant une grandeur de valeur absolue x est de la forme At = Tmjn + x.Tcod, où Tmjn et Tcod sont des paramètres temporels prédéfinis. wherein the time interval Δt between two events representing a magnitude of absolute value x is of the form Δt = T m j n + xT cod , where T m j n and T cod are predefined time parameters.
27. Dispositif selon la revendication 26, 27. Device according to claim 26,
dans lequel les grandeurs représentées par des intervalles de temps ont des valeurs absolues x comprises entre 0 et 1.  wherein the quantities represented by time intervals have absolute values x between 0 and 1.
28. Dispositif selon l'une quelconque des revendications précédentes, comprenant, pour une grandeur d'entrée (x) : une première entrée comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la première entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps (At) représentant une valeur positive de ladite grandeur d'entrée (x) ; et 28. Device according to any one of the preceding claims, comprising, for an input quantity (x): a first input having a node or two nodes among the set of processing nodes, the first input being arranged to receive two events having between them a time interval (At) representing a positive value of said input quantity (x) ; and
une seconde entrée comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la seconde entrée étant agencée pour recevoir deux événements ayant entre eux un intervalle de temps (At) représentant une valeur négative de ladite grandeur d'entrée (x).  a second input having a node or two nodes among the set of processing nodes, the second input being arranged to receive two events having between them a time interval (At) representing a negative value of said input quantity (x) .
29. Dispositif selon l'une quelconque des revendications précédentes, comprenant, pour une grandeur de sortie (x) : Device according to any one of the preceding claims, comprising, for an output quantity (x):
une première sortie comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la première sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps (At) représentant une valeur positive de ladite grandeur de sortie (x) ; et  a first output having a node or two nodes among the set of processing nodes, the first output being arranged to output two events having between them a time interval (At) representing a positive value of said output quantity (x); and
une seconde sortie comportant un nœud ou deux nœuds parmi l'ensemble de nœuds de traitement, la seconde sortie étant agencée pour délivrer deux événements ayant entre eux un intervalle de temps (At) représentant une valeur négative de ladite grandeur de sortie (x).  a second output having a node or two nodes among the set of processing nodes, the second output being arranged to deliver two events having between them a time interval (At) representing a negative value of said output quantity (x).
30. Dispositif selon l'une quelconque des revendications précédentes, Apparatus according to any one of the preceding claims,
dans lequel l'ensemble de nœuds de traitement est sous la forme d'au moins un réseau programmable (400), les nœuds du réseau ayant un modèle de comportement commun en fonction des événements reçus, le dispositif comprenant en outre une logique de programmation (420) pour régler des poids et des paramètres de retard des connexions entre les nœuds du réseau en fonction d'un programme de calcul, et une unité de commande (410) pour fournir des grandeurs d'entrée au réseau et récupérer des grandeurs de sortie calculées conformément au programme.  wherein the set of processing nodes is in the form of at least one programmable network (400), the nodes of the network having a common behavior pattern as a function of the received events, the device further comprising programming logic ( 420) for adjusting weights and delay parameters of the connections between the nodes of the network according to a calculation program, and a control unit (410) for supplying input quantities to the network and recovering output quantities calculated in accordance with the program.
EP16750928.0A 2015-07-13 2016-07-06 Data-processing device with representation of values by time intervals between events Withdrawn EP3323090A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1556659A FR3038997A1 (en) 2015-07-13 2015-07-13 DATA PROCESSING DEVICE WITH VALUE REPRESENTATION THROUGH INTERVALS OF TIME BETWEEN EVENTS
PCT/FR2016/051717 WO2017009543A1 (en) 2015-07-13 2016-07-06 Data-processing device with representation of values by time intervals between events

Publications (1)

Publication Number Publication Date
EP3323090A1 true EP3323090A1 (en) 2018-05-23

Family

ID=54848671

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16750928.0A Withdrawn EP3323090A1 (en) 2015-07-13 2016-07-06 Data-processing device with representation of values by time intervals between events

Country Status (9)

Country Link
US (1) US20180357527A1 (en)
EP (1) EP3323090A1 (en)
JP (1) JP6732880B2 (en)
KR (1) KR20180077148A (en)
CN (1) CN108369660A (en)
CA (1) CA2992036A1 (en)
FR (1) FR3038997A1 (en)
IL (1) IL256813A (en)
WO (1) WO2017009543A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3502950B1 (en) 2016-08-19 2021-02-03 Sony Corporation Multiplier-accumulator
EP3605401A1 (en) 2018-07-31 2020-02-05 GrAl Matter Labs S.A.S. Data processing module, data processing system and data processing method
EP3617957A1 (en) 2018-08-29 2020-03-04 GrAl Matter Labs S.A.S. Neuromorphic processing method and update utility for use therein
EP3640862A1 (en) 2018-10-15 2020-04-22 GrAl Matter Labs S.A.S. Neural network evaluation tool and method
CN111506384B (en) * 2019-01-31 2022-12-09 中科寒武纪科技股份有限公司 Simulation operation method and simulator
EP3716155A1 (en) 2019-03-27 2020-09-30 Grai Matter Labs Data processing node and data processing engine

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6581046B1 (en) * 1997-10-10 2003-06-17 Yeda Research And Development Co. Ltd. Neuronal phase-locked loops
KR100272167B1 (en) * 1998-07-13 2000-11-15 윤종용 Reference signal generating circuit & sdram having the same
US7287014B2 (en) * 2001-11-16 2007-10-23 Yuan Yan Chen Plausible neural network with supervised and unsupervised cluster analysis
JP5672489B2 (en) * 2011-02-08 2015-02-18 ソニー株式会社 Data processing apparatus and data processing method
GB2496886A (en) * 2011-11-24 2013-05-29 Melexis Technologies Nv Determining network address of integrated circuit network node
US8903746B2 (en) * 2012-03-22 2014-12-02 Audrey Kudritskiy System and method for viewing, modifying, storing, and running artificial neural network components
US20140044206A1 (en) * 2012-08-13 2014-02-13 Telefonaktiebolaget L M Ericsson (Publ) Methods of mapping retransmissions responsive to bundled nack messages and related devices
WO2014081671A1 (en) * 2012-11-20 2014-05-30 Qualcomm Incorporated Dynamical event neuron and synapse models for learning spiking neural networks
CN104605845B (en) * 2015-01-30 2017-01-25 南京邮电大学 Electroencephalogram signal processing method based on DIVA model

Also Published As

Publication number Publication date
CN108369660A (en) 2018-08-03
KR20180077148A (en) 2018-07-06
JP2018529143A (en) 2018-10-04
US20180357527A1 (en) 2018-12-13
IL256813A (en) 2018-03-29
CA2992036A1 (en) 2017-01-19
FR3038997A1 (en) 2017-01-20
WO2017009543A1 (en) 2017-01-19
JP6732880B2 (en) 2020-07-29

Similar Documents

Publication Publication Date Title
EP3323090A1 (en) Data-processing device with representation of values by time intervals between events
CN109313722B (en) Memory efficient time-based back propagation
US10748064B2 (en) Deep neural network training with native devices
EP2713318B1 (en) Neuromorphic system exploiting the intrinsic characteristics of memory cells
KR20220047688A (en) Neural architecture search
EP2965269B1 (en) Artificial neuron and memristor
FR3088464A1 (en) Method for building a neural network for simulating physical systems
WO2017186829A1 (en) Device and method for calculating convolution in a convolutional neural network
US9208431B2 (en) Method and apparatus for strategic synaptic failure and learning in spiking neural networks
EP0558125A1 (en) Neural processor with distributed synaptic cells
FR3087560A1 (en) PULSE RETROPAGATION OF ERRORS IN A PULSE NEURON NETWORK
Mead Neuromorphic engineering: In memory of misha mahowald
WO2020094995A1 (en) Method of neural network construction for the simulation of physical systems
EP0401927A1 (en) Learning method, neural network and computer for simulating said neuronal network
WO2022171632A1 (en) Neuromorphic circuit and associated training method
EP4078817A1 (en) Method and device for additive coding of signals in order to implement digital mac operations with dynamic precision
EP4078816B1 (en) Method and device for binary coding of signals in order to implement digital mac operations with dynamic precision
EP3955167A1 (en) Reconfigurable calculation architecture for implementing artificial neural networks.
EP3905044A1 (en) Method for automatic analysis of the transaction logs of a distributed computer system
US20230267723A1 (en) Information processing system capable of preventing imitation of configuration of neural network, method of controlling image processing system, and storage medium
FR3056320A1 (en) METHOD FOR CALCULATING BY AT LEAST ONE COMPUTER AT LEAST ONE LINEAR ALGEBRA OPERATION ON AT LEAST ONE MATRIX
Kormilitsyn et al. Simulation Modeling Of Artificial Neural Networks.
EP3971785A1 (en) Electronic computer for implementing an artificial neural network, with several types of blocks for calculating
FR3103924A1 (en) Method, device and computer program product for determining a load curve representative of other load curves
EP0489885A1 (en) Neurocomputing system

Legal Events

Date Code Title Description
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: 20180213

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 MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

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: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20220201