RÉSEAUX DE NEURONES
Le gène de la folie, celui du langage ou de l'intelligence n'existent pas. Nous savons qu'il n'est pas possible d'assigner une fonction cérébrale intégrée à un
"centre" unique ou à un seul neurotransmetteur, mais à un système d'"étapes de transit" où se
"nouent" des états d'activité électrique et chimique.
Jean-Pierre CHANGEUX
La science du gouvernement et neurones
La science du gouvernement étudie les propriétés et les lois du comportement de différent systèmes de contrôle,
indépendamment de la nature physique de ces systèmes. C'est l'étude des systèmes de traitement de l'information.
Ses fondateurs principaux sont:
Wiener, Shannon, Turing, Von Neumann, Ashby, Grey Walter, Culloch, Pitts, Rosenblatt, Kolmogorov
Le cerveau humain
Le cerveau humain est constitué d'environ 1010 Neurones connectés chacun à 104 neurones. Ce système organique permet une bonne adaptation aux tâches complexes, est robuste aux pannes (continue de fonctionner même en cas de lésion quelquefois importante) et possède des capacités d'apprentissage, de généralisation et d'auto organisation.
Les réseaux de neurones
Les réseaux de neurones constituent une nouvelle race de machines qui par conception se rapproche du cerveau humain.
Historique:
1943 Mc Culloch & Pitts
Définition du neurone formel 1948 Von Neumann
Définition de l'automate cellulaire
1949 Hebb
Définition de la "Synaptic plasticity"
1960 Rosenblatt
Premiers travaux sur le Perceptron 1969 Minsky & Papert
Limites du Perceptron 1970 Conway
Turing et jeu de la vie 1982 Hopfield
Modélisation "Spin glasses"
1985 Hopfield
Résolution du problème du voyageur de commerce avec un réseau de neurones
1985 Rumelhart
Définition et expérimentation de l'algorithme de rétro-propagation du gradient
1986 Sejnowski
Définition et réalisation du réseau "NetTalk"
d'apprentissage à la lecture
Approche classique et neuronale de la mémoire
L'approche classique de la mémoire fait que chaque donnée élémentaire est à tout moment stockée en un seul endroit de la machine.
L'approche neuronale de la mémoire fait que chaque donnée élémentaire est à tout moment répartie sur l'ensemble de la machine.
Comparaisons de ces deux approches:
Données
Localisées Données
Délocalisées Programmation
décomposée en étapes Programmation non décomposable Tolérance
aux fautes
à gérer explicitement
Tolérance aux fautes intrinsèque Réalisation
numérique (en générale)
Réalisation numérique analogique
ou mixte Le temps de
traitement
croît très vite avec la taille
et la complexité
Le temps de traitement
est indépendant de la taille et de la complexité
Axiomes de définition d'un réseau de neurone
Ce type de machine repose sur un certains nombre d'axiomes dont voici les principaux:
1 Le neurone répond par tout ou rien
2 Pour exciter le neurone à un moment quelconque, un nombre fixé de synapses y arrivant doivent être excitées au cours d'une période où leurs effets puissent se sommer.
3 Le seul délai significatif dans le système nerveux est le délais synaptique.
4 L'excitation d'une synapse inhibitrice empêche toute réponse du neurone.
5 La structure du réseau neuronique ne change pas au cours du temps.
(Axiomes 1 à 5 : Mc Culloch et Pitts en 1943)
2' Les synapses sont pondérées, et la réponse du neurone se fait en tout ou rien après un certain seuil.
(Axiome 2 modifié par Von Neumann en 1958)
6 L'excitation du neurone dépend également des groupes de neurones avoisinant, qui sont stimulés en même temps que lui.
(Axiome de Jan Gecsel en 1963)
D'autre jeux d'axiomes peuvent être utilisés, par exemple en considérant que la réponse d'un neurone n'est pas binaire mais continue dans le domaine ]-1,+1[.
Lois d'apprentissage
Une des principales capacités d'un réseau de neurones est d'apprendre, des modèles de lois d'apprentissage ont été réalisés, en voici deux:
La loi de Hebb (1949)
Loi: Le coefficient synaptique augmente si les neurones PRE et POST synaptiques sont actifs simultanément.
δWj,i
--- = a*Vj*Vi δt
où t est le temps,
Wj,i est le coefficient synaptique entre le neurone pré-synaptique Nj et le neurone post-synaptique Ni, Vj et Vi sont les sorties des neurones post et
pré-synaptiques
a est une constante de renforcement de l'apprentissage,
La loi de Hubel et Wiesel (1960)
Loi:
1) Activité conjointe PRE et POST => Wj,i augmente 2) Neurone PRE actif, POST repos => Wj,i diminue
3) Neurone POST au repos => décroissance lente de Wj,i : l'oubli
δWj,i
--- = -f*Wj,i+a*F(Vj)*G(Vi-b) où t est le temps,δt
Wj,i est le coefficient synaptique entre le neurone pré-synaptique Nj et le neurone post-synaptique Ni, Vj et Vi sont les sorties des neurones post et
pré-synaptiques
f est une constante d'oubli,
a est une constante de renforcement de l'apprentissage, F et G sont des fonctions de filtrage des sorties,
b est un niveau de base, Modélisation d'un neurone
Modélisation du neurone Ni;c dans un environnement réseau en couches:
Couche c-1 Couche c
Oj-1;c-1 Wj-1,i;c
[Nj-1;c-1] x
Oj;c-1 Wj,i;c Oi;c
[Nj;c-1] x [ Ni;c ]
Oj+1;c-1 Wj+1,i;c Ti;c
[Nj+1;c-1] x Si;c
Sortie du neurone Ni;c : Oi;c = fi;c(Vi;c) j=nbc-1
Valeur du neurone Ni;c : Vi;c=(Σ Mj,i;c) - Si;c j=1
nbc-1 est le nombre de neurones de la couche c-1 Moment j,i du neurone Ni;c : Mj,i;c = Wj,i;c * Oj;c-1
x
- ----
Ti;c
1 - e
Fonction non linéaire (sigmoïde) fi;c(x) = ---
du neurone Ni;c x
- ----
Ti;c
1 + e Caractéristiques du neurone i de la couche c : Ni;c
Ti;c est la température du neurone Ni;c Si;c est la valeur de seuil du neurone Ni;c
Caractéristique du lien entre le neurone i de la couche c Ni;c et le neurone j de la couche précédente Nj;c-1
Wj,i;c est le coefficient synaptique entre le neurone Nj;c-1 et le neurone Ni;c
Avec cette définition de réseau en couche, un neurone d'une couche c n'est influencé que par les neurones de la couche précédente c-1.
La fonction non linéaire utilisée impose que la température du neurone doit être différente de 0; le domaine de variation de la température d'un neurone est ]-∝,0[ U ]0,+∝[.
Le domaine de variation de la sortie d'un neurone est ]-1,+1[.
Le domaine de variation de la valeur d'un neurone est ]-∝,+∝[.
Le domaine de variation des coefficients synaptiques est ]-∝, +∝[.Le domaine de variation du seuil d'un neurone est ]-∝,+∝[.
Apprentissage par la méthode de rétro-propagation du gradient La technique d'apprentissage par la méthode de rétro- propagation du gradient est de type supervisé.
On appelle énergie partielle du réseau pour le pattern k:
i=nbsortie
E(k) = ½Σ(Pki;sortie - Oi;sortie)²
On appelle énergie du réseau pour un ensemble de patterns K: i=1
E = Σ E(k) k∈K
On appelle erreur sur le neurone Ni;c pour le pattern k:
δE(k) δi;c = ---
δVi;c
d'où:
δE(k)
--- = δi;c*Oj;c-1 δWj,i;c
δE(k)
--- = -δi;c δSi;c
δE(k) Vi;c
--- = -δi;c* ----
δTi;c Ti;c
Erreur sur la couche de sortie:
δi;sortie = (f'i;sortie(Vi;sortie))*(Oi;sortie-Pki;sortie) ou
δi;sortie = (f'i;sortie(f-1(Oi;sortie)))*(Oi;sortie-Pki;sortie)
où 1 - O2i;c 1 - Oi;c
f'(Vi;c) = --- f-1(Oi;c) = -Ti;c Log ---
2Ti;c 1 + Oi;c
La technique de la rétro-propagation du gradient est basée sur la propagation de l'erreur δi;c en sens inverse: de la couche c à la couche précédente c-1 avec comme hypothèse que les coefficients synaptique utilisés dans le calcul du rétro- moment sont de même valeurs que ceux utilisés dans le calcul du moment.
Erreur sur les couches précédentes:
j=nbc
δi;c-1 = (f'i;c-1(Vi;c-1))*Σ Ri,j;c-1 j=1
ou j=nbc
δi;c-1 = (f'i;c-1(f-1(Oi;c-1))) * Σ Ri,j;c-1
j=1
où:Rétro-moment du neurone Ni;c-1 : Ri,j;c-1 = Wi,j;c*δj;c
Calcul des modifications des caractéristiques du réseau (Wj,i;c) et des neurones (Si;c et Ti;c):
δE(k) γ(t+1) =α*γ(t) - β* --- δγ(k)
où
γ(t) représente une des caractéristiques : Wj,i;c Si;c Ti;c.
α : Paramètre de relaxation β : Paramètre d'apprentissage soit:
Wj,i;c(t+1) = αWj,i;c(t) - β*δ*Oj;c-1 Si;c(t+1) = αSi;c(t) + β*δi;c
1 - Oi;c Ti;c(t+1) = αTi;c(t) - β*δi;c*Log --- 1 + Oi;c Domaine d'application des réseaux de neurones
Les principaux domaines d'application des réseaux de neurones sont: le traitement d'image, traitement de la parole, la compression d'informations, la robotique et les système experts.
La "programmation" d'un réseau de neurones est une technique particulière qui nécessite la définition d'une topologie et d'un mécanisme d'apprentissage adaptés au problème à résoudre.
Comparaison des types de "programmation":
Algorithme = Logique + contrôle
Résolution de problèmes = Connaissances + stratégie Réseaux de neurones = Topologie + apprentissage