coursHPM-M2-RIA-nov05 - LIRIS

publicité
Réseaux de neurones temporels :
dynamique et apprentissage
Hélène Paugam-Moisy
Professeur à l’Université Lyon 2
Institut des Sciences Cognitives
[email protected]
Les réseaux de neurones naturels
Cerveau, neurones et intelligence
Chez les animaux, la
place occupée par le
cortex semble être
proportionnelle au
développement des
facultés intelligentes.
Le cerveau humain est constitué d’environ
1011 neurones ;
en moyenne, chaque neurone a de l’ordre de
104 connexions.
Neurones biologiques / naturels
Les neurones forment des réseaux de communication complexes, chaque
neurone établissant de très nombreuses connexions avec d'autres.
vibrisses du rat : neurones sensitifs => thalamus
(White et Peters ) neurones thalamiques => cortex
Neurones biologiques / naturels
gallerie de photos...
Neurones biologiques / naturels
Première schématisation
du neurone (Dieters, 1865)
Enregistrement d’un neurone
vivant : micro-électrode de verre
Neuropuce (Infineon) : 16 384 capteurs au mm2
pour enregistrer tout signal électrique émis par
un neurone vivant, ici celui d’une “limace de boue”
[Lymnaea stagnalis]
Neurones biologiques / naturels
dendrites
Schématiquement, un neurone biologique est constitué
d’un arbre dendritique, d’un soma et d’un axone.
soma
axone
autre
dendrite
connexion
synaptique
Un neurone peut émettre des impulsions sur son axone.
Elles se propagent vers les dendrites des neurones auxquels
il est connecté, qui les transmettent au corps cellulaire
(ou soma), via des connexions pondérées par des synapses.
Connexions synaptiques
Connexions synaptiques
Plasticité synaptique
Loi de renforcement de Hebb (1949) :
Postulat physiologique :
“quand un axone de la cellule A est assez proche pour exciter une cellule B
et quand, de façon repétée et persistante, il participe à son activation, un
certan processus de croissance ou un changement métabolique s’installe,
dans une cellule ou dans les deux, tel que l’efficacité de A, en sa qualité
de cellule qui active B, est augmentée”.
En résumé : si deux neurones sont souvent
excités simultanément, alors ils augmentent
la force (le poids) de leur interconnexion .
=> c’est le principal fondement des règles
d’apprentissage, dans les réseaux de neurones artificiels.
Les réseaux de neurones artificiels
Neurones artificiels
Le premier modèle mathématique de neurone
est le neurone formel de McCulloch et Pitts (1943).
x1
w1
wi
xi
Σ
θ
sommation, seuillage
xn
y = 1 si Σwixi>θ
= 0 sinon
wn
Loi du “ tout ou rien ” : le neurone émet ou non une
impulsion sur son axone, selon que la somme pondérée
de ses entrées dendritiques dépasse ou non son seuil θ.
Réseaux de neurones artificiels
Un réseau de neurones artificiels est un ensemble de
neurones formels, connectés entre eux selon une
certaine architecture / topologie.
Les activités se propagent de neurone en neurone selon
une certaine dynamique.
Les poids des connexions sont modifiés / adaptés par
une règle d’apprentissage, à partir d’exemples.
Réseaux de neurones artificiels
On peut aussi voir un réseau de neurones artificiels
comme un outil de modélisation de type “ boîte noire ” :
X
vecteur d’entrée
φ
RNA
Y
vecteur de sortie
Le RNA réalise une association d’un espace d’entrée X vers
un espace de sortie Y. La “ fonction ” φ est définie par les
poids du réseau. Ceux-ci sont ajustés au problème par une
règle d’apprentissage, à partir d’une base d’exemples (xk,tk )
[ apprentissage supervisé, si tk est connu ]
Connexions synaptiques
Les poids synaptiques (artificiels) sont des nombres réels.
On associe habituellement les poids positifs à des connexions
excitatrices et les poids négatifs à des connexions inhibitrices
mais...
les règles d’apprentissage des modèles connexionnistes
classiques peuvent modifier le signe d’un poids synaptique
donné, ce qui n’est guère réaliste, sur le plan biologique.
Motivation initiale
La motivation initiale n’était pas non plus très biologique :
l’idée sous-jacente à la définition du neurone formel était
de chercher à montrer que la pensée intelligente résultait
du fonctionnement des neurones du cerveau...
mais, à l’époque, on pensait que :
intelligence
raisonnement
raisonnement
logique
logique
neurones
Synthèse des fonctions booléennes
Ainsi, les premiers travaux de McCulloch et Pitts ont été de
réaliser la synthèse des fonctions booléennes élémentaires
à partir de réseaux de neurones formels.
Parallèlement, les mathématiciens tentaient de démontrer
que tout raisonnement pouvait se formaliser par des
combinaisons complexes de règles logiques.
donc, dans l’esprit des travaux de Turing :
grand reséau
de neurones
raisonnement complexe,
intelligent
émergence
Modèles connexionnistes “classiques”
1940
1950
1960
Neurone formel de McCulloch & Pitts
Loi de renforcement de Hebb
Perceptron de Rosenblatt
}
notions fondatrices
Adaline de Widrow
1970
1980
1990
2000
20...
Réseau de Hopfield
Cartes auto-organisatrices de Kohonen
Réseaux MLP Rumelhart et al.
Réseaux RBF Moody & Darken
Support Vector Machines Vapnik
Exemple : un réseau MLP
entrées
sorties
calculées
x1k x1
y1
X
y1k
sorties
désirées
t1 k
ym ymk tmk
xnk xn
Y
erreur
neurone sigmoïde Nj : yj = σ ( Σwijxi - θj )
Généralisation, calcul du réseau :
• présenter les xi aux neurones d’entrée
• calculer les activités, de couche en couche, jusqu’aux sorties yj
Apprentissage, par rétro-propagation [ backprop ] :
•
•
k
•
•
•
initialiser les poids wij aléatoirement, sur chaque couche
présenter les xik aux neurones d’entrée
calculer les activités, de couche en couche, jusqu’aux sorties yjk
mesurer l’erreur entre sorties calculées yjk et sorties désirées tjk
en sens inverse, calculer les gradients et modifier les poids wij
A
Modèles connexionnistes “classiques”
Les réseaux de neurones artificiels sont devenus des outils
de modélisation et de calcul destinés aux ingénieurs :
•
•
•
•
•
•
Reconnaissance des formes, classification, clustering
Prédiction, prévision de séries temporelles
Contrôle, identification de systèmes
Compression de données
Des exemples :
Bioinformatique
repérer l’approche d’une tempête
Robotique
identifier de multiples espèces de fleurs
reconnaître une voix dans un téléphone mobile
distinguer les raisins utilisés pour faire un bon vin
diagnostiquer les conditions d’une conduite dangereuse
reconnaître le visage de quelqu’un qu’on n’a pas vu récemment
Modèles connexionnistes “classiques”
Ces RNA sont, d’ailleurs, des outils très performants :
• Calculabilité : plus puissants qu’une machine de Turing
• Complexité : NP-complétude du “ loading problem ”
• Capacité : MLP et RBF sont approximateurs universels
• Théorie statistique de l’apprentissage, PAC-learning
mais...
les méthodes mises en oeuvre pour les améliorer sont
de plus en plus souvent des méthodes déjà connues...
et surtout...
on s’est beaucoup éloigné de l’inspiration biologique !
Les neurones impulsionnels
ou
“ spiking neurons ”
Les neurones “classiques”
neurone à seuil
(fx de Heaviside)
f=H
neurone linéaire neurone sigmoïde
(fx identité)
f=I
n
y = f ( Σ wixi - θ )
i=1
(exp ; argth)
f=σ
calculs basés sur
le produit scalaire
Dans certains modèles (cartes de Kohonen, réseaux RBF) :
calculs basés sur la distance
y = g (|| x - w ||2)
Que représente “ xi ” ?
Les algorithmes des réseaux de neurones classiques sont
itératifs. A chaque pas de temps, chaque neurone reçoit n
valeurs d’entrée xi et les traîte selon sa propre formule de
calcul et en fonction des valeurs de ses poids synaptiques.
xi
représente le taux moyen de décharge
provenant du neurone présynaptique Ni
Cette moyenne (fréquence) résulte de plusieurs émissions
d’impulsions pendant un intervalle de temps donné, mais
on ne connaît pas ces impulsions de manière précise.
cependant...
Neurone impulsionnel
Les neurobiologistes ont montré que les neurones encodent
l’information dans les instants d’émission des impulsions.
impulsion = potentiel d’action = spike
spiking neuron
Pour une modélisation plus réaliste, il faut prendre en
compte les aspects temporels et utiliser de nouveaux
modèles de neurones : des “ neurones impulsionnels ”.
Dynamique neuronale
uj (t)
t1(1) t1(2)
neurones
pré-synaptiques
tj (f)
N1
t2(1) t2(2)
N2
Nj
neurone
post-synaptique
EPSP = potentiel post-synaptique excitateur
tj (f)
u [mV]
V
urepos
t1(1)
t2(1) t1(2) t2(2)
t [ms]
chaque spike pré-synaptique
engendre un EPSP (en rouge) ;
ceux-ci s’ajoutent (en bleu) ;
quand uj (t) atteint le seuil V
le neurone post-synaptique Nj
émet à son tour un spike.
Le modèle de Hodgkin-Huxley
Le modèle de neurone de Hodgkin-Huxley (1952) tient
compte avec précision des canaux ioniques et du processus
électro-chimique, au niveau des connexions synaptiques :
I (t)
C
R
Σk
courant d’entrée
K
potassium
Na
sodium
u potentiel de membrane
du
C __ = dt
Σk Ik (t) + I (t)
1
Ik = gNam3h(u-ENa) + gKn4(u-EK) + _ (u-EL)
R
... où les variables m, n et h sont elles-mêmes régies par
des équations différentielles, en fonction du temps.
Le modèle de Hodgkin-Huxley
Δu(t) [mV]
Ce modèle est capable de rendre compte de la dynamique
d’émission d’un spike et de se comporter en neurone à seuil
0
5
10
15
20
t [ms]
réponse du neurone
à une impulsion, i.e.
un courant d’entrée
de courte durée
I(t) envoyé à t < 0
mais...
le modèle de Hodgkin-Huxley est beaucoup trop complexe
pour modéliser des réseaux de neurones temporels !
Le modèle LIF : “Leaky Integrate and Fire”
Le modèle “Leaky Integrate and Fire” est une
simplification du modèle de Hodgkin-Huxley :
I (t)
R
courant d’entrée
C
u potentiel de membrane
V
du
1
C __ = - _ u (t) + I (t)
dt
R
Un spike est émis à chaque fois que le potentiel de
membrane croît jusqu’à dépasser le seuil V du neurone.
instant d’émission du spike :
t(f)
tel que
u(t(f)) = V
avec
u’(t(f)) > 0
Le modèle SRM : “Spike Response Model”
Le “Spike Response Model” SRM de Gerstner (1995) est une
généralisation du LIF, qui intègre le passé du neurone Nj
∞
(f)) + ∫κ(t-t
^ ,s)I(t-s)ds
uj (t) = Σ ηj (t-tj(f)) + NiΣ
Σ
w
ε
(t-t
ij
ij
i
j
préspikes
de Nj
synap
tiques
seuil, émission
0
spikes
de Ni
somme des PSP
courant extérieur
EPSP = PSP excitateur
poids wij positif
IPSP = PSP inhibiteur
poids wij négatif
instant d’émission du prochain spike :
t(f)
tel que
u(t(f)) = seuil avec u’(t(f)) > 0
Le modèle SRM : “Spike Response Model”
Exemple de formule mathématique pour le seuil :
s-δabs
ηj (s) = - V exp (- _____
) H (s-δabs) – K H (s) H (s-δabs)
τ
variations autour du seuil V et modélisation d’une
période réfractaire δabs
Exemple de formule pour les réponses aux PSP :
s-Δij
s-Δij
____
____
εij (s) = [exp() – exp()] H (s-Δij)
τm
τs
où Δij est le délai de propagation le long de l’axone
qui va du neurone Ni vers le neurone Nj
Le modèle SRM0
On peut simplifier le modèle SRM,
tout en conservant l’essentiel de ses propriétés
=> on obtient le modèle phénoménologique SRM0
uj (t) = Σ wijε(t-t^i-Δij)
Ni présynap
tiques
cette formule dérive d’une intégration de la précédente,
sur un court intervalle de temps (1ms), en ne mémorisant
que l’instant du dernier spike émis par Nj et en faisant
l’hypothèse que chaque neurone présynaptique Ni émet
au plus une fois à l’instant t^i dans l’intervalle de temps.
Le modèle SRM0
Exemple de formule pour les réponses aux PSP :
EPSP
s
1-s
__
____
ε(s) =
exp (
)
τ
τ
IPSP
où τ est une constante de temps caractéristique du
potentiel de membrane (augmentation puis décroissance)
instant d’émission d’un spike, par le neurone Nj :
tj(f)
t
tel que
^ ) avec u’ (t) > 0
uj(t) = θ(t-t
i
j
ce qui donne une fonction non-linéaire de la variable
d’état (potentiel de membrane) uj(t) du neurone Nj
Les réseaux de neurones temporels
dynamique, puissance de calcul
Les réseaux de neurones temporels
Comme pour les neurones classiques, on peut connecter
entre eux des neurones temporels selon diverses topologies,
simuler leur fonctionnement en réponse à des entrées venant
d’un environnement extérieur et récupérer des sorties.
SNN = Spiking Neuron Networks
cependant :
vecteur numérique
traduction
spikes
Une solution, le codage temporel :
dans un intervalle de temps fixé, plus le spike est
précoce, plus il correspond à une valeur numérique élevée
Dynamique des RNA “classiques”
x1
y1
ym
xn
topologie en couches => dynamique feedforward
y1
yn
x1
xn
topologie bouclée => dynamique récurrente
La dynamique dépend directement de la topologie...
Dynamique des RN temporels
La topologie est sous-jacente à la dynamique,
mais...
toutes les connexions ne sont pas actives à chaque instant
des patterns d’activité émergent ;
ils se modifient au cours du temps
=> un moyen plus riche de coder l’information
Assemblée de neurones :
ensemble de neurones qui se synchronisent,
en réponse à un stimulus extérieur
Assemblées de neurones
un stimulus
est appliqué
en entrée,
entre 1000
et 2000 ms
[ Meunier ]
Certains neurones accroissent leur activité,
d’autres cessent momentanément d’émettre.
Implémentation des RN temporels
Toutes les connexions ne sont pas actives à chaque instant
il devient maladroit de programmer une
boucle de calcul systématique des états
de tous les neurones et de toutes les
synapses à chaque itération.
L’échelle de temps est très différente (~ temps-réel )
il convient d’implémenter ces réseaux
par programmation événementielle
EDS = Event-Driven Simulation
Nouvelle motivation
On a beaucoup progressé sur la compréhension du
fonctionnement du cerveau, et l’idée que l’on se fait de
l’intelligence a beaucoup évolué en quelques décennies.
maintenant, on pense plutôt que :
intelligence
mémorisation
mémorisation
associations
associations
neurones
La synchronisation des assemblées de neurones
est une piste extrémement prometteuse...
Puissance de calcul
Des résultats théoriques* (Maass, 1997) ont montré que
les spiking neurons sont plus puissants que les
neurones classiques, même avec des modèles simples
u
εij(t-s)
s
u
s+Δij
εij(t-s)
∞
type A
θj(t-t’)
t
type B
t’
t
modélisation du seuil
* 1 spiking neuron de type B
s
s+Δij
t
fonctions de réponse aux PSP
O(n) neurones sigmoïdes
O(n log n) neurones à seuil
Puissance de calcul
Réseaux de neurones de 3ème génération :
spiking neurons
intégration d’informations en continu
1995
Réseaux de neurones de 2ème génération :
neurones sigmoïdes, neurones distance
entrées et sorties réelles
1985
Réseaux de neurones de 1ère génération :
neurones à seuil, à saturation
entrées et sorties booléennes
1945
Apprentissage et plasticité
Apprentissage dans les SNN
Les réseaux de neurones temporels, ou SNN (réseaux de
spiking neurons) modélisent beaucoup mieux que leurs
ancêtres la dynamique des interactions entre neurones.
mais :
comment réalise-t-on l’apprentissage des poids
dans les réseaux de neurones temporels ?
devrait-on aussi apprendre les délais ?
de nombreux problèmes ouverts
Apprentissage dans les SNN
Plusieurs chercheurs ont démontré
[ Maass, 1997 ; Bohte, 2002 ; Ruf & Schmitt, 2000 ]
que l’on pouvait émuler les principaux modèles classiques
(réseau de Hopfield, réseau MLP, cartes de Kohonen)
avec des réseaux de neurones impulsionnels
mais :
la simple reproduction des modèles de 2nde génération
ne permet pas d’exploiter la pleine puissance de ces
modèles de 3ème génération que sont les SNN.
on pourrait aussi chercher une inspiration biologique ?
Plasticité synaptique
Les neurobiologistes ont observé des
potentiations synaptiques quand un neurone pré-synaptique
wij
émet juste avant un neurone post-synaptique
pré
post
et des
dépressions synaptiques quand un neurone pré-synaptique
wij
émet juste après un neurone post-synaptique
pré
post
Ce phénomène de plasticité synaptique est connu sous le
nom de STDP = Spike-Time-Dependent Plasticity
Mécanismes STDP
modification des poids
en fonction de
Δt = tpost - tpré
poids excitateurs, w > 0
poids
inhibiteurs,
w<0
Difficultés, avec la STDP
Les poids synaptiques sont constamment modifiés
=> inconvénients de l’apprentissage “on-line” :
manque de stabilité
oubli du passé lointain
On retrouve le classique dilemme plasticité / stabilité
mis en évidence par Grossberg [ fin des années 80 ]
il faudrait combiner la STDP avec
une autre méthode d’apprentissage
Algorithmes évolutionnistes
Une autre piste consiste à utiliser des
algorithmes génétiques pour optimiser les valeurs des
poids synaptiques en adaptant le réseau à son milieu.
sélection
croisement
mutation
génération 1
et ainsi de suite ...
génération 2
Les individus
sont des
réseaux de neurones temporels
génération N
Algorithmes évolutionnistes et STDP
SNN plongé dans un zoo virtuel
les poids
ne cessent
d’evoluer
Conclusion
Les réseaux de neurones temporels sont :
• des modèles proches du biologique
• des outils de calcul très puissants
mais...
on maîtrise encore mal leur fonctionnement,
en particulier au niveau de l’apprentissage
Téléchargement