vers Labo Algo
Labo Algo

Réseaux de neurones artificiels : une petite introduction

1. Introduction

1.1 Qu'est-ce qu'un neurone artificiel ? Qu'est-ce qu'un réseau de neurones ?

Ce que l'on désigne habituellement par "réseau de neurones" (neural network), ou réseau neuromimétique est un réseau de neurones artificiels basé sur un modèle simplifié de neurone. Ce modèle permet certaines fonctions du cerveau, comme la mémorisation associative, l'apprentissage par l'exemple, le travail en parallèle, etc. (cependant le neurone formel ne possède pas toutes les capacités des neurones biologiques, comme le partage de synapses, l'activation membranaire ou la structuration prénatale des neurones, par conséquent les réseaux de neurones actuels sont loin d'avoir les possibilités du cerveau ).

Voici comment sont généralement modélisés les neurones (de manière logicielle, ou matérielle par des automates) :

s = f(w,E)
s = f(w,E)

En général on a :

s = f(w1*e1+w2*e2+w3*e3), avec f une sigmoïde
s = f(w1*e1+w2*e2+w3*e3), avec f une sigmoïde

La fonction f peut être une sigmoïde comme sur l'exemple ci-dessus (exponentielle ou tangentielle), ou bien une fonction gaussienne (Radial Basis appelée aussi RBF), ou la fonction signe...
Un réseau de neurones peut donc être représenté par les poids synaptiques (w) des différents neurones. Ces poids varient au cours du temps, en fonction des entrées présentées (E). Le grand problème étant de savoir comment modifier ces poids (c'est à dire trouver une loi équivalente à dw/dt=g(E,w) )...
Ces réseaux de neurones peuvent donc réaliser un filtre séparateur non linéaire et adaptatif. Sans avoir besoin d'apprendre au réseau des règles logiques ni de stocker des données, en leur présentant successivement des exemples, ces réseaux sont capables de trouver une régularité, et de séparer les entrées en différentes classes.
Les premiers réseaux de neurones formels ont été conçus par W. McCulloch et W. Pitts en 1943.

1.2. Un peu de vocabulaire

Apprentissage, mémoire et oubli

Une caractéristique des réseaux de neurones est leur capacité à apprendre (par exemple à reconnaître une lettre, un son...). Mais cette connaissance n'est pas acquise dès le départ. La plupart des réseaux de neurones apprennent par l'exemple (de la même manière qu'un enfant apprends à reconnaître un chien à partir d'exemples de chiens qu'il a vu). Ils ont donc une capacité à classer, généraliser, à mémoriser et aussi à oublier. Un réseau de neurones reconnaîtra d'autant plus facilement un objet qu'il l'aura " vu " souvent.

Connectivité :

La connectivité des réseaux, c'est à dire la manière dont les neurones sont connectés, peut être totale (tous les neurones sont connectés entre eux) ou par couche (les neurones d'une couche ne sont connectés qu'aux couches suivantes - il existe des réseaux monocouches ou multicouches (multi layer networks)).

Apprentissage supervisé / non supervisé

Les réseaux de neurones se divisent en deux principales classes, les réseaux à apprentissage supervisés (supervised learning) et les réseaux à apprentissage non supervisés (unsupervised learning).
Pour les réseaux à apprentissage supervisés (Perceptron, Adaline, etc. ), on présente au réseau des entrées, et au même temps les sorties que l'on désirerait pour cette entrée. Par exemple on lui présente en entrée une lettre " a " manuscrite et en sortie un code correspondant à la lettre " a ".
Le réseau doit alors se reconfigurer, c'est-à-dire calculer ses poids afin que la sortie qu'il donne corresponde bien à la sortie désirée.
Pour les réseaux à apprentissage non supervisé (Hopfield, Kohonen, etc.), on présente une entrée au réseau et on le laisse évoluer librement jusqu'à ce qu'il se stabilise.
Il existe aussi des réseaux à apprentissage dit semi-supervisés (reinforcement learning) qui ne tiennent compte que d'une évaluation partielle ou qualitative des sorties.

Calcul des poids synaptique:

La rétropropagation (backpropagation) est une méthode de calcul des poids pour un réseau à apprentissage supervisé qui consiste à minimiser l'erreur quadratique de sortie (somme des carrés de l'erreur de chaque composante entre la sortie réelle et la sortie désirée).
D'autre méthodes de modification des poids sont plus "locales", chaque neurone modifie ses poids en fonction de l'activation ou non des neurones proches. C'est le cas des réseaux suivant la règle de Hebb (Hebbian rule) ou les réseaux de Kohonen.

1.3 Quelques réseaux célèbres

Le Perceptron

C'est un des premiers réseau de neurones, conçu en 1958 par Rosenblatt. Il est linéaire et monocouche. Il est inspiré du système visuel. La première couche (d'entrée) représente la rétine. Les neurones de la couche suivante sont les cellules d'association, et la couche finale les cellules de décision.
Les sorties des neurones ne peuvent prendre que deux états (-1 et 1 ou 0 et 1).
Seuls les poids des liaisons entre la couche d'association et la couche finale peuvent être modifiés.
La règle de modification des poids utilisée est la règle de Widrow-Hoff : si la sortie (celle d'une cellule de décision donc) est égale à la sortie désirée, le poids de la connexion entre ce neurone et le neurone d'association qui lui est connecté n'est pas modifié. Dans le cas contraire le poids est modifié en fonction de l'entrée :

w i <= w i + k (d - s) avec k : constante positive
s : sortie et d : sortie désirée

En 1969, Papert et Minsky (un des pères des systèmes experts) démontrent les limites du perceptron classique, incapable, par exemple de simuler la fonction ou exclusif (xor).

Les perceptrons multicouches (PMC)

Ils sont une amélioration du perceptron comprenant une ou plusieurs couches intermédiaires dites couches cachées. Ils utilisent, pour modifier leurs poids, un algorithme de rétropropagation du gradient, qui est une généralisation de la règle de Widrow-Hoff. Il s'agit toujours de minimiser l'erreur quadratique, ce qui est assez simple quand on utilise une fonction f dérivable (la sigmoïde par exemple). On propage la modification des poids de la couche de sortie jusqu'à la couche d'entrée.
Les PMC agissent comme un séparateur non linéaire et peuvent être utilisés pour la classification, le traitement de l'image ou l'aide à la décision.

Les réseaux de Hopfield

Un réseau de Hopfield réalise une mémoire adressable par son contenu. Il s'agit d'un réseau constitué de neurones de McCulloch et Pitts (à deux états ,-1 et 1 ou 0 et 1), dont la loi d'apprentissage est la règle de Hebb (1949), qui veut qu'une synapse améliore son activité si et seulement si l'activité de ses deux neurones est corellée (C'est a dire que le poids w ij d'une connexion entre un neurone i et un neurone j augmente quand les deux neurones sont activés au même temps).

Les réseaux de Kohonen

Contrairement aux réseaux de Hopfield où les neurones sont modélisés de la façon la plus simple possible, on recherche ici un modèle de neurone plus proche de la réalité.
Ces réseaux sont inspirés des observations biologiques du fonctionnement des systèmes nerveux de perception des mammifères.
Une loi de Hebb modifiée (tenant compte de l'oubli) est utilisée pour l'apprentissage. La connexion est renforcée dans le cas ou les neurones reliés ont une activité simultanée, et diminuée dans le cas contraire.

d w i / dt = k S e i - B(S) w i avec B(S) la fonction d'oubli
S : sortie (toujours positive)

Une loi d'interaction latérale (observée biologiquement) est aussi modélisée. Les neurones très proches (physiquement) interagissent positivement (le poids des connexions est augmenté autour quand une synapse est activée), négativement pour les neurones un peu plus loin, et pas du tout pour les neurones éloignés. Ceci crée un "amas" de neurones activés et contribue à spécialiser certains neurones: pour une entée donnée, une sortie particulière sera activée et pas les autres
On utilise aussi parfois des lois de concurrence entre les neurones (création et destruction de neurones selon certains critères, par exemple la règle du "winner-take-all"). Ceci permets de résoudre certains problèmes, dits NP complets, tels le problème du voyageur de commerce (comment relier n villes par le chemin le plus court).
Les réseaux de Kohonen ont des applications dans la classification, le traitement de l'image, l'aide à la décision et l'optimisation.

2. Exemples d'applications des réseaux neuromimétiques

Se trouvant à l'intersection de différents domaines (informatique, électronique, science cognitive, neurobiologie et même philosophie) , l'étude des réseaux de neurones est une voie prometteuse de l'Intelligence Artificielle, qui a des applications dans de nombreux domaines :

3. Conclusion

Au début de la cybernétique, de l'automatique et de l'informatique, l'Intelligence Artificielle (IA) classique et connexionniste se sont développés en parallèle.
Après l'article de Minsky et Papert en 1969 démontrant les faiblesses du Perceptron, les années 70 ont vu le désintérêt pour le modèle connexionniste et le succès de l'IA classique (cognitive) (manipulant des symboles logiques - comme les systèmes experts).
Mais cette approche a aussi ses limites. D'abord sa lenteur : on est vite confronté à ce que l'on appelle l'explosion combinatoire. La faiblesse est aussi théorique. La connaissance ne se réduit pas au langage. L'intelligence n'est pas qu'un raisonnement mathématique manipulant ces symboles. Une grande partie des experts travaillent de manière intuitive, à partir de la longue expérience qu'ils ont acquis. On a alors beaucoup de mal à faire ressortir les raisonnement qu'ils utilisent.
De plus, d'autres facultés humaines sont mal réalisées par l'IA classique, comme l'adaptation , la généralisation.
Les réseaux neuromimétiques, bien qu'ils ne soient pas non plus une panacée, ont aussi leur mot à dire : en particulier quand il n'existe pas de technologie ou d'algorithme classique mais des bases d'exemples, quand le système étudié est bruité, évolue dans le temps, etc.
En 1982 Hopfield a remis à la mode l'approche connexionniste. Aujourd'hui, les nouvelles technologies du multimédia comme le traitement de l'image et du son demandent une rapidité de plus en plus grande.
Les ordinateurs séquenciels s'approchent de leur limite et l'on cherche à paralléliser les microprocesseurs et à trouver les algorithmes pouvant les utiliser à pleine puissance. Or les réseaux de neurones artificiels permettent, par leur conception même, cette parallélisation : ce sont un ensemble d'entités élémentaires travaillant en simultané.
Bien que l'on soit encore très loin des neuro-ordinateurs, d'ores et déjà les ordinateurs actuels pourraient s'équiper de modules spécialisés (cartes son, vidéo) s'inspirant de la technologie des réseaux neuromimétiques.
Les liens des réseaux de neurones avec les algorithmes génétiques (pour la modification des poids synaptique, par exemple), la théorie du chaos (modélisation d'un attracteur étrange), le besoin d'algorithmes parallèles, et l'association avec l'IA cognitive permettent d'augurer du développement de la technologie neuromimétique. Bref, il faudra compter avec les réseaux de neurones

vers Labo Algo
Labo Algo

Alexandre Aupetit, Avril 1997- Mai 2004