Language selection

Search

Patent 2992036 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2992036
(54) English Title: DATA-PROCESSING DEVICE WITH REPRESENTATION OF VALUES BY TIME INTERVALS BETWEEN EVENTS
(54) French Title: DISPOSITIF DE TRAITEMENT DE DONNEES AVEC REPRESENTATION DE VALEURS PAR DES INTERVALLES DE TEMPS ENTRE EVENEMENTS
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06N 3/04 (2006.01)
(72) Inventors :
  • BENOSMAN, RYAD (France)
  • LAGORCE, XAVIER (France)
(73) Owners :
  • UNIVERSITE PIERRE ET MARIE CURIE (PARIS 6) (France)
  • CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE - CNRS - (France)
  • INSERM (INSTITUT NATIONAL DE LA SANTE ET DE LA RECHERCHE MEDICALE) (France)
(71) Applicants :
  • UNIVERSITE PIERRE ET MARIE CURIE (PARIS 6) (France)
  • CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE - CNRS - (France)
  • INSERM (INSTITUT NATIONAL DE LA SANTE ET DE LA RECHERCHE MEDICALE) (France)
(74) Agent: NORTON ROSE FULBRIGHT CANADA LLP/S.E.N.C.R.L., S.R.L.
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2016-07-06
(87) Open to Public Inspection: 2017-01-19
Availability of licence: N/A
(25) Language of filing: French

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/FR2016/051717
(87) International Publication Number: WO2017/009543
(85) National Entry: 2018-01-09

(30) Application Priority Data:
Application No. Country/Territory Date
15 56659 France 2015-07-13

Abstracts

English 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.


French Abstract

Le dispositif de traitement de données comprend un ensemble de nuds de traitement (21, 23, 25, 42, 44, 47, 48, 50) et des connexions entre les nuds. Chaque connexion (22, 24, 41, 43, 45, 46, 49, 51) est configurée pour transmettre à un nud récepteur des événements délivrés par un nud émetteur. Chaque nud 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 nud, 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 nud.

Claims

Note: Claims are shown in the official language in which they were submitted.


- 61 -

REVENDICATIONS
1. Dispositif de traitement de données, comprenant un ensemble de n uds de
traitement et des connexions entre les n uds,
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,
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 (V .tau.),
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 (.DELTA. .tau.) entre deux
événements reçus par au
moins un n ud,
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.
2. Dispositif selon la revendication 1,
dans lequel chaque n ud de traitement est agencé pour réinitialiser sa valeur
de
potentiel lorsqu'il délivre un événement.
3. Dispositif selon l'une quelconque des revendications précédentes,
dans lequel les connexions entre les n uds comprennent des connexions de
variation
de potentiel ayant chacune un poids respectif,
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.
4. Dispositif selon la revendication 3,

- 62 -

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 (V .tau.) 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 (V
.tau.) 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,
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),
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 (.DELTA. .tau.) 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 (.DELTA.
.tau.).
5.
Dispositif selon la revendication 3, comprenant au moins un circuit de calcul
de
minimum (100),
dans lequel le circuit de calcul de minimum comprend :
des premier et second n uds d'entrée (101, 102) ;
un n ud de sortie (103) ;
des premier et second n uds de sélection (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 (V .tau.) pour la valeur
de potentiel
et inférieur au seuil prédéfini (V .tau.) pour la valeur de potentiel ;
des septième et huitième connexions de variation de potentiel (112-113)
ayant chacune un second poids opposé au premier poids ; et

- 63 -

des neuvième et dixième connexions de variation de potentiel (114-115)
ayant chacune un troisième poids double du second poids,
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),
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),
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),
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).
6.
Dispositif selon la revendication 3, comprenant au moins un circuit de calcul
de
maximum (120),
dans lequel le circuit de calcul de maximum comprend :
des premier et second n uds d'entrée (121, 122) ;
un n ud de sortie (123) ;
des premier et second n uds de sélection (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 (V .tau.) pour la valeur de potentiel et inférieur
au seuil
prédéfini (V .tau.) pour la valeur de potentiel ; et
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),
dans lequel le second n ud d'entrée (122) forme le n ud émetteur des seconde
et
quatrième connexions (127, 129),

- 64 -

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),
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).
7.
Dispositif selon la revendication 3, comprenant au moins un circuit
soustracteur
(140, 170),
dans lequel le circuit soustracteur (140, 170) comprend :
des premier et second n uds de synchronisation (145, 146) ;
des premier et second n uds d'inhibition (147, 148) ;
des premier et second n uds de sortie (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 (V .tau.) 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 ;
des neuvième et dixième connexions de variation de potentiel (158, 159)
ayant chacune un troisième poids opposé au premier poids ; et
des onzième et douzième connexions de variation de potentiel (162, 163)
ayant chacune un quatrième poids (2w i) double du troisième poids,
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),
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),
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),

- 65 -

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),
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),
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),
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
(.DELTA..tau.1)
représentant un premier opérande (x1), et le second n ud de synchronisation
(146) est
configuré pour recevoir, sur au moins une connexion de variation de potentiel
(151) ayant le
second poids, une seconde paire d'événements ayant entre eux un second
intervalle de
temps (.DELTA..tau.2) 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 (.DELTA..tau.
out) est délivrée par le
premier n ud de sortie (143) si le premier intervalle de temps (.DELTA..tau.1)
est plus long que le
second intervalle de temps (.DELTA. .tau.2) et par le second n ud de sortie
(144) si le premier
intervalle de temps (.DELTA..tau.1) est plus court que le second intervalle de
temps (.DELTA..tau.2), le troisième
intervalle de temps (.DELTA..tau. out) représentant la valeur absolue de la
différence entre les premier et
second opérande (x1, x2).
8. Dispositif selon la revendication 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 (171) 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),
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),

- 66 -

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
(.DELTA..tau.1, .DELTA..tau.2) sont
sensiblement égaux.
9. Dispositif selon l'une quelconque des revendications 3 à 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.
10. Dispositif selon la revendication 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.
11. Dispositif selon la revendication 9 ou la revendication 10,
dans lequel la valeur de courant dans au moins un n ud a une composante (g e)
constante entre deux événements reçus sur au moins une connexion de réglage de

composante constante de courant ayant un poids respectif,
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 (g e) de sa
valeur de courant.
12. Dispositif selon la revendication 11, comprenant au moins un circuit de
mémoire
inverseuse (18),
dans lequel le circuit de mémoire inverseuse comprend :
un n ud accumulateur (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 (w .alpha.cc) et la seconde connexion (27) ayant un poids
(¨w .alpha.cc)
opposé au poids des première et troisième connexions ; et
au moins une quatrième connexion (35),

- 67 -

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),
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.
13.
Dispositif selon la revendication 12, comprenant au moins un circuit de
mémoire
(40),
dans lequel le circuit de mémoire comprend :
des premier et second n uds accumulateurs (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 (w .alpha.cc) et la
troisième
connexion (45) ayant un poids (¨w .alpha.cc) opposé au poids des première,
seconde et
quatrième connexions ; et
au moins une cinquième connexion (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),
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),
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

- 68 -

(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.
14. Dispositif selon la revendication 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.
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 (40
1, ..., 40N-1) et
un n ud de synchronisation (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 (40 1, ..., 40N-1)
via une
connexion de variation de potentiel respective (46 ; 96 0, ..., 96N-1) de
poids égal au premier
poids divisé par 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 (40 1, ..., 40N-1).
16. Dispositif selon la revendication 11, comprenant au moins un circuit de
cumul (180),
dans lequel le circuit de cumul comprend :
N entrées (181 0, ..., 181N-1) ayant chacune un coefficient de pondération
respectif (.alpha.0, ..., .alpha.N-1), N étant un nombre entier supérieur à
1 ;
un n ud accumulateur (184) ;
un n ud de synchronisation (185) ;
pour chacune des N entrées du circuit de cumul (180) :
une première connexion de réglage de composante constante de
courant (182 0, ..., 182N-1) ayant un premier poids positif (.alpha.0 w
.alpha.cc, ...,
.alpha.N-w .alpha.cc) proportionnel au coefficient de pondération respectif de
ladite
entrée ; et

- 69 -

une seconde connexion de réglage de composante constante de
courant (183 0, ..., 183N-1) ayant un second poids (¨ .alpha.0 w .alpha.cc,
¨.alpha.N-1 w .alpha.cc)
opposé au premier poids ; et
une troisième connexion de réglage de composante constante de courant
(186) ayant un troisième poids positif (w .alpha.cc),
dans lequel le n ud accumulateur (184) forme le n ud récepteur des premières,
secondes et troisième connexions (181 0, ..., 181N-1, 182 0, ..., 182N-1,
186),
dans lequel le n ud de synchronisation (185) forme le n ud émetteur de la
troisième
connexion (186),
dans lequel, pour chacune des N entrées, les première et seconde connexions
(181 0,
..., 181N-1, 182 0, ..., 182N-1) 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,
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.
17. Dispositif selon la revendication 16,
dans lequel le circuit de cumul (180) fait partie d'un circuit de sommation
pondérée
(190) comprenant en outre :
un second n ud accumulateur (188) ;
une quatrième connexion de réglage de composante constante de courant
(191) ayant le troisième poids (W .alpha.cc) ; et
des cinquième et sixième connexions (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),
dans lequel le n ud accumulateur (184) du circuit de cumul forme le n ud
émetteur
de la cinquième connexion (193),

- 70 -

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),
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).
18. Dispositif selon la revendication 16, comprenant deux circuits de cumul
(180A,
180B) assemblés dans un circuit de combinaison linéaire (200),
dans lequel les deux circuits de cumul (180A, 180B) partagent leur n ud de
synchronisation (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.
19. Dispositif selon l'une quelconque des revendications 11 à 18,
dans lequel la valeur de courant dans au moins un n ud a une composante (g
.function.) à
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 (g .function.) de sa valeur de courant.

- 71 -

20. Dispositif selon la revendication 19, comprenant au moins un circuit de
calcul de
logarithme (210),
dans lequel le circuit de calcul de logarithme comprend :
un n ud accumulateur (216) ;
des première et seconde connexions de réglage de composante constante de
courant, la première connexion (212) ayant un poids positif (~ .alpha.cc), et
la seconde
.
connexion (214) ayant un poids ( ¨~ .alpha.cc ) opposé au poids de la première

connexion ;
une troisième connexion de réglage de composante de courant à décroissance
exponentielle (217) ; et
au moins une quatrième connexion (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),
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 (.DELTA. .tau.)
représentant une grandeur d'entrée (x) du circuit de calcul de logarithme
(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 (.DELTA..tau. out) représentant un logarithme de ladite grandeur
d'entrée.
21. Dispositif selon la revendication 19,
dans lequel au moins un n ud (238 ; 268) prenant en compte une composante de
courant (g .function.) à 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.

- 72 -

22. Dispositif selon la revendication 21, comprenant au moins un circuit de
calcul
d' exponentielle (230),
dans lequel le circuit de calcul d'exponentielle comprend :
un n ud accumulateur (238) ;
une première connexion de réglage de composante de courant à décroissance
exponentielle (232) ;
une seconde connexion de désactivation (236) ;
une troisième connexion de réglage de composante constante de courant
(237) ; et
au moins une quatrième connexion (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),
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 (.DELTA. .tau.)
représentant une grandeur d'entrée (x) du circuit de calcul d'exponentielle
(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 (.DELTA..tau. out) représentant une exponentielle de ladite grandeur
d'entrée.
23. Dispositif selon la revendication 21, comprenant au moins un circuit
multiplieur
(250),
dans lequel le circuit multiplieur comprend :
des premier, second et troisième n uds accumulateurs (256 1, 256 2, 268) ;
un n ud de synchronisation (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

- 73 -
connexions (252 1, 252 2, 272) ayant un premier poids positif (~acc), et les
seconde
et quatrième connexions (254 1, 254 2) ayant un second poids (~acc) opposé au
premier poids ;
des sixième, septième et huitième connexions de réglage de composante de
courant à décroissance exponentielle (262, 265, 269) ;
une neuvième connexion de désactivation (271) ; et
au moins une dixième connexion (276),
dans lequel le premier noeud accumulateur (256 1) forme le noeud récepteur des

première, seconde et sixième connexions (252 1, 254 1, 262) et le noeud
émetteur de la
septième connexion (265),
dans lequel le second noeud accumulateur (256 2) forme le noeud récepteur des
troisième, quatrième et septième connexions (252 2, 254 2, 265) et le noeud
émetteur des
cinquième et neuvième connexions (272, 271),
dans lequel le troisième noeud accumulateur (268) forme le noeud récepteur des

cinquième, huitième et neuvième connexions (272, 269, 271) et le noeud
émetteur de la
dixième connexion (276),
dans lequel le noeud de synchronisation (260) forme le noeud émetteur des
sixième et
huitième connexions (272, 271),
dans lequel les première et seconde connexions (252 1, 254 1) sont configurées
pour
adresser au premier noeud accumulateur (256 1) des premier et second
événements respectifs
ayant entre eux un premier intervalle de temps en relation avec un intervalle
de temps (.delta.t1)
représentant un premier opérande (x1) du circuit multiplieur (250),
dans lequel les troisième et quatrième connexions (252 2, 254 2) sont
configurées pour
adresser au second noeud accumulateur (256 2) des troisième et quatrième
événements
respectifs ayant entre eux un second intervalle de temps en relation avec un
intervalle de
temps (.delta.t2) représentant un second opérande (x2) du circuit multiplieur
(250),
dans lequel le noeud 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 :
que le premier noeud accumulateur (256 1) fait croître sa valeur de potentiel
jusqu'à délivrance d'un sixième événement sur la septième connexion (265) ;

- 74 -
qu'en réponse au sixième événement, le second noeud accumulateur (256 2)
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) ;
qu'en réponse au septième événement, le troisième noeud 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
(.delta.t out)
représentant le produit des premier et second opérandes (x1, x2).
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 (x1, x2) et faire délivrer deux événements
ayant entre eux
l'intervalle de temps (.delta.t out) 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.
25. Dispositif selon l'une quelconque des revendications précédentes,
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.
26. Dispositif selon l'une quelconque des revendications précédentes,
dans lequel l'intervalle de temps .delta.t entre deux événements représentant
une
grandeur de valeur absolue x est de la forme .delta.t = T min+ .x.T cod, où T
min et T cod sont des
paramètres temporels prédéfinis.
27. Dispositif selon la revendication 26,
dans lequel les grandeurs représentées par des intervalles de temps ont des
valeurs
absolues x comprises entre 0 et 1.
28. Dispositif selon l'une quelconque des revendications précédentes,
comprenant, pour
une grandeur d'entrée (x) :

- 75 -
une première entrée comportant un noeud ou deux noeuds parmi l'ensemble de
noeuds
de traitement, la première entrée étant agencée pour recevoir deux événements
ayant entre
eux un intervalle de temps (.delta.t) représentant une valeur positive de
ladite grandeur d'entrée
(x) ; et
une seconde entrée comportant un noeud ou deux noeuds parmi l'ensemble de
noeuds
de traitement, la seconde entrée étant agencée pour recevoir deux événements
ayant entre
eux un intervalle de temps (.delta.t) représentant une valeur négative de
ladite grandeur d'entrée
(x).
29. Dispositif selon l'une quelconque des revendications précédentes,
comprenant, pour
une grandeur de sortie (x) :
une première sortie comportant un noeud ou deux noeuds parmi l'ensemble de
noeuds
de traitement, la première sortie étant agencée pour délivrer deux événements
ayant entre
eux un intervalle de temps (.delta.t) représentant une valeur positive de
ladite grandeur de sortie
(x) ; et
une seconde sortie comportant un noeud ou deux noeuds parmi l'ensemble de
noeuds
de traitement, la seconde sortie étant agencée pour délivrer deux événements
ayant entre eux
un intervalle de temps (.delta.t) représentant une valeur négative de ladite
grandeur de sortie (x).
30. Dispositif selon l'une quelconque des revendications précédentes,
dans lequel l'ensemble de noeuds de traitement est sous la forme d'au moins un

réseau programmable (400), les noeuds 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 noeuds 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.

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-1-
DISPOSITIF DE TRAITEMENT DE DONNEES AVEC REPRESENTATION DE
VALEURS PAR DES INTERVALLES DE TEMPS ENTRE EVENEMENTS
10011
La présente invention concerne les techniques de traitement de données. Des
modes de réalisation mettent en oeuvre une nouvelle manière d'exécuter des
calculs dans des
machines, en particulier dans des machines programmables.
10021
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.
[0003]
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 :
= 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) ;
= 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) ;
= SpiNNaker (Steve B. Furber, et al.: "The SpiNNaker Project", Proceedings
of the
IEEE, Vol. 102, No. 5, pages 652-665, mai 2014).
[0004]
Ces machines visent essentiellement à simuler la biologie. Leurs applications
principales sont dans le domaine de l'apprentissage, notamment pour exécuter
des

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 2 -
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.
[00051 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).
100061 Ces différentes approches n'offrent pas une méthodologie
générale pour
l'exécution de calculs dans une machine programmable.
[0007] 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 oeuvre à consommation énergétique modérée et à un
parallélisme
massif.
10081 Il est proposé un dispositif de traitement de données, comprenant un
ensemble
de noeuds de traitement et des connexions entre les noeuds. Chaque connexion a
un noeud
émetteur et un noeud récepteur parmi l'ensemble de noeuds de traitement et est
configurée
pour transmettre au noeud récepteur des événements délivrés par le noeud
émetteur. Chaque
noeud 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
noeud, 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
noeud.
[0009] Les noeuds 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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 3 -
[00101 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. A 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.
[0011] 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 noeud 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).
[00121 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.
[0013] Dans un mode de réalisation du dispositif, chaque noeud 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.
[NU] De nombreux modes de réalisation du dispositif de traitement de
données
incluent, parmi les connexions entre les noeuds, une ou plusieurs connexions
de variation de
potentiel ayant chacune un poids respectif. Le noeud 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.
[00151 Les connexions de variation de potentiel peuvent comprendre des
connexions

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 4 -
excitatrices, de poids positif, et des connexions inhibitrices, de poids
négatif.
Me)
Pour manipuler une grandeur au sein du dispositif, l'ensemble des noeuds de
traitement peut comprendre au moins un premier noeud formant le noeud
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 noeud
formant le noeud
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 noeud susmentionné forme en outre le noeud
émetteur et le
noeud récepteur d'une troisième connexion de variation de potentiel de poids
égal à l'opposé
du premier poids, ainsi que le noeud émetteur d'une quatrième connexion,
tandis que le
second noeud forme en outre le noeud é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.
[)Oi7I
Diverses opérations peuvent être exécutées à l'aide d'un dispositif selon
l'invention.
[0018J
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 :
des premier et second noeuds d'entrée ;
un noeud de sortie ;
des premier et second noeuds de sélection ;
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 ;
des septième et huitième connexions de variation de potentiel ayant chacune un

second poids opposé au premier poids ; et
des neuvième et dixième connexions de variation de potentiel ayant chacune un
troisième poids double du second poids.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 5 -
[0019]
Dans ce circuit de calcul de minimum, le premier noeud d'entrée forme le noeud
émetteur des première et troisième connexions et le noeud récepteur de la
dixième
connexion, le second noeud d'entrée forme le noeud émetteur des seconde et
quatrième
connexions et le noeud récepteur de la neuvième connexion, le premier noeud de
sélection
forme le noeud émetteur des cinquième, septième et neuvième connexion et le
noeud
récepteur des première et huitième connexions, le second noeud de sélection
forme le noeud
émetteur des sixième, huitième et dixième connexions et le noeud récepteur des
seconde et
septième connexions, et le noeud de sortie forme le noeud récepteur des
troisième, quatrième,
cinquième et sixième connexions.
[0020] Un autre exemple de dispositif de traitement de données comprend au
moins un
circuit de calcul de maximum, qui comprend lui-même :
des premier et second noeuds d'entrée ;
un noeud de sortie ;
des premier et second noeuds de sélection ;
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
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.
[0021] Dans ce circuit de calcul de maximum, le premier noeud d'entrée
forme le noeud
émetteur des première et troisième connexions, le second noeud d'entrée forme
le noeud
émetteur des seconde et quatrième connexions, le premier noeud de sélection
forme le noeud
émetteur de la cinquième connexion et le noeud récepteur des première et
sixième
connexions, le second noeud de sélection forme le noeud émetteur de la sixième
connexion et
le noeud récepteur des seconde et cinquième connexions, et le noeud de sortie
forme le noeud
récepteur des troisième et quatrième connexions.
[00221
Un autre exemple de dispositif de traitement de données comprend au moins un
circuit soustracteur, qui comprend lui-même :
des premier et second noeuds de synchronisation ;
des premier et second noeuds d'inhibition ;
des premier et second noeuds de sortie ;

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 6 -
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 ;
des septième et huitième connexions de variation de potentiel ayant chacune un
second poids égal à la moitié du premier poids ;
des neuvième et dixième connexions de variation de potentiel ayant chacune un
troisième poids opposé au premier poids ; et
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 noeud de synchronisation
forme le noeud
émetteur des première, seconde, troisième et neuvième connexions, le second
noeud de
synchronisation forme le noeud émetteur des quatrième, cinquième, sixième et
dixième
connexions, le premier noeud d'inhibition forme le noeud émetteur de la
onzième connexion
et le noeud récepteur des troisième, huitième et dixième connexions, le second
noeud
d'inhibition forme le noeud émetteur de la douzième connexion et le noeud
récepteur des
sixième, septième et neuvième connexions, le premier noeud de sortie forme le
noeud
émetteur de la septième connexion et le noeud récepteur des première,
cinquième et onzième
connexions, et le second noeud de sortie forme le noeud émetteur de la
huitième connexion et
le noeud récepteur des seconde, quatrième et douzième connexions. Le premier
noeud 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 noeud
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
noeud de sortie si le premier intervalle de temps est plus long que le second
intervalle de
temps et par le second noeud 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.
100241 Le circuit soustracteur peut comprendre en outre une logique de
détection de
zéro incluant au moins un noeud de détection associé à des connexions de
détection et

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 7 -
d'inhibition avec les premier et second noeud de synchronisation, l'un des
premier et second
noeud d'inhibition et l'un des premier et second noeud 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 noeuds de
sortie lorsque
les premier et second intervalles de temps sont sensiblement égaux.
[0025] Dans diverses réalisations du dispositif, l'ensemble de noeuds
de traitement
comprend au moins un noeud 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 noeud de traitement peut notamment être agencé pour
remettre à
zéro sa valeur de courant lorsqu'il délivre un événement.
[0026] La valeur de courant dans certains au moins des noeuds 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 noeud 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.
[00271 Un autre exemple de dispositif de traitement de données comprend
au moins un
circuit de mémoire inverseuse, qui comprend lui-même :
un noeud accumulateur ;
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
au moins une quatrième connexion,
[00281 Dans ce circuit de mémoire inverseuse, le noeud accumulateur
forme le noeud
récepteur des première, seconde et troisième connexions et le noeud émetteur
de la
quatrième connexion, et les première et seconde connexions sont configurées
pour adresser
respectivement au noeud 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 noeud accumulateur réagit ensuite à un
troisième

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 8 -
é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.
[00291 Un autre exemple de dispositif de traitement de données comprend au
moins un
circuit de mémoire, qui comprend lui-même :
des premier et second noeuds accumulateurs ;
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
au moins une cinquième connexion.
10301 Dans ce circuit de mémoire, le premier noeud accumulateur forme
le noeud
récepteur de la première connexion et le noeud émetteur de la troisième
connexion, le second
noeud accumulateur forme le noeud récepteur des seconde, troisième et
quatrième et
cinquième connexions et le noeud émetteur de la cinquième connexion, les
première et
seconde connexions sont configurées pour adresser respectivement aux premier
et second
noeuds 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 noeud 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.
10311 Le circuit de mémoire peut en outre comprendre une sixième connexion
ayant le
premier noeud accumulateur comme noeud émetteur, la sixième connexion
délivrant un
événement pour signaler la disponibilité en lecture du circuit de mémoire.
10321 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 noeud de synchronisation. Le noeud de
synchronisation est
sensible à chaque événement délivré sur la sixième connexion de l'un des N
circuits de

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 9 -
mémoire via une connexion de variation de potentiel respective de poids égal
au premier
poids divisé par N. Le noeud 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.
11)0331 Un autre exemple de dispositif de traitement de données comprend au
moins un
circuit de cumul, qui comprend lui-même :
N entrées ayant chacune un coefficient de pondération respectif, N étant un
nombre
entier supérieur à 1;
un noeud accumulateur ;
un noeud de synchronisation ;
pour chacune des N entrées du circuit de cumul :
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
une seconde connexion de réglage de composante constante de courant ayant
un second poids opposé au premier poids ;
une troisième connexion de réglage de composante constante de courant
ayant un troisième poids positif.
[0034]
Dans ce circuit de cumul, le noeud accumulateur forme le noeud récepteur des
premières, secondes et troisième connexions, le noeud de synchronisation forme
le noeud
é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 noeud 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 noeud 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 noeud 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.
[0035]
Dans un exemple de dispositif de traitement de données selon l'invention, le

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 10 -
circuit de cumul fait partie d'un circuit de sommation pondérée comprenant en
outre :
un second noeud accumulateur ;
une quatrième connexion de réglage de composante constante de courant ayant le

troisième poids ; et
des cinquième et sixième connexions.
[00.36] Dans ce circuit de sommation pondérée, le noeud de
synchronisation du circuit
de cumul forme le noeud émetteur de la quatrième connexion, le noeud
accumulateur du
circuit de cumul forme le noeud émetteur de la cinquième connexion, et le
second noeud
accumulateur forme le noeud récepteur de la quatrième connexion et le noeud
émetteur de la
sixième connexion. En réponse à la délivrance du troisième événement par le
noeud de
synchronisation, le noeud 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 noeud
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.
100371 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 noeud de
synchronisation, et un circuit soustracteur configuré pour réagir au troisième
événement
délivré par le noeud de synchronisation partagé et aux quatrièmes événements
respectivement délivrés par les noeuds 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.
10381 Dans un certain nombre de réalisations du dispositif, l'ensemble de
noeuds de
traitement comprend au moins un noeud 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
noeud 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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 1 1 -
[0039] Un autre exemple de dispositif de traitement de données comprend
au moins un
circuit de calcul de logarithme, qui comprend lui-même :
un noeud accumulateur ;
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 ;
une troisième connexion de réglage de composante de courant à décroissance
exponentielle ; et
au moins une quatrième connexion.
[00401 Dans ce circuit de calcul de logarithme, le noeud accumulateur forme
le noeud
récepteur des première, seconde et troisième connexions et le noeud émetteur
de la
quatrième connexion. Les première et seconde connexions sont configurées pour
adresser au
noeud 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 noeud accumulateur un troisième événement simultané ou postérieur
au second
événement, de sorte que le noeud 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.
[0041] Il peut en outre y avoir dans le dispositif de traitement au
moins une connexion
de désactivation dont le noeud récepteur est un noeud capable d'annuler sa
composante de
courant à décroissance exponentielle en réponse à un événement reçu sur la
connexion de
désactivation.
[0042] Un autre exemple de dispositif de traitement de données comprend au
moins un
circuit de calcul d'exponentielle, qui comprend lui-même :
un noeud accumulateur ;
une première connexion de réglage de composante de courant à décroissance
exponentielle ;
une seconde connexion de désactivation ;
une troisième connexion de réglage de composante constante de courant ; et

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 12 -
au moins une quatrième connexion.
10431 Dans ce circuit de calcul d'exponentielle, le noeud accumulateur
forme le noeud
récepteur des première, seconde et troisième connexions et le noeud émetteur
de la
quatrième connexion. Les première et seconde connexions sont configurées pour
adresser au
noeud 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 noeud accumulateur un troisième événement simultané ou postérieur
au second
événement, de sorte que le noeud 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.
[0044] Un autre exemple de dispositif de traitement de données comprend
au moins un
circuit multiplieur, qui comprend lui-même :
des premier, second et troisième noeuds accumulateurs ;
un noeud de synchronisation ;
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 ;
des sixième, septième et huitième connexions de réglage de composante de
courant à
décroissance exponentielle ;
une neuvième connexion de désactivation ; et
au moins une dixième connexion.
[()045 I Dans ce circuit multiplieur, le premier noeud accumulateur forme
le noeud
récepteur des première, seconde et sixième connexions et le noeud émetteur de
la septième
connexion, le second noeud accumulateur forme le noeud récepteur des
troisième, quatrième
et septième connexions et le noeud émetteur des cinquième et neuvième
connexions, le
troisième noeud accumulateur forme le noeud récepteur des cinquième, huitième
et neuvième
connexions et le noeud émetteur de la dixième connexion, et le noeud de
synchronisation
forme le noeud émetteur des sixième et huitième connexions. Les première et
seconde

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 13 -
connexions sont configurées pour adresser au premier noeud 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
noeud
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 noeud 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 noeud
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 noeud 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 noeud
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.
[00461
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.
10471
Dans une réalisation typique du dispositif de traitement, chaque connexion est
associée à un paramètre de retard, pour signaler au noeud 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.
[048]
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 =
X.Tõd, où Tmin et Tõd 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.
[00491
Une échelle logarithmique plutôt que linéaire de At en fonction de x peut

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 14 -
également convenir à certaines applications. D'autres échelles encore peuvent
être utilisées.
10501 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 :
une première entrée comportant un noeud ou deux noeuds parmi l'ensemble de
noeuds
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
une seconde entrée comportant un noeud ou deux noeuds parmi l'ensemble de
noeuds
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.
10511 Pour une grandeur de sortie, le dispositif de traitement peut
comprendre :
une première sortie comportant un noeud ou deux noeuds parmi l'ensemble de
noeuds
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 noeud ou deux noeuds parmi l'ensemble de
noeuds
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.
[00521 Dans une mise en oeuvre du dispositif de traitement, l'ensemble
de noeuds de
traitement est sous la forme d'au moins un réseau programmable, les noeuds 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 noeuds 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.
[0053] 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 :
- 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 ;
- la figure 2 est un schéma d'un dispositif de mémoire inverseuse selon un
mode de
réalisation de l'invention ;

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 15 -
- 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
inverseuse
selon la figure 2 ;
- la figure 4 est un schéma d'un dispositif de mémoire selon un mode de
réalisation de
l' 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;
- la figure 6 est un schéma d'un dispositif de mémoire signée selon un mode
de
réalisation de l'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 ;
- la figure 8 est un schéma d'un dispositif de synchronisation selon un
mode de
réalisation de l'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 ;
- la figure 10 est un schéma d'un dispositif de synchronisation selon un
autre mode de
réalisation de l'invention ;
- la figure 11 est un schéma d'un dispositif de calcul de minimum selon un
mode de
réalisation de l'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;
- la figure 13 est un schéma d'un dispositif de calcul de maximum selon un
mode de
réalisation de l'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 ;

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 16 -
- la figure 15 est un schéma d'un dispositif soustracteur selon un mode de
réalisation de
l' 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;
- 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 ;
- la figure 18 est un schéma d'un circuit de cumul selon un mode de
réalisation de
l' 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 ;
- 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 ;
- la figure 21 est un schéma d'un dispositif de calcul de logarithme selon
un mode de
réalisation de l'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;
- la figure 23 est un schéma d'un dispositif de calcul d'exponentielle
selon un mode de
réalisation de l'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 ;
- la figure 25 est un schéma d'un dispositif multiplieur selon un mode de
réalisation de
l' 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;
- la figure 27 est un schéma d'un dispositif multiplieur signé selon un
mode de
réalisation de l'invention ;

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 17 -
- la figure 28 est un schéma d'un dispositif intégrateur selon un mode de
réalisation de
l'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
;
- les figures 30A et 30B sont des graphiques montrant des résultats de
simulation du
dispositif de la figure 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 ;
- les figures 32A et 32B sont des graphiques montrant des résultats de
simulation du
dispositif de la figure 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 ;
- la figure 34 est un graphique montrant des résultats de simulation du
dispositif de la
figure 33;
- la figure 35 est un schéma d'un dispositif de traitement programmable
selon un mode
de réalisation de l'invention.
1110541
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
noeuds de
traitement ayant des connexions entre eux.
[00551
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 noeud
et neurone , de même qu'elle utilise le terme synapse pour désigner les
connexions
entre deux noeuds ou neurones au sein du dispositif.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 18 -
[00561 Les synapses sont orientées, c'est-à-dire que chaque connexion a
un noeud
émetteur et un noeud récepteur, et transmet au noeud récepteur des événements
générés par le
noeud émetteur. Un événement se manifeste typiquement par un pic ( spike )
sur un signal
de tension ou de courant délivré le noeud émetteur et influençant le noeud
récepteur.
[00571 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 noeud
émetteur exerce sur le noeud récepteur lors d'un événement.
[00581 Une description du comportement de chaque noeud 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
noeud varie
dans le temps en fonction des événements que le noeud reçoit sur ses
connexions entrantes.
Lorsque cette valeur de potentiel V atteint ou dépasse un seuil Vt, le noeud
émet un
événement ("spike") qui est transmis au(x) noeud(s) situé(s) en aval.
[0059] Pour décrire le comportement d'un noeud, 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 g, et éventuellement une composante gf.
[00601 La composante g, est une composante qui reste constante, ou
sensiblement
constante, entre deux événements que le noeud reçoit sur une synapse
particulière qu'on
appelle ici connexion de réglage de composante constante de courant.
[0061] La composante gf est une composante à dynamique exponentielle, c'est-
à-dire
qu'elle varie exponentiellement entre deux événements que le noeud reçoit sur
une synapse
particulière qu'on appelle ici connexion de réglage de composante de courant à
décroissance
exponentielle.
[00621 Un noeud 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.
[00631 Dans l'exemple considéré, on peut ainsi exprimer le comportement
d'un noeud
de traitement de manière générique par un jeu d'équations différentielles :

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 19 -
dV
{Tm.¨dt = ge + gate.gf
de = 0
(1)
dt
dg f _
¨gf
ou:
= t désigne le temps ;
= la composante ge traduit un courant d'entrée constant qui ne peut être
changé que par
des événements synaptiques ;
= la composante gf traduit un courant d'entrée à dynamique exponentielle ;
= gate est un signal binaire d'activation (gate =1) ou de déactivation
(gate = 0) de la
composante de courant gf à décroissance exponentielle ;
= 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 + gate.gf;
= et est une constante de temps réglant la dynamique exponentielle
de la
décroissance de la composante gf.
10641
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'oeuvre dans le dispositif.
100651
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 :
= 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
noeud 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 ;
= 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 noeud 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 ;

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 20 -
= connexions de réglage de composante de courant à décroissance
exponentielle, ou
grsynapses, qui modifient directement le courant d'entrée à dynamique
exponentielle du neurone : gf gf + w. En d'autres termes, le noeud récepteur
réagit
à un événement reçu sur une gr-synapse en ajoutant à la composante à
décroissance
exponentielle de sa valeur de courant le poids w indiqué par le paramètre de
poids ;
= et connexions d'activation, ou gate-synapses, qui activent le neurone en
fixant
gate
1 lorsqu'elles indiquent un poids positif w = 1 et désactivent le neurone en
fixant gate 0 lorsqu'elles indiquent un poids négatif w = ¨ 1.
066
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.
[0067]
Un neurone déclenche un événement, lorsque sa valeur de potentiel V atteint un
seuil Võ soit :
V Vt
(2)
[0068]
Le déclenchement de l'événement se traduit par un pic ("spike") délivré sur
chaque synapse dont le neurone constitue le noeud émetteur et par la
réinitialisation de ses
variables d'état à:
V Vreset
(3)
ge 0
(4)
gf 4¨O
(5)
gate 0 (6)
[00691 Sans perte de généralité, on peut se placer dans le cas où
Vreset = 0.
[0070]
Dans la suite, la notation Tsyn désigne le retard de propagation le long d'une
synapse standard, et la notation Tne, 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. T
_ nett peut par exemple refléter le pas de temps d'un simulateur neuronal.
[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 w, comme le poids d'inhibition d'effet contraire :

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-21 -
We = Vt
(7)
wi = ¨ We
(8)
[00721
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
:
At = f(x)
(9)
où f est une fonction de codage choisie pour la représentation des données
dans le dispositif.
[0073]
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.
100741 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:
= ,Vi 2=M P
(10)
où fi est l'inverse fonction de codage choisie et i est un nombre pair.
[00751 La fonction
de codage f peut être choisie en tenant compte des
signaux traités dans un système particulier, et adaptée à la précision
requise. La fonction f
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 :
= f(x) =1,nin + x=Tcod (11)
avec x e [0, 1].
[0076] Cette représentation de la fonction f: [0, 1]
[Tmin, Tmax] permet de coder
linéairement toute valeur x comprise entre 0 et 1 par un intervalle de temps
compris entre
Tmin et Tmax = Tmin + Tõd. 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 Tmin>
0 permet à

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 22 -
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.
[00771
La forme (11) pour la fonction de codage f 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.
[0078 I
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.
100791
Ainsi, pour prolonger l'exemple de la forme (11), si une grandeur x a une
valeur
dans l'intervalle [-1, +11, on la représente par un intervalle de temps At =
+ Ixl.T õd
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 < O.
[0080]
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 W acc comme étant la
valeur de g,
nécessaire pour faire déclencher un neurone, depuis son état réinitialisé, au
bout du temps
Tmax = Tnõ, + T cod, soit, d'après (1) :
, Tm
Wacc = V t - (12)
Tmax
[008/1
On définit en outre le poids vT7acc comme étant la valeur de g, nécessaire
pour
faire déclencher un neurone, depuis son état réinitialisé, au bout du temps
Tcod, soit :
õ
vT7acc = v t -
(13)
T cod
10821 Pour les ge-synapses, on peut se donner un autre poids standard
g/mm :
Tm
gmutt = v õ t= (14)
Tf
[0083]
Les connexions entre noeuds du dispositif peuvent en outre être associées
chacune à un paramètre de retard respectif. Ce paramètre indique un retard
avec lequel le

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-23 -
noeud 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.
[00841 Diverses technologies sont utilisables pour implémenter les noeuds
de traitement
et leurs interconnexions afin qu'ils se comportent de la manière décrite par
les équations
(1)-(6), notamment les technologies couramment utilisées dans le domaine bien
connu des
réseaux de neurones artificiels. Chaque noeud 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 V,.
[00851 Une autre possibilité est de recourir à des technologies
numériques, par exemple
à base de FPGA ("field-programmable gate arrays"), qui offrent un moyen
commode
d'implémenter des neurones artificiels.
[00861 Dans la suite, on présente un certain nombre de dispositifs ou
circuits de
traitement de données réalisés à l'aide de noeuds 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 :
= les connexions entre noeuds représentées en trait plein sont des V-
synapses ;
= les connexions représentées en trait interrompu sont des ge-synapses ;
= les connexions représentées en trait mixte sont des grsynapses ;
= les connexions représentées en pointillés sont des gate-synapses ;
= les connexions sont orientées avec un symbole du côté de leurs noeuds
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 ;
= 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é.
[0087] Certains des noeuds 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

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 24 -
l'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.
[00881 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 noeud émetteur et un neurone output 16
comme noeud
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).
[0089] 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.
A. Mémoires
A.1. Mémoire inverseuse
[0090] La figure 2 montre un circuit de traitement 18 constituant une
mémoire
inverseuse.
[00911 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 Atm = 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
l'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 Atõt correspondant à la valeur 1 ¨ x au niveau du neurone
output 33, soit
Atout = ¨ x).
[0092] Le neurone input 21 appartient à un groupe de noeuds 20 servant à
produire deux
événements séparés de f(x) ¨ Tuuu = xicod sur des ge-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

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-25 -
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 à we/2. Le neurone first
23 s' auto-
inhibe par une V-synapse 28 de poids w, et de retard Tsyn.
[00931
La ge-synapse excitatrice 26 va du neurone first 23 au neurone acc 30, et
présente le poids W acc et un retard Tsyn + Tmm. 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 W acc 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.
[00941
Le fonctionnement du dispositif de mémoire inverseuse 18 est illustré par la
figure 3.
11)0951
L'émission d'un premier événement (spike) au temps til,u 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 thõt sur la figure 3, et fait monter à Vt/2 la valeur de
potentiel du neurone last
25. Le neurone first 23 s'inhibe alors via la synapse 28 en donnant la valeur
¨V, à son
potentiel de membrane, et il fait démarrer l'accumulation par le neurone acc
30 après
Tsyn + Tmm, soit au temps tslt, via la ge-synapse 26.
100961
L'émission du second spike au temps ti2u = t + Tmin + X.Tõd au niveau du
neurone input 21 amène le neurone last 25 au potentiel seuil V. Un événement
est alors
produit au temps t?-õt = ti2u + 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 temps telnd = tslt X.Tõd.
Tcod
10071 A ce stade, la valeur de potentiel V. x.¨ est stockée dans le neurone
acc 30
Tmax
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 triecou sur la figure 3. Cette activation
fait redémarrer le
processus d'accumulation dans le neurone acc 30 au temps ts2tet provoque
= trlecall Tsyn
un événement au temps tolut= -
sur le neurone output 33.
tecall rl 2Tsyn 2Tneu
L'accumulation se poursuit dans le neurone acc 30 jusqu'au temps te2nd où sa
valeur de

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 26 -
potentiel atteint le seuil Vt, soit tLci =
Tmax + t ¨ x.Tõd. Un événement est émis sur la
- s2t -
V-synapse 35 au temps tLci + T
-neu et provoque un autre événement sur le neurone output
33 au temps t
-02ut = te2nd Tsyn 2Tneu = trlecaii 2Tsyn 2Tneu Tmin + (1 ¨ X).Tced.
[0098] Finalement, les deux événements délivrés par le neurone output
33 sont séparés
par un intervalle de temps ATout

= - t
02ut tolut = Tmin + (1 X)=Tcod = f(1 - x) =
[0099] 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.
[001001 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 à we/2 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.
A.2. Mémoire
[001011 La figure 4 montre un circuit de traitement 40 constituant une
mémoire.
[001021 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 Atm= 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).
[001031 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.

CA 02992036 2018-01-09
WO 2017/009543
PCT/FR2016/051717
-27 -
[001041
Le neurone input 21 appartient à un groupe de noeuds 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 f(x) = Tnõ,+ x.Tõd par le
neurone input 21.
[001051
Une ge-synapse 41 va du neurone first 25 au premier neurone acc 42, et
présente
le poids W acc = Le neurone acc 42 démarre ainsi une accumulation au temps
tslt = t +
2. Tsyn + Tneu (figure 5). Une ge-synapse 43 va du neurone last 25 au second
neurone acc
44, et présente le poids W acc = Le neurone acc 44 démarre ainsi une
accumulation au temps
tsiti = ti2n + 2. Tsyn + Tneu. En sortie du neurone acc 42, une autre ge-
synapse 45 de poids
wacc va au neurone acc 44, et une V-synapse 46 de poids we va au neurone ready
47.
1001061 L'accumulation sur le neurone acc 42 se poursuit jusqu'au temps
telnd = tslt +
Tmõ où le potentiel du neurone acc 42 atteint le seuil Võ ce qui provoque
l'émission d'un
spike au temps t
-alcc = teind Tneu sur la ge-synapse 45 (figure 5). Ce spike stoppe
l'accumulation sur le neurone acc 44 au temps te1nd2 = talcc Tsyn = tiln 3.
Tsyn
2. Tneu Tmax. Le déclenchement du neurone acc 42 provoque également un
événement sur
le neurone ready 47 au temps trieddy = talcc Tsyn Tneu.
101071
A ce stade, la valeur de potentiel stockée dans le neurone acc 44 est
y,
i
, f(X)¨Tsyn¨Tneu)
- = ltend2
= V. , ce qui permet de conserver la valeur x. La
Tmax Tmax
lecture peut alors intervenir en activant le neurone recall 48, ce qui a lieu
au temps trieedu
sur la figure 5.
[00108] L'activation du neurone recall 48 provoque un événement au temps
tolut =
tecall Tneu
sur le neurone output 50 via la V-synapse 49, et fait redémarrer le
rl
processus d'accumulation dans le neurone acc 44 via la ge-synapse 51 au temps
ts2t2 =
tecall i2
. L'accumulation se poursuit dans le neurone acc 44 jusqu'au temps tend2 OU
Tsyn
sa valeur de potentiel atteint le seuil Vt, soit t
-e2nd2 = ts2t2 f (X) Tsyn Tneu = Un
événement est émis sur la V-synapse 52 au temps t2 = tnd2 Tneu et provoque un
autre
alcce2
événement sur le neurone output 50 au temps to2ut = talcc2 Tsyn Tneu =
trlecall Tsyn
Tneu f (x) =
[001091
Finalement, les deux événements délivrés par le neurone output 50 sont séparés
par un intervalle de temps ATout = to2ut tolut = f (x) =

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 28 -
[001101 On remarque que le neurone acc 42 de la figure 4 pourrait être
éliminé en
configurant des retards Tsyn + Tmax 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.
1001111 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 Tmm et
Tma,õ sans être
limité à la forme (11) ci-dessus.
A.3. Mémoire signée
11)01 Ig 21 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 Atm = f(lx1) 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.
[001131 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
1x1 active deux
fois le neurone input 21 du circuit 40, de sorte que l'intervalle de temps
f(lx1) sera restitué
sur le neurone output 50 du circuit 40.
[NI 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 we/2. 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 w1/2 va
du neurone
ready+ 65 au neurone ready¨ 66, et réciproquement une V-synapse inhibitrice 76
de poids
w,/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

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 29 -2w,. 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 2w1.
MI151
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.
10K161 La sortie du circuit de mémoire signée 60 comporte un neurone ready
84 qui est
le noeud récepteur d'une V-synapse excitatrice 85 de poids we provenant du
neurone ready
47 du circuit de mémoire 40.
101171
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.
[00118] L'apparition des deux événements aux temps tilu et ti2u = t + 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
fax1)-Tsyn ¨Tneu
à la valeur V. (1
et son neurone ready 47 qui produit un événement au
Tmax
temps trleady, comme décrit précédemment.
101191 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 triecou
sur la figure 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.
[001211
L'événement délivré par le neurone ready+ 65 ou ready- 66 au temps tslign 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 à f (lx') 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 tolut et to2ut

= - t
olut + f(14, 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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 30 -
[001221
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 :
= se dispenser du neurone input 21 du circuit de mémoire 40, en envoyant
les
V-synapses 63 et 64 directement sur le neuronefirst 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 we/2 des neurones input+ et input¨ 61, 62 vers le neurone last 25 (à la
place de
la V-synapse 24) ;
= se dispenser du neurone output 50 du circuit de mémoire 40, en envoyant
la
ge-synapse 52 directement sur les neurones output+ et output¨ 81, 82 (à la
place des
V-synapses 79, 80) ; et
= 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 ge-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).
A.4. Synchroniseur
00 12$1
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.
[001241 Chaque signal
code une valeur xk pour k = 0, 1, N¨ 1 et se présente sous la
forme d'une paire de spikes survenant à des instants tiluk et ti2uk = tilnk
Atk avec
Atk =f(xk) G [Tnun, Tmax]. 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 xk
en sortie sous
la forme d'une paire de spikes survenant à des instants tolutk et tLtk =
tolutk + Atk avec
ti ti ti
uto ut1 = === ut11-1, comme le montre la figure 9 dans un cas où N = 2.
[001251
Le circuit 90 représenté sur la figure 8 comporte N neurones input 91e, ...,
91N-1
et N neurones output 920,
92,v_1. Chaque neurone input 91k est le noeud émetteur d'une
V-synapse 93k de poids we dont le noeud récepteur est le neurone input 21k
d'un circuit de
mémoire respectif 40k. Le neurone output 50k de chaque circuit de mémoire 40k
est le noeud

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-31 -
émetteur d'une V-synapse 94k de poids we dont le noeud récepteur est le
neurone output 92k
du circuit de synchronisation 90.
1001261
Le circuit de synchronisation 90 comporte un neurone sync 95 qui est le noeud
récepteur de N V-synapses excitatrices 960, ..., 96,v_1 de poids we/N dont les
noeuds
émetteurs sont respectivement les neurones ready 47e, ..., 47N-1 des circuits
de mémoire
400, ..., 40N-1. Le circuit 90 comporte encore V-synapses excitatrices 970,
..., 97N-1 de poids
we ayant le neurone sync 95 pour noeud émetteur et, respectivement, les
neurones recall 480,
48,v_1 des circuits de mémoire 400, ..., 40N_1 pour noeuds récepteurs.
1001271
Le neurone sync 95 reçoit les événements produits par les neurones ready 470,
..., 47N_i au fur et à mesure que les N signaux d'entrée sont chargés dans les
circuits de
mémoire 400, ..., 40N_1, soit aux temps trldyo trldy 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 tslyn, sur la figure 9. Ceci déclenche, via les synapses 970, ...,
97N-1 et les synapses
49 des circuits de mémoire 400, ..., 40N-1, l'émission d'un premier spike
synchronisé
(ti
,outo ===== toutN-1) sur chaque neurone output 920, ..., 92N-1. Puis chaque
circuit de
mémoire 40k produit son second spike respectif au temps to2utk.
[0128]
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
910, ..., 91,v_1 et
output 920, 92,v_1 sont optionnels, puisque les entrées peuvent être
fournies directement
par les neurones input 210, ..., 21N-1 des circuits de mémoire 400, ..., 40N-1
et les sorties
directement par les neurones output 500, ..., 50N-1 des circuits de mémoire
400, ..., 40N-1.
Les V-synapses 46 des circuits de mémoire 400, ..., 40N_1 peuvent aller
directement au
neurone sync 95, sans passer par un neurone ready 470, ..., 47N-1. Les
synapses 970, ...,
97N_i peuvent attaquer directement les neurones output 500, ..., 50N-1 des
circuits de
mémoire (remplaçant ainsi leurs synapses 49), et le neurone sync 95 peut
également
constituer le noeud émetteur des ge-synapses 51 des circuits de mémoire 400,
..., 40N_1 pour
commander le redémarrage d'accumulation dans les neurones acc 44 (figures 4 et
5).
[00129]
D'autre part, il est possible de ne sortir qu'un seul événement, au temps
tolut = toluto = tolun = === = tolut11-1, en tant que premier événement de
toutes les paires
formant les signaux de sortie synchronisés. Le neurone sync 95 commande alors
directement

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 32 -
rémission du premier spike sur une sortie particulière du circuit (qui peut
être l'un des
neurones output 920, ..., 92N-1 ou un neurone spécifique), puis le second
spike de chaque
paire en réactivant les neurones acc 44 des circuits de mémoire 400, ..., 40N-
1 via une
ge-synapse. En d'autres termes, le neurone sync 95 joue le rôle des neurones
recall 48 des
différents circuits de mémoire.
1001301 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 W/2 venant directement des neurones acc 42 des
deux
circuits de mémoire, et il est le noeud é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
toi-ut = tslyn, + 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, 921.
[001311 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 921 pour la grandeur .x1).
[001321 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 noeud (dans le cas d'une grandeur de sortie) ou soient reçus par un
unique noeud
(dans le cas d'une grandeur d'entrée).
B. Opérations logiques
B.1. Minimum
[00133] 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 noeuds d'entrée 101, 102 et
délivre ce
minimum sur un noeud de sortie 103.
[00134] 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 we/2,

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-33 -
va du neurone input 101 au neurone smaller 104. Une V-synapse excitatrice 107,
de poids
we/2, va du neurone input 102 au neurone smaller 105. Une V-synapse
excitatrice 108, de
poids we/2, va du neurone input 101 au neurone output 103. Une V-synapse
excitatrice 109,
de poids we/2, va du neurone input 102 au neurone output 103. Une V-synapse
excitatrice
110, de poids we/2, va du neurone smaller 104 au neurone output 103. Une V-
synapse
excitatrice 111, de poids we/2, va du neurone smaller 105 au neurone output
103. Une V-
synapse inhibitrice 112, de poids w,/2, va du neurone smaller 104 au neurone
smaller 105.
Une V-synapse inhibitrice 113, de poids w,/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.
[001351
L'émission du premier spike sur chaque neurone input 101, 102 au temps
t ilu 1 = t ilu 2 (figure 12) amène chacun des neurones smaller 104, 105 à une
valeur de
potentiel Vt/2 au temps tiln1 + Tsyn, et déclenche un premier événement sur le
neurone
output 103 au temps toi-ut = tiln1 + 2. Tsyn + 2. Tnen . L'émission du second
spike sur le
neurone input ayant la plus petite valeur, à savoir le neurone 101 au temps
ti2n1 = tiln1 Ati
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_s2mailerl =
ti2ni T
- syn Tnen 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 ti2n2 = tiln2
At2, 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 to2ut1= tslmallerl Tneu = ti2n1 + 2. Tsyn + 2.
Tnen.
Tsyn
[00136] Finalement, le neurone output 103 restitue bien, entre les
événements qu'il
délivre, l'intervalle de temps minimum to2ut ¨ t
-olut = t i2n
t iln 1 = Atientre 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.
1O1371 Le circuit de calcul de minimum 100 de la figure 11 fonctionne dès
lors que la
fonction f telle que At = f(x) est une fonction croissante.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 34 -
B.2. Maximum
01381 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 noeuds d'entrée 121, 122 et
délivre ce
maximum sur un noeud de sortie 123.
101391 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 wi, va du neurone larger 124 au neurone larger 125. Une V-
synapse
inhibitrice 133, de poids wi, 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.
1001401 Les premiers spikes émis de façon synchronisée (tn = tiln2) par
les neurones
input 121, 122 amènent les neurones larger 124, 125 à une valeur de potentiel
Vi2 au temps
tiln1 T, et déclenchent un premier événement sur le neurone output 123 au
temps
syn
tolut = tiln1 Tsyn Tneu, (figure 14). L'émission du second spike sur le
neurone input
ayant la plus petite valeur, à savoir le neurone 121 au temps ti2n,

= tiln1 Ati dans
l'exemple de la figure 14, amène l'un des neurones larger à la tension de
seuil Vt, à savoir le
2
neurone 124 dans cet exemple, ce qui entraîne un événement au temps d _ i_
-
-Larger2
' _L
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 ¨Vt/2. Lorsque le second spike
est émis par
l'autre neurone input 122 au temps t i2n2 = t n2 At2 (avec At2 > Ati), 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 t02ut = ti2n2 Tsyn Tneu.
[001411 Finalement, le neurone output 123 restitue bien, entre les
événements qu'il
délivre, l'intervalle de temps maximum to2ut ¨ tolut = ti2n2 t2 = 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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-35 -
[001421 Le circuit de calcul de maximum 120 de la figure 13 fonctionne
dès lors que la
fonction f telle que At = f(x) est une fonction croissante.
C. Opérations linéaires
C.1. Soustraction
1001431 La figure 15 montre un circuit de soustraction 140 qui calcule la
différence entre
deux valeurs xi, x2 reçues de façon synchronisée sur deux noeuds d'entrée 141,
142 et
délivre le résultat xi ¨ x2 sur un noeud de sortie 143 s'il est positif et sur
un autre noeud de
sortie 144 s'il est négatif. On suppose ici que la fonction f telle que Ati =
f(xi) et At2 = f(x2)
est une fonction linéaire, comme c'est le cas avec la forme (11).
[001441 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 'ib'
147, 148. Une V-synapse excitatrice 150, de poids we/2, va du neurone input
141 au neurone
sync 145. Une V-synapse excitatrice 151, de poids we/2, va du neurone input
142 au neurone
sync 146. Trois V-synapses excitatrices 152, 153, 154, chacune de poids ive,
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
ive, 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 we/2, va du neurone
output+ 143
au neurone inb 148. Une V-synapse excitatrice 161, de poids we/2, 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 T,.õ,n+
3. Tsyn +
Les synapses 153 et 156 sont associées à un retard de 3.Tsyn + 2=Tneu.
[00145] 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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 36 -
[001461
Les premiers spikes émis de façon synchronisée (tilul = tiln2) par les
neurones
input 141, 142 amènent les neurones sync 145, 146 à la valeur de potentiel
Vt/2 au temps
tiln1 Tsyn = L'émission du second spike sur le neurone input fournissant la
plus petite
valeur, à savoir le neurone 142 au temps t i2n 2 = t2 At2 dans l'exemple de la
figure 16 où
At2 < Ati, 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 t.ync2 = ti2n2 Tsyn
Tneu en
sortie de ce neurone 146. De ce fait :
= la synapse 159 inhibe le neurone inb 147 dont le potentiel passe à la
valeur ¨Vt au
temps tnc2 Tsyn = ti2n2 + 2. Tsyn Tneu ;
= la synapse 157 excite le neurone inb 148 qui délivre un événement au temps
= ti2u2 + 2. Tsyn + 2. Tneu , lequel événement inhibe à
tiinb2 = t.ync2 Tsyn Tneu
son tour, via la synapse 163, le neurone output¨ 144 dont le potentiel passe à
la
valeur ¨2Vt au temps ti2n2 + 3. Tsyn + 2. Tneu ;
= la synapse 155 ré-excite ensuite le neurone output¨ 144 dont le potentiel
passe à la
valeur ¨Vt au temps ti2n2 Tmin + 4. Tsyn + 3. Tneu;
= la synapse 156 excite le neurone output+ 143 qui délivre un événement au
temps
tolut = µc2 + 3. Tsyn + 3. Tneu = ti2n2 + 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 tilnb2 , passe à la valeur Vt/2 au temps tolut + Tsyn
Tneu = ttin2 + 5. Tsyn + 5. Tneu.
[00147]
Ensuite, l'émission du second spike sur l'autre neurone input 141 au temps
t i2n 1 = t in 1 Ati amène l'autre neurone sync 145 à la tension de seuil Vt,
ce qui entraîne un
événement au temps t = tn + Tsyn Tneu en sortie de ce neurone 145. De ce
fait :
i2i
= la synapse 158 inhibe le neurone inb 148 dont le potentiel passe à la
valeur ¨Vt/2 au
temps tslyncl Tsyn = t i2n1 + 2. Tsyn Tneu;
= la synapse 154 excite le neurone inb 147 qui remet à zéro son potentiel
de
membrane ;
= la synapse 152 excite le neurone output+ 143 qui délivre un événement au
temps
t
o2 ut= tslyncl Tmin + 3. Tsyn + 3. Tneu = ti2n1 Tmin + 4. Tsyn + 4. Tneu ,
lequel

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-37 -
événement excite à son tour le neurone inb 148 dont le potentiel est remis à
zéro au
temps to2ut + T
- syn Tneu = ti2n1 Tmin + 5. Tsyn + 5. Tneu.
= la synapse 153 excite le neurone output¨ 144 dont le potentiel est remis
à zéro au
temps tslynci + 3. Tsyn + 2. Tneu = t i2ni + 4. Tsyn + 3. Tneu.
[001481 Les deux événements excitateurs reçus par le neurone output¨ 144,
aux temps
ti272 + Tmin + 4. Tsyn + 3. T
et ti2n1 + 4. Tsyn + 3. Tneu sont bien postérieurs à
l'événement inhibiteur reçu au temps ti2n2 + 3. Tsyn + 2. Tneu. Il en résulte
que ce neurone
144 n'émet aucun événement lorsque At2 < Ati, de sorte que le signe du
résultat est
convenablement signalé.
[001491 Finalement, le neurone output+ 143 délivre deux événements ayant
entre eux un
intervalle de temps Atõt entre les événements des deux paires produites par
les neurones
input 141, 142, avec :
Atout = (ti2n1 + Tmin + 4. Tsyn + 4. Tneu) ¨ (ti2n2 + 4. Tsyn + 4. Tneu)
= Ati ¨ At2 + Tnun
= Tnuri (Xi ¨ X2).Tc0d (15)
[001501
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 Atõt =
fixi ¨ x2). 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.
[0151] 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 zero 171 et des V-synapses rapides 172-178 pour former
un circuit
soustracteur 170 selon la figure 17.
[001521
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 zero
171 est le noeud
récepteur de deux V-synapses excitatrices 172, 173 de poids we/2 et de retard
Tneu, l'une

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 38 -
venant du neurone sync 145 et l'autre du neurone sync 146. Il est d'autre part
le noeud
récepteur de deux V-synapses inhibitrices 174, 175 de poids w1/2 et de retard
2. Tõ,, l'une
venant du neurone sync 145 et l'autre du neurone sync 146. Le neurone zero 171
s'auto-
excite par une V-synapse 176 de poids we et de retard Tneu. Il est d'autre
part le noeud
émetteur de deux V-synapses inhibitrices de retard Tneu, l'une 177 de poids w,
dirigée vers le
neurone inb 148 et l'autre 178 de poids 2w1 dirigée vers le neurone output¨
144.
[001531
Le neurone zero 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
zero 171 ne
produit un événement que s'il reçoit deux événements séparés par un intervalle
de temps
inférieur à ne, 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.
[001541
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 à Tmm,
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
zero 171 n'est pas activé et le soustracteur fonctionne de la même manière que
celui de la
figure 15.
C.2. Cumul
1001551
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ù ao,
aN_i sont des coefficients de pondération positifs ou nuls et les grandeurs
d'entrée xo, xi, ..., xN-1 sont positives ou nulles.
10K561
Pour chaque valeur d'entrée xk (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

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 39 -
de la même manière que dans le groupe 20 décrit précédemment en référence à la
figure 2.
101571
Les connexions sortantes des neurones first et last de ces N groupes de
neurones
20 sont configurées en fonction des coefficients ak de la somme pondérée à
calculer.
101581
Le neurone first relié au neurone input 181k (0 < k <N) est le noeud émetteur
d'une ge-synapse excitatrice 182k de poids ni,
acc et de retard Tmin + Tsyn. Le neurone last
relié au neurone input 181k est le noeud émetteur d'une ge-synapse inhibitrice
183k de poids
¨ ak.W acc et de retard Tsyn.
[()01591
Le neurone acc 184 accumule les termes ak.xk. Ainsi, pour chaque entrée k, le
neurone acc 187 est le noeud récepteur de la ge-synapse excitatrice 182k et de
la ge-synapse
inhibitrice 183k.
[001601
Le circuit 180 comporte en outre un neurone sync 185 qui est le noeud
récepteur
de N V-synapses, chacune de poids we/N et de retard Tsyn, respectivement
issues des
neurones last reliés aux N neurones input 181k (0 < k <N). Le neurone sync 185
est le noeud
émetteur d'une ge-synapse excitatrice 186 de poids W acc et de retard Tsyn,
dont le noeud
récepteur est le neurone acc 184.
[001611
Pour chaque entrée présentant deux spikes séparés de Atk = Tniin + Xk.T cod
sur le
neurone input 181k, le neurone acc 184 intègre la quantité ak.17,IT,õ sur une
durée
Atk ¨ Tmin = Xk=T cod=
[001621
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 ge-synapse
186. Le
potentiel du neurone acc 184 continue à croître pendant une durée résiduelle
égale à
Tmax
ak=xk.Tõd. A ce moment-là, le seuil V, est atteint par le neurone acc 184 qui
déclenche un événement.
[NI 631
Le retard de cet événement par rapport à celui qu'a délivré le neurone sync
185
est de Tmax ¨ ak.xk.Tõd = f (1 ¨
ak.xk) = f (1 ¨s). La somme pondérées
n'est rendue accessible par le circuit 180 que dans sa forme inversée (1 ¨ s).
[1)0164]
Le circuit 180 fonctionne de la manière qui vient d'être décrite à condition
qu'on ait Tõd.EIN,121- ak. xk < Tmax. On peut normaliser les coefficients ak
pour que cette

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 40 -
condition soit remplie pour toutes les valeurs possibles des xk, c'est-à-dire
de façon que
UN=-1
c1=-11 ak <TT' 'cLx=
T cod
C.3. Sommation pondérée
[00165]
Un circuit de sommation pondérée 190 peut avoir la structure représentée sur
la
figure 19.
[001661
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.
[001671
Le neurone acc 188 est le noeud récepteur d'une ge-synapse excitatrice 191 de
poids W acc et de retard Tsyn, et le noeud émetteur d'une V-synapse
excitatrice 192 de poids ive
et de retard Tmin + Tsyn. Le neurone output 189 est également le noeud
récepteur d'une
V-synapse excitatrice 193 de poids ive et de retard Tsyn.
[001681
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 ge-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
V, sont
respectivement de Tmax -
ak. xk.T co d et de T,. Du fait que la synapse 192 présente
un retard relatif de Tnõ,, les deux événements déclenchés sur le neurone
output 189 ont entre
eux l'intervalle de temps Tmin + ak=xic=Tcod = f (s)
[001691 La somme pondérée attendue est bien représentée en sortie du
circuit 190.
Quand N = 2 et ao = ai= 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.
C.4. Combinaison linéaire
[001701
Le cas plus général de combinaison linéaire s'exprime aussi par l'équation
(16)
ci-dessus, mais les coefficients ak peuvent être positifs ou négatifs, de même
que les
grandeurs d'entrée xk. Sans perte de généralité, on ordonne les coefficients
et grandeurs
d'entrée de sorte que les coefficients ao,
am_i soient positifs ou nuls et les
coefficients am,i, am+2, aN_i soient négatifs (N 2, M 0, N - M 0).

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-41 -
[001711 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.
[001721 Les neurones input 181k du circuit de cumul 180A sont
respectivement associés
aux coefficients ak pour 0 < k<M et aux coefficients inversés ¨ak pour M<k<N.
Ces
neurones input 181k pour 0 < k<M reçoivent une paire de spikes représentant xk
quand
xk 0 et forment donc des neurones de type input+ pour ces grandeurs x0, ...,
xm_i. Les
neurones input 181k du circuit 180A pour M<k<N reçoivent une paire de spikes
représentant xk quand xk < 0 et forment donc des neurones de type input¨ pour
ces grandeurs
xm, = = 47_1.
1001731 Les neurones input 181k du circuit de cumul pondéré 180B sont
respectivement
associés aux coefficients inversés ¨ak pour 0 < k<M et aux coefficients ak
pour M<k<N.
Ces neurones input 181k pour 0 < k<M reçoivent une paire de spikes
représentant xk quand
xk < 0 et forment donc des neurones de type input¨ pour ces grandeurs x0, ...,
xm_i. Les
neurones input 181k du circuit 180B pour M<k<N reçoivent une paire de spikes
représentant xk quand xk 0 et forment donc des neurones de type input+ pour
ces grandeurs
xm, XN-1 =
[001741 Les deux circuits de cumul 180A, 180B partagent leur neurone
sync 185 qui est
ainsi le noeud récepteur de 2N V-synapses, chacune de poids we/N et de retard
Tsyn, en
provenance des neurones last couplés aux 2N neurones input 181k. 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 xo, xN_i, positives ou négatives, ont été reçues sur les
neurones 181k.
1001751 Un temps LITA = Tmax Eak.xk>0Iak= Xkl=Tcod = f(1 ¨
Eak.xk>0Iak=Xk i)
s'écoule entre les événements respectivement délivrés par le neurone sync 185
et le neurone
acc 184 du circuit 180A.
[001761 Un temps ATB = Tmax Eak.xk<Olak= Xkl=Tcod = f(1 ¨ Eak.xk<Olak=
Xk i)
s'écoule entre les événements respectivement délivrés par le neurone sync 185
et le neurone
acc 184 du circuit 180B.
[001771 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 LITA et LITB
pour produire la

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 42 -
représentation de Is I = Eak.xk>olak=xkl Eak.xk<Olak=xkl 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.
[001781
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.
[001791
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
Atõt = Tmin + LITA ¨ ATB = f (I Eak.xk>01ak=xkl Eak.xk<Olak=xklI) = f (1 s 1)
=
love
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é.
[001811 On peut normaliser les coefficients ak pour que les conditions
Eakmk>olak.xkl.Tcod < Tmax et Eakmk<olak.xkl.Tcod < Tmax soient remplies pour
toutes
les valeurs possibles des xk, c'est-à-dire de façon que
I< TraxT , afin que le circuit de
T cod
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.
D. Opérations non-linéaires
Logarithme

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 43 -
[001821 La figure 21 montre un circuit 210 de calcul du logarithme
népérien d'un
nombre x E 10, 1] dont une représentation codée est produite par un neurone
input 211 sous
forme de deux événements survenant à des temps til:n et ti2n =
+ At (figure 22) avec
At = f(x) = Tmin + x=Tcod=
[001831 Le neurone input 211 appartient à un groupe de noeuds 20 semblable
à celui
décrit en référence à la figure 2. Le neurone first 213 de ce groupe 20 est le
noeud émetteur
d'une ge-synapse excitatrice 212 de poids 1T7õ, et de retard Tmin + Tsyn,
tandis que le neurone
last 215 est le noeud émetteur d'une ge-synapse inhibitrice 214 de poids-
1/T7õ, et de retard
Tsyn. Les deux ge-synapses 212, 214 ont un même neurone acc 216 comme noeud
récepteur.
Du neurone last 215 au neurone acc 216, il y a aussi une grsynapse 217 de
poids
gmult Tm
= Vt.¨ et de retard Tsyn, et une gate-synapse 218 de poids 1 et de retard
Tsyn.
T f
1001841 Le circuit 210 comporte en outre un neurone output 220 qui est
le noeud
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.
[00185] Le fonctionnement du circuit de calcul de logarithme 210 selon
la figure 21 est
illustré par la figure 22.
[001861 L'émission du premier spike au temps tiln au niveau du neurone
input 211
déclenche un événement en sortie du neurone first 213 au temps t).-irst = tiln
+ Tsyn + Tneu.
Le neurone first 213 fait démarrer l'accumulation par le neurone acc 216 au
temps
tslt = t iln + Tmin + 2. Tsyn + Tneu via la ge-synapse 212.
[001871 L'émission du second spike au temps ti2n = tiln + Tmin X.Tõd au
niveau du
neurone input 211 amène le neurone last 215 à délivrer un événement au temps
tiast = ti2n Tsyn Tneu = Cet événement transporté par la ge-synapse 214 stoppe
l'accumulation réalisée par le neurone acc 216 au temps t
-elna = tiast Tsyn = tslt + X. Tcod
A ce moment, la valeur de potentiel V,x est stockée dans le neurone acc 216.
10K881 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 telnd via la
grsynapse
217 et la gam-synapse 218. Il est à noter qu'en variante, l'événement
transporté par la

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 44 -
grsynapse 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.
[001891
Après activation par les synapses 217 et 218, la composante gf du neurone acc
216 évolue selon :
t-t1
_ end
Tm
g f (t) = Vt.¨ . e V
(17)
Tf
et son potentiel de membrane selon :
t-tlnd)
V(t) = Vt. -
( e
1 + X ¨ e V (18)
IO1901
Ce potentiel V(t) atteint le seuil Vt et provoque un événement sur la V-
synapse
222 au temps talc, = teind ¨ -c f . log (x) .
[001911
Un premier événement est déclenché sur le neurone output 220 du fait de la
V-synapse 221 au temps tolut = tLst + 2Tsyn + Tneu = teind + Tsyn + Tneu. Le
second
événement déclenché par la synapse 222 intervient au temps to2ut = tale, +
Tmin + Tsyn +
Tneu = tolut + Tmin ¨ -c f . log (x) .
[001921 Finalement, les deux événements délivrés par le neurone output 220
sont séparés
par un intervalle de temps ATout= t
02ut ¨ tolut = Tmin ¨ -c f . log (x) = f (¨ .1- . log (x)) .
T cod
[001931
On obtient bien en sortie la représentation d'un nombre proportionnel au
logarithme népérien log(x) de la valeur d'entrée x. Comme 0 <x < 1, le
logarithme log(x) est
négatif.
_T cod
[001941 Si on note A = e V , le circuit 210 de la figure 21 délivre la
représentation de
logA(x) 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 Tma,õ
le circuit 210 délivre la représentation de logA(x) pour tout nombre x tel que
0 <x < 1.
D.2. Exponentielle

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 45 -
[001951
La figure 23 montre un circuit 230 de calcul d'exponentielle d'un nombre
x E [0, 1] dont une représentation codée est produite par un neurone input 231
sous forme
de deux événements survenant à des temps til:n et ti2n =
+ At (figure 24) avec
At = f(x)= Tmin + x=Tcod=
[001961 Le neurone input 231 appartient à un groupe de noeuds 20 semblable
à celui
décrit en référence à la figure 2. Le neurone first 233 de ce groupe 20 est le
noeud émetteur
d'une gr-synapse 232 de poids gmuit et de retard Trnm+ Tsyn, ainsi que d'une
gate-synapse
excitatrice 234 de poids 1 et de retard Tnõ, + Tsyn. Le neurone last 235 du
groupe 20 est le
noeud émetteur d'une gate-synapse inhibitrice 236 de poids ¨1 et de retard
Tsyn, ainsi que
d'une ge-synapse excitatrice 237 de poids 1T7õ, et de retard Tsyn. Les
synapses ont un même
neurone acc 238 pour noeud récepteur.
[001971
Le circuit 230 comporte en outre un neurone output 240 qui est le noeud
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
Trnm+ Tsyn
provenant du neurone acc 238.
[001981
Le fonctionnement du circuit de calcul d'exponentielle 230 selon la figure 23
est
illustré par la figure 24.
1001991
L'émission du premier spike au temps til:n au niveau du neurone input 231
déclenche un événement en sortie du neurone first 233 au temps thõt = tiln +
Tsyn + Tneu=
Le neurone first 233 fait démarrer une accumulation à dynamique exponentielle
sur le
neurone acc 238 au temps tslt = tiln + Tmin + 2. Tsyn Tneu via la grsynapse
232 et la
gate-synapse 234.
[002001 La composante gf du neurone acc 238 évolue alors selon :
t-t
_ st
g f(t) = Vt.¨ . e V
(19)
Tf
et son potentiel de membrane selon :
t-t
V (t) = Vt. (1 ¨ e
(20)

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 46 -
10201 I L'émission du second spike au temps ti2u = t + Tmin + X.Tõd au
niveau du
neurone input 231 amène le neurone last 235 à délivrer un événement au temps
qast =
ti2u + Tsyn + Tnen. Cet événement transporté par la gate-synapse 236 stoppe
l'accumulation
à dynamique exponentielle réalisée par le neurone acc 238 au temps t
-eind = q-ast Tsyn =
qi X.Tõd. A ce moment, la valeur de potentiel Vt.(1 ¨ Ax) est stockée dans le
neurone acc
_Tcod
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 vT7oõ sur le
neurone acc 238
au même instant telnd.
[002021 Le potentiel de membrane du neurone 238 évolue alors selon :
V(t) = Vt. (1 ¨ Axt¨tend
(21)
Tcod
1002031 Ce potentiel V(t) atteint le seuil Vt et provoque un événement
sur la V-synapse
222 au temps talc, = teind Ax =Tcod=
[002041 Un premier événement est déclenché sur le neurone output 240 du
fait de la
V-synapse 241 au temps t
-olut = q-ast 2Tsyn Tneu = teind Tsyn + Tneu . Le second
événement déclenché par la synapse 242 intervient au temps t
-02ut = tolõ + Tmin Tsyn
Tneu = tolut Tmin Ax =Tcod=
1002051 Finalement, les deux événements délivrés par le neurone output
240 sont séparés
par un intervalle de temps de ATout

= - t
02ut tolut = Tmin Ax.Tcdd = f (Ax).
1002061 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 > Tmax) et délivrer encore la représentation de
Ax sur son
neurone output 240.
[00207] 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.
[002081 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

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-47 -
d'élever un nombre x à une puissance entière n, etc.
D.3. Multiplication
1002091 La figure 25 montre un circuit multiplieur 250 qui calcule le
produit de deux
valeurs xi, 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
tn et t = tiln1 Ati pour la valeur xi et à des temps tiln2 et ti2n2 =
tiln2 At2 pour la
valeur x2 (figure 25) avec Ati =f(xi) = Tni,, + xi.Tõd et At2 =f(x2) = Tinin +
x2=Tc0d=
10W2101 Chaque neurone input 251k (k =1 ou 2) appartient à un groupe de
noeuds 20k
semblable à celui décrit en référence à la figure 2. Le neurone first 253k de
ce groupe 20k est
le noeud émetteur d'une ge-synapse excitatrice 252k de poids 1T7õ, et de
retard Trnm+ Tsyn,
tandis que le neurone last 255k est le noeud émetteur d'une ge-synapse
inhibitrice 254k de
poids-1/T7õ, et de retard Tsyn. Les deux ge-synapses 252k, 254k issues du
groupe de noeuds
20k ont comme noeud récepteur un même neurone acc 256k qui joue un rôle
similaire au
neurone acc 216 de la figure 21.
[002111 Le circuit 250 comporte en outre un neurone sync 260 qui est le
noeud récepteur
de deux V-synapses excitatrices 2611, 2612 de poids we/2 et de retard Tsyn
provenant
respectivement des neurones last 2551, 2552. Une grsynapse 262 de poids gmuit
et de retard
Tsyn et une gate-synapse excitatrice 264 de poids 1 et de retard Tsyn vont du
neurone sync 260
au neurone acc 2561.
[02 g 2] Une grsynapse 265 de poids gmutt et de retard Tsyn et une gate-
synapse
excitatrice 266 de poids 1 et de retard Tsyn vont du neurone acc 2561 au
neurone acc 2562.
[002131 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 noeud récepteur
d'une grsynapse
269, de poids gmuit et de retard 3Tsyn, et d'une gate-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
noeud récepteur d'une gate-synapse inhibitrice 271, de poids ¨1 et de retard
Tsyn, et d'une
ge-synapse excitatrice 272, de poids 1T7õ, et de retard Tsyn, provenant toutes
deux du neurone
acc 2562.
[002141 Le circuit 250 possède enfin un neurone output 274 qui est le
noeud récepteur

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 48 -
d'une V-synapse excitatrice 275, de poids ive et de retard 2Tsyn, provenant du
neurone acc
2562 et d'une V-synapse excitatrice 276, de poids ive et de retard Tsyn +
Tsyn, provenant du
neurone acc 268.
[002151 Le fonctionnement du circuit multiplieur 250 selon la figure 25
est illustré par la
figure 26.
[00216] 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 vT7õ, sur
une première période de durée respective xi.Tcod, x2.Tcod, conduisant à
stocker les valeurs de
potentiel Vt.xi et Vt.x2 dans les neurones acc 2561, 2562.
[002 g 7] L'émission du second spike au temps ti2n2 = t iln 2 Tnun + X2.
Tõd 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 xi > x2) stoppe l'accumulation à dynamique
linéaire sur le
neurone acc correspondant 2562 via la ge-synapse 2542 au temps t?-ast2 + Tsyn
= ti2n2
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 a-
Last2 Tsyn =
ti212 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.
[002181 L'émission du second spike au temps ti2n1 = tiln1 Tnun + X1. Tõd
au niveau du
neurone input présentant la plus grande valeur (le neurone input 2511 dans le
cas de la figure
26) stoppe l'accumulation à dynamique linéaire sur le neurone acc
correspondant 2561 via la
ge-synapse 2541 au temps t?-ast1 + Tsyn = ti2n1 2Tsyn Tneu. Au même moment, le

potentiel de ce neurone sync 260 atteint la valeur Vt 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 tslyõ = ti2n1
2Tsyn
2Tneu sur les synapses 262 et 264. La dynamique exponentielle 2801 est alors
activée sur le
neurone acc 2561 à la place de la dynamique linéaire 2781 au temps tsit1 =
tslyn, Tsyn.
Parallèlement, les synapses 269, 270 activent la dynamique exponentielle 281
sur le neurone
acc 268 au temps q-t3 = tsly, + 3Tsyn.
[00219] Le potentiel du neurone acc 2561 atteint le seuil Vt et provoque
un événement
sur les synapses 265, 266 au temps t?-0g1 = tsit1 ¨ Tf . log (xi) .

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 49 -
[002201
La dynamique exponentielle 2801 est alors activée sur le neurone acc 2562 au
temps tsit2 = t?-0g1 + Tsyn. Le potentiel de ce neurone acc 2562 atteint le
seuil V, et provoque
un événement sur les synapses 271, 272, 275 au temps t?-og2 = tsit2 ¨ Tf . log
(x2) = tslyuo ¨
Tf log(xi. x2) + 2 Tsyn. La gate-synapse 271 désactive la dynamique
exponentielle 281 sur
le neurone acc 268 au temps telnd3 = t?-og2 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
:
t1 -t1
end3 st3
Vt. (1 e Tf = Vt.(1¨ xi.x2)
(22)
[002211
La V-synapse 275 provoque l'émission d'un premier spike sur le neurone output
274 au temps tolut = t?-og2 + 2Tsyn Tnen.
1002221 Le neurone acc 268 atteint le seuil V, et provoque un événement sur
la
V-synapse 276 au temps telxp = telnd3 xl= X2. Tcod = Il en résulte, au niveau
du neurone
output 274 l'émission d'un second spike au temps to2ut = telxp Tmin Tsyn Tneu.
[00223]
Finalement, les deux événements délivrés par le neurone output 268 sont
séparés
par un intervalle de temps de ATout

= t02ut tolut = Tmin x2. Tcoci = f (xi. x2).
[002241 Le circuit 250 de la figure 25 délivre donc sur son neurone output
268 la
représentation du produit x1.x2 des deux nombres xi, .x2 compris entre A et 1
dont il reçoit les
représentations respectives sur ses neurones input 2511, 2512.
[002251
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
[0226]
La figure 27 montre un circuit multiplieur 290 qui calcule le produit de deux
valeurs signées xi, x2. Toutes les synapses représentées sur la figure 27
présentent le retard
Tsyn=
[002271
Pour chaque valeur d'entrée xk (1 < k < 2), le circuit multiplieur 290
comporte
un neurone input+ 291k et un neurone input¨ 292k qui sont les noeuds émetteurs
de deux
V-synapses respectives 293k et 294k de poids we. Les V-synapses 2931 et 2941
sont dirigées
vers un neurone input 2511 d'un circuit multiplieur 250 du genre représenté
sur la figure 25,

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 50 -
tandis que les V-synapses 2931 et 2941 sont dirigées vers l'autre neurone
input 2512 du
circuit 250.
[002281 Le circuit multiplieur 290 possède un neurone output+ 295 et un
neurone
output¨ 296 qui sont les noeuds récepteurs de deux V-synapses excitatrices
respectives 297
et 298 de poids we provenant du neurone output 274 du circuit 250.
[002291 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 noeud récepteur de deux V-synapses
excitatrices
respectives de poids we/4 provenant de deux des quatre neurones input 291k,
292k. Le
neurone sign 300 relié aux neurones input+ 291i, 2912 détecte la réception de
deux entrées
Xi, x2 positives. Il forme le noeud émetteur d'une V-synapse inhibitrice 305
de poids 2w,
allant au neurone output¨ 296. Le neurone sign 303 relié aux neurones input¨
2921, 2922
détecte la réception de deux entrées xi, x2 négatives. Il forme le noeud
émetteur d'une
V-synapse inhibitrice 308 de poids 2w1 allant au neurone output¨ 296. Le
neurone sign 301
relié aux neurones input¨ 2921 et input+ 292 détecte la réception d'une entrée
xi négative et
d'une entrée x2 positive. Il forme le noeud émetteur d'une V-synapse
inhibitrice 306 de poids
2w1 allant au neurone output+ 295. Le neurone sign 302 relié aux neurones
input+ 2911 et
input¨ 2922 détecte la réception d'une entrée xi positive et d'une entrée x2
négative. Il forme
le noeud émetteur d'une V-synapse inhibitrice 307 de poids 2w, allant au
neurone output+
295.
[1)02301 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 noeud émetteur de deux V-synapses inhibitrices de poids we/2 allant
respectivement
vers les deux neurones sign correspondant au signe opposé.
[002311 Ainsi agencé, le circuit 290 de la figure 27 délivre deux
événements séparés de
l'intervalle de temps f(lxi.x21) sur l'une de ses sorties 295, 296,
conformément au signe de
xi.x2, lorsque les deux nombres xi, x2 sont présentés avec leurs signes
respectifs sur les
entrées 291k, 292k.
[002321 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

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-51 -
temps Tmin entre deux événements produits sur le neurone output+ 295 et non
pas le neurone
output¨ 296.
E. Résolution d'équations différentielles
E.1. Intégration
[002331 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 Tnõ, + Tsyn.
[00234] 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
ao = 1 et ai = dt, où dt est le pas d'intégration choisi.
[00235] Les neurones input+ 311 et input¨ 312 sont respectivement reliés
aux neurones
input+ et input¨ 1811 du circuit 200 associés au coefficient ai = dt par deux
V-synapses
321, 322.
[00236] Les autres neurones input+ et input¨ 1811 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 xo
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.
1002371 Un autre neurone mit 318 du circuit d'intégration 310 est le
noeud émetteur
d'une synapse 325 dont le noeud récepteur est le neurone recall 15 du circuit
317. Le
neurone mit 318 charge l'intégrateur avec sa valeur initiale xo stockée dans
le circuit 317.
1002381 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+ 1810 et
le neurone output¨ 144 du circuit d'intégration 200 sur son neurone input¨
1810.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 52 -
[002391
Un neurone start 319 est le noeud é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
Tnõ, sur le neurone input+ 1811 du circuit d'intégration 180.
[002401
Les neurones output+ 143 et output¨ 144 du circuit de combinaison linéaire 200
sont les noeuds émetteurs respectifs de deux synapses 330, 331 dont les noeuds
récepteurs
sont respectivement les neurones output+ 313 et output¨ 314 du circuit
d'intégration 310.
[002411
Le circuit d'intégration 310 possède enfin un neurone new input 320 qui est le
noeud récepteur d'une synapse 332 provenant du neurone start 207 du circuit de

combinaison linéaire 200.
[002421 La valeur initiale xo est, selon son signe, délivrée sur le neurone
output+ 313 ou
output¨ 314 une fois que le neurone mit 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+1).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.).
1002431 Après fourniture d'une (k+1)-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 :
xo + o (i. dt). dt
(23)
T
qui, à une constante additive près, est une approximation de g (T) = fo g (t).
dt , avec
T = (k + 1).dt.
[002441 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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-53 -
[002451 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 : 2,2 = 100 s, zy= 20 ms, V, =
10 mV,
Tmin = 10 ms et Tcod = 100 ms.
E.2. Équation différentielle du premier ordre
102461 La figure 29 montre un dispositif de traitement qui implémente
la résolution de
l'équation différentielle :
dX
T.¨ + X(t) = X0,
(24)
dt
où r 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
Tsyn.
102471 Pour résoudre l'équation (24), le dispositif de la figure 29
utilise :
= un circuit de combinaison linéaire 200 tel que représenté sur la figure
20, avec N = 2
et des coefficients a() = ¨1/2et ai =
= un circuit intégrateur 310 tel que représenté sur la figure 28, avec un
pas
d'intégration dt ; et
= 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(IX_I) entre
deux spikes
délivrés soit par son neurone output+ 315, soit par son neurone output¨ 316,
selon le
signe de X_.
[002481 La constante X¨ est fournie à l'un des neurones input+ et input¨
1811 associés
au coefficient ai = 1/2 dans le circuit de combinaison linéaire 200 après
chaque activation
du neurone recall 15 qui est le noeud 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+ 1810 du
circuit de
combinaison linéaire 200 et, respectivement, la sortie output¨ 314 du circuit
310 sur l'autre
entrée input¨ 1810 du circuit 200. Deux synapses 343, 344 vont de la sortie
output+ 203 du

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 54 -
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.
[00249]
Le dispositif de la figure 29 a une paire de neurones output+ 346 et output¨
347
qui sont les noeuds récepteurs de deux synapses issues des neurones output+
313 et output-
314 du circuit intégrateur 310.
[002501
Les neurones mit 348 et start 349 permettent d'initialiser et de faire
démarrer le
processus d'intégration. Le neurone mit 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.
[002511 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.
1002521
Des résultats de simulation de ce dispositif avec différents jeux de
paramètres 2,
X_ et avec un pas d'intégration dt = 0,5 sont présentés sur la figure 30A pour
différentes
valeurs de r et sur la figure 30B pour différentes valeurs de X_ = ¨0,2, X_
= 0,1 et
= ¨0,4). Chaque point des courbes C1-C3, C' 1-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).
E.3. Équation différentielle du second ordre
[002531
La figure 31 montre un dispositif de traitement qui implémente la résolution
de
l'équation différentielle :
1 WX dX
+X(t)
(25)
dt2 dt
où et wo 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
ive et de retard
Tsyn. Comme les grandeurs manipulées dans cet exemple sont toutes positives,
il n'est pas

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-55 -
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.
RM)2541 Pour résoudre l'équation (25), le dispositif de la figure 31
utilise :
= un circuit de combinaison linéaire 200 tel que représenté sur la figure
20, avec N = 3
et des coefficients a() = a2 = 0)02 et ai = ;
= deux circuits intégrateurs 310A, 310B tels que celui représenté sur la
figure 28, avec
un pas d'intégration dt ; et
= 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 f(X00) entre deux
spikes
délivrés par son neurone output 16 (X- > 0).
[002551 La constante X_ est fournie au neurone input 1812 associé au
coefficient
a2 = 0)02 dans le circuit de combinaison linéaire 200 après chaque activation
du neurone
recall 15 qui est le noeud 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 1811 du circuit de
combinaison
linéaire 200 associée au coefficient ai = -..(po et, respectivement, la sortie
output 313 du
premier circuit intégrateur 310A sur l'autre entrée input 1810 du circuit 200
associée au
coefficient ao = W02. 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.
[00256] Le dispositif de la figure 31 a un neurone output 356 qui est le
noeud récepteur
d'une synapse issue du neurone output 313 du second circuit intégrateur 310B.
102571 Les neurones mit 358 et start 359 permettent d'initialiser et de
faire démarrer le
processus d'intégration. Le neurone mit 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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 56 -
[002581 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.
102591 Des résultats de simulation de ce dispositif avec différents
jeux de paramètres
wo 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 coo et sur la figure 32B pour différentes valeurs de 4.
Chaque point sur
les courbes D 1 -D3, D'1-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.
E.4. Résolution d'un système d'équations différentielles non-
linéaires
Iffle301 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 of the Atmospheric Sciences, Vol. 20, No. 2, pages 130-141,
mars 1963) :
¨dX = o- (Y (t) ¨ X (t))
dt
{dY
¨dt = p. X(t) ¨ Y (t) ¨ X (t) Z (t)
(26)
dZ
¨dt = X (t). Y (t) ¨ Z(t)
[002611 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 u = 10, fi
= 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
(11) 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.
[00262] 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.
[002631 Pour résoudre le système (26), le dispositif de la figure 33
utilise :

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
-57 -
= 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;
= trois circuits de combinaison linéaire 200A, 200B, 200C tels que celui
représenté sur
la figure 20 pour calculer les dérivées de X, Y et Z;
= un circuit synchroniseur signé 90 du type de celui représenté sur la figure
8 avec
N = 3 pour attendre que les trois dérivées soient calculées avant de faire
évoluer
l'état du système ;
= 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
ao = u et ai = ¨u. Son neurone input 181A0 est excité depuis le neurone output
313A du
circuit intégrateur 310A, et son neurone input 181A1 depuis le neurone output
313B du
circuit intégrateur 310B. Son neurone output 203A est le noeud émetteur d'une
synapse
allant au neurone input 910 du circuit synchroniseur 90.
[00265] Le circuit de combinaison linéaire 200B est configuré N= 3 et des
coefficients
ao =p et ai = a2 = ¨1. Son neurone input 181B0 est excité depuis le neurone
output 313B du
circuit intégrateur 310B, son neurone input 181B1 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 noeud émetteur d'une synapse
allant au
neurone input 911 du circuit synchroniseur 90.
[002661
Le circuit de combinaison linéaire 200C est configuré N= 2 et des coefficients
ao = 1 et al = ¨ fl. Son neurone input 181C0 est excité depuis le neurone
output 295B du
circuit multiplieur 290B, et son neurone input 181C1 depuis le neurone output
313C du
circuit intégrateur 310C. Son neurone output 203C est le noeud émetteur d'une
synapse
allant au neurone input 912 du circuit synchroniseur 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 921
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.

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 58 -
[002681 Le neurone input 29 lAi du circuit multiplieur 290A est excité
depuis le neurone
output 313A du circuit intégrateur 310A, et son neurone input 291A2 depuis le
neurone
output 313C du circuit intégrateur 310C. Le neurone input 291B1 du circuit
multiplieur
290B est excité depuis le neurone output 313A du circuit intégrateur 310A, et
son neurone
input 291B2 depuis le neurone output 313B du circuit intégrateur 310B.
1002691 Le dispositif de la figure 33 possède trois neurones output 361,
362 et 363 qui
sont les noeuds 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 IX(t), Y(t), Z(t)} calculée pour le système (26).
[002701 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.
[00271] Les points sur la figure 34 correspondent chacun à un triplet
IX(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.
1002721 Le système se comporte de la manière attendue, en conformité avec
l'attracteur
étrange décrit par Lorenz.
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
noeuds 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).

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 59 -
[002741 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.
[002751 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.
[002761 Les noeuds de traitement sont typiquement organisés en matrice.
Ceci se prête
bien notamment à une implémentation à l'aide de FPGA.
1002771 Un réseau programmable 400 constituant l'ensemble de noeuds de
traitement, ou
une partie de cet ensemble, dans un exemple de mise en oeuvre 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 rf identiques pour les
différents noeuds du
réseau.
Iffl781 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
noeuds 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.
[00279] 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

CA 02992036 2018-01-09
WO 2017/009543 PCT/FR2016/051717
- 60 -
appropriés, pour que les noeuds 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.
[002801 Cette architecture de calcul convient bien à une exécution rapide
de calculs
massivement parallèles.
[00281] 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.
[002821 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.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2016-07-06
(87) PCT Publication Date 2017-01-19
(85) National Entry 2018-01-09
Dead Application 2022-09-27

Abandonment History

Abandonment Date Reason Reinstatement Date
2021-09-27 FAILURE TO REQUEST EXAMINATION
2022-01-06 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2018-01-09
Maintenance Fee - Application - New Act 2 2018-07-06 $100.00 2018-06-20
Maintenance Fee - Application - New Act 3 2019-07-08 $100.00 2019-06-18
Maintenance Fee - Application - New Act 4 2020-08-31 $100.00 2021-01-05
Late Fee for failure to pay Application Maintenance Fee 2021-01-05 $150.00 2021-01-05
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
UNIVERSITE PIERRE ET MARIE CURIE (PARIS 6)
CENTRE NATIONAL DE LA RECHERCHE SCIENTIFIQUE - CNRS -
INSERM (INSTITUT NATIONAL DE LA SANTE ET DE LA RECHERCHE MEDICALE)
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Maintenance Fee Payment 2021-01-05 1 33
Abstract 2018-01-09 2 88
Claims 2018-01-09 15 660
Drawings 2018-01-09 34 784
Description 2018-01-09 60 2,878
Representative Drawing 2018-01-09 1 16
Patent Cooperation Treaty (PCT) 2018-01-09 1 39
International Search Report 2018-01-09 4 129
National Entry Request 2018-01-09 6 185
PCT Correspondence 2018-02-08 4 136
Modification to the Applicant-Inventor / Response to section 37 2018-02-14 6 186
Cover Page 2018-03-14 1 47
Office Letter 2018-03-15 2 89