Elementary network description for efficient link between neuronal models and neuromorphic systems
AssigneeBrain Corporation
InventorsEugene M. Izhikevich, Csaba Petre, Filip Piekniewski, Botond Szatmary
Life of this patent
Estimating the term…
Abstract
A simple format is disclosed and referred to as Elementary Network Description (END). The format can fully describe a large-scale neuronal model and embodiments of software or hardware engines to simulate such a model efficiently. The architecture of such neuromorphic engines is optimal for high-performance parallel processing of spiking networks with spike-timing dependent plasticity. The format is specifically tuned for neural systems and specialized neuromorphic hardware, thereby serving as a bridge between developers of brain models and neuromorphic hardware manufactures.
Claims21
A method of configuring a neuronal network, the method comprising:
- parsing a specification of a system exhibiting aspects of a neuronal network that includes a plurality of independently executable threads;
- mapping individual ones of the plurality of independently executable threads onto a neuronal network comprising a plurality of doublets, individual doublet being connected to a presynaptic unit and a postsynaptic unit, wherein a given doublet is configured to modify a memory of the postsynaptic unit responsive to events received from the presynaptic unit;
- and
- defining operational characteristics of the plurality of doublets and their corresponding presynaptic and postsynaptic units, wherein:
- defining the operational characteristics includes:
- for the given doublet configuring a doublet event rule that determines how the given doublet is configured to update the memory of the postsynaptic unit, wherein execution of doublet event rules is order-independent;
- and
- for a given unit configuring a unit update rule that controls the response of the given unit to memory updates initiated by a doublet, wherein execution of the unit update rules is order-independent;
- and
- wherein a given presynaptic unit is configured to maintain an event condition that controls transmission of events to a respective connected doublet.
A method of configuring a neuronal network, the method comprising:
- parsing a specification of a system exhibiting aspects of a neuronal network that includes a plurality of independently executable threads;
- mapping individual ones of the plurality of independently executable threads onto a neuronal network comprising a plurality of doublets, a given doublet being connected to a presynaptic unit and a postsynaptic unit, wherein the given doublet is configured to modify a memory of the postsynaptic unit responsive to events received from the presynaptic unit;
- and
- defining operational characteristics of the plurality of doublets and their corresponding presynaptic and postsynaptic units, wherein
- defining the operational characteristics includes:
- for the given doublet configuring a doublet event rule that determines how the given doublet is configured to update the memory of the postsynaptic unit, wherein execution of doublet event rules is order-independent;
- and
- for a given unit configuring a unit update rule that controls the response of the given unit to memory updates initiated by a doublet, wherein execution of the unit update rules is order-independent;
- and
- wherein mapping individual ones of the plurality of independently executable threads onto a neuronal network comprises:
- providing one or more target libraries that describe units and doublets as constructs in an abstracted description language that is independent of target characteristics;
- and
- mapping individual ones of the plurality of independently executable threads onto the abstracted units and doublets to obtain an abstracted description of the neuronal network.
A system for configuring a neuronal network, the system comprising:
- one or more processors configured to execute computer program modules, the computer program modules comprising:
- a system clock module configured to determine a sequence of time intervals;
- an elements module configured to provide a plurality of elements consisting of units, doublets and triplets, individual units having a memory updated according to a unit update rule of the unit, wherein a doublet event rule configured for a given doublet causes the memory of a postsynaptic unit to be updated in response to an event received from a presynaptic unit, and wherein a given triplet is configured to access the memory of two units and to update the memory of at least one of the two units in accordance with a corresponding triplet update rule;
- and
- a mapper module configured to parse a specification of a neuronal network, and maps individual ones of a plurality of independently executable threads of the neuronal network onto the units, doublets and triplets,
- wherein:
- the mapper module configures the unit update rules, the doublet event rules and the triplet update rules,
- the execution of unit update rules is order-independent and at least partially executed once in every time interval,
- for those doublets that respond to an event during a particular time interval, execution of the doublet event rules corresponding to those doublets is order independent,
- execution of triplet update rules is order-independent and at least partially executed once in every time interval,
- updates to the memory of the units are made by atomic addition;
- and
- for the given doublet, the execution of the corresponding doublet event rule is triggered in response to a change in the memory of the presynaptic unit.
Dependencies are inferred from the claim text.