Logo Spiria

Histoire des réseaux neuronaux (partie 1)

13 septembre 2018.

L’intelligence artificielle, comme le code qui la compose, est désormais partout et l’on peut rapidement se sentir perdu dans ce vaste domaine de recherche qui est à la croisée des neurosciences, de l’informatique et des mathématiques. Ses algorithmes sont puissants, innovants et souvent perçus comme des boîtes noires, même de la part de gens dans le domaine de l’informatique. Pour comprendre ce que sont ces algorithmes, il est primordial de se pencher sur les différentes parties qui les composent. Que ce soient pour des outils de recommandations personnalisées, de détection de cancer, de création de fils d’actualités, de génération d’images et de données, l’IA change drastiquement notre approche de la résolution de problèmes, autant dans l’informatique que dans d’autres domaines, connexes ou non aux ordinateurs.

Comment résumer l’IA de manière simple ? 

Lorsque l’on écrit un programme, on indique explicitement à l’ordinateur ce qu’il doit faire, c’est une longue suite d’instructions qui permettent d’aboutir à un résultat. Avec l’intelligence artificielle, c’est un peu le contraire, on écrit un algorithme qui permettra à l’ordinateur de trouver un algorithme pour une problématique donnée. Toujours pas clair ?

Imaginez un programme qui détecte les caractères d’une plaque d’immatriculation. Le programmeur qui rédigerait ce programme ferait une longue série de règles traitant des centaines, voire des milliers d’exceptions afin d’obtenir un algorithme permettant d’arriver à un résultat juste. Un algorithme intelligent apprend par lui-même afin de trouver cette série d’instructions qui permet de faire telle ou telle tâche.

Un peu d’histoire

Le perceptron — le début de l’apprentissage

L’intelligence artificielle n’est pas née d’hier. Ce domaine, largement exploré au courant des dernières décennies, a connu des hauts et des bas, que ce soit par manque de ressources techniques ou de financement en recherche fondamentale. Depuis les années 50, plusieurs chercheurs se penchent sur la question de ce qu’est l’intelligence et comment représenter cette dernière de manière synthétique. Le but n’est pas de copier le cerveau humain, mais de s’inspirer de son fonctionnement cognitif afin de trouver de nouvelles solutions à une large variété de problèmes. La recherche en intelligence artificielle est intrinsèquement liée aux neurosciences, les deux avançant ensemble, tout en étant indépendantes, mais formant un tout pour ce qui est du domaine de l’intelligence.

Le premier modèle de neurone artificiel se nomme le perceptron de Rosenblatt et remonte à 1957. Cette recherche, bien qu’impressionnante et innovante, et qui peut être encore aujourd’hui considérée comme les débuts des algorithmes intelligents, se voit cependant rapidement mise de côté. On considère le perceptron comme une innovation technologique, mais d’un usage très limité lors de l’application concrète de l’algorithme lui-même. Ce modèle de neurone artificiel agit en fait comme un classificateur linéaire et binaire, qui permet simplement de faire des classements. Il s’agit cependant d’une percée qui servira de fondation pour les recherches futures.

John Mccarty et LISP — un monde de fonctions

Moins d’un an plus tard, dans les laboratoires de l’Institut de technologie du Massachusetts (MIT), feu John McCarthy, l’un des pionniers de l’IA, invente un langage de programmation purement fonctionnel, dénommé LISP, qui deviendra dans les années suivantes le langage de choix pour la recherche en IA. La première présentation du LISP au public se fait par la publication dans les Communications of the ACM d’un papier proposant l’idée qu’un ordinateur devrait pouvoir interagir avec des instructions déclaratives comme impératives et faire preuve de bon sens (“could exhibit ‘common sense’”).

McCarthy, John. Recursive functions of symbolic expressions and their computation by machine, Part I. Communications of the ACM, 3:184–195, April 1960 [PDF].

Véritable révolution dans le domaine de la science informatique, LISP propose un outil de choix pour la recherche et l’expérimentation en intelligence artificielle.

La première apparition du terme “machine learning” et des réseaux de neurones artificiels

On doit à l’anglais Arthur L. Samuel les premières publications sur les réseaux de neurones et l’apparition du terme “machine learning”. L’un de ces papiers explique la représentation d’un algorithme d’apprentissage du jeu de dames. Arthur Samuel a aussi notamment contribué largement au projet TeX, un système utilisé pour la rédaction de documents scientifiques et mathématiques.

Samuel, Arthur Lee. Some studies in machine learning using the game of checkers. IBM Journal of Research and Development, vol. 3, issue 3, July 1959 [PDF].

L’apprentissage, le cerveau et ces algorithmes qui apprennent

Certes, l’histoire des réseaux de neurones est beaucoup plus longue que cela, notamment avec l’arrivée de la rétropropagation du gradient, qui nous aborderons plus tard. On notera que ces recherches fondatrices sont liées avec l’idée de base de l’intelligence artificielle, permettant à l’ordinateur de trouver les choix optimaux pour faire la plus simple des opérations (classification binaire dans l’exemple du perceptron), ou encore faisant une démonstration avancée du principe d’apprentissage cognitif (apprendre à jouer au jeu de dames).

Et le cerveau humain ?

Les neurosciences sont les études scientifiques qui se penchent sur le fonctionnement du système nerveux. La recherche en intelligence artificielle ne veut pas copier le fonctionnement du cerveau humain, mais s’en inspirer afin de trouver des solutions innovantes. Notre cerveau apprend continuellement et les influx électriques entre neurones sont maîtres de nos actions. Il est continuellement stimulé, par des signaux internes et externes, que ce soit les cinq sens, ou encore votre estomac qui est vide, et ses connexions neuronales sont responsables de la circulation de cette information.

Quelques infos en vrac

  • 86 à 100 milliards de neurones dans le cerveau humain (10¹¹).
  • Le cerveau pèse entre 1,3 à 1,4 kg.
  • L’hémisphère gauche contient plus de 200 millions de neurones de plus que le droit.
  • Les influx de certains signaux peuvent atteindre la vitesse de 400 km/h.
  • Nous avons plus de 160 000 km d’axones dans le cerveau.

Comment le cerveau apprend-il ?

Le cerveau reçoit de nombreuses informations et les traite à très grande vitesse. Les neurones communiquent par des signaux énergétiques, les influx nerveux, qui induisent une excitation synaptique chez leurs neurones voisins. Si un signal reçu est assez fort pour exciter un neurone, celui-ci s’active et envoie de l’information à d’autres neurones et ainsi de suite.

L’analyse d’un neurone

Pour mieux comprendre comment les réseaux de neurones fonctionnent, il est important de se pencher sur le fonctionnement du neurone biologique ; cela nous aidera en effet à la compréhension d’équations que nous aborderons plus tard.

Neurone.

En partant de la gauche vers la droite, analysons les différentes parties du système afin de comprendre son fonctionnement.

En vert, le corps cellulaire ou péricaryon. C’est le noyau du neurone, région dans laquelle les signaux sont calculés puis envoyés vers l’axone afin d’acheminer le signal vers d’autres neurones.

En bleu, les dendrites. Les dendrites, prolongements cellulaires à structure arborescente, sont la partie du neurone chargée de capter les signaux extérieurs et leur intensité, puis de les transmettre.

En jaunes, les synapses : ce sont les zones de contact entre les différents neurones.

En rose, l’axone. C’est un prolongement du neurone qui génère l’influx nerveux, ou potentiel d’action, qui sera acheminé vers un autre neurone. L’intensité du potentiel d’action déterminera si les cellules suivantes sont excitées à leur tour.

L’influx entre neurones

Les neurones communiquent entre eux par ce que l’on appelle des influx, ou potentiels d’action. Ce sont des signaux électriques de très faible intensité, de l’ordre de 100 millivolts. La vitesse de transmission peut atteindre jusqu’à 150 mètres par seconde.

On dit le neurone excité lorsqu’un influx nerveux parvient à son noyau via ses dendrites. Le corps cellulaire ingère ces informations et procède à l’envoi d’un signal électrique vers l’axone. Le signal se propage vers l’axone collatéral puis vers les synapses où la communication interneuronale s’effectue. Si le niveau du signal est suffisant, le neurone suivant procède de même façon et ainsi de suite. Un simple neurone peut recevoir l’influx nerveux de plus de 1 000 neurones.

Aparté sur la neuroplasticité

Pendant longtemps, les neurobiologistes pensaient que les liens entre neurones et les réseaux ainsi constitués restaient fixes et ne pouvaient être “recâblés”. Avec les avancées techniques, on a découvert que les connexions du cerveau évoluaient avec le temps, en fonction de multiples facteurs dont l’apprentissage. Cette habileté du cerveau humain de changer tout au long de la vie d’un individu se nomme la neuroplasticité et est un domaine ayant littéralement changé la donne dans le domaine des neurosciences.

Les neurones de l’intelligence artificielle

Décortiquons un réseau de neurones numériques afin de mieux comprendre ce qui se produit dans chacune de ses parties et comment, réunies ensemble, elles forment un tout capable de réaliser des choses impressionnantes.

decorative

Les valeurs en entrée

Ce sont les données fournies à notre neurone afin que ce dernier puisse les traiter. Chaque entrée est associée à un poids, qui servira à signifier “l’importance” de cette entrée dans le traitement. On utilise les valeurs et leur poids respectif dans la fonction de combinaison. 

La fonction de combinaison

Chaque entrée, ayant une valeur unique et un poids associé, se voit utilisée dans la fonction de combinaison.

Regardons un exemple simple de neurone, un perceptron. La fonction de combinaison permet de faire une équation toute simple qui ajoute le poids et la valeur de chaque entrée pour déterminer si ce résultat passera la fonction d’activation et permettra au perceptron de s’activer ou non. Comme mentionné, le perceptron est l’élément le plus simple lorsque vient le temps de représenter une “intelligence artificielle”. La fonction simple d’un perceptron est d’effectuer la classification binaire d’une entrée.

La fonction d’activation

Elle a pour objectif de prendre le résultat de la fonction de combinaison et de déterminer si le neurone se déclenchera. Il existe plusieurs types de fonctions d’activation, dont les mérites sont souvent discutés et comparés afin d’améliorer la précision d’un réseau de neurones. 

La simplicité d’un perceptron et ses limites

Malgré son ingéniosité, l’application pratique du perceptron reste tout de même limitée à une valeur binaire, positive ou négative. Mais à son époque, rappelons-nous que la puissance de calcul était un élément majeur qui conditionnait les recherches fondamentales. 

Les perceptrons multicouches et les résultats non linéaires

Les années passant et l’informatique évoluant, de nouveaux chercheurs se greffent aux travaux passés et les font évoluer. Des chercheurs se sont ainsi penchés sur le travail de Frank Rosenblatt quelques années après afin de faire progresser son concept et son application, autant théorique que pratique.

Le perceptron sert seulement à résoudre des problèmes linéaires. L’une des innovations ultérieures a été l’inclusion de plusieurs perceptrons afin de permettre une plus grande flexibilité et un plus grand champ d’application dans la résolution de problèmes. 

En s’inspirant des principes neurobiologiques, des chercheurs en informatiques ont réussi à proposer un modèle qui est à l’origine de ce que l’on voit aujourd’hui comme l’intelligence artificielle. Les réseaux de neurones sont en fait des milliers de liens entre différentes couches. Chaque lien permet de distribuer un signal selon un ensemble de règles. 

Dans la prochaine partie, nous analyserons les perceptrons multicouches, les différentes couches d’un réseau de neurones et comment ceux-ci apprennent. 

Pour conclure provisoirement

Aujourd’hui, nous avons beaucoup de possibilités de réseaux neuronaux. Les universités des quatre coins du globe, les grands joueurs du GAFAM, travaillent avec ardeur sur le sujet, proposent de nouvelles idées et brisent les barrières établies. 

L’avènement de l’intelligence artificielle est un moment important dans l’histoire de l’informatique. L’ordinateur ne fera plus simplement ce qu’on lui indique pas à pas, mais s’ajustera lui-même pour trouver le meilleur algorithme pour répondre à une problématique donnée.