Reinforcement Learning : lorsque les machines apprennent à réfléchir
Google investit dans des domaines et des projets très différents, en particulier lorsqu’il s’agit de technologies avant-gardistes. Dans le domaine de l’intelligence artificielle (IA) notamment, le groupe de services technologiques a ajouté une corde non négligeable à son arc avec le projet Deepmind. Ce projet consiste à faire progresser le développement de programmes à l’aide de l’intelligence artificielle de façon à leur permettre, à l’avenir, de résoudre des problèmes complexes sans l’intervention de l’être humain. L’apprentissage par renforcement joue ici un rôle essentiel puisqu’il permet de développer les IA.
Qu’est-ce que l’apprentissage par renforcement (Reinforcement Learning) ?
Traduit littéralement, le Reinforcement Learning signifie « apprentissage par renforcement ». Ce terme décrit une méthode utilisée dans le domaine de l’apprentissage automatique. Avec l’apprentissage supervisé et l’apprentissage non supervisé, l’apprentissage par renforcement constitue la troisième possibilité pour apprendre à des algorithmes à prendre des décisions par eux-mêmes. Dans cette méthode, l’accent est mis sur le développement de solutions intelligentes pour résoudre des problèmes de gestion complexes.
Contrairement à l’apprentissage supervisé et à l’apprentissage non supervisé, cette méthode d’apprentissage automatique n’a besoin d’aucune donnée pour le conditionnement. En effet, pour les deux autres méthodes, les programmes sont d’abord alimentés avec des données. Cette étape est entièrement supprimée dans le Reinforcement Learning. À la place, les données sont générées lors d’une procédure essai-erreur au cours de l’entraînement et sont dotées d’une étiquette. Le programme passe alors par plusieurs cycles d’entraînement dans l’environnement de simulation afin de livrer un résultat suffisamment précis. Plutôt que de confronter le système avec les bons résultats pendant l’entraînement (comme dans l’apprentissage supervisé), on définit uniquement des impulsions aidant le système.
Le but visé par cet entraînement est de permettre à l’intelligence artificielle de résoudre des problèmes de gestion très complexes sans connaissances préalables apportées par l’homme. Par comparaison avec l’ingénierie conventionnelle, cette méthode est plus rapide, plus efficace et fournit idéalement le meilleur résultat que l’on puisse attendre.
Dans ce cadre, les essais de l’apprentissage par renforcement se déroulent souvent en s’appuyant sur des jeux. Les jeux vidéo constituent une base idéale pour explorer et comprendre l’apprentissage par renforcement. Ils présentent généralement un environnement de simulation, différentes possibilités de commande et une influence sur l’environnement. D’autre part, les jeux comportent souvent un problème ou une suite de tâches complexes qu’il s’agit de traverser au fil des étapes du jeu. La plupart des jeux adoptent également des systèmes de points qui se rapprochent très fortement du système de récompense du Reinforcement Learning.
Les principaux chercheurs dans le domaine de l’intelligence artificielle considèrent l’apprentissage par renforcement comme une méthode très prometteuse pour atteindre une intelligence artificielle forte. On peut ainsi imaginer qu’un jour, une machine pourra prendre des décisions rationnelles par elle-même et résoudre n’importe quelle tâche avec succès, à l’instar de l’être humain. La machine observe, apprend et peut résoudre ses problèmes de façon autonome.
Dans l’apprentissage par renforcement, la machine apprend par ses interactions avec l’environnement et applique ce qu’elle a appris pour résoudre des problèmes complexes sans que l’être humain ait à saisir des données.
Comment fonctionne l’apprentissage par renforcement ?
Le Reinforcement Learning désigne de nombreuses méthodes individuelles dans lesquelles un algorithme ou un agent logiciel apprend des stratégies de façon autonome. L’objectif est de maximiser les récompenses au sein d’un environnement de simulation dans lequel l’ordinateur exécute une action puis reçoit un feed-back. L’agent logiciel ne reçoit au préalable aucune information sur l’action la plus prometteuse et doit déterminer seul sa méthode dans le cadre d’un processus essai-erreur.
À différents moments, l’ordinateur reçoit des récompenses qui auront un impact sur ses stratégies. Grâce à ces événements, l’agent logiciel apprend à évaluer les conséquences de certaines actions au sein de l’environnement de simulation. Le tout forme la base de l’agent logiciel et permet de développer des stratégies durables tout en maximisant les récompenses.
Pour entraîner un système à l’aide de l’apprentissage par renforcement, on utilise le Q-Learning. Son nom vient de la fonction Q qui calcule le bénéfice attendu pour une action dans le statut. Le but de l’apprentissage par renforcement est d'établir une « policy » aussi efficace que possible. On entend ici par « policy » le comportement appris par l’agent logiciel lui indiquant quelle action entreprendre dans n’importe quelle variante de comportement (« observation ») de l’environnement d’apprentissage (« environment »).
La « policy » peut être représentée dans un tableau Q au sein duquel les lignes contiennent toutes les observations et les colonnes toutes les actions possibles. Pendant l’entraînement, les cellules correspondantes sont ensuite remplies avec des valeurs Value représentant la prochaine récompense attendue.
Néanmoins, ce tableau Q n’est utilisable que dans une mesure limitée. La représentation visuelle fonctionne uniquement dans un petit espace action-observation. Si les possibilités sont trop nombreuses, l’agent logiciel doit utiliser un réseau neuronal.
Dans quels cas le Reinforcement Learning est-il utilisé ?
Cette méthode d’apprentissage automatique est d’ores et déjà utilisée dans certaines entreprises, dont Google. Le groupe de services technologiques utilise par exemple l’apprentissage par renforcement pour gérer les climatiseurs dans les centres de calcul. Grâce à l’intelligence artificielle, Google a pu jusqu’à présent économiser 40 pour cent de l’énergie nécessaire pour ventiler les serveurs.
Le Reinforcement Learning est également utilisé dans la gestion de systèmes complexes, par exemple des systèmes de transport intelligents. Il permet d’obtenir des solutions intelligentes dans la surveillance de la qualité. En outre, l’apprentissage par renforcement intervient dans les réseaux électriques intelligents, la gestion des robots, l’optimisation des chaînes de livraison pour diverses entreprises de logistique ou l’automatisation des usines.
Toutefois, l’exemple de Reinforcement Learning le plus parlant pour le consommateur reste le park assist. Dans cette technologie, l’intelligence artificielle est utilisée pour identifier des objets et indiquer à l’utilisateur le chemin optimal pour se garer.
Pour fonctionner, un algorithme de Reinforcement Learning doit compléter de nombreux cycles d’entraînement, car les récompenses sont parfois attribuées avec un décalage dans le temps. Cependant, le Reinforcement Learning est une méthode d’apprentissage automatique appelée à gérer de nombreux processus et à résoudre des problèmes complexes à l’avenir.