mer 08.11 0

Du Deep Learning au Reinforcement Learning : un pas de géant pour l’Intelligence Artificielle ?

Des voitures de plus en plus autonomes, des robots qui battent le champion du monde du plus ancien jeu de stratégie combinatoire abstrait en seulement trois jours : aujourd’hui les exploits ne manquent pas pour souligner les rapides progrès de l’intelligence artificielle au cours de la dernière décennie.

Cependant, on a tendance à facilement s’y perdre avec ce concept qui est systématiquement repris pour désigner des programmes informatiques de toutes sortes, pour peu qu’ils soient capables des tâches plus ou moins complexes, de manière plus ou moins autonome. Bref, au fond, qu’est-ce qui différencie les voitures autonomes de Tesla de ma calculatrice ? Après tout, cette dernière est bien capable d’effectuer des calculs vertigineux en une fraction de seconde.

Dans cet article, je m’attacherai à chercher des pistes d’éléments pour répondre aux questions suivantes :
Question free icon Quelles sont les principales caractéristiques qui différencient une IA des autres programmes informatiques ?
Question free icon Comment les IA apprennent-elles ? Quel processus cognitif d’apprentissage emploient-elles ?
Question free icon Un programme informatique peut-il vraiment faire preuve de créativité, d’improvisation et porter un jugement rationnel pour surmonter des occurrences de la vie réelle ?

Définition de l’IA ou Intelligence Artificielle

Pour reprendre la définition proposée par Futura Tech, on pourrait définir l’IA comme la « Discipline scientifique relative au traitement des connaissances et au raisonnement, dans le but de permettre à une machine d’exécuter des fonctions normalement associées à l’intelligence humaine : compréhension, raisonnement, dialogue, adaptation, apprentissage, etc. »

Ainsi, on voit déjà se dessiner un premier trait caractéristique d’une IA : reproduire des comportements cognitifs humains, moyennant l’utilisation d’algorithmes complexes. Mais quels types de comportement justement l’IA est-elle capable de reproduire aujourd’hui ? Quelle source de données nécessite-t-elle pour construire sa démarche d’apprentissage ?

C’est ici qu’intervient le concept de Deep Learning.

Auparavant, pour apprendre à un ordinateur à effectuer une tâche, on le programmait manuellement. Aujourd’hui, ce même ordinateur peut apprendre par lui-même : il suffit de lui apprendre à reconnaitre et à reproduire.

 

Le Deep Learning pourrait être décrit comme un modèle d’apprentissage automatisé, qui permet à un agent artificiel de reconnaitre et de modéliser un élément (objet, image, son, comportement) à partir de données brutes qui lui ont été fournies. Les différentes couches neuronales du programme sont en effet nourries d’une grande quantité d’exemples afin d’être « entrainées » à reconnaitre et construire les caractéristiques propres à un élément. Concrètement, pour qu’un programme reconnaisse une tête de chien, on va le « nourrir » de milliers d’images similaires. Il sera ensuite capable de reconnaitre une tête de chien lorsqu’il en voit une, sur Internet par exemple. A noter que le programme construit ici ses propres caractéristiques de reconnaissance de l’objet : elles peuvent être similaires aux caractéristiques que considéreraient un être humain (comme la taille des oreilles, la couleur des pupilles, la forme du museau) ou pas (des traits physiques ou des comportements qui ne seraient pas visibles à l’œil nu).

Bon d’accord, cet exemple n’est pas des plus sexy je vous l’accorde, mais sur le même principe, le Deep Learning peut permettre à un logiciel de reconnaitre une voix, un visage, des émotions, voire-même des fake-news sur internet (et tout cela, sans intervention externe ou vérification par un tiers).

Warning free icon

Cependant, et bien que le Deep Learning soit très utile dans bien des domaines, nous avons ici deux problèmes de taille:

  • Cette technique d’apprentissage nécessite qu’on “nourrisse” l’IA avec une quantité d’Information bien souvent immense
  • L’IA reste compétente seulement dans des environnements structurés, avec des règles claires, sans évènement imprévu

Pour les plus courageux qui souhaitent comprendre le fonctionnement et l’architecture des réseaux de neurones des modèles de Deep Learning, je recommande vivement d’aller jeter un œil à la partie “Fonctionnement du Deep Learning”.

Plus loin et plus fort que le « Deep Learning », le « Reinforcement Learning »

Le « Reinforcement Learning » se base quant à lui sur l’apprentissage par essais et erreurs (et non par simple reconnaissance de données qui ont pu lui être fournies) : le programme réitère une ou des expériences un grand nombre de fois afin de tirer des enseignements et ainsi parvenir à effectuer des choix bons et éviter les choix mauvais face à une situation donnée.

L’idée est de développer simultanément sous un seul et même réseau d’apprentissage :

Trophy free iconUn réseau de valeur (qu’est-ce que « gagner » : quel est le but, l’objectif à poursuivre dans une situation donnée)

Mechanical gears free iconEt un réseau de politique (quelles sont les meilleures actions à mettre en place pour atteindre cet état de « gagne »)

Ainsi, en permettant aux programmes d’apprendre à partir de beaucoup moins de données brutes et en leur inculquant un schéma de valeur à suivre (réseau de valeur), cette méthode d’apprentissage leur permet de comprendre l’environnement dans lequel ils évoluent, de construire leur propre mécanisme de prise de décision et donc de développer un certain sens commun et d’agir avec plus de rationalité. Plus encore, cette technique d’apprentissage pourrait, à terme, rendre les programmes encore plus intelligents en leur permettant de réagir à des situations inattendues. L’objectif est de permettre à l’IA de transférer et de transposer son apprentissage d’une situation à une autre.

En cela, le « Reinforcement Learning » combine les méthodes d’apprentissage classiques des robots avec les méthodes de programmation probabiliste (l’idée est de pouvoir déduire des actions à mener à partir d’une situation qui comporte une part élevée d’incertitude). L’agent artificiel apprend ainsi à agir de manière rationnelle, en optimisant ses choix à partir d’expériences passées, qu’il a simulé lui-même.

Cas d’usage : les véhicules réellement autonomes : utopie ou avenir proche ?

Souvent, on assimile les voitures autonomes au Deep Learning. En effet, cette technique d’apprentissage permet par exemple à une voiture de différencier un arbre d’un piéton, un feu rouge d’un feu vert ou une voiture d’un cycliste. En revanche, qu’en est-il du comportement d’un camion qui serait d’une forme ou d’une taille différente de ses homologues ? Le véhicule le reconnaitrait-il ? Et qu’en est-il du dévissement d’une voiture sur la chaussée causé par un malaise conducteur ? Le véhicule saura-t-il réagir en conséquence ?

Le Reinforcement Learning est censé permettre à des voitures autonomes de conduire sans intervention extérieure, et ce, dans un environnement par définition instable où peuvent survenir des imprévus à tout moment (vous le savez, je le sais, ils le savent :  le comportement des automobilistes est parfois tout sauf raisonnable et prévisible). Pour cela, le réseau de neurone de l’IA créé des expériences qu’il partage et transmet aux autres voitures autonomes, ce qui permet d’apprendre plus rapidement et de manière simultanée.

Prenons l’exemple d’un bus qui s’arrête pour déposer des passagers. En se basant sur des méthodes d’apprentissage comme le Deep Learning, le véhicule autonome est capable de reconnaitre le bus et de savoir qu’il s’arrête plus ou moins régulièrement. Cependant, il ne pourrait envisager toutes les causes qui affectent la durée de cette arrêt (quantité de piétons qui descendent à cet arrêt, le temps mis pour descendre etc..) : en effet, c’est notre expérience de ce type de situation qui nous permet d’estimer cela, et qui nous incite à ne pas doubler ce bus de manière dangereuse. Avec le Reinforcement Learning justement, le véhicule autonome pourrait être capable de déterminer avec plus de précision le temps d’arrêt du bus et le flot de piéton qui en sort, en se basant sur ses expériences qu’il a lui-même simulé des milliers voire des millions de fois en apprentissage autonome.

 

Un autre exemple : l’accident d’un véhicule semi-autonome de Tesla en Floride l’an dernier. Selon les rapports établis, le véhicule n’aurait pas reconnu un camion qui se trouvait sur son chemin. En effet, le véhicule a été testé, alimenté en données et expérimenté dans des situations où il n’existait pas de camion similaire, avec des luminosités semblables à celle observable ce jour-là. Ainsi, avec un système basé sur la simple détection d’éléments auquel le véhicule avait déjà été confronté, il n’a pas su réagir pour éviter le camion car il ne comprenait pas réellement ce qui se passait. Avec une méthode d’apprentissage par essai/erreur, le véhicule aurait pu identifier le camion comme tel et anticiper ses intentions de déplacement.

L’IA « AlphaGo Zero », un programme d’intelligence artificielle surprenant

Voici un petit topo sur le jeu de go ici.

La particularité d’AlphaGo Zero est qu’il apprend et s’améliore de manière autonome, sur la base d’un modèle de Reinforcement Learning (c’est-à-dire qu’il n’est pas alimenté par des données de parties de référence jouées par des humains : il ne part de rien – si ce n’est des règles du jeu et de la position de départ des pions – et il apprend en jouant des millions de parties contre lui-même). Le fait d’utiliser qu’un seul et même réseau neuronal d’apprentissage pour les réseaux de valeur et de politique a également permis au logiciel de gagner en efficacité.

« Cette technique est plus puissante que les versions précédentes d’AlphaGo car elle n’est plus contrainte par les limites de la connaissance humaine. Au lieu de cela, elle est capable d’apprendre en partant d’une feuille blanche avec le joueur le plus fort du monde » peut-on lire sur un article , publié le 19/10/2017 dans Futura Tech.

Et force est de constater que les résultats sont au rendez-vous: en seulement 3 jours, le programme a gagné contre son prédécesseur « Alpha Go Lee » qui lui-même avait battu le numéro 1 mondial Ke Jie. Au-delà du fait de devenir le meilleur joueur au monde si rapidement, AlphaGo Zero a réussi à élaborer des stratégies inédites et à inventer des nouvelles formes de jeu, le tout en l’espace de quelques jours.

Ainsi, cette idée de voir un jour des programmes d’Intelligence Artificielle capables de reproduire des comportements cognitifs humains, de faire preuve de réactivité rationnelle face à des situations imprévues voire même de créativité n’est peut-être plus si loin. Le principal défi aujourd’hui réside dans le fait que ces programmes, à l’instar d’AlphaGo Zero, ont besoin de travailler sur des problématiques structurées avec des règles claires et des évènements prévisibles. Ce n’est donc pas pour rien que DeepMind a décidé d’engager son programme sur le vidéo de stratégie Starcraft où la part d’incertitude et d’imprévu est beaucoup plus délicate et complexe…

Commenter cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *