WO2013167780A1 - Método y sistema conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica - Google Patents

Método y sistema conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica Download PDF

Info

Publication number
WO2013167780A1
WO2013167780A1 PCT/ES2013/070285 ES2013070285W WO2013167780A1 WO 2013167780 A1 WO2013167780 A1 WO 2013167780A1 ES 2013070285 W ES2013070285 W ES 2013070285W WO 2013167780 A1 WO2013167780 A1 WO 2013167780A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
impulse
parameters
block
memory module
Prior art date
Application number
PCT/ES2013/070285
Other languages
English (en)
French (fr)
Inventor
Teresa SERRANO GOTARREDONA
Bernabé LINARES BARRANCO
Original Assignee
Consejo Superior De Investigaciones Científicas (Csic)
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 Consejo Superior De Investigaciones Científicas (Csic) filed Critical Consejo Superior De Investigaciones Científicas (Csic)
Priority to EP13787236.2A priority Critical patent/EP2849083A4/en
Priority to US14/399,039 priority patent/US20150120631A1/en
Publication of WO2013167780A1 publication Critical patent/WO2013167780A1/es

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/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention falls within the field of electronic circuits, in particular integrated pulse processing circuits that emulate the neurological processing of biological neurons.
  • Each input pulse (14, 15, and 16) alters the state of the target neuron so that it adds an initial zone that rises at a certain speed, followed by a slower velocity discharge.
  • the first input pulse (14) causes the transient (17) in the state of the neuron.
  • the contributions of the successive impulses (15 and 16) add the corresponding contributions (18 and 19) giving rise to a total contribution (20) which is the sum of the parts (17, 18 and 19). In this way, the impulse effect is prolonged for a time of a few milliseconds.
  • the vision sensor (21) sends information to the first processing layer (24).
  • This first layer extracts very simple features (in English "features”) from small areas of the visual field. For example, it is very common to use an array of Gabor filters, each of which identifies short “segments” at different orientations and scales. Thus, each of the filters (22) of the first layer would activate those pixels where a small segment (several pixels in length and thickness, depending on the scale) of a certain orientation is centered. These filters (such as 22), present in all layers, are called “feature map” (or “feature map” in English). Each neuron in a feature map sends its impulses to "projective fields” (23) in feature maps of the target layers. In this way, the information is transmitted to the characteristic maps of the next layer, which groups segments to identify "strokes". The next layer (26) groups “strokes” to form and recognize more complex figures, and so on until recognizing objects regardless of their size and orientation.
  • each pixel (or neuron) in a layer receives neighborhood information from the previous layer. This is illustrated in Fig. 3.
  • each pixel (or neuron) in a layer receives both positive and negative successive impulses from several neighborhoods of the previous layers, and must make the decision to identify or not if the characteristic that said pixel (neuron) defines is present .
  • the visual sensor sends a reduced number of electrical impulses from the pixels that sensed the "A".
  • the pixels (neurons) of the following layers will receive positive and negative impulses from neighborhoods of pixels of the previous layer, which will determine if the characteristic to be detected by said neuron is present or not.
  • a neuron In order for a neuron to determine whether or not the characteristic it represents is present, it must gather the contribution of a safe number of positive and negative impulses from the previous layer.
  • nature uses the method described in Fig. 1, which corresponds to a dynamic synaptic integration behavior. That is, each time an impulse is received, the state of the neuron grows first (for example, in biological neurons this time is usually a few milliseconds) until it reaches a maximum, and then relaxes back to its resting state.
  • the neuron receives an entire pulse front scattered in a few milliseconds, its contributions will be added and subtracted in the manner indicated in Fig. 1. This allows each neuron to take into account the contribution of a large number of impulses. that arrive in a window of time of few milliseconds, without making a rash decision with only the first ones that arrive.
  • a digital embodiment of a circuit of a neuron is shown in Figure 4.
  • a "weight” 48 is added to a register of n bits (47) representing the "state" of the neuron.
  • the "weight” that is added depends on the neuron from which the input pulse originates, and can be stored in a local memory shared by all neurons. This is done for example in L. Camu ⁇ as-Mesa, C. Zamarre ⁇ o-Ramos, A. Linares-Barranco, A. Acosta-Jiménez, T. Serrano-Gotarredona, and B.
  • Linares-Barranco "An Event-Driven Multi- Kernel Convolution Processor Module for Event-Driven Vision Sensors, "IEEE J. of Solid-State Circuits, vol. 47, No. 2, pp. 504-517, Feb. 2012 or L. Camu ⁇ as-Mesa, A. Acosta- Jiménez, C. Zamarre ⁇ o-Ramos, T. Serrano-Gotarredona, and B. Linares- Barranco, "A 32x32 Pixel Convolution Processor Chip for Address Event Vision Sensors with 155ns Event Latency and 20Meps Throughput, "IEEE Trans. Circ. and Syst. Part-I, vol. 58, No. 4, pp. 777-790, April 2011.
  • weights are added or subtracted (depending on whether they are positive or negative impulses).
  • an adder / subtractor circuit (42) is used.
  • the state of the neuron is compared, by means of a comparator circuit (44), at each moment with a "threshold” value (43).
  • the register is reset by means of a "reset” signal (46) to a rest value and the neuron sends a pulse through its output (45).
  • the instantaneous synaptic integration devices would comprise a multitude of extractor blocks. feature maps Each block extractor of maps of state of the art features, in turn consists of two blocks: an Event Router block and a Neural Matrix block.
  • the Neural Matrix block is the one that contains an array (or “array” in English) of circuits digital as shown in figure 4, where the "weights” representing the "state” of the neuron are programmed according to the needs of each embodiment.
  • Fig. 5a shows the temporal evolution of the state of the neuron, when it receives positive and negative input pulses (performing instantaneous synaptic integration) until reaching the threshold and sending its own output pulse. Since each neuron must detect if it receives a series of characteristics within a time window, it is desirable to provide it with a discharge mechanism of its state, as illustrated in Fig. 5b). This can be done, for example, by periodically sending weak negative impulses to all neurons. This is done, for example, in convolving filters for events (impulses) in digital realizations such as those described in L. Camu ⁇ as-Mesa, C. Zamarre ⁇ o-Ramos, A. Linares-Barranco, A. Acosta-Jiménez, T.
  • the method illustrated in Figs. 4 and 5 is such that the contribution of each input pulse is instantaneous (that is, it is a method of instantaneous synapse), unlike how the contribution was made in Fig. 1 (that is, through a dynamic synapse method). Therefore, neurons do not wait to calculate the total contribution of all events that would arrive in a time window. On the contrary, if a few positive impulses arrive that bring the state of the neuron to the threshold (I th ), the neuron makes the decision to activate, although immediately afterwards many negative impulses arrive. The consequence of making the contributions of the impulses in this instantaneous way is that the neurons are making wrong decisions and the ability to recognize the neural network is lost.
  • Fig. 6 illustrates the effect of the present invention on the input pulses received at the input of the neuron.
  • Each input pulse (52) is replaced by a train of "r" pulses (51) and the value of "weight” (ie the effect of the pulse) is also attenuated by a value around "r".
  • the "r" impulses are spaced for a characteristic time. This characteristic time is a few milliseconds in biological neurons, but in an application of, for example, artificial vision this time would adapt to the nature and speed of visual reality under observation.
  • the spacing of the "r” impulses can be equidistant or not.
  • an Event Planner block for converting a pulse processing neural network with instantaneous synapse integration into integration with dynamic synapse is described.
  • neural networks in the prior art consist of an Event Router block and a Neuron Array block interconnected to form an integration device.
  • Instant synaptic where the Event Router receives a stream of pulses or Ei events coming from an origin module at its input.
  • the new Event Planner block is arranged between the source module and the Event Router block.
  • the Event Planner block may be within the feature map extractor (comprised in the instantaneous synaptic integration device) or constitute an entity of its own.
  • the new Event Scheduler block comprises: i) a memory module; ii) an Exit Event Arbitrator; iii) a finite state machine (FSM) comprising a pointer register, where the finite state machine writes the "p" parameters of the event in the memory module received in an instant "t" to be sent to the Arbitrator of Exit Events in "r" future time instants; and, iv) an Inbound Event Manager that sends the event directly to the Exit Event Arbitrator and, at the same time, to the finite state machine.
  • FSM finite state machine
  • Exit Event Arbitrator generates a signal that is the result of arbitrating [(that is, when two events are simultaneous (the one coming from the input and the one coming from reading the memory module), given that only they can send to the next stage one at a time, it is necessary to use an arbitrator that resolves the conflict.
  • the arbitrator makes one of them wait while sending the other, and then sends the one he has expected)] each event or incoming impulse and the event or momentum recovered from the finite state machine, the signal being sent to the Neuronal Matrix block, where it is attenuated by a factor around "r", via the Event Router block.
  • the Event Planner block of the present invention is framed in an "AER" Address Event Representation processing system.
  • the converter device of the present invention as described (previous paragraph) is capable of repeating in time "r" times the contribution of a neuronal impulse in event or impulse processing systems.
  • the Finite State Machine comprises a pointer register whose index points to a position of the memory module, the index being increased by one position after a time At of increment of temporary unit.
  • the memory module is a circular register of Q registers comprising a predetermined number of Q positions, each of which comprises a "busy” bit and with storage capacity of the "p" event parameters.
  • the finite state machine prior to writing the "p" event parameters in "r" memory module positions, each of which will be chosen to be read in a moment t t + t n , detects whether the bit of "busy” is activated, in which case the "p" event parameters will be written to the next or previous position of the memory module whose "busy” bit is disabled; otherwise, the "p” parameters of the event are written to the position of the memory module that will be read at time t, + t n and the "busy” bit of said memory position is activated.
  • the finite state machine reads the "p" parameters of the event included in the position of the memory module pointed by the index of the pointer register if the "busy" bit is activated, deactivates said "busy” bit and sends said "p" parameters to the Exit Event Arbitrator.
  • the Event Planner block of the present invention has an effect on the weights of the events that arrive at the Neural Matrix block. To compensate for the effect of the Event Planner block of the present invention, it is necessary to reprogram the weights included in the Neural Matrix block in such a way that The effect of replacing each original event with a finite number "r" of events is equivalent.
  • a second aspect of the invention is a feature map extractor connectable to its input with a source module from which it receives impulses or events Ei.
  • the novel feature map extractor comprises a conventional Event Router block.
  • the feature map extractor of the present invention is characterized in that it additionally comprises the Event Planner block of the present invention and a modified Neural Matrix block.
  • the modified Neural Matrix block is reprogrammed to be equivalent to the effect of replacing each original event with a finite number "r" of events. That is, the weights are weakened such that the effect of replacing each original event with a finite number "r" of events from the Event Planner block is equivalent.
  • a neuronal network converter method of pulse processing with instantaneous synapse to integration with dynamic synapse is described.
  • the method of the present invention allows to perform a synapse integration behavior with dynamics using circuits whose behavior is that of instantaneous synapses.
  • the method consists in repeating over time the contribution of a neuronal impulse in event or impulse processing systems, making the contribution of repeated events weaker than the original.
  • the method of the present invention comprises, for each input pulse or event Ei received in an instant "t" in a processing system by representation of "AER" event address, repeat each pulse or event Ei in the "r” instants futures while the effect of each pulse or event Ei is attenuated in the destination module (destination block).
  • v) extract the event in one of the future "r" moments (whenever applicable), arbitrate [(that is, when two events are simultaneous (the one coming from the input and the one coming from reading the memory module), given that can only be sent to the next stage one at a time, it is necessary to use an arbitrator that resolves the conflict.
  • the arbitrator makes one of them wait while sending the other, and then sends the one he has expected)] by arbitrator sending the event retrieved from memory with the sending of a new event that is being received (if it is receiving it) at the same time you; Y,
  • each pulse or event Ei input received in an instant "t" in a processing system by representation of the "AER" address event is repeated in "r" future moments at the same time as the effect of said impulse or event Ei is attenuated by the Neuronal Matrix ("Neuronal Array").
  • the Input Event Manager receives impulses or input events E ⁇ , each of which arrives at its time t ,.
  • each impulse or input event E received at its arrival time t, is sent directly to the Exit Event Arbitrator who, arbitrating it with the memorized impulses or events that the WFTU can send, will send it to the Exit of the Exit Event Arbitrator.
  • step iv) the WFTU is reading with consecutive steps At the consecutive positions of the memory module. If your "busy" bit is activated, it is deactivated, the "p" parameters of the stored event are extracted (and optionally deleted) and sent to the Exit Event Arbitrator.
  • step v) the Exit Event Arbitrator will arbitrate the events coming from the WFTU with those coming from the Entry Event Manager that may coincide in time.
  • step vi) in the destination module, which is the Neuron Array block, the weights must be attenuated by a factor around "r". This is carried out by reprogramming the weights included in the Neural Matrix block.
  • the discharge mechanism of its state can be suppressed until it reaches a rest state, if other "r2" repetitions of the event are added to the "r" train of the incoming event. changing the polarity of the event in these "r2" repetitions.
  • the Event Planner of the present invention comprises that the "FSM” finite state machine (4) write the "p" parameters of the event by changing its polarity in the memory module so that they are sent to the Event Arbitrator Output in "r2" future time instants after the "r” time instants. This It is detailed in Fig. 6B. In the upper part (Fig.
  • FIGURES Figure 1 shows the evolution of the internal state of a neuron as a result of a train of nerve impulses from other neurons with dynamic synapses.
  • Figure 2 shows hierarchical structures in designs of neural systems of artificial vision.
  • Figure 3 shows a system of visual sensing and impulse processing, such as the biological ones where each pixel or neuron in a layer receives information from neighborhoods of the previous layer.
  • Figure 4 shows a digital embodiment of a circuit of a simple neuron that performs an instant synaptic integration method, that is, synapse without dynamics.
  • Figure 5a shows the temporal evolution of the state of the neuron, when it receives positive and negative input pulses (performing instantaneous synaptic integration) until reaching the threshold and sending its own output pulse.
  • Figure 5b shows a mechanism for unloading the state of a neuron to detect if it receives a series of characteristics within a time window.
  • Figure 6A shows the effect of the present invention on the input pulses received at the input of the neuron.
  • Figure 6Bi shows the evolution of the state of an impulse receptor neuron through a dynamic synapse.
  • Figure 6Bii shows the method indicated so far in that in an embodiment with instantaneous synapses and neurons with discharge mechanism, each input pulse is replaced by a train of weaker "r" pulses.
  • Figure 6Biii shows a neuron that has no discharge mechanism with instantaneous synapses, in which the input pulse is replaced by two consecutive trains.
  • Figure 7 shows an event sensing and processing system, and more specifically a scheme of an AER (Address Event Representation) system.
  • AER Address Event Representation
  • Figure 8A shows a typical structure inside a feature map extractor module in AER systems that contains two blocks.
  • Figure 8B shows the interior structure of a feature map extractor module in AER systems modified by the present invention.
  • Figure 9 shows the structure of the Event Planner according to the present invention.
  • Figure 10 shows a flow chart detailing the steps of the method of the present invention.
  • FIG. 7 shows a scheme of an AER (Address Event Representation) system.
  • Figure 6 illustrates the effect of the present invention on the input pulses received at the input of the neuron. That is, each input pulse (52) is replaced by a train of "r" pulses (51) and the "weight” value is also attenuated by a value around "r" (the exact value is optimized for each application concrete), such that a waveform like the one shown in Figure 5b) is modified by the present invention giving rise to a waveform like the one shown in Figure 6A.
  • the "r" pulses are spaced apart so that the pulse train has a duration similar to the duration of the rise ramps in Fig. 6. This duration varies according to the application of the invention, but is typically a few milliseconds (1 or 2) or fractions of milliseconds. Similarly, the spacing of the "r" impulses can be equidistant or not.
  • the event sensing and processing system shown in Figure 7 is formed by one or more sensors, in this case an AER vision retina (55), sets of event processing modules (56, 57, 58) (containing the l ia or 11b blocks), and some AER channels or buses (59, 60, 61) that send the events of some modules to others.
  • Ei events are usually formed by a digital word that contains the coordinates (x ;, y,) of the event-producing neuron plus a sign bit s ⁇ .
  • the information that carries an impulse or event Ei could be any other data set of "p" parameters, as the AER system is conceived.
  • the time t, at which the event occurs is the characteristic time of the event Ei.
  • a weight is assigned that depends on the distance d between the coordinates (x,, y,) and (x ,, yt).
  • Fig. 8A shows a typical structure inside these modules.
  • the destination module feature map extractor in AER systems
  • line contains two blocks (12, 13).
  • the Event Router block (12) receives the Ei input event from the source module (10) and sends it to the "projective field" neuron set in the Neuronal Array ("Neuron Array”) ( 13), to each one with its corresponding weight dy. These weights are stored within the Neural Matrix block (13).
  • This block Neuronal Matrix (“Neuron Array”) (13) is usually a two-dimensional matrix of neurons. Each neuron could be described by the scheme illustrated in Figure 4.
  • the present invention inserts a block in each AER processor module, which we will call the Event Scheduler (1), between the AER input channel and the block that distributes the events to the router neuron matrix. of Events (“Event Router”) (12).
  • Event Router a new feature map extractor (11b) is obtained comprising the Event Planner (1) of the present invention, a conventional Event Router (12) and a Neural Matrix block (13) modified to compensate the effect of the Event Planner on the weights of the events.
  • the present invention adds a new functionality to the Neuronal Matrix block (13) and is to readjust the original weights di j (that is, attenuate), since now each input event is mapped to r + 1 events destined to each of the neurons of projective fields.
  • Figure 9 shows an example of realization of the Event Planner
  • Event Scheduler (1).
  • This Event Scheduler (1) includes the following elements.
  • An Input Event Manager (7) that receives the events (8) of the corresponding input AER channel.
  • a memory module which in this example is a circular record of Q records (5).
  • An "FSM” finite state machine (4) containing a "pointer” register (3).
  • An Exit Event Arbitrator (2) that sends some events (9) to the Event Router block (12).
  • the finite state machine (4) contains a "pointer" register (3) whose index points to a position of the memory module (5). The index is continuously increased every time step ⁇ to point to the next position of the memory module (5).
  • each memory position contains a "busy" bit (6) plus other bits to accommodate the parameters of a given event Ei.
  • the Inbound Event Manager (7) receives a new Ei event in an instant, it sends it to the Exit Event Arbitrator (2) to send it to the exit, but
  • the FSM (4) reads the register pointed to by "pointer” (3) and if its busy bit is active, it reads the Ei event, deactivates the "busy” bit (6), and sends the Ei parameters to the Exit Event Arbitrator (2).
  • the number Q of memory positions of the memory module (5) must be properly sized according to the "r" parameter, the maximum input event rate p max , the time step At, and the maximum future instant t n .
  • the memory module of Q positions must store information until a future time t n .
  • the registry should be able to host p max r-t n events. Therefore, it must be fulfilled that Q> p max - r- t n . Or, equivalently, it must be verified that p max - r -At ⁇ 1.
  • each time an entry event E is received, (8), additionally send the event to its destination, that is, to the Exit Event Arbitrator (2) (regardless of the storage process of the next step) which, by arbitrating it with the memorized events that the WFTU can send (4), it will send it to the Event Router block (12) through the output (9) of the Exit Event Arbitrator (2); the "p" parameters of the input event E, (8) are written in "r" positions of a memory module by the WFTU (4); the positions of this memory module are read one at a time at constant speed; depending on the future moments t, + t n (n l, 2, ...
  • the WFTU (4) reads with consecutive steps At the consecutive positions of the memory module. If your "busy” bit is activated, the "p" parameters of the stored event are extracted and sent to the arbitrator (2). each time one of the "r" repetitions of an event stored in the past is extracted, the arbitrator (2) will arbitrate the events coming from the WFTU (4) with those coming from the input event manager (7) that can match in the time; Y,
  • the destination module is the Neuron Array (13), which attenuates the weights by a factor around "r".

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

La presente invención resuelve el problema técnico de encontrar una forma de efectuar las contribuciones como si se emplearan sinapsis dinámicas, pero empleando circuitos neuronales lo más simples posibles como con las sinapsis de integración instantánea. De esa manera, cada neurona sería capaz de tomar la decisión correcta y ello permitiría un correcto reconocimiento por parte de la red neuronal. Para ello, cada impulso de entrada es reemplazado por un tren de "r" impulsos y el valor de "peso" se atenúa asimismo por un valor entorno a "r". Los "r" impulsos se espacian durante un tiempo característico. El espaciado de los "r" impulsos puede ser equidistante o no. Esto permite que si llegara un frente de impulsos simultáneos a la neurona, procedentes de varias neuronas de la capa anterior, los trenes de impulsos se intercalarían entre sí y todos contribuirían en la decisión de la neurona de activarse o no.

Description

Método y sistema conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica. DESCRIPCIÓN
CAMPO DE LA INVENCIÓN
La presente invención se encuadra en el campo de los circuitos electrónicos, en particular circuitos integrados de procesado por impulsos que emulan el procesado neurológico de las neuronas biológicas.
ESTADO DE LA TÉCNICA
En neurociencia computacional se estudian algoritmos que imitan los procesamientos neuronales para efectuar algún tipo de función de alto nivel, como el reconocimiento automático de objetos en visión artificial. En estos sistemas es muy habitual emplear sinapsis con dinámica. Al emplear sinapsis con dinámica, el efecto que un impulso nervioso procedente de una neurona tiene sobre otra es tal que el estado interno de ésta última evoluciona de una forma parecida a como se indica en la Fig. 1.
Cada impulso de entrada (14, 15, y 16) altera el estado de la neurona destino de manera que añade una zona inicial que sube a una cierta velocidad, seguida de una descarga a velocidad más lenta. Por ejemplo, el primer impulso de entrada (14) provoca el transitorio (17) en el estado de la neurona. Las contribuciones de los impulsos sucesivos (15 y 16) añaden las correspondientes contribuciones (18 y 19) dando lugar a una contribución total (20) que es la suma de las partes (17, 18 y 19). De esta manera, el efecto del impulso se prolonga durante un tiempo de unos cuantos milisegundos. Esto es muy convencional en el estado actual de la neurociencia computacional, como por ejemplo se describe en: W. Gerstner, "Spiking Neurons, " Ch. 1 in Pulsed Neural Networks, W. Maass and C. M. Bishop (Eds.), MIT Press, Cambridge MA, 1999.
Cuando se diseñan sistemas neuronales de visión artificial para reconocimiento de objetos, es habitual emplear estructuras jerárquicas como por ejemplo la que se muestra en la Fig.2 del tipo denominadas "Convolutional Neural Networks": Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. "Gradient-based learning applied to document recognition ", Proceedings of the IEEE , vol. 86, pp. 2278-2324, November 1998.
En estas redes, el sensor de visión (21) envía información a la primera capa de procesamiento (24). Esta primera capa extrae características (en inglés "features") muy simples de zonas pequeñas del campo visual. Por ejemplo, es muy usual emplear una matriz de filtros de Gabor, cada uno de los cuales identifica "segmentos" cortos a distintas orientaciones y escalas. Así, cada uno de los filtros (22), de la primera capa activaría aquellos píxeles donde se encuentre centrado un pequeño segmento (de varios píxeles de longitud y espesor, según la escala) de una cierta orientación. A estos filtros (como el 22), presentes en todas las capas, se les denomina "mapa de características" (o "feature map" en inglés). Cada neurona en un mapa de características envía sus impulsos a "campos proyectivos" (23) en mapas de características de las capas destino. De esta manera, la información se transmite a los mapas de características de la siguiente capa, la cual agrupa segmentos para identificar "trazos". La siguiente capa (26) agrupa "trazos" para formar y reconocer figuras más complejas, y así sucesivamente hasta reconocer objetos independientemente de su tamaño y orientación.
En un sistema de sensado visual y procesamiento por impulsos, como los biológicos, cada píxel (o neurona) en una capa recibe información de vecindarios de la capa anterior. Esto se ilustra en la Fig. 3.
Así por ejemplo, si se presenta la letra "A" a la entrada, se activan en la primera capa (32) aquellos píxeles que detectan los segmentos orientados (35 A, 35B, 35C). La segunda capa (33) identificaría, por ejemplo, intersecciones características entre segmentos. Y la tercera capa (34) agruparía estos últimos para identificar la letra "A" o descartar otras enviando impulsos negativos o inhibitorios. En todo este proceso, cada píxel (o neurona) en una capa recibe impulsos sucesivos tanto positivos como negativos de varios vecindarios de las capas anteriores, y debe tomar la decisión de identificar o no si está presente la característica que dicho píxel (neurona) define. Así, si se presenta la letra "A" como un flash, el sensor visual envía un número reducido de impulsos eléctricos desde los píxeles que sensaron la "A". Los píxeles (neuronas) de las siguientes capas irán recibiendo impulsos positivos y negativos de vecindarios de píxeles de la capa anterior, que determinarán si la característica a detectar por dicha neurona se encuentra presente o no. Para que una neurona pueda determinar si está presente o no la característica que ella representa, debe reunir la contribución de un número seguro de impulsos positivos y negativos de la capa anterior. Para evitar que los primeros impulsos que lleguen induzcan a la neurona a tomar una decisión errónea, la naturaleza emplea el método descrito en la Fig. 1, que corresponde a un comportamiento de integración sináptico con dinámica. Esto es, cada vez que se recibe un impulso, el estado de la neurona crece primero (por ejemplo, en las neuronas biológicas este tiempo suele ser de pocos milisegundos) hasta alcanzar un máximo, y después se relaja volviendo a su estado de reposo. Si el impulso recibido es positivo aumenta el estado, y si es negativo disminuye. De esta manera, cuando la neurona reciba todo un frente de impulsos esparcidos en pocos milisegundos, sus contribuciones serán agregadas y restadas en la forma indicada en la Fig. 1. Esto permite que cada neurona tenga en cuenta la contribución de un gran número de impulsos que lleguen en una ventana de tiempo de pocos milisegundos, sin tomar una decisión precipitada con solo los primeros que lleguen.
Este tipo de modelado matemático se emplea comúnmente entre los investigadores de neurociencia computacional que desarrollan programas software emuladores de los procesos neuronales, tales como: W. Gerstner, "Spiking Neurons, " Ch. 1 in Pulsed Neural Networks, W. Maass and C. M. Bishop (Eds.), MIT Press, Cambridge MA, 1999; Masquelier, T., and Thorpe, S. J. (2007). Unsupervised learning of visual features through spike timing dependent plasticity. PLoS Comput. Biol. 3, e31. Masquelier, T., Guyonneau, R., and Thorpe, S. J. (2008). Spike timing dependent plasticity finds the start of repeating patterns in continuous spike trains. PLoS ONE 3, el377; y, Masquelier, T., and Thorpe, S. J. (2010). "Learning to recognize objects using waves of spikes and spike timingdependent plasticity, " in Proc. of the 2010 IEEE Int. Joint Conf. on Neural Networks, Barcelona.
Sin embargo, en realizaciones de circuitos hardware resulta muy complejo y caro hacer circuitos de neuronas con sinapsis dinámicas que respondan de la manera indicada en la Fig.1. En realizaciones de circuitos, dado que se pretende integrar en un mismo microchip muchos miles o millones de neuronas, es imprescindible simplificar al máximo cada neurona. En consecuencia, es muy habitual, en una realización digital, emplear neuronas muy simples como la indicada en la Fig. 4, que realizan un método de integración sináptico instantáneo, es decir sinapsis sin dinámica.
En la figura 4 se muestra una realización digital de un circuito de una neurona. Cada vez que la neurona (40) recibe un impulso de entrada (41), se suma un "peso" (48) a un registro de n bits (47) que representa el "estado" de la neurona. El "peso" que se suma depende de la neurona de la que procede el impulso de entrada, y puede estar almacenado en una memoria local compartida por todas las neuronas. Esto se realiza por ejemplo en L. Camuñas-Mesa, C. Zamarreño-Ramos, A. Linares-Barranco, A. Acosta- Jiménez, T. Serrano-Gotarredona, and B. Linares-Barranco, "An Event-Driven Multi- Kernel Convolution Processor Module for Event-Driven Vision Sensors, " IEEE J. of Solid-State Circuits, vol. 47, No. 2, pp. 504-517, Feb. 2012 o en L. Camuñas-Mesa, A. Acosta- Jiménez, C. Zamarreño-Ramos, T. Serrano-Gotarredona, and B. Linares- Barranco, "A 32x32 Pixel Convolution Processor Chip for Address Event Vision Sensors with 155ns Event Latency and 20Meps Throughput, " IEEE Trans. Circ. and Syst. Part-I, vol. 58, No. 4, pp. 777-790, April 2011. Conforme van llegando impulsos de entrada se suman o restan los pesos (según sean impulsos positivos o negativos). Para ello se usa un circuito sumador/restador (42). El estado de la neurona se compara, mediante un circuito comparador (44), en cada instante con un valor "umbral" (43). Cuando el estado exceda del "umbral", el registro se resetea mediante una señal de "reset" (46) a un valor de reposo y la neurona envía un impulso por su salida (45).
En el caso de emplear "Convolutional Neural Networks" (como en las Figuras 2 y 3) con módulos hardware de Representación de Evento de Dirección "AER" (Address Event Representation), los dispositivos de integración sináptica instantánea comprenderían una multitud de bloques extractores de mapas de características. Cada bloque extractor de mapas de características del estado de la técnica, a su vez consiste en dos bloques: un bloque Enrutador de Eventos y un bloque Matriz Neuronal. El bloque Matriz Neuronal es el que contiene una matriz (o "array" en inglés) de circuitos digitales como el mostrado en la figura 4, donde los "pesos" que representan el "estado" de la neurona son programados según las necesidades de cada realización.
La Fig. 5a) muestra la evolución temporal del estado de la neurona, cuando recibe impulsos de entrada positivos y negativos (realizando integración sináptica instantánea) hasta alcanzar el umbral y enviar su propio impulso de salida. Dado que cada neurona debe detectar si recibe una serie de características dentro de una ventana temporal, es deseable dotarla de un mecanismo de descarga de su estado, tal y como se ilustra en la Fig. 5b). Esto se puede hacer, por ejemplo, enviando periódicamente a todas las neuronas unos impulsos negativos débiles. Esto se hace así, por ejemplo, en filtros convolucionadores por eventos (impulsos) en realizaciones digitales como los descritos en L. Camuñas-Mesa, C. Zamarreño-Ramos, A. Linares-Barranco, A. Acosta- Jiménez, T. Serrano-Gotarredona, and B. Linares-Barranco, "An Event-Driven Multi-Kernel Convolution Processor Module for Event-Driven Vision Sensors, " IEEE J. of Solid- State Circuits, vol. 47, No. 2, pp. 504-517, Feb. 2012 o en L. Camuñas-Mesa, A. Acosta- iménez, C Zamarreño-Ramos, T. Serrano-Gotarredona, and B. Linares- Barranco, "A 32x32 Pixel Convolution Processor Chip for Address Event Vision Sensors with 155ns Event Latency and 20Meps Throughput, " IEEE Trans. Circ. and Syst. Part-I, vol. 58, No. 4, pp. 777-790, April 2011.
Sin embargo, el método ilustrado en las Fig. 4 y 5 es tal que la contribución de cada impulso de entrada es instantáneo (es decir, es un método de sinapsis instantánea), a diferencia de cómo se hacía la contribución en la Fig. 1 (es decir, mediante un método de sinapsis con dinámica). Por tanto, las neuronas no esperan a calcular la contribución total de todos los eventos que llegarían en una ventana de tiempo. Al contrario, si llegan unos pocos impulsos positivos que hagan llegar el estado de la neurona al umbral (Ith), la neurona toma la decisión de activarse, aunque inmediatamente después llegaran muchos impulsos negativos. La consecuencia de efectuar las contribuciones de los impulsos de esta manera instantánea es que las neuronas van tomando decisiones erróneas y la capacidad de efectuar reconocimiento de la red neuronal se pierde.
Por tanto, el problema técnico planteado en el estado de la técnica es encontrar una forma de efectuar las contribuciones como si se emplearan sinapsis dinámicas, pero empleando circuitos neuronales lo más simples posibles como con las sinapsis de integración instantánea. De esa manera, cada neurona sería capaz de tomar la decisión correcta y ello permitiría un correcto reconocimiento por parte de la red neuronal. DESCRIPCIÓN DE LA INVENCIÓN
La presente invención resuelve el problema técnico planteado, tomando como base la Fig. 5b), esto es, una neurona con relajación con método de sinapsis de integración instantánea. La Fig. 6 ilustra el efecto de la presente invención sobre los impulsos de entrada recibidos a la entrada de la neurona. Cada impulso de entrada (52) es reemplazado por un tren de "r" impulsos (51) y el valor de "peso" (es decir, el efecto del impulso) se atenúa asimismo por un valor entorno a "r". Los "r" impulsos se espacian durante un tiempo característico. Este tiempo característico es de unos pocos milisegundos en las neuronas biológicas, pero en una aplicación de, por ejemplo, visión artificial este tiempo se adaptaría a la naturaleza y velocidad de la realidad visual bajo observación. El espaciado de los "r" impulsos puede ser equidistante o no. Esto permite que si llegara un frente de impulsos simultáneos a la neurona, procedentes de varias neuronas de la capa anterior (en una ventana temporal de milisegundos), los trenes de impulsos se intercalarían entre sí y todos contribuirían en la decisión de la neurona de activarse o no.
La consecuencia es que de esta manera se emula un comportamiento de sinapsis con dinámica (no instantánea) y las neuronas no toman una decisión precipitada con los primeros impulsos que lleguen. Al contrario, al permitir intercalar trenes de impulsos más débiles, es posible consensuar la contribución procedente de un número mayor de neuronas que envíen sus impulsos durante los mismos milisegundos. El resultado es que se consigue emular el comportamiento biológico de las sinapsis con dinámica que se describe en la Fig. 1, sin necesidad de complicar la circuitería interna de las neuronas del chip que siguen siendo circuitos sencillos que realizan una integración sináptica instantánea, como la mostrada en la Fig. 4. La presente invención resuelve el problema técnico planteado distribuyendo durante un intervalo de tiempo más prolongado el efecto de la contribución instantánea de un impulso de entrada a una neurona artificial.
Para ello, en un primer aspecto de la presente invención, se describe un bloque Planificador de Eventos para convertir una red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica. Como se ha mencionado anteriormente, hay redes neuronales en el estado previo de la técnica que consisten en un bloque Enrutador de Eventos ("Event Router") y un bloque Matriz Neuronal ("Neuron Array") interconectados entre sí para formar un dispositivo de integración sináptica instantánea, donde el Enrutador de eventos recibe a su entrada un flujo de impulsos o eventos Ei procedentes de un módulo origen.
El novedoso bloque Planificador de Eventos se dispone entre el módulo de origen y el bloque Enrutador de Eventos. Dependiendo de la forma de realización de la invención, el bloque Planificador de Eventos puede estar dentro del extractor de mapas de características (comprendido en el dispositivo de integración sináptica instantánea) o constituir una entidad propia. En una realización preferente, el novedoso bloque Planificador de Eventos ("Event Scheduler") comprende: i) un módulo de memoria; ii) un Arbitrador de Eventos de Salida; iii) una máquina de estados finitos (FSM) que comprende un registro de puntero, donde la máquina de estados finitos escribe los "p" parámetros del evento en el módulo de memoria recibidos en un instante "t " para que sean enviados al Arbitrador de Eventos de Salida en "r" instantes de tiempo futuros; y, iv) un Gestor de Eventos de Entrada que envía directamente el evento al Arbitrador de Eventos de Salida y, al mismo tiempo, a la máquina de estados finitos. De tal forma que el Arbitrador de Eventos de Salida genera una señal que es el resultado de arbitrar [(esto es, cuando dos eventos son simultáneos (el procedente de la entrada y el procedente de leer el modulo de memoria), dado que solamente se pueden enviar a la siguiente etapa de uno en uno, es necesario el uso de un arbitrador que resuelve el conflicto. El arbitrador hace esperar a uno de ellos mientras envía el otro, y después envía el que ha esperado)] cada evento o impulso entrante y el evento o impulso recuperado de la máquina de estados finitos, siendo enviada la señal al bloque Matriz Neuronal, donde es atenuada por un factor entorno a "r", vía el bloque Enrutador de Eventos.
El bloque Planificador de Eventos de la presente invención está enmarcado en un sistema de procesado por Representación de Evento de Dirección "AER" (Address Event Representation en inglés). El dispositivo conversor de la presente invención tal y como está descrito (párrafo anterior) es capaz de repetir en el tiempo "r" veces la contribución de un impulso neuronal en sistemas de procesado por eventos o impulsos.
En la realización preferida de la invención, la máquina de estados finitos ("Finite State Machine", en inglés, FSM) comprende un registro de puntero cuyo índice apunta a una posición del módulo de memoria, incrementándose el índice en un una posición después de un tiempo At de incremento de unidad temporal.
Asimismo, y para la mencionada realización preferida de la invención, el módulo de memoria es un registro circular de Q registros que comprende un número predeterminado de Q posiciones, cada una de las cuales comprende un bit de "ocupado" y con capacidad de almacenamiento de los "p" parámetros del evento. La máquina de estados finitos previamente a escribir los "p" parámetros del evento en "r" posiciones del módulo de memoria, cada una de las cuales se escogerá para que sea leída en un instante tt+tn, detecta si el bit de "ocupado" está activado, en cuyo caso los "p" parámetros del evento se escribirán en la posición siguiente o anterior del módulo de memoria cuyo bit de "ocupado" esté desactivado; en caso contrario, los "p" parámetros del evento se escriben en la posición del módulo de memoria que se leerá en el instante t,+tn y se activa el bit de "ocupado" de dicha posición de memoria. La máquina de estados finitos, para el instante de tiempo "t ", lee los "p" parámetros del evento comprendidos en la posición del módulo de memoria apuntada por el índice del registro de puntero si el bit de "ocupado" está activado, desactiva dicho bit de "ocupado" y envía dichos "p" parámetros al Arbitrador de Eventos de Salida.
El bloque Planificador de Eventos de la presente invención tiene un efecto sobre los pesos de los eventos que llegan al bloque de Matriz Neuronal. Para compensar el efecto del bloque Planificador de Eventos de la presente invención, es necesario reprogramar los pesos comprendidos en el bloque de Matriz Neuronal de tal forma que el efecto de sustituir cada evento original por un número finito "r" de eventos sea equivalente.
Por tanto, un segundo aspecto de la invención es un extractor de mapas de características conectable a su entrada con un módulo origen del que recibe unos impulsos o eventos Ei. El novedoso extractor de mapas de características comprende un bloque Enrutador de Eventos convencional. El extractor de mapas de características de la presente invención está caracterizado porque adicionalmente comprende el bloque Planificador de Eventos de la presente invención y un bloque Matriz Neuronal modificado. El bloque Matriz Neuronal modificado es reprogramado para que sea equivalente el efecto de sustituir cada evento original por un número finito "r" de eventos. Es decir, los pesos son debilitados tal que el efecto de sustituir cada evento original por un número finito "r" de eventos procedentes del bloque Planificador de Eventos, sea equivalente.
En un tercer aspecto de la presente invención, se describe un método conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea a integración con sinapsis dinámica. De esta forma, el método de la presente invención permite realizar un comportamiento de integración de sinapsis con dinámica empleando circuitos cuyo comportamiento sea el de sinapsis instantáneas. El método consiste en repetir en el tiempo la contribución de un impulso neuronal en sistemas de procesado por eventos o impulsos, haciendo que la contribución de los eventos repetidos sea más débil que el original.
El método de la presente invención comprende, para cada impulso o evento Ei de entrada recibido en un instante "t " en un sistema de procesado por representación de dirección de evento "AER", repetir cada impulso o evento Ei en los "r" instantes futuros a la vez que el efecto de cada impulso o evento Ei es atenuado en el módulo destino (bloque destino).
El método conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea a integración con sinapsis dinámica de la presente invención comprende los siguientes pasos: i) por cada evento o impulso de entrada recibido en un instante "t", memorizar los valores de sus "p" parámetros asociados a cada evento o impulso para ser recuperados en un número finito "r" de instantes futuros t,+tn (n=l, 2, ... r); ii) por cada evento o impulso de entrada recibido, adicionalmente enviar el evento o impulso a su destino (independientemente del proceso de almacenamiento del paso anterior);
iii) escribir en "r" posiciones de un módulo de memoria los parámetros del evento o impulso recibido; las posiciones de este módulo de memoria se van leyendo una a una a velocidad constante; según sean los instantes futuros ti+tn en que se deseen recuperar las "r" repeticiones del evento o impulso, así habrá que seleccionar las "r" posiciones en el módulo de memoria;
iv) recuperar de forma temporizada los "p" parámetros del evento o impulso en el número finito "r" de instantes futuros, siendo los intervalos de temporización fijos o variables;
v) extraer el evento en uno de los "r" instantes futuros (cada vez que corresponda), arbitrar [(esto es, cuando dos eventos son simultáneos (el procedente de la entrada y el procedente de leer el modulo de memoria), dado que solamente se pueden enviar a la siguiente etapa de uno en uno, es necesario el uso de un arbitrador que resuelve el conflicto. El arbitrador hace esperar a uno de ellos mientras envía el otro, y después envía el que ha esperado)] mediante un arbitrador el envío del evento recuperado de la memoria con el envío de un evento nuevo que está siendo recibido (si es que lo está recibiendo) en el mismo instante de tiempo ti; y,
vi) debilitar los pesos en el módulo de destino, reprogramando éste con los valores de los pesos debilitados, para que el efecto de sustituir cada evento original por un número finito "r" de eventos sea equivalente.
En la forma de realización preferida de la invención referida al método y en correspondencia con la realización preferida de la invención referida al sistema formado por el Planificador de Eventos y el Extractor de Mapas de Características, ambos de la presente invención, cada impulso o evento Ei de entrada recibido en un instante "t " en un sistema de procesado por representación de evento de dirección "AER" es repetido en "r" instantes futuros a la vez que el efecto de dicho impulso o evento Ei es atenuado por la Matriz Neuronal ("Neuronal Array"). En el paso i), el Gestor de Eventos de Entrada recibe impulsos o eventos de entrada E¡, cada uno de los cuales llega en su instante t,. En el paso ii), cada impulso o evento de entrada E, recibido en su instante de llegada t, se envía directamente al Arbitrador de Eventos de Salida que, arbitrándolo con los impulsos o eventos memorizados que pueda enviar la FSM, lo enviará a la salida del Arbitrador de Eventos de Salida. En el paso iii), por cada evento de entrada E, la máquina de estados finitos (FSM) escribirá sus "p" parámetros en aquellas "r" posiciones de memoria del módulo de memoria que se lean en los instantes futuros t,+tn (n=l, 2, ... r). Si una posición de memoria tuviera su bit de "ocupado" activo, se escribirá el evento en la posición anterior o posterior más cercana cuyo bit de "ocupado" esté desactivado. En aquella posición de memoria donde se escriba el evento se activará su bit de "ocupado". En el paso iv), la FSM va leyendo con pasos temporales At las posiciones consecutivas del módulo de memoria. Si su bit de "ocupado" está activado, éste se desactiva, se extraen (y opcionalmente se borran) los "p" parámetros del evento almacenado y se envía al Arbitrador de Eventos de Salida. En el paso v), el Arbitrador de Eventos de Salida arbitrará los eventos procedentes de la FSM con los procedentes del Gestor de Eventos de Entrada que puedan coincidir en el tiempo. En el paso vi), en el módulo de destino, que es el bloque Matriz Neuronal ("Neuron Array"), los pesos deben estar atenuados por un factor entorno a "r". Esto es llevado a cabo mediante la reprogramación de los pesos comprendidos en el bloque Matriz Neuronal.
En un cuarto aspecto de la invención, en las neuronas puede suprimirse el mecanismo de descarga de su estado hasta alcanzar un estado de reposo, si al tren de "r" repeticiones del evento de entrada se le añaden otras "r2" repeticiones posteriores del evento cambiando la polaridad del evento en estas "r2" repeticiones. Para ello, el Planificador de Eventos de la presente invención comprende que la máquina de estados finitos "FSM" (4) escriba los "p" parámetros del evento cambiando la polaridad del mismo en el módulo de memoria para que sean enviados al Arbitrador de Eventos de Salida en "r2" instantes de tiempo futuros posteriores a los "r" instantes de tiempo. Esto se detalla en la Fig. 6B. En la parte superior (Fig. 6B i)) se muestra la evolución del estado (31) de una neurona receptora de un impulso a través de una sinapsis con dinámica, al igual que se explicaba en la Fig. l . En la parte central (Fig. 6B ii)) se muestra el método indicado hasta ahora en que en una realización con sinapsis instantáneas y neuronas con mecanismo de descarga, se reemplaza cada impulso de entrada por un tren de "r" impulsos más débiles. De esta manera se obtiene la evolución (32) del estado de la neurona. En la parte inferior (Fig. 6B iii)) se emplearía una neurona que no tiene mecanismo de descarga con sinapsis instantáneas, en la que el impulso de entrada se sustituye por dos trenes consecutivos. Un primer tren de "r" impulsos, igual que antes, más un segundo tren de "r2" impulsos de polaridad opuesta que terminan llevando el estado de la neurona hasta su estado de reposo.
BREVE DESCRIPCIÓN DE LAS FIGURAS La figura 1 muestra la evolución del estado interno de una neurona por efecto de un tren de impulsos nerviosos procedentes de otras neuronas con sinapsis dinámicas.
La figura 2 muestra unas estructuras jerárquicas en diseños de sistemas neuronales de visión artificial.
La figura 3 muestra un sistema de sensado visual y procesamiento por impulsos, como los biológicos donde cada píxel o neurona en una capa recibe información de vecindarios de la capa anterior.
La figura 4 muestra una realización digital de un circuito de una neurona sencilla que realiza un método de integración sináptico instantáneo, es decir, sinapsis sin dinámica. La figura 5a) muestra la evolución temporal del estado de la neurona, cuando recibe impulsos de entrada positivos y negativos (realizando integración sináptica instantánea) hasta alcanzar el umbral y enviar su propio impulso de salida.
La figura 5b) muestra un mecanismo de descarga del estado de una neurona para detectar si recibe una serie de características dentro de una ventana temporal.
La figura 6A) muestra el efecto de la presente invención sobre los impulsos de entrada recibidos a la entrada de la neurona. La figura 6Bi) muestra la evolución del estado de una neurona receptora de un impulso a través de una sinapsis con dinámica.
La figura 6Bii) muestra el método indicado hasta ahora en que en una realización con sinapsis instantáneas y neuronas con mecanismo de descarga, se reemplaza cada impulso de entrada por un tren de "r" impulsos más débiles.
La figura 6Biii) muestra una neurona que no tiene mecanismo de descarga con sinapsis instantáneas, en la que el impulso de entrada se sustituye por dos trenes consecutivos. La figura 7 muestra un sistema de sensado y procesado por eventos, y más concretamente un esquema de un sistema AER (Address Event Representation).
La figura 8A muestra una estructura típica del interior de un módulo extractor de mapas de características en sistemas AER que contiene dos bloques.
La figura 8B muestra la estructura del interior de un módulo extractor de mapas de características en sistemas AER modificada por la presente invención.
La figura 9 muestra la estructura del Planificador de Eventos según la presente invención.
La figura 10 muestra un diagrama de flujo donde de detallan los pasos del método de la presente invención.
EJEMPLO DE REALIZACIÓN DE LA INVENCIÓN
La presente invención se enmarca dentro de un sistema de sensado y procesado por eventos como el mostrado en la figura 7, la cual muestra un esquema de un sistema AER (Address Event Representation). Como ha sido mencionado en el apartado anterior, la figura 6 ilustra el efecto de la presente invención sobre los impulsos de entrada recibidos a la entrada de la neurona. Es decir, cada impulso de entrada (52) es reemplazado por un tren de "r" impulsos (51) y el valor de "peso" se atenúa asimismo por un valor entorno a "r" (el valor exacto se optimiza para cada aplicación concreta), de tal forma que una forma de onda como la mostrada en la figura 5b) es modificada por la presente invención dando lugar a una forma de onda como la mostrada en la figura 6A. Los "r" impulsos se espacian entre sí para que el tren de pulsos tenga una duración parecida a la duración de las rampas de subida en la Fig.6. Esta duración varía según la aplicación de la invención, pero es típicamente de pocos milisegundos (1 ó 2) o fracciones de milisegundo. De igual forma, el espaciado de los "r" impulsos puede ser equidistante o no.
El sistema de sensado y procesado por eventos mostrado en la figura 7 está formado por uno o más sensores, en este caso una retina de visión AER (55), unos conjuntos de módulos procesadores de eventos (56, 57, 58) (que contienen los bloques l ia u 11b), y unos canales o buses AER (59, 60, 61) que envían los eventos de unos módulos a otros. Los eventos Ei normalmente están formados por una palabra digital que contiene las coordenadas (x;, y,) de la neurona productora del evento más un bit de signo s¡. Así Ei = (XÍ, y, ,s¡) y cada evento contendría p=3 parámetros. Pero, en general, la información que transporte un impulso o evento Ei podría ser cualquier otro conjunto de datos de "p" parámetros, según se haya concebido el sistema AER. El tiempo t, en que se produce el evento es el tiempo característico del evento Ei. Cada vez que un evento Ei llega a un módulo destino (56, 57, ó 58), éste lo envía a un "campo proyectivo" de neuronas (x,, y¡) en módulos de la capa destino. Así, por ejemplo, si se trata de un módulo convolucionador (o mapa de características o "feature map"), cada vez que se envía el evento Ei a una neurona "f del campo proyectivo, se le asigna un peso que depende de la distancia dy entre las coordenadas (x;, y,) y (x,, y¡).
La Fig. 8A muestra una estructura típica del interior de estos módulos. El módulo de destino (extractor de mapas de características en sistemas AER) (l ia) contiene dos bloques (12, 13). Un Enrutador de Eventos ("Event Router") (12) y un bloque Matriz Neuronal ("Neuron Array") (13). El bloque Enrutador de Eventos ("Event Router") (12) recibe el evento de entrada Ei del módulo origen (10) y se lo envía al conjunto de neuronas del "campo proyectivo" en la Matriz Neuronal ("Neuron Array") (13), a cada una con su correspondiente peso dy. Estos pesos están almacenados dentro del bloque Matriz Neuronal (13). Este bloque Matriz Neuronal ("Neuron Array") (13) suele ser una matriz bidimensional de neuronas. Cada neurona podría estar descrita por el esquema ilustrado en la figura 4. En el esquema de la figura 8A, los eventos que van llegando añaden su contribución de manera instantánea a las neuronas de destino, tal como ilustra la figura 5. Por el contrario, la presente invención inserta un bloque en cada módulo procesador AER, que denominaremos Planificador de Eventos ("Event Scheduler") (1), entre el canal de entrada AER y el bloque que distribuye los eventos a la matriz de neuronas Enrutador de Eventos ("Event Router") (12). De esta forma, se obtiene un nuevo extractor de mapas de características (11b) que comprende el Planificador de Eventos (1) de la presente invención, un Enrutador de Eventos (12) convencional y un bloque de Matriz Neuronal (13) modificado para compensar el efecto del Planificador de Eventos sobre los pesos de los eventos. La función del Planificador de Eventos ("Event Scheduler") (1) es la siguiente: por cada evento de entrada Ei que se reciba en un instante t¡, el Planificador de Eventos ("Event Scheduler") (1) repite el mismo evento en "r" instantes futuros t, + tn con n = 1, 2, ... r. La presente invención añade una nueva funcionalidad al bloque Matriz Neuronal (13) y es readaptar los pesos originales dij (esto es, atenuarse), ya que ahora cada evento de entrada se mapea a r+1 eventos destinados a cada una de las neuronas de los campos proyectivos.
La figura 9 muestra un ejemplo de realización del Planificador de Eventos
("Event Scheduler") (1). Este Planificador de Eventos ("Event Scheduler") (1) comprende los siguientes elementos. Un Gestor de Eventos de Entrada ("Input Event Manager") (7) que recibe los eventos (8) del canal AER de entrada correspondiente. Un módulo de memoria, que en este ejemplo es un registro circular de Q registros (5). Una máquina de estados finitos "FSM" (4) que contiene un registro "pointer" (3). Y un Arbitrador de Eventos de Salida (2) que envía unos eventos (9) al bloque Enrutador de Eventos ("Event Router") (12).
La máquina de estados finitos (4) contiene un registro "pointer" (3) cuyo índice apunta a una posición del módulo de memoria (5). El índice se incrementa continuamente cada paso temporal Δΐ para apuntar a la siguiente posición del módulo de memoria (5). En el módulo de memoria (5), cada posición de memoria contiene un bit de "ocupado" (6) más otros bits para albergar los parámetros propios de un evento dado Ei. Cada vez que el Gestor de Eventos de Entrada (7) recibe un evento nuevo Ei en un instante t¡, éste lo envía al Arbitrador de Eventos de Salida ("Event Arbiter") (2) para que lo envíe a la salida , pero además la FSM (4) copia sus parámetros a "r" posiciones del módulo de memoria (5) de tal manera que el "pointer" (3) lea las posiciones en instantes futuros ti + tn con n = 1, 2, ... r. Asimismo, en estas posiciones se activará el bit de "ocupado" 6. Si una posición de memoria donde se quiera escribir un evento Ei ya estuviera ocupada, el evento Ei se escribirá en la siguiente (o anterior) disponible cuyo bit de "ocupado" no estuviera activado.
Al mismo tiempo, la FSM (4) va leyendo el registro al que apunta "pointer" (3) y si su bit de ocupado está activo, lee el evento Ei, desactiva el bit de "ocupado" (6), y envía los parámetros Ei al Arbitrador de Eventos de Salida (2).
El número Q de posiciones de memoria del módulo de memoria (5) hay que dimensionarlo adecuadamente según sea el parámetro "r", la máxima tasa de eventos de entrada pmax, el paso temporal At, y el máximo instante futuro tn. Así, como en cada momento el módulo de memoria de Q posiciones debe almacenar información hasta un tiempo futuro tn, se debe cumplir que: Q At = tn. Por otro lado, si durante un tiempo tn llegaran eventos a la máxima tasa pmax, el registro debería ser capaz de albergar pmax r- tn eventos. Por tanto, se debe cumplir que Q > pmax- r- tn. O, equivalentemente, debe verificarse que pmax- r -At≤ 1.
La relación del método descrito más arriba con los componentes descritos en el ejemplo de realización de la fig.9 es como sigue:
i) por cada evento de entrada E, (8) que se recibe en el Gestor de Eventos de Entrada (7) en un instante "t", los "p" valores de sus parámetros son memorizados en un módulo de memoria (por ejemplo, un registro circular de Q registros en la figura 9), para ser recuperados en un número finito de "r" instantes futuros t,+tn (n=l, 2, ... r);
ii) cada vez que se reciba un evento de entrada E, (8), adicionalmente enviar el evento a su destino, es decir, al Arbitrador de Eventos de Salida (2) (independientemente del proceso de almacenamiento del paso siguiente) que, arbitrándolo con los eventos memorizados que pueda enviar la FSM (4), lo enviará al bloque Enrutador de Eventos (12) a través de la salida (9) del Arbitrador de Eventos de Salida (2); los "p" parámetros del evento entrada E, (8) son escritos en "r" posiciones de un módulo de memoria por la FSM (4); las posiciones de este módulo de memoria se van leyendo una a una a velocidad constante; según sean los instantes futuros t,+tn (n=l, 2, ... r) en que se deseen recuperar las "r" repeticiones del evento, así habrá que seleccionar las "r" posiciones en el módulo de memoria. Si una posición de memoria tuviera su bit de "ocupado" activo, se escribirá el evento en la posición anterior o posterior más cercana cuyo bit de "ocupado" esté desactivado. En aquella posición de memoria donde se escriba el evento se activará su bit de "ocupado".
ir leyendo una a una las posiciones del módulo de memoria y en aquellas donde esté almacenado una de las "r" repeticiones de un evento recuperar sus "p" parámetros. La FSM (4) va leyendo con pasos temporales At las posiciones consecutivas del módulo de memoria. Si su bit de "ocupado" está activado, se extraen los "p" parámetros del evento almacenado y se envía al arbitrador (2). cada vez que se extrae una de las "r" repeticiones de un evento almacenado en el pasado, el arbitrador (2) arbitrará los eventos procedentes de la FSM (4) con los procedentes del gestor de eventos de entrada (7) que puedan coincidir en el tiempo; y,
debilitar los pesos en el módulo de destino, reprogramando éste con los valores de los pesos debilitados, para que el efecto de sustituir cada evento original por un número finito "r" de eventos sea equivalente. El módulo de destino es el Array Neuronal ("Neuron Array") (13), el cual atenúa los pesos por un factor entorno a "r".

Claims

REIVINDICACIONES
1. - Método conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea a integración con sinapsis dinámica, caracterizado por que cada impulso o evento Ei de entrada recibido en un instante "t " en un sistema de procesado por impulsos, dicho impulso o evento es repetido "r" instantes futuros a la vez que el efecto de dicho impulso o evento Ei es atenuado por un módulo destino.
2. - Método según la reivindicación 1, caracterizado por que comprende los siguientes pasos:
i) por cada evento o impulso de entrada recibido en un instante "t", memorizar los valores de unos "p" parámetros asociados a cada evento o impulso para ser recuperados en un número finito "r" de instantes futuros t,+tn (n=l, 2, ... r); ii) por cada evento o impulso de entrada recibido, adicionalmente enviar el evento o impulso a su destino;
iii) escribir en "r" posiciones de un módulo de memoria los parámetros del evento o impulso recibido; las posiciones de este módulo de memoria se van leyendo una a una a velocidad constante; según sean los instantes futuros ti+tn en que se deseen recuperar las "r" repeticiones del evento o impulso;
iv) recuperar de forma temporizada los "p" parámetros del evento o impulso en el número finito "r" de instantes futuros, siendo los intervalos de temporización fijos o variables;
v) extraer el evento en uno de los "r" instantes futuros, arbitrar mediante un arbitrador el envío del evento recuperado de la memoria con el envío de un evento nuevo que está siendo recibido en el mismo instante de tiempo ti; y, vi) debilitar los pesos en el módulo de destino, reprogramando éste con los valores de los pesos debilitados, para que el efecto de sustituir cada evento original por un número finito "r" de eventos sea equivalente.
3. - Bloque Planifícador de Eventos (1) para convertir una red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica; dicho bloque Planifícador de Eventos es conectable a su salida con un bloque Enrutador de Eventos (12) y a su entrada con un módulo origen (10) que envía un flujo de impulsos o eventos Ei; el bloque Planifícador de Eventos (1) está caracterizado porque comprende:
• un módulo de memoria (5);
• un Arbitrador de Eventos de Salida (2);
• una máquina de estados finitos "FSM" (4) que comprende un registro de puntero (3), donde la máquina de estados finitos (4) escribe los "p" parámetros del evento en el módulo de memoria (5) recibidos en un instante "t " para que sean enviados al Arbitrador de Eventos de Salida (2) en "r" instantes de tiempo futuros;
• un Gestor de Eventos de Entrada (7) que envía directamente el evento al Arbitrador de Eventos de Salida (2) y, al mismo tiempo, a la máquina de estados finitos (4);
de tal forma que el arbitrador de eventos de salida (2) genera una señal que es el resultado de arbitrar cada evento o impulso entrante y el evento o impulso recuperado de la máquina de estados finitos (4), siendo dicha señal enviada a una Matriz Neuronal (13), donde es atenuada por un factor entorno a "r" , vía el Enrutador de Eventos (12).
4. - Bloque Planifícador de Eventos (1) según la reivindicación 3, caracterizado por que la máquina de estados finitos (4) comprende un registro de puntero (3) cuyo índice apunta a una posición del módulo de memoria (5), incrementándose dicho índice en un una posición después de un tiempo At de incremento de unidad temporal.
5 - Bloque Planifícador de Eventos (1) según una cualquiera de las reivindicaciones 3 a 4, caracterizado por que el módulo de memoria (5) es un registro circular de Q registros que comprende un número predeterminado de Q posiciones, cada una de las cuales comprende un bit de "ocupado" (6) y con capacidad de almacenamiento de los "p" parámetros del evento.
6. - Bloque Planificador de Eventos (1) según la reivindicación 1, caracterizado porque la máquina de estados finitos (4) previamente a escribir los "p" parámetros del evento en una de las "r" posiciones del módulo de memoria, cada una de las cuales se leerá en un instante tt+tn, detecta si el bit de "ocupado" (6) está activado, en cuyo caso los "p" parámetros del evento se escribirán en la posición siguiente o anterior del módulo de memoria (5) cuyo bit de "ocupado" (6) esté desactivado; en caso contrario, los "p" parámetros del evento se escriben en la posición del módulo de memoria (5) que se leerá en el instante t,+tn y se activa el bit de "ocupado" (6) de dicha posición de memoria.
7. - Bloque Planificador de Eventos (1) según una cualquiera de las reivindicaciones 3 a 6, caracterizado porque la máquina de estados finitos (4), para el instante de tiempo
"t ", lee los "p" parámetros del evento comprendidos en la posición del módulo de memoria (5) apuntada por el índice del registro de puntero (3) si el bit de "ocupado" (6) está activado, desactiva dicho bit de "ocupado" (6) y envía dichos "p" parámetros al arbitrador de eventos de salida (2).
8. - Bloque Planificador de Eventos (1) según una cualquiera de las reivindicaciones 3 a 7, caracterizado porque la máquina de estados finitos "FSM" (4) escribe los "p" parámetros del evento cambiando la polaridad del mismo en el módulo de memoria (5) para que sean enviados al Arbitrador de Eventos de Salida (2) en "r2" instantes de tiempo futuros posteriores a los "r" instantes de tiempo.
9 - Extractor de Mapas de Características (11B) conectable a su entrada con un módulo origen (10) del que recibe unos impulsos o eventos Ei; dicho extractor de mapas de características (11B) comprende un bloque Enrutador de Eventos (12); el extractor de mapas de características (1 IB) está caracterizado porque adicionalmente comprende el bloque Planifícador de Eventos (1) definido en una cualquiera de las reivindicaciones 1 a 5 y un bloque Matriz Neuronal (13) modificado.
10.- Extractor de Mapas de Características (1 1B) según la reivindicación 9, caracterizado porque en el bloque Matriz Neuronal (13) modificado, los pesos son debilitados tal que el efecto de sustituir cada evento original por un número finito "r" de eventos procedentes del bloque Planifícador de Eventos, sea equivalente.
PCT/ES2013/070285 2012-05-10 2013-05-07 Método y sistema conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica WO2013167780A1 (es)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP13787236.2A EP2849083A4 (en) 2012-05-10 2013-05-07 Method and system for converting pulsed-processing neural network with instantaneous integration synapses into dynamic integration synapses
US14/399,039 US20150120631A1 (en) 2012-05-10 2013-05-07 Method and System for Converting Pulsed-Processing Neural Network with Instantaneous Integration Synapses into Dynamic Integration Synapses

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES201230702 2012-05-10
ESP201230702 2012-05-10

Publications (1)

Publication Number Publication Date
WO2013167780A1 true WO2013167780A1 (es) 2013-11-14

Family

ID=49550188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2013/070285 WO2013167780A1 (es) 2012-05-10 2013-05-07 Método y sistema conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica

Country Status (3)

Country Link
US (1) US20150120631A1 (es)
EP (1) EP2849083A4 (es)
WO (1) WO2013167780A1 (es)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11074499B2 (en) 2017-11-20 2021-07-27 International Business Machines Corporation Synaptic weight transfer between conductance pairs with polarity inversion for reducing fixed device asymmetries
US11270194B2 (en) 2017-07-26 2022-03-08 International Business Machines Corporation System and method for constructing synaptic weights for artificial neural networks from signed analog conductance-pairs of varying significance

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11176475B1 (en) 2014-03-11 2021-11-16 Applied Underwriters, Inc. Artificial intelligence system for training a classifier
US9971973B1 (en) 2016-05-23 2018-05-15 Applied Underwriters, Inc. Artificial intelligence system for training a classifier
US11809434B1 (en) 2014-03-11 2023-11-07 Applied Underwriters, Inc. Semantic analysis system for ranking search results
US10387770B2 (en) 2015-06-10 2019-08-20 Samsung Electronics Co., Ltd. Spiking neural network with reduced memory access and reduced in-network bandwidth consumption
US10482372B2 (en) * 2015-12-23 2019-11-19 Intel Corporation Interconnection scheme for reconfigurable neuromorphic hardware
US10261786B2 (en) * 2017-03-09 2019-04-16 Google Llc Vector processing unit
CN109376571B (zh) * 2018-08-03 2022-04-08 西安电子科技大学 基于变形卷积的人体姿态估计方法
CN109086771B (zh) * 2018-08-16 2021-06-08 电子科技大学 一种光学字符识别方法
KR20200046168A (ko) * 2018-10-17 2020-05-07 삼성전자주식회사 모듈화된 신경망의 데이터 처리를 제어하는 전자 장치 및 그 제어 방법
CN111340194B (zh) * 2020-03-02 2022-09-06 中国科学技术大学 脉冲卷积神经网络神经形态硬件及其图像识别方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1240007C (zh) * 1997-06-11 2006-02-01 南加州大学 用于神经网络中的信号处理的动态突触
JP4208485B2 (ja) * 2001-05-31 2009-01-14 キヤノン株式会社 パルス信号処理回路、並列処理回路、パターン認識装置、及び画像入力装置
WO2004048513A2 (en) * 2002-05-03 2004-06-10 University Of Southern California Artificial neural systems with dynamic synapses
US8856055B2 (en) * 2011-04-08 2014-10-07 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
US8712940B2 (en) * 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
"Gradient-based learning applied to document recognition", PROCEEDINGS OF THE IEEE, vol. 86, November 1998 (1998-11-01), pages 2278 - 2324
JACOB VOGELSTEIN R ET AL.: "Dynamically Reconfigurable Silicon Array of Spiking Neurons With Conductance-Based Synapses.", IEEE TRANSACTIONS ON NEURAL NETWORKS, vol. 18, no. 1, 1 January 2007 (2007-01-01), PISCATAWAY, NJ, US, pages 253 - 265, XP011152920 *
L. CAMUS-MESA; A. ACOSTA-IMÉNEZ; C ZAMARRENO-RAMOS; T. SERRANO-GOTARREDONA; B. LINARES-BARRANCO: "A 32x32 Pixel Convolution Processor Chip for Address Event Vision Sensors with 155ns Event Latency and Throughput 20Meps", IEEE TRANS. CIRC. AND SYST, vol. 58, no. 4, April 2011 (2011-04-01), pages 777 - 790
L. CAMUS-MESA; A.ACOSTA-JIMENEZ; C. ZAMARRENO-RAMOS; T. SERRANO-GOTARREDONA; B.LINARES-BARRANCO: "A 32x32 Pixel Convolution Processor Chip for Address Event Vision Sensors with 155ns Event Latency and Throughput 20Meps", IEEE TRANS. CIRC. AND SYST, vol. 58, no. 4, April 2011 (2011-04-01), pages 777 - 790
L. CAMUS-MESA; C. ZAMARRENO-RAMOS; A. LINARES-BARRANCO; A. ACOSTA-JIMENEZ; T. SERRANO-GOTARREDONA; B. LINARES-BARRANCO: "An Event-Driven Multi-Processor Convolution Kernel Module for Event-Driven Vision Sensors", IEEE J. OF SOLID-STATE CIRCUITS, vol. 47, no. 2, February 2012 (2012-02-01), pages 504 - 517
L. CAMUS-MESA; C.ZAMARRENO-RAMOS; A. LINARES-BARRANCO; A. ACOSTA-JIMENEZ; T. SERRANO-GOTARREDONA; B. LINARES-BARRANCO: "An Event-Driven Multi-Processor Convolution Kernel Module for Event-Driven Vision Sensors", IEEE J. OF SOLID-STATE CIRCUITS, vol. 47, no. 2, February 2012 (2012-02-01), pages 504 - 517
MASQUELIER, T.; GUYONNEAU, R.; THORPE, SJ: "Spike timing dependent plasticity finds the start of repeating patterns in continuous spike trains", PLOS ONE, vol. 3, 2008, pages EL377
MASQUELIER, T.; THORPE, SJ: "Learning to recognise objects using waves of spikes and spike timing-dependent plasticity", PROC. OF THE 2010 IEEE INT JOINT CONF ON NEURAL NETWORKS, 2010
MASQUELIER, T.; THORPE, SJ: "Unsupervised learning of visual features through spike timing-dependent plasticity", PLOS COMPUT. BIOL, vol. 3, 2007, pages E31
ROBERT MILL ET AL.: "A Model of Stimulus-Specific Adaptation in Neuromorphic Analog VLSI.", IEEE TRANSACTIONS ON BIOMEDICAL CIRCUITS AND SYSTEMS, vol. 5, no. 5, 1 October 2011 (2011-10-01), US, pages 413 - 419, XP011358196 *
See also references of EP2849083A4
W. GERSTNER: "Pulsed Neural Networks", 1999, MIT PRESS, article "Spiking Neurons"
Y. LECUN; L. BOTTOU; Y. BENGIO; P.HAFFNER, CONVOLUTIONAL NEURAL NETWORKS

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270194B2 (en) 2017-07-26 2022-03-08 International Business Machines Corporation System and method for constructing synaptic weights for artificial neural networks from signed analog conductance-pairs of varying significance
US11074499B2 (en) 2017-11-20 2021-07-27 International Business Machines Corporation Synaptic weight transfer between conductance pairs with polarity inversion for reducing fixed device asymmetries
US11915132B2 (en) 2017-11-20 2024-02-27 International Business Machines Corporation Synaptic weight transfer between conductance pairs with polarity inversion for reducing fixed device asymmetries

Also Published As

Publication number Publication date
US20150120631A1 (en) 2015-04-30
EP2849083A4 (en) 2017-05-03
EP2849083A1 (en) 2015-03-18

Similar Documents

Publication Publication Date Title
WO2013167780A1 (es) Método y sistema conversor de red neuronal de procesado por impulsos con sinapsis de integración instantánea en integración con sinapsis dinámica
US11232345B2 (en) Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices
US11579677B2 (en) Memristor crossbar arrays to activate processors
US9992057B2 (en) Yield tolerance in a neurosynaptic system
US8892487B2 (en) Electronic synapses for reinforcement learning
Kim et al. A digital neuromorphic VLSI architecture with memristor crossbar synaptic array for machine learning
US8812414B2 (en) Low-power event-driven neural computing architecture in neural networks
US20170300809A1 (en) Hierarchical scalable neuromorphic synaptronic system for synaptic and structural plasticity
US20160364643A1 (en) Scalable integrated circuit with synaptic electronics and cmos integrated memristors
Ebrahimi et al. Remembering for the right reasons: Explanations reduce catastrophic forgetting
US10984307B2 (en) Peripheral device interconnections for neurosynaptic systems
US20120109864A1 (en) Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation
US11501143B2 (en) Scalable integrated circuit with synaptic electronics and CMOS integrated memristors
US20150278641A1 (en) Invariant object representation of images using spiking neural networks
KR20160123309A (ko) 확률적 스파이킹 베이지안망들에 대한 이벤트-기반 추론 및 학습
CN115410621A (zh) 包括突触的神经形态器件的突触阵列及其操作方法
CN102663428A (zh) 神经网络模式识别系统和模式识别方法
Hussain et al. Delay learning architectures for memory and classification
WO2020257168A1 (en) Scalable integrated circuit with synaptic electronics and cmos integrated memristors
Rast et al. The deferred event model for hardware-oriented spiking neural networks
Filynyuk et al. Neural network based on the negatrons
KR20180102369A (ko) 프리 시냅틱 뉴런의 활동에 주도되는 시냅스 학습 방법 및 그 시스템
Syutkin Hardware Implementation of Spiking Neural Networks
Cabeza et al. Diagnóstico de fallos empleando una red neuronal artificial Hopfield ante datos incompletos
RU70021U1 (ru) Нейрокомпьютер

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13787236

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2013787236

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14399039

Country of ref document: US