Les réseaux de neurones et l'apprentissage
Origines
Le modèle naturel
Une très grande partie du règne animal exhibe des capacités d'apprentissage, et depuis longtemps les hommes se sont interrogés sur le fonctionnement de notre mémoire, et sur la façon dont elle s'organisait.
L'une des technique utilisée pour conférer à des programmes des capacités d'apprentissage consiste à suivre une approche bio-mimétique : copions le vivant ! Nous allons donc chercher à créer des neurones artificiels, in-silico, suivant une approche connexionniste en les mettant en réseau, et pour ce faire nous commencerons par observer ce que nous savons des cellules neuronales réelles.
Même si les modèles de neurones réels sont toujours incomplets on peut déjà décrire un neurone comme une cellule particulière composée de plusieurs parties :
- Un corps cellulaire (1), noyau ou soma,
- Auquel sont reliées de nombreuses dendrites (2) qui sont comme les portes d'entrées des signaux provenant d'autres neurones,
- Et un axone (3) qui est la voie unique de sortie du neurone, qui va se diviser par la suite pour se connecter aux dendrites d'autres neurones par des synapses.
Les neurones sont organisés en réseau, chacun étant connecté à une multitude d'autres. L'axone en sortie du neurone se connecte aux dendrites en entrée d'autres neurones. Un neurone s'activant propage un signal vers les dendrites en entrées des neurones auxquels il est connecté et forme donc un réseau de communication à travers lequel se propage les signaux.
Entre les axones et les dendrites se situent des liaisons que l'on nomme synapses. Ces liaisons peuvent laisser passer, voire amplifier un influx nerveux ou au contraire l'atténuer.
Cet influx nerveux représente l'information transitant entre chaque neurone. Il peut être plus ou moins fort dans le sens où chaque synapse, en fonction d'un apprentissage, laissera passer plus ou moins cet influx. Ainsi certaines synapses seront inhibitrices car elle bloqueront l'influx, d'autres seront incitatrices car elles laisseront passer l'influx. On appelle cela le poids synaptique.
Lorsqu'un neurone reçoit suffisamment d'influx nerveux, au delà d'un seuil de déclenchement, il peut s'activer et envoyer à son tour un influx à travers son axone aux autres neurones auxquels il est connecté.
Cependant, dans la majeure partie des cellules neuronales, les synapses utilisent des médiateurs chimiques pour faire transiter l'influx. C'est à ce niveau qu'une synapse peut générer plus ou moins de médiateurs chimiques et donc amplifier ou inhiber l'influx électrique.
Le réseau entier de neurones connectés par leur synapses, toutes plus ou moins incitatrices ou inhibitrices, ainsi que les seuils d'activation des neurones, forment un modèle capable de produire des sorties particulières en fonction d'entrées particulières.
L'apprentissage se produit lorsque les pondérations synaptiques se modifient. C'est par changements successifs inhibant ou incitant les synapses que le réseau se transforme pour produire des sorties particulières en fonction des entrées.
Bien entendu le modèle réel des différents types de cellules neuronales est bien plus complexe, mais c'est cette idée simple d'apprentissage par inhibition ou incitation que nous allons utiliser dans la suite.
Historique
L'hypothèse que la mémoire (et la pensée) étaient localisées dans le cerveau et que ce dernier était un ensemble d'éléments interconnectés est ancienne. Cependant, les éléments que nous allons utiliser sont assez récents :
- On attribue généralement à Alcméon de Crotone (-520 à -450), une hypothèse reprise par Démocrite puis Hippocrate selon laquelle ce qui gouverne siège dans le cerveau.
- Aristote ensuite (même s'il imaginait lui que le cœur était le siège de la pensée) décrit la mémoire comme une interconnexion complexe d'éléments simples.
- Galien (env -131 à 201) sera le premier à décrire le parcours de l'influx nerveux à partir du cerveau.
- H. Spencer (1820-1903) Propose que Les états mentaux dépendent strictement des structures nerveuses et de leur évolution. Interprétation de la psychologie à travers des réseaux d'unités fortement connectées.
- S.R. Cajal découvre le neurone : le système nerveux est constitué d'une myriade de cellules interconnectées.
- E.L. Thorndike (1842-1910) Propose le concept de mémoire associative : la fréquence de conjonction d'événements tend à renforcer les liens entre leurs représentations cérébrales.
- Ce n'est qu'en 1955, avec les progrès de la microscopie électronique que ces travaux ont été validés.
La règle de Hebb
Hebb (1904-1985) énonce la règle de co-activation qui reprend l'idée de Throndike :
« Quand l'axone d'une cellule A est suffisamment proche pour exciter une cellule B et que de manière répétée et persistante, il participe à l'activation de B, alors un processus de croissance ou de changements métaboliques se met en œuvre dans l'une ou dans les deux cellules, de telle manière que la capacité de A à activer B en est renforcée. »
Il s'agit là d'une formalisation du mécanisme d'apprentissage. C'est par le biais de modifications successives des synapses et de leur capacité à inhiber ou inciter l'influx nerveux que le réseau se modifie.
Voici une illustration de la règle de Hebb, en rouge les neurones activés :
Soit
Un premier modèle, McCulloch et Pitts
Le modèle qu'on considère généralement comme fondateur des réseaux de neurones artificiels à été proposé par W. McCulloch, un neurophysiologiste et W. Pitts un mathématicien. Ils posent l'hypothèse selon laquelle on peut assimiler les signaux neuronaux à des propositions logiques. Ils cherchent alors à modéliser les réseaux de neurones en s'appuyant sur la logique des prédicats en plubliant un article fondateur de la théorie des neurones formels : « A Logical Calculus of Ideas Immanent in Nervous Activity ».
Ces réseaux de neurones n'exhibent pas encore de propriété d'apprentissage proprement dite, mais, nous allons le voir, sont une fondation essentielle des réseaux que nous utiliserons par la suite.
Le modèle
La modélisation de Mc Culloch et Pitts, considère un neurone comme un automate à seuil : il s'active quand la somme des signaux d'entrée dépasse une valeur donnée, le seuil. Il y a deux types d'entrées :
- activatrice et,
- inhibitrice.
Si une seule des entrées inhibitrice est activée, le neurone ne s'active pas.
Les entrées et sorties sont strictement booléennes, activées ou non-activées.
Ici seule la combinaison
Nous pouvons donc décrire un modèle de neurone de McCulloch et Pitts ainsi :
-
ensemble d'entrées activatrices ayant des valeurs dans.
-
ensemble d'entrées inhibitrices ayant des valeurs dans.
-
le seuil.
-
une fonction de transfert.
-
s = f(x_i, h_i)le signal de sortie.
La fonction de transfert ppermet de calculer une sortie pour les entrées. On utilise usuellement la fonction "signe" :
Qui nous fournit la fonction de transfert suivante, prenant en compte les entrées inhibitrices :
Ainsi, si
Opérateurs booléens
McCulloch et Pitts essayaient de montrer que leur modèle était permettait de modéliser des propositions logiques. En effet, le modèle que nous venons de voir permet de représenter les trois opérateurs booléens élémentaires :
Partant de ces opérateurs, on peut facilement reconnaître n'importe quelle entrée binaire :
On peut montrer qu'il est possible de réaliser une reconnaissance de n'importe quelle fonction booléenne avec un réseau à deux couches. Voici un exemple de fonction reconnaissant quatre valeurs booléennes à trois entrées :
Entrées | Sorties |
---|---|
001 | 1 |
011 | 1 |
101 | 1 |
111 | 1 |
sinon | 0 |
Von Neumann s'inspirera de ce modèle, et plus tard, S.C. Kleene prouvera l'équivalence entre le modèle de McCulloch et Pitts et la machine de Turing, en montrant l'équivalence entre ces réseaux et les automates finis.
Le Perceptron
Mais les réseaux de McCulloch et Pitts sont figés. Or une des grandes propriétés que l'on voulait obtenir au début de ce chapitre était la notion d'apprentissage ! Le Perceptron est le premier modèle opérationnel de réseau "apprenant". Il est du à F. Rosenblat, qui cherchait à comprendre le modèle biologique.
Il est très fortement inspiré de celui de McCulloch et Pitts, mais ajoute un système d'apprentissage, sous la forme d'une matrice d'interactions.
Le modèle
Voici le modèle de base du Perceptron :
-
S-Units : Unités ssensitives.
-
A-Units : Unités d'aassociation.
-
R-Units : Unités de rréponse.
- Matrice d'interactions : Coefficients de couplage entre unités.
- Les S-Units sont sensibles à des stimulations physiques. Ils
renvoient +1si le signal d'entrée dépasse un seuil\theta,0sinon.
- Les A-Units disposent de connexions entrantes et sortantes.
Ils renvoient +1si la somme algébrique de leurs entrées dépasse un certain seuil\theta,0sinon.
- Les R-Units disposent aussi de connexions entrantes
et sortantes. Ils renvoient +1si la somme pondérée des signaux d'entrée dépasse un seuil\theta,-1sinon.
- La matrice d'interactions définit les coefficients de couplage entre les différentes unités (poids synaptiques).
Par la suite, nous ne nous intéresserons qu'à la modélisation du R-Unit. En effet les S-Units et les A-Units représentent les entrées du système et n'évoluent pas, nous allons donc les modéliser par des vecteurs de valeurs. Il y aura autant de valeurs dans ces vecteurs que d'entrées dans le R-Unit.
Processus d'apprentissage
Exemple d'apprentissage
Exercices
Pour aller plus loin
Références
Une grande partie de cette section a été réalisée grâce au livre "Réseaux neuronaux, une introduction" de Jean-Philippe Rennard aux éditions Vuibert.