reinforcement learning définition

Reinforcement Learning : qu’est-ce que l’apprentissage par renforcement ?

Le Reinforcement Learning ou apprentissage par renforcement est une méthode de Machine Learning de plus en plus utilisée. Elle consiste à laisser les ordinateurs apprendre de leurs expériences grâce à un système de récompense ou de pénalité. Il pourrait même s’agir de la clé permettant l’avènement d’une intelligence artificielle générale comparable à celle de l’humain…

L’intelligence artificielle s’invite dans tous les secteurs, et le marché est estimé à 7,35 milliards de dollars en 2021 selon Statista. Toutefois, contrairement à ce que l’on peut penser, l’IA n’est pas une technologie unique.

Il existe de nombreuses branches et sous-catégories telles que le Machine Learning et le Deep Learning. À travers ce dossier, nous nous intéresserons au Reinforcement Learning ou apprentissage par renforcement.

Qu’est-ce que le Reinforcement Learning ?

L’apprentissage par renforcement ou Reinforcement Learning est une méthode de Machine Learning. Elle consiste à entraîner des modèles d’intelligence artificielle d’une manière bien spécifique.

L’agent IA doit apprendre à atteindre un objectif au sein d’un environnement incertain et potentiellement complexe. Pour y parvenir, l’ordinateur essaye toutes les façons possibles et apprend de ses erreurs.

À chaque tentative, l’IA reçoit une récompense ou une punition en fonction des actions effectuées. Elle est programmée pour maximiser sa récompense, et tentera donc de trouver la méthode le lui permettant.

Le programmeur se charge de mettre en place les conditions de récompenses. Il se charge donc de fixer les  » règles du jeu « .

En revanche, aucune instruction, aucun indice n’est donné à l’agent IA pour lui suggérer comment accomplir la tâche demandée. C’est à lui de découvrir comment maximiser sa récompense, en commençant par des tentatives totalement aléatoires pour terminer par des tactiques extrêmement sophistiquées.

À l’heure actuelle, l’apprentissage par renforcement se révèle comme la façon la plus efficace de faire appel à la créativité des machines. Contrairement à un humain, une intelligence artificielle peut effectuer des milliers de tentatives en simultané. Il suffit pour ce faire de lancer le même algorithme en parallèle sur une puissante infrastructure informatique.

Comment fonctionne l’apprentissage par renforcement ?

Pour comprendre le fonctionnement de l’apprentissage par renforcement, on peut le comparer avec le dressage d’un animal de compagnie. Le processus présente en effet des similitudes.

L’animal de compagnie ne comprend pas le langage humain, et il est donc impossible de lui apprendre des tours en lui expliquant verbalement ce qu’il doit faire. A la place, il est possible provoquer une réaction de l’animal en créant une situation.

Si la réaction de l’animal est la bonne, on peut le récompenser. Par exemple, un chien qui donne la patte ou fait le beau peut recevoir un biscuit en récompense.

Grâce aux récompenses, l’animal de compagnie sera progressivement conditionné. Dès lors qu’il se retrouvera confronté à la même situation, il pourra exécuter la même action lui permettant de recevoir un biscuit.

Par exemple, un chien apprendra à se lever sur ses pattes arrières dès qu’on lui dit  » fais le beau  » même s’il ne comprend réellement pas le sens de ces mots. De la même manière, on peut lui apprendre à ne pas faire de bêtises en le punissant.

Ainsi, on peut comparer l’animal de compagnie à un agent IA. L’environnement auquel il est exposé est votre maison, et les mots prononcés font office de déclencheur pour le faire passer d’un état à un autre. Par exemple, il est initialement à l’état assis et se lève sur ses pattes sur demande.

Quelques exemples de cas d’usage

Pendant longtemps, les applications de l’apprentissage par renforcement étaient limitées par le manque de puissance de l’infrastructure informatique. Il aura fallu attendre les années 1990 pour voir émerger la première application concrète de cette méthode de Machine Learning.

C’est à cette époque que Gerard Tesauro développe une IA capable de triompher des meilleurs joueurs de backgamon grâce à l’apprentissage par renforcement. Depuis lors, de nombreux progrès ont été effectués grâce aux importantes avancées technologiques réalisées.

Les véhicules autonomes

En guise d’exemple d’utilisation du Reinforcement Learning, on peut citer les voitures autonomes. Les modèles IA qui contrôlent ces véhicules révolutionnaires peuvent être entraînés grâce à cette méthode.

Dans l’idéal, l’ordinateur ne devrait recevoir aucune instruction sur la manière de conduire une voiture et se contenter d’apprendre de ses erreurs. Il sera récompensé s’il assure la sécurité, minimise le temps de trajet, réduit la pollution et respecte le code de la route.

Il est impossible d’anticiper chaque éventualité sur la route. Plutôt que de programmer manuellement l’IA pour réagir à chaque situation possible, il est plus pertinent et moins fastidieux de l’entraîner via un système de récompenses et de pénalités.

Un véhicule autonome doit prendre en compte les limites de vitesse, la segmentation de la route, ou encore les obstacles à éviter. L’apprentissage par renforcement peut être utilisé pour optimiser les trajectoires, pour planifier les mouvements, ou encore pour établir des itinéraires de façon dynamique. Une IA peut apprendre à se garer en apprenant les règles de parking, elle peut apprendre à changer de voie ou à doubler grâce au Reinforcement Learning.

Citons la voiture de course AWS DeepRacer créée par Amazon afin de tester l’efficacité de l’apprentissage par renforcement sur un circuit physique. Elle utilise des caméras pour visualiser la route, tandis que son modèle RL contrôle la vitesse et la direction.

De son côté, Wayve.ai a réussi à apprendre à une voiture autonome à conduire en seulement un jour grâce au Reinfrocement Learning. L’architecture du réseau de neurones était constituée de quatre couches de convolution et trois couches pleinement connectées.

L’automatisation industrielle

Dans le domaine de l’automatisation industrielle, les robots peuvent apprendre par renforcement. Ils sont en mesure d’effectuer des tâches dangereuses pour l’humain, et souvent plus efficacement.

Par exemple, Google utilise des agents IA de DeepMind pour refroidir ses Data Centers. Ceci a permis à la firme de réduire sa consommation d’énergie à hauteur de 40%. Désormais, les centres de données sont entièrement contrôlés par le système IA sans qu’une intervention humaine soit nécessaire.

Le système prend des  » snapshots de données «  à partir des Data Centers toutes les cinq minutes, et nourrit des réseaux de neurones avec des données. Il prédit ensuite comment différentes combinaisons impacteront la consommation d’énergie future.

Par la suite, il identifie les actions permettant de réduire la consommation d’énergie au minimum tout en maintenant la sécurité. Pour finir, les actions sont transmises et implémentées dans le Data Center.

La finance et le trading

Les modèles de séries temporelles supervisés peuvent être utilisés pour prédire les futures ventes et le prix des actions, mais ne permettent pas de déterminer quelle action prendre en fonction du prix des actions.

L’apprentissage par renforcement permet à un agent de prendre la décision de vendre, d’acheter ou de garder les actions en fonction du prix. Pour s’assurer que ses performances soient optimales, le modèle peut être évalué à l’aide des standards de benchmark.

L’automatisation du processus permet une constance, contrairement aux anciennes méthodes obligeant les analystes à prendre chaque décision. Par exemple, IBM a une plateforme basée sur le Reinforcement Learning capable de s’adonner au trading. Le système de récompenses lui a permis d’apprendre à maximiser les gains.

Le traitement naturel du langage (NLP)

L’apprentissage par renforcement peut être utilisé pour la technologie de Traitement Naturel du Langage (Natural Language Processing) pour la synthèse de texte, la traduction automatique ou encore la réponse aux questions.

Des chercheurs ont utilisé le RL pour apprendre à un modèle à répondre à des questions à partir de longs textes. Après avoir choisi les phrases pertinentes pour répondre aux questions, le réseau de neurones est utilisé pour produire des réponses.

Des chercheurs de Stanford et Microsoft ont utilisé Deep RL pour la génération de dialogues. Une conversation est simulée entre deux agents virtuels, et ces derniers reçoivent des récompenses si la conversation est cohérente et informelle.

La médecine

Dans le domaine de la médecine, les systèmes entraînés grâce au Reinforcement Learning peuvent apprendre à dispenser les traitements optimaux. Pour y parvenir, ils se basent sur les précédentes expériences afin d’automatiser le diagnostic.

Cette approche est particulièrement efficace pour les maladies chroniques. En outre, le RL permet une meilleure anticipation des effets secondaires sur le long terme.

Des chercheurs de l’université de Stanford ont également appris à une IA à courir grâce au Reinforcement Learning. Dans le futur, ce modèle pourrait être intégré à des prothèses de nouvelle génération capables de reconnaître les déplacements d’une personne et de s’ajuster pour faciliter la marche.

Les jeux

Un autre exemple bien connu est celui de l’intelligence artificielle DeepMind AlphaGo. Grâce à l’apprentissage par renforcement, cette IA est parvenue à surpasser Lee Sedol, le champion du monde de jeu de Go.

Par la suite, AlphaGo Zero a appris le jeu de Go uniquement en jouant contre lui-même en continu durant 40 jours. Après cet entraînement, ce nouveau système a triomphé de la première version d’AlphaGo.

De même, OpenAI entraîne son intelligence artificielle OpenAI Five à jouer au jeu vidéo Dota 2 via le Reinforcement Learning. Ce modèle a cumulé plus de 10 000 ans de jeu, et rivalise désormais avec les plus grandes équipes mondiales de joueurs professionnels.

C’est également le cas de DeepMind AlphaStar, une intelligence artificielle entraînée en RL à jouer au jeu vidéo Starcraft 2. Cette IA est elle aussi parvenue à se hisser parmi les meilleurs joueurs au monde.

L’apprentissage par renforcement est aussi couramment utilisé dans le domaine de la robotique pour l’automatisation industrielle. On l’exploite pour le Machine Learning et le traitement de données, ou encore pour la planification stratégique. Les systèmes de pilotage automatique reposent également sur cette technologie.

L’ingénierie

L’apprentissage par renforcement peut être utilisé dans le domaine de l’ingénierie. Par exemple, Facebook a créé une plateforme open-source appelée Horizon. Celle-ci permet d’optimiser les systèmes de production à grande échelle grâce à l’apprentissage par renforcement.

Cette plateforme a été utilisée en interne par Facebook pour générer des suggestions personnalisées, pour délivrer des notifications plus pertinentes aux utilisateurs, et pour optimiser la qualité des vidéos en streaming.

En outre, Horizon peut aussi être utilisé pour la simulation d’environnements, en guise de plateforme distribuée pour le traitement des données, ou encore pour l’entraînement et l’exportation de modèles en production.

Pour l’affichage vidéo, l’apprentissage par renforcement peut être utilisé pour augmenter ou réduire le bit rate d’une vidéo selon l’état des buffers et les estimations d’autres systèmes de Machine Learning. La plateforme Facebook Horizon est très utile pour le déploiement à l’échelle, l’apprentissage distribué ou la prise en charge de datasets variés.

Les moteurs de recommandation

De nombreux sites web et réseaux sociaux proposent aujourd’hui des suggestions de produits ou d’informations personnalisées, basées sur les préférences des utilisateurs. Or, ces préférences changent constamment. Il est donc préférable de s’appuyer sur l’apprentissage par renforcement pour suivre le feedback de l’utilisateur en continu.

Le système peut se baser sur les caractéristiques des informations, du lecteur, ou encore sur le contexte pour proposer des articles d’actualité pertinents. Il sera récompensé en fonction de la réaction positive ou négative de l’utilisateur.

Les caractéristiques de l’apprentissage par renforcement

L’apprentissage par renforcement se distingue par plusieurs caractéristiques principales. Tout d’abord, il s’agit d’un apprentissage non supervisé. Seul le système de récompense permet d’aiguiller l’agent IA dans la bonne direction.

Cette approche repose par ailleurs sur une prise de décision séquentielle, ce qui signifie que l’agent prend une succession de décisions pour atteindre l’objectif visé. En outre, la notion de temps joue un rôle crucial.

Les retours reçus par le modèle sur ses tentatives ne sont pas délivrés instantanément, mais après un bref délai. Chaque action effectuée par l’agent détermine les données qu’il reçoit en retour.

Les différents types d’apprentissage par renforcement

On distingue deux principaux types d’apprentissage par renforcement. Le Reinforcement Learning positif passe par un événement survenant à cause d’un comportement spécifique. Cet événement renforce la force et la fréquence du comportement en question et impacte positivement les actions et les prises de décisions de l’agent.

Ce type de renforcement permet de maximiser les performances, et de soutenir le changement pour une période de temps étendue. Toutefois, un renforcement excessif peut conduire à une suroptimisation affectant les résultats.

L’apprentissage par renforcement négatif consiste au contraire à renforcer un comportement survenant à cause d’une condition qui aurait dû être arrêtée ou évitée. Cette approche permet de définir un seuil de performance minimal.

Les défis de l’apprentissage par renforcement

Le Reinforcement Learning offre de nombreuses possibilités, mais présente aussi des défis à relever. Tout d’abord, il est important de bien préparer l’environnement de simulation en fonction de la tâche que l’IA doit apprendre à accomplir.

Ceci peut être relativement simple quand le modèle doit apprendre à jouer aux échecs, au jeu de Go ou à des jeux vidéo rétro. En revanche, la création d’un simulateur réaliste devient beaucoup plus compliquée dans le cas de l’entraînement d’un véhicule autonome.

Il devient impératif de concevoir une simulation parfaite, pour préparer l’IA à toute éventualité avant de la laisser conduire dans le monde réel. En effet, la moindre collision entraînerait des milliers de dollars de réparation. Il n’est donc pas possible d’entraîner le modèle en situation réelle.

Un autre difficulté de l’apprentissage par renforcement concerne la mise à l’échelle et la modification du réseau de neurones contrôlant l’agent IA. La seule façon de communiquer avec le réseau est le système de récompenses et de pénalités, ce qui signifie que l’acquisition de nouvelles connaissances peut provoquer la suppression des précédents acquis.

Enfin, atteindre l’optimum local représente un défi en soi. Bien souvent, l’agent effectuera la tâche attendue d’une manière non optimale. Il se peut aussi qu’il parvienne à maximiser sa récompense sans effectuer la tâche pour laquelle il est conçu.

Avantages et inconvénients

L’apprentissage par renforcement présente à la fois des avantages et des inconvénients, en fonction des cas d’usage. Cette méthode est particulièrement pertinente pour découvrir quelle situation nécessite une action. Elle permet aussi de découvrir quelles actions génèrent la plus haute récompense sur une longue période. Le Reinforcement Learning permet aussi à l’agent IA de comprendre quelle action permet d’obtenir de larges récompenses.

En revanche, cette méthode d’entraînement ne peut être employée dans toutes les situations. Quand le volume de données est suffisant pour résoudre un problème via l’apprentissage supervisé, il est préférable d’opter pour cette approche. Notons par ailleurs que l’apprentissage par renforcement requiert d’importantes ressources et beaucoup de temps. Il peut donc être plus judicieux d’opter pour l’apprentissage supervisé, surtout pour des cas d’usage complexes.

Reinforcement Learning vs Machine Learning et Deep Learning : quelles sont les différences ?

En réalité, le Deep Learning et le Reinforcement Learning peuvent être considérés comme des sous-catégories du Machine Learning. Il s’agit de techniques conçues pour résoudre des problèmes d’une manière bien spécifique. Dans certains cas, ces différences approches peuvent d’ailleurs être combinées au sein d’un même projet.

Pour comprendre les différences entre ces concepts, prenons le temps de les définir avec précision. Tout d’abord, le Machine Learning est une forme d’intelligence artificielle dans laquelle les ordinateurs améliorent leurs performances sur une tâche spécifique grâce aux données. Ils ne sont pas directement programmés à cet effet.

On distingue le Machine Learning supervisé, et non supervisé. Dans le cas du Machine Learning supervisé, un programmeur se charge d’attribuer une étiquette à chaque  » input  » d’entraînement injecté au système.

Dans le cas du Machine Learning non supervisé, en revanche, le modèle reçoit uniquement des données d’entrée sans étiquette explicite. Il doit explorer les données pour trouver la structure cachée ou les relations entre elles.

Même le créateur de l’IA ne sait pas forcément ce que le modèle de Machine Learning va trouver. Cette méthode peut être utilisée par exemple pour la détection d’anomalie au sein d’un ensemble : un produit défectueux, une transaction frauduleuse…

Le Deep Learning repose sur des réseaux de neurones composés de plusieurs couches, conçus pour réaliser des tâches plus complexes. Cette approche s’inspire directement du fonctionnement du cerveau humain.

Les différentes couches permettent au réseau de neurones d’apprendre progressivement des caractéristiques abstraites sur des données en particulier. Chaque couche exploite les résultats de la précédente en guise d’input, et transmet ses résultats à la couche suivante. Le réseau entier est entraîné en tant qu’ensemble global.

Ce concept de réseau de neurones artificiel n’est pas nouveau, mais il a fallu attendre les récentes avancées technologiques pour avoir suffisamment de puissance de calcul pour entraîner les Neural Networks sur un volume de données d’exemple suffisant. Des frameworks comme TensorFlow, Keras ou PyTorch simplifient aujourd’hui le processus.

Enfin, l’apprentissage par renforcement utilise un système de récompenses et de punition pour guider l’ordinateur à résoudre un problème par lui-même. L’intervention humaine est limitée au strict minimum, à savoir les modifications d’environnement et du système de récompenses.

Dans sa quête de maximisation des récompenses, l’ordinateur peut trouver des manières inattendues d’atteindre son but. Cette approche est donc idéale lorsqu’il n’y a pas de manière prédéfinie d’effectuer la tâche, mais uniquement des règles à suivre pour la compléter correctement. Un bon exemple est l’apprentissage du code de la route par un véhicule autonome.

Apprentissage par renforcement : le futur du Machine Learning ?

L’apprentissage par renforcement, le Deep Learning et le Machine Learning sont interconnectés. Aucune de ces méthodes ne va remplacer les autres.

Chacune est adaptée à un cas d’usage en particulier. Le Machine Learning basique est largement suffisant pour le traitement de données ou la gestion de bases de données. Les réseaux de neurones Deep Learning peuvent être d’un précieux secours face aux données non structurées ou désorganisées, ou à plusieurs types de données différents.

L’apprentissage par renforcement pourrait créer une IA générale

Au fil des dernières décennies, les scientifiques sont parvenus à créer des systèmes d’intelligence artificielle capables de résoudre des tâches complexes de vision par ordinateur, de traitement naturel du langage ou d’actions mécaniques.

En revanche, personne n’est jamais parvenu à créer une intelligence artificielle générale, adaptable à n’importe quel contexte et comparable à celle de l’humain ou de l’animal.

Selon un article des chercheurs de DeepMind publié dans le journal Artificial Intelligence, l’apprentissage par renforcement pourrait être la clé pour donner naissance à une telle IA. Plus précisément, le concept de maximisation de récompense pourrait être la solution à cette énigme qui hante les scientifiques.

La méthode la plus couramment employée pour créer des IA consiste à répliquer des éléments du comportement intelligent humain sur les ordinateurs. Pour reproduire la vision, de nombreux chercheurs se focalisent sur des systèmes capables de catégoriser des images, de localiser des objets sur les photos ou de définir les frontières entre les objets.

Or, les chercheurs de DeepMind ne croient pas que combiner des modules d’intelligence artificielle spécialisée permettra de créer une IA générale. À leurs yeux, il est plus judicieux de recréer la règle ayant permis l’avènement de l’intelligence naturelle : la maximisation de récompense.

En effet, l’évolution humaine et animale découle de milliards d’années de sélection naturelle et de variations aléatoires ayant permis aux espèces les plus adaptées de survivre et de se reproduire.

Ce mécanisme, simple et efficace, est celui qui a permis l’apparition d’êtres vivants capables de percevoir, de naviguer, de modifier leur environnement ou de communiquer entre eux. En d’autres termes : des êtres intelligents.

Prenons l’exemple d’un écureuil cherchant comme récompense de réduire sa faim. Ses capacités sensorielles et motrices l’aident à localiser et à collecter des noisettes, tandis que sa mémoire et sa faculté à cacher les noisettes lui permettent de faire des réserves pour l’hiver. En outre, ses compétences sociales lui permettent d’éviter que les autres animaux volent ses noisettes.

Ainsi, le petit mammifère a développé son intelligence dans le but de réduire sa faim pour assurer sa survie. La maximisation de récompense permet donc de comprendre  » pourquoi «  une capacité apparaît et non uniquement à quoi elle sert.

Le  » flux d’expériences  » d’un animal est suffisamment riche et varié pour le pousser à développer une large diversité de capacités afin d’obtenir sa récompense : la survie. Pour les chercheurs de DeepMind, il serait donc possible de développer une IA générale en lui soumettant un flux d’expériences suffisamment riche.

En tentant de maximiser sa récompense, un agent IA au sein d’un environnement de Reinforcement Learning pourrait apprendre la perception, le langage, l’intelligence sociale et bien plus encore. En guise d’exemple, les chercheurs citent plusieurs cas où des agents IA ont été capables d’apprendre des compétences générales au sein de jeux ou d’environnements robotiques.

Toutefois, plusieurs obstacles doivent encore être surmontés pour atteindre cet objectif. On ignore pour l’instant s’il est possible d’amasser suffisamment de données pour entraîner une IA générale.

Par ailleurs, nul n’est parvenu à créer un système d’apprentissage par renforcement capable de généraliser ses apprentissages à plusieurs domaines. De simples changements au sein d’un environnement peuvent ainsi nécessiter d’entraîner à nouveau intégralement un modèle.

Enfin, les mécanismes de la maximisation de récompense restent mystérieux à l’heure actuelle. Il est nécessaire de percer à jour cette énigme pour améliorer l’efficacité de l’apprentissage par renforcement.

Laisser un commentaire

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

Pin It on Pinterest