• facebook icon
  • twitter icon
  • instagram icon

Réseaux neuronaux artificiels ou l’outil d’apprentissage des machines

Des intelligences artificielles capables d'apprendre voient le jour a un rythme soutenu. Mais sur quel système se base leur modèle d'apprentissage ?

Des Intelligences Artificielles de tous poils voient le jour à un rythme effréné depuis quelques années, et cela semble aller en s’accélérant. Par exemple AlphaGO, le logiciel de google ayant battu le champion du monde de go alors qu’il y a encore peu on pensait le niveau de créativité requis pour ce jeu trop élevé pour un simple algorithme. Ou les logiciels de « chatbot » vocaux qui fleurissent un peu partout (Siri, Cortana, etc…) et qui gagnent sans cesse en performance.

Certain.e.s crient à la précaution avec l’idée qu’une conscience de soi se développe dans ces machines. Ayant une puissance et une vitesse de calcul d’une supériorité incomparable à nos capacités organiques, cela donne des frissons dans le dos. Certaines figures emblématiques du monde de l’industrie informatique et de la science tels que Stephen Hawking, Bill Gates ou Elon Musk tirent la sonnette d’alarme sur le danger qu’elles représentent. Mais sur quel principe fonctionnent ces « Intelligences » qui envahissent des domaines de plus en plus prestigieux ou « créatifs »  et que certain.e.s pensaient réservées aux humains ? Nos peurs se justifient-elles ?

Pour l’instant les intelligences artificielles les plus efficaces et les plus capables de créativité développées ces dernières années utilisent les dernières découvertes des neurosciences sur le traitement des données par le cerveau pour les copier en utilisant des réseaux neuronaux artificiels, explications :


Schéma de réseaux de neurones artificiels

Les « neurals networks » ou réseaux de neurones artificiels (RNA) en français sont inspirés des connexions non-binaires du cerveau, ceux-ci fonctionnent par potentiel d’action : une activation graduelle allant de 0 jusqu’à 1 des « neurones » des différentes couches du système représentés ci-dessus par les cercles (contrairement au langage binaire qui n’utilise pas de valeurs intermédiaires entre 0 et 1).

 

Les neurones de la première couche « Input » se font attribuer une variable (colorations des pixels en reconnaissance d’image, amplitude de chaque fréquence en reconnaissance des sons/voix, etc) avec une valeur d’activation allant de 0 à 1 en fonction des données reçues. Ensuite chaque neurone des couches cachées intermédiaires (ci-dessus « Hidden ») est activé par le biais des connexions avec les neurones de l’input. Au début, toutes ces connexions sont actives mais vont aléatoirement transférer plus ou moins de valeurs et ainsi plus ou moins activer les neurones de l’hidden layer (entre 0 et 1 toujours), la valeur d’activation transférée par ces connexions est appelée leur « poids synaptique ». Par exemple si on active le neurone 1 de l’input de ce réseau vierge l’information se diffuse aléatoirement (ici la coloration rouge représente le potentiel d’activation du neurone).

Une réaction en chaîne s’opère ainsi de couches en couches, chacune activant aléatoirement les neurones de la suivante et gardant en mémoire le poids des connexions synaptiques utilisées, continuant ainsi jusqu’à « l’output » (dernière couche ci-dessus) qui détermine la réponse du RNA aux données reçue. Une note de performance (ou score de « fitness ») est attribuée à la réponse en fonction de la pertinence de celle-ci par rapport aux données de l’input. Par exemple avec le réseau ci-dessus en activant un des trois neurones de l’input, des poids vont se distribuer aléatoirement et aboutir au choix d’une réponse entre les deux neurones de l’output suivant celui qui sera le plus activé. Comme dans le schéma ci-dessous où, ayant reçu 1 comme input, le réseau va choisir de répondre B. Si A était la bonne réponse, le réseau réévaluera le poids de ses connexions jusqu’à avoir un taux de bonne réponse optimal et le meilleur score de fitness possible.

Ce processus est répété un nombre déterminé de fois avec quelques variations aléatoires du poids des connexions à partir de leur poids d’origine. Cela constitue la première « génération ». Ensuite le RNA ayant eu le score de fitness le plus élevé est choisi comme nouvelle référence de poids des connexions pour une seconde génération…. Et ainsi de suite. Ainsi, par des modifications aléatoires et une sélection des RNA ayant les connexions les plus efficaces, la machine s’adapte, ou plutôt, apprend.

Ce mécanisme n’est pas sans rappeler celui de la sélection naturelle dans l’évolution, pour mieux l’illustrer voilà une vidéo de l’apprentissage d’un neural network du jeu bien connu « Flappy bird »:

Cette méthode est utilisée avec beaucoup plus d’hidden layers et se dérive (en d’autres modèles plus complexe comme le deep learning) en fonction des besoins de l’apprentissage mais elle reste pour l’instant spécialisée et nous restons très loin de développer un équivalent de conscience. Bien que s’inspirant de la manière dont fonctionne le cerveau, cela ne reste que la copie d’un seul mécanisme parmi tant d’autre qui forme notre pensée et ne reproduit que notre modèle d’apprentissage.

Cependant certains projets comme le « Human Brain Project » en Suisse, ou le BRAIN initiative aux U.S.A prévoient de simuler le cerveau humain sur ordinateur dans le cadre de projet sur les neurosciences. Car pour créer une véritable intelligence artificielle, le premier défi reste de comprendre comment fonctionne la nôtre.

 

 

Partager:

3 406 vues

COMMENTAIRES



Êtes-vous un robot?