Accueil
Dossiers
Qui suis-je ?
Mon CV






















A.I.
L'INTELLIGENCE ARTIFICIELLE

Les réseaux de neurones principes et applications

Aujourd’hui en intelligence artificielle, on en est encore qu’aux débuts. On arrive tout juste à créer des comportements intelligents primitifs à l’aide des réseaux de neurones qui se sont inspirés des réseaux de neurones biologiques. Ces réseaux de neurones biologiques réalisent facilement un certain nombre d’applications telles que la reconnaissance de formes,le traitement du signal, l’apprentissage, la mémorisation ou la généralisation. Ces applications sont pourtant, malgré tous les efforts déployés en algorithmique et en intelligence artificielle, que très mal imitées par les machines. Cette synthèse a pour but de vous donner une première idée de ce que peut être un réseau de neurone artificiel, de ces applications et des futurs espoirs de l’intelligence artificielle.


Les réseaux de neurones principes et applications

1. Le système neuronal physiologique
1.1 Le message nerveux
1.2 Les circuits neuronaux
1.3 La modélisation mathématique

2. Les réseaux neuronaux artificiels
2.1 L’apprentissage
2.2 Les mémoires associatives
2.3 Les réseaux à architecture évolutive (ART)
2.4 Les réseaux multicouches

3. Les applications
3.1 L’aide à la décision
3.2 La reconnaissance de formes
3.3 Reproduction de comportements intelligents primitifs

Conclusion


1. Le système neuronal physiologique :

L’unité cellulaire de base du système neurophysiologique est le neurone.
Le cerveau se compose d’environ mille milliards de neurones.

Neurone
Un neurone

Le neurone est constitué d’un corps cellulaire et d’un noyau. Il se ramifie de dendrites par où s’achemine l’information vers le neurone. Une fois l’information traitée par le neurone elle est envoyée sur l’axone. Et la jonction entre deux neurones s’appelle synapse.
Les informations parvenant au neurone peuvent venir d’autres neurones ou de capteurs sensoriels tels que le touché, la vue, l’odorat…etc.. ou d’autres capteurs internes à l’organisme.

1.1 Le message nerveux :

Le message nerveux c’est-à-dire le signal reçu et émis par le neurone.
Le système nerveux travaille avec un codage en fréquence. C’est la fréquence du signal les variations de fréquence qui code l’information. Par exemple, les messages transmis lors de mouvements du coude permettent de connaître en fonction de la fréquence : la valeur de l’angle et en fonction des variations de fréquences : la vitesse de rotation entre deux positions.

Mouvement d'une articulation telle que le coude
Exemple : les mouvements d’une articulation telle que le coude


1.2. Les circuits neuronaux biologiques :

Chaque neurone est une unité autonome au sein du cerveau. Le traitement très simple Réalisé par chaque neurone indique que l’information n’est pas stockée dans le neurone, mais est plutôt le résultat du comportement de toute la structure interconnectée. L’information est, principalement, dans l’architecture des connexions et dans la force de ces connexions.
Pour mieux comprendre le fonctionnement de ce système prenons pour exemple quelques Expérimentations simples réalisées sur une limace de mer : l’aplysie. Des modifications comportementales importantes résultent de modifications simples au niveau synaptique en renforçant leurs connexions ou en les diminuant. Dans les cas extrêmes, de nouvelles connexions apparaissent ou disparaissent.


Expérience sur l’aplysie (limace de mer) :

Limace de mer
Exemple : L’Aplysie (limace de mer)

Description de l’expérience : Le neurone sensoriel est activé par le toucher du manteau. Le neurone moteur agit alors en rétractant les branchies.


Le phénomène d’habituation :

Circuits mis en jeu dans l'habituation
Circuits mis en jeu dans l’habituation

Lorsque la stimulation est répétée, la réponse de l’animal devient plus faible, jusqu’à une absence de réaction au toucher. C’est le phénomène de l’habituation.

Habituation
Habituation

Lorsque la stimulation est répétée ( quelques dizaines de fois), la réponse de l’animal devient de plus en plus faible, jusqu’à une absence de réaction au stimulus sensoriel.


Le phénomène de sensibilisation :

Si on répète la même expérience en créant après chaque stimulation du manteau un courant d’eau violent qui risque d’endommager les branchies, on observe alors l’effet inverse.

Circuits mis en jeu dans la sensibilisation
Circuits mis en jeu dans la sensibilisation

Le courant d’eau sert de renforcement et la réponse de l’animal au stimulus initial est augmentée. Cet effet est appelé sensibilisation. La réponse du neurone moteur au stimulus initial est augmentée par l’action du stimulus de renforcement. Le système de renforcement n’est appliquée qu’après la réponse motrice.

Habituation et sensibilisation au niveau neuronal traduisent la fonction d’apprentissage au niveau de l’animal dans son ensemble. Il y a adaptation de la réponse à l’environnement.

Observation des synapses :

L’observation des synapses mises en jeu au microscope électronique montre des modifications physiques. Un neuromédiateur : médiateur chimique assurant la transmission de l’influx nerveux.

Modification physique de la synapse
Modification physique de la synapse

A : Témoin (état des synapses avant l’expérience)
B : Habituation : diminution du nombre de vésicules et du nombre de récepteurs.
C : Sensibilisation : augmentation du nombre de vésicules et de récepteurs.

Quels sont les mécanismes qui permettent de modifier le comportement des structures neuronales ?

D’après la loi de Hebb, la force de la connexion entre deux neurones augmente s’il y a corrélation d’activité (si l’activation de l’une entraîne l’activation de l’autre). Et il y a diminution des forces des connexions lorsque celle ci ne sont pas utilisées.

Ainsi l’apprentissage implique des modifications physiques des connexions entre neurones. L’association entre plusieurs structures neuronales, dotées chacune d’une fonction précise, permet l’émergence d’une fonction d’ordre supérieure, plus complexe, plus riche, pour l’ensemble.


1.3. La modélisation mathématique du système biologique :

Neurone biologique / neurone artificiel
Neurone biologique / neurone artificiel

Chaque neurone artificiel est un processeur élémentaire. Il reçoit un nombre variable d’entrées en provenance de neurones en amonts ou des capteurs composant la machine dont il fait parti. A chacune de ces entrées est associée un poids représentatif de la force de la connexion. Chaque processeur élémentaire est doté d’une sortie unique, qui se ramifie ensuite pour alimenter un nombre variable de neurones en aval. A chaque connexion est associée un poids.
Tout d’abord on additionne les entrées avec leurs poids respectifs ,puis une fonction de transfert calcule la valeur de l’état du neurone. Il existe de nombreuses formes possibles pour la fonction de transfert. Les plus courantes sont présentées ici :

Fonctions de transfert pour le neurone artificiel
Fonctions de transfert pour le neurone artificiel ( X est la somme des entrées)

A : fonction à seuil (S, la valeur du seuil)
B : fonction linéaire par morceaux
C : fonction sigmoïde

Il existe plusieurs architectures de réseaux.

Réseaux multicouches :

Réseau multicouches
Réseau multicouches

Les neurones sont arrangés par couches. Il n’y a pas de connexion entre neurones d’une même couche et les connexions ne se font qu’avec les neurones des couches en avales. Habituellement, chaque neurone d’une couche est connecté à tous les neurones de la couche suivante et celle-ci seulement. Par extension, on appelle couche d’entrée l’ensemble des neurones d’entrée, couche de sortie l’ensemble des neurones de sortie. Les couches intermédiaires n’ayant aucun contact avec l’extérieur sont appelées couches cachées.

Réseaux à connexions locales :

Réseau à connexions locales
Réseau à connexions locales

Il s’agit d’une structure multicouche. Chaque neurone entretien des relations avec un nombre réduit et localisé de neurones de la couche en aval. Les connexions sont donc moins nombreuses que dans le cas d’un réseau multicouche classique.

Réseaux à connexion récurrente :

Réseau à connexions récurrentes
Réseau à connexions récurrentes

Réseaux à connexion complète :

Réseau à connexion complète
Réseau à connexion complète

C’est la structure d’interconnexion la plus générale. Chaque neurone est connecté à tous les neurones du réseau (et à lui-même).

Il existe de nombreuses autres architectures possibles, mais celle ci sont les plus utilisées.


2. Les réseaux neuronaux artificiels :

2.1. L’apprentissage :

Les réseaux de neurones artificiels possède la faculté d’apprentissage. On peut réellement leur apprendre quelque chose.
Définition : L’apprentissage est une phase du développement d’un réseau de neurones durant laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement désiré.

Neurone artificiel
Neurone artificiel

Dans la majorité des algorithmes actuels, les variables modifiées pendant l’apprentissage sont les poids des connexions. L’apprentissage est la modification des poids du réseau dans l’optique d’accorder la réponse du réseau aux exemples et à l’expérience. Il est souvent impossible de décider à priori les valeurs des poids des connexions d’un réseau pour une application donnée. A l’issu de l’apprentissage, les poids sont fixés : c’est alors la phase d’utilisation.


2.2. Les mémoires associatives :

Ce n’est pas une mémoire sous la forme où on stocke quelque chose à un endroit précis.
L’information mémorisée ne peut être obtenue à une adresse précise, le seul moyen d’accès est de fournir une information. Ces mémoires sont donc principalement utilisées pour la reconstruction de données : l’opérateur fourni une information partielle que le système complète et corrige.


2.3 Les réseaux à architecture évolutive (A.R.T.) :

Dans la plupart des réseaux de neurones, deux étapes sont considérées. La première est la phase d’apprentissage : les poids des connexions sont modifiés selon une règle d’apprentissage. La deuxième est la phase d’exécution où les poids ne sont plus modifiés. Avec le réseau ART, ces deux étapes sont réalisées simultanément.
Ce système est à la fois en phase d’apprentissage et en phase d’utilisation. Le réseau en phase de test, s’adapte à des entrées inconnues en construisant de nouvelles classes ( ajout de neurones) tout en dégradant au minimum les informations déjà mémorisées.
La couche d’entrées est aussi celle de sortie.

Architecture du réseau ART
Architecture du réseau ART


2.4. Les réseaux multicouches :

Apparus en 1985, les réseaux multicouches sont aujourd’hui les modèles les plus employés.
Plusieurs couches de traitement leurs permettent de réaliser des associations non linéaires entre l’entrée et la sortie. C’est-à-dire que ce type de réseau peut réaliser des fonctions plus complexes qu’un réseau classique.
Les domaines d’application sont ceux de la reconnaissance de formes, du traitement du signal ou du diagnostic.


3. Les applications :

3.1. L’aide à la décision : exemple du diagnostic des douleurs abdominales

Expression du problème : Trouver le bon diagnostic à partir des symptômes du patient. Pour cette expérience nous avons en notre possession des exemples de diagnostics réalisés par un expert humain.
Modèle : La base d’exemples est constituée de 5765 malades admis aux urgences. Chaque cas est décrit par 132 symptômes qualitatifs (par exemple le sexe) ou semi-quantitatifs (par exemple l’âge). Pour chaque cas 22 diagnostics sont possibles. Environ 80% des symptômes seulement sont connus pour chacun des malades. 4027 cas (70%) seront utilisés pour la phase d’apprentissage (où les poids des connexions du réseau seront fixés). Les 1740 (30%) cas restant serviront pour le test.
Le système a choisit le bon diagnostic à 71% des cas. Il faut relativiser ces performances en ce sens qu’un praticien en situation d’urgence ne fournit le bon diagnostic que dans 60% des cas. D’autre part, l’absence de certaines valeurs au niveau des symptômes posent problème. De même, il est possible que des incohérences existent au niveau de l’apprentissage ou du test (deux situations symptomatiques identiques avec un diagnostic différent par exemple). C’est là l’un des principaux avantages des systèmes de réseaux de neurones que de pouvoir rester efficace même dans cette situations.


3.2. La reconnaissance de formes :

Logiciel de reconnaissance de formes : rdf.zip (189 Ko)
Provenant du site : http://jerome.damelincourt.free.fr/rn/rn_realisations.html

Fonctionnement :
1. Cliquez sur “ initialisation ”.
2. Dessinez une forme dans la fenêtre “ forme à reconnaître ”.
3. Dans la fenêtre “ nouvelle forme ”, tapez le nom de la forme dessinée et cliquez sur “ créer ”.
4. Apprenez-lui d’autres formes en procédant de la même manière.
5. Puis redessinez l’une de ces formes et cliquez sur “ reconnaître ”.
6. S’il reconnaît la mauvaise forme alors tapez dans la fenêtre “ reconnaissance et apprentissage ” le nom de la forme qu’il aurait dû reconnaître et cliquez sur “ corriger ”.

Peu à peu en corrigeant ces erreurs vous vous apercevrez que le système fait de moins en moins d’erreurs. A chaque fois que vous corrigez ses erreurs le système rééquilibre ces poids.


3.3. Reproduction de comportements intelligents primitifs :

L’EPFL (Ecole Polytechnique Fédérale de Lausanne) a créé un robot baptisé Khepera (aujourd’hui distribué par la société suisse K-Team). Il possède un corps circulaire de 6 cm de diamètre et est doté de deux roues et huit capteurs lumineux (6 à l’avant et 2 à l’arrière). Il est relié à un ordinateur par l’intermédiaire d’un câble. Les réseaux de neurones lui dictant son comportement sont simuler par informatique dans l’ordinateur. L’architecture du réseau et la valeur des poids attribués aux connexions entre les neurones est codée par ce que l’on appelle le chromosome du robot. Et c’est l’ordinateur qui produit de façon aléatoire, une première population de chromosomes artificiels. Chaque configuration est ensuite testée sur le robot pendant quelques minutes, au cours desquelles l’ordinateur évalue ses performances.

Première expérience :
Il a été question de développer la capacité des robots à avancer en ligne droite et à éviter les obstacles. Il a donc fallu demander à l’ordinateur de sélectionner les individus dont les roues tournaient dans le même sens (mouvement en ligne droite) et dont les capteurs étaient peu activés (ce qui reflète l’éloignement des obstacles). On peut comparer ce principe à la sélection naturelle. Après avoir testé chaque chromosome, les plus performants sont sélectionnés, pour être ensuite mélangés au hasard deux par deux : le chromosome 8 est par exemple apparié au chromosome de l’individu 67. De plus, pour recréer les mutations du monde vivant, la valeur de chaque bit du nouveau chromosome a une probabilité très faible d’être inversée (0 à 1 ou 1 à 0). On effectue ainsi plusieurs fois cette opération.
Au bout de 50 générations, il a été observée un individu capable de faire le tour du labyrinthe de test, sans jamais heurter un obstacle. De plus, cet individu se déplaçait toujours dans la direction correspondant au plus grand nombre de capteurs. La individu se déplaçant dans la direction ayant le moins de capteurs, ont disparus de la population car ils avaient tendance à rester bloqué dans les coins qu’ils ne percevaient pas bien.
Deuxième expérience :
Robot “ prédateur ” et robot “ proie ” lors d’une expérience de coévolution
Robot “ prédateur ” et robot “ proie ” lors d’une expérience de coévolution


Coévolution de deux robots : un robot prédateur et un robot proie ayant des morphologies différentes. Le robot prédateur a un champs visuel de 36 degrés et le robot proie, s’il est muni seulement de capteurs simples capables de déceler un objet distant de 2 centimètres, peut se déplacer deux fois plus vite que le prédateur. Chaque paire proie-prédateur va coévoluer dans une enceinte carrée et pouvoir se déplacer librement durant deux minutes. Le critère de sélection est le délai précédant la collision.

Au bout de 20 générations, le prédateur a acquis la capacité de rechercher la proie et de la poursuivre pendant que celle-ci s’échappe dans toute l’enceinte. Cependant comme la proie est plus rapide que lui, cette stratégie n’est pas toujours payante. Après 25 générations supplémentaires, il repère la proie à distance, puis finit par l’attaquer en anticipant sur sa trajectoire. Dès lors, la proie se met à se déplacer si vite le long des parois que le prédateur la manque souvent et va s’écraser sur une paroi. Encore 25 générations plus tard, le prédateur a mis au point la “ stratégie de l’araignée ”. Il se déplace lentement jusqu’à une paroi et attends la proie, qui bouge trop vite pour déceler attends le prédateur et donc pour l’éviter.
Cependant lorsqu’on laisse évoluer les deux espèces de robots plus longtemps, nous avons constaté qu’elles redécouvraient de vieilles stratégies possibles pour les deux espèces de robots est en effet limité. Même dans la nature, on observe que des hôtes et des parasites évoluant ensemble (par exemple, des plantes et des insectes) recyclent au fil des générations de vieilles stratégies.
(voir Magazine : La Recherche n°350, Les nouveaux robots / février 2002)


Conclusion :

A.I.

Il y a une trentaine d’années, on pensait que vers les années 2000, l’intelligence artificielle aurait envahit tous nos systèmes. On en est encore loin. Le problème se trouve être bien plus complexe qu’on l’avait pensé au départ. Mais, il est certain qu’un jour on arrivera à créer un esprit intelligent. D’autres problèmes se présenteront alors, car ce système sera alors une personne comme vous et moi, qui pourra ressentir des sentiments. Et il faudra donc abandonner nos croyances et conclure que nous sommes que des machines biologiques.

Et si on considère qu’une machine n’a pas d’âme…


Sources :

- “ Les réseaux de neurones artificiels, introduction au connexionnisme ”, Claude Touzet (1992) : http://saturn.epm.ornl.gov/~touzetc/Book/Bouquin.htm
- Site sur les réseaux neuronaux :
http://jerome.damelincourt.free.fr/rn/rn_realisations.html

- Magazine : La Recherche n°350, Les nouveaux robots (février 2002)


Benjamin Berhault

Dernière mise à jour : 24 février 2002