LES ORDINATEURS NEURONAUX

Alain Van Kerckhoven

(NDLA : Ce texte est probablement un peu vieilli. Son seul intérêt pour moi reste qu'il fut écrit en 1991 et qu'il suscita des réactions enflammées et divergentes, de l'émerveillement à l'indignation. Aussi, il était quelque peu visionnaire. Bref, je ne peux résister à l'envie un peu gamine de le republier ici.)

“L'ordinateur ne sera jamais qu'un outil. Il complétera, soutiendra, développera peut-être même la créativité humaine, mais ne la remplacera jamais.” Telle est la conviction consciente ou inconsciente de la plupart de nos contemporains. En corollaire, jamais l'ordinateur ne pourra composer dans le sens où nous l'entendons. Jamais il ne pourra dégager des structures nouvelles, informelles et porteuses d'émotion.

Une nouvelle voie de recherche nous amène cependant à nous interroger sur les fondements de ce postulat : les ordinateurs neuronaux. Michel Claessens décrit l'histoire de l'intelligence artificielle comme marquée par trois postulats successifs. Le premier, postulat biologique, prônait la similarité du support : pour reproduire l'intelligence, reproduisons le cerveau dans les moindres détails. Ce qui s'est avéré inapplicable et le restera encore durant quelques siècles. Le second, postulat psychologique, partait du principe que l'esprit fonctionne comme un ordinateur. De nombreuses études ont démontré qu'il n'en est rien. Le cerveau procède par ce que les anglais appellent Parallel Distributed Processing (PDP). C'est-à-dire que le traitement de l'information se réalise suivant plusieurs canaux parallèles, et que cette information n'a à aucun moment une représentation précisément localisée (bien que, pour un type de traitement d'information, il y ait des zones spécialisées et d'autres n'intervenant pas). Le modèle PDP, qui invalide donc ce second postulat, est comme nous le verrons à la base du principe des ordinateurs neuronaux.

Le troisième postulat est appelé postulat épistémologique. Il énonce que l'esprit peut être simulé par la machine et résiste à toute réfutation rationnelle. Ce qui ne suffit pas à le valider, mais permit le développement exponentiel de la recherche sur les ordinateurs neuronaux qui occupent désormais une grande partie des ressources de la plupart des laboratoires d'intelligence artificielle et de psychologie cognitive. Dans les universités mais aussi dans les industries, car des produits sont déjà commercialisés.

Un ordinateur neuronal consiste en un ensemble de couches contenant chacune un nombre limité de cellules (ou neurones). Chaque cellule d'une couche est reliée à chaque cellule de la couche suivante. La première couche est celle des cellules sensibles. C'est par là qu'entre l'information, à l'instar des cellules de la rétine ou de celles composant les papilles gustatives, par exemple. Viennent ensuite, en nombre variable, les couches traitant l'information et, enfin, la couche de sortie des données.

On le voit, il s'agit d'une simplification du modèle cervical en ce sens que le cerveau n'est pas composé de feuillets de neurones, mais d'un entrelacs beaucoup plus complexe et moins facilement modélisable. Cette simplification résulte moins de difficultés techniques que de la volonté de progresser systématiquement en pouvant appréhender mathématiquement l'objet étudié. La complexité ‘chaotique' du cerveau n'est d'ailleurs probablement pas la clé de voûte de ses possibilités. Il faut en effet considérer que ce dernier est le fruit d'une évolution naturelle. Et la nature ne prend pas toujours le chemin le plus court pour aller d'un point à un autre. Une rivière trace son cours suivant la pente immédiatement la plus forte, elle ne descend donc pas en ligne droite jusqu'à l'océan. Mais si l'on veut construire un canal, la ligne droite sera aussi efficace. Il en va de même pour tous les processus d'évolution biologique. Comme ceux sous-tendant l'organisation des cellules nerveuses est encore assez mystérieux, il n'est pas absurde d'imaginer qu'un modèle plus simple puisse être tout aussi performant.

Dès lors, la principale différence à prendre en considération entre cerveau et ordinateur neuronal réside sans doute dans le nombre de neurones. Le cerveau en contient près de 100.000.000.000 dont chacun peut établir de 1.000 à 100.000 connexions, le tout dans un volume moyen de 1400 cm3. On est bien sûr encore très loin du compte, mais la différence, si l'on accepte le postulat épistémologique, n'est alors plus que quantitative. On pourra admettre que l'ordinateur neuronal est moins rapide, plus grossier, plus volumineux, plus coûteux en énergie, moins souple. Mais rien n'empêche que chacun de ces paramètres s'améliore jusqu'à égaler et, pourquoi pas, dépasser les capacités de raisonnement du cerveau humain.

Schématiquement, un neurone est une cellule à laquelle se rattache un axone très ramifié, qui est le canal d'entrée, et de nombreuses dendrites qui sont les canaux de sortie (fig. 1). Lorsque le potentiel du neurone atteint un certain pallier, il envoie une impulsion électrique en dépolarisant la membrane de ses dendrites. Certaines dendrites ne sont séparées d'une branche de l'axone d'un second neurone par un petit espace : la synapse. Le signal franchit cet espace grâce à l'émission d'une vésicule synaptique qui va induire une dépolarisation de cette branche de l'axone. La somme des dépolarisation de toutes des branches de cet axone produira un potentiel qui, à son tour, s'il dépasse le pallier de déclenchement du neurone, générera un signal envoyé dans ses dendrites. Il faut rajouter à ce modèle que les synapses peuvent favoriser ou inhiber la transmission du signal, et que la vitesse de transmission de celui-ci est très variable : elle dépend principalement du diamètre de l'axone et est de l'ordre de 10m/s, ce qui est étonnamment lent en comparaison des vitesses de transmissions en usage dans l'informatique.

On le voit, si la transmission du signal peut être inhibée ou favorisée, il n'en reste pas moins qu'elle est binaire : une vésicule est émise ou non. De plus, les paramètres influençant l'amplitude du signal arrivant à la synapse ainsi que la propension favorable ou non de celle-ci à la transmission sont assez limités. Ceci a permis de tirer un cahier des charges assez simple reprenant l'ensemble des conditions qui semblent nécessaires à un système de PDP. Il faut :

Les unités de traitement possèdent le plus souvent, à l'image des neurones, plusieurs entrées et une sortie. Les matrices de connectivité peuvent, elles, fréquemment être assimilées à une ou plusieurs couches de neurones, chacun recevant ses informations de tous les neurones de la couche précédente et les routant après traitement vers chaque neurone de la couche suivante. Les réseaux les plus simples (qui ne sont pas les moins efficaces), se contentent de réduire la fonction de transfert du signal à un simple coefficient appelé “poids synaptique” propre à chaque synapse, et variable. Il en va de même pour la fonction d'activation des unités de traitement qui est souvent réduite à un seuil d'activation.

L'information à traiter est injectée dans la première couche dont chaque unité se voit attribuer une valeur binaire. Imaginons un réseau destiné à reconnaître les éléments suivants : clé de sol, clé de fa, clé d'ut, ronde, blanche, noire, croche, dièse, bécarre, bémol, soit 10 éléments. Nous voulons qu'il soit capable de reconnaître ces éléments même manuscrits. La première étape est de numériser ces symboles et de les représenter sur une grille de 10x10 pixels par exemple. Chacun de ces pixels sera relié à un neurone d'entrée dont la valeur binaire sera déterminée par la couleur du pixel. La couche de sortie, composé par exemple de dix neurones, affichera le résultat. Nous désirons qu'une clé de sol soit représentée par 1000000000, la clé de fa par 010000000, la clé d'ut par 0010000000 et ainsi de suite.

Entre ces deux couches se trouvent quelques couches (1 seule suffirait peut-être) contenant entre 10 et 100 neurones. Aucune théorie mathématique ne nous permet à l'heure actuelle de déterminer avec précision le nombre optimal d'éléments. On sait seulement que cela pas beaucoup d'importance! A chaque synapse a été attribué (en général par un générateur aléatoire!) un certain poids synaptique, et à chaque neurone un seuil d'activation.

Vient alors la phase d'auto-apprentissage qui aura pour but de faire converger les poids synaptiques et les seuils d'activation en une configuration efficace. Cet apprentissage est supervisé par une procédure qui compare les premières réponses du réseau au résultat attendu. Le réseau doit alors réarranger ses seuils d'activation et ses poids synaptiques jusqu'à ce qu'il reconnaisse chacun des éléments (avec une variabilité dans l'introduction des données : on fournit bien sûr des notes manuscrites de plusieurs écritures différentes). Cette recherche de la meilleure configuration des poids synaptiques et niveaux d'activation n'est pas tout à fait aléatoire.

Elle prend de fait en considération la règle de Hebb (ou l'une de ses variantes) qui tend à privilégier les neurones et synapses utiles au détriment des autres. Par analogie, la rivière tend plutôt à creuser son cours plutôt qu'à s'étendre horizontalement ou à se diviser. Concrètement, lorsque deux neurones ont simultanément le même état (O ou 1), il convient de modifier le coefficient du synapse intermédiaire de façon à favoriser encore l'évolution parallèle de ce couple de neurones.

De la sorte, le réseau converge vers une configuration de plus en plus efficace. L'apprentissage s'arrête lorsque le taux d'erreur devient nul ou inférieur à une valeur prédéterminée. Le réseau est alors opérationnel, mais il sera en général laissé à l'utilisateur le loisir de parfaire encore l'apprentissage du réseau. Au cas, par exemple, où il voudrait lui faire lire des éléments écrits avec une écriture particulièrement difficile à déchiffrer. Il n'y a pas de miracle : le réseau peut se tromper, comme le cerveau humain.

Car comme lui, le réseau neuronal n'est pas programmé, mais bien éduqué. Il appréhende de lui-même son environnement comme le ferait un organisme vivant. L'analogie ne s'arrête pas là. La “non-localisation” (distributing) de l'information traitée permet d'ôter une partie des unités sans nuire à son fonctionnement. Comme c'est le cas dans le cerveau biologique qui avait été en conséquence qualifié d'holographique, chaque fragment (au-delà d'une certaine taille) de la plaque holographique permet d'obtenir la totalité de l'image qui y est gravée. Autre parallèle avec le cerveau, les ordinateurs neuronaux sont plus doués pour la manipulations de l'ensemble que des parties. Il serait absurde d'utiliser un réseau pour faire une opération arithmétique ou pour effectuer une procédure algorithmique. Les ordinateurs “classiques” sont là pour ça et sont bien plus rapides.

En revanche, la reconnaissance de caractères ou de visages, l'exploration d'un milieu inconnu, la détection de fausses signatures, la prononciation de textes encodés, la dactylographie de textes dictés sont des domaines dans lesquels les réseaux neuronaux sont déjà capables de performances motivant leur commercialisation. L'image la plus frappante d'apprentissage d'un réseau de neurones m'a été donnée par un robot à six pattes dans lequel aucune programmation de la marche n'avait été implémentée. De plus, aucun processeur central ne commandait le robot : six processeurs tout à fait indépendants s'occupaient chacun d'une patte. Le robot mit cinq minutes à gesticuler, tomber, se traîner, rouler, reculer, tourner sur lui-même. Mais il tombait de moins en moins souvent, puis plus du tout et avança un peu en hésitant, commençant à marcher en traînant l'une ou l'autre patte. Après dix minutes, il marchait comme une fourmi, contournait des obstacles, grimpait un escalier. Cela sans aucune programmation, tout comme un enfant qui apprend à marcher.

Bien sûr, les réseaux neuronaux se présentent sous la forme de puces, mais la très haute densité de connections ne rend pas la chose aisée. Il s'ensuit que beaucoup de réseaux sont simulés de façon logicielle sur des ordinateurs normaux. Même dans ces conditions, des résultats probants apparaissent, notamment dans la reconnaissance de caractères (OCR, Optical Characters Recognition). De tels logiciels sont disponibles sur la plupart des micro-ordinateurs, leurs taux de réussite pour des caractères non standards de machines à écrire dépasse les 99,5%. D'autres logiciels sont des systèmes de conception de réseaux neuronaux. Ils vous permettront de construire votre propre réseau, d'en déterminer la fonction, de lui faire faire son apprentissage, puis de l'utiliser.

Dans le domaine musical ou de l'ingénierie sonore, il existe très peu de réalisations concrettes mais cela ne saurait tarder. On peut facilement imaginer un réseau neuronal reconnaissant une partition manuscrite et la convertissant en données MIDI, ou en une partition gravée et éditable. On peut aussi rêver à un système permettant de distinguer, sur une bande audio, ce qui est de la musique de ce qui n'en n'est pas aussi facilement que l'oreille humaine. Voire d'un réseau éduqué par chacune des nouvelles acquisition d'une maison de droits d'auteurs et qui reconnaîtrait les plagiats malgré toutes les précautions d'écriture utilisées par les plagiaires.

Et apprendre à composer, peut-être. On objectera que cela demande de plus, pour certains compositeurs, de la sensibilité et de l'émotion. Toute la question étant dès lors de savoir si celles-ci ne sont pas simplement des résultantes de la polarisation de nos neurones. Auquel cas, comme disait le biologiste Haldane : "Ce qui ne fut pas sera, et personne n'est à l'abri."

Louvain-La-Neuve, décembre 1991

© Alain Van Kerckhoven, ACME, all rights reserved.