Suivez nous sur
Classe de maître IA :

AI 101

Qu'est-ce que l'apprentissage par renforcement ?

mm
Le kit de préparation mis à jour on

Qu'est-ce que l'apprentissage par renforcement ?

En termes simples, l’apprentissage par renforcement est une technique d’apprentissage automatique qui consiste à former un agent d’intelligence artificielle par la répétition d’actions et les récompenses associées. Un agent d'apprentissage par renforcement expérimente dans un environnement, prend des mesures et est récompensé lorsque les actions correctes sont prises. Au fil du temps, l'agent apprend à prendre les mesures qui maximiseront sa récompense. C'est une définition rapide de l'apprentissage par renforcement, mais examiner de plus près les concepts qui sous-tendent l'apprentissage par renforcement vous aidera à en acquérir une compréhension meilleure et plus intuitive.

Le terme « apprentissage par renforcement » est adapté du concept de renforcement en psychologie. Pour cette raison, prenons un moment pour comprendre le concept psychologique de renforcement. Au sens psychologique, le terme renforcement fait référence à quelque chose qui augmente la probabilité qu'une réponse/action particulière se produise. Ce concept de renforcement est une idée centrale de la théorie du conditionnement opérant, initialement proposée par le psychologue BF Skinner. Dans ce contexte, le renforcement est tout ce qui fait augmenter la fréquence d'un comportement donné. Si nous pensons à un renforcement possible pour les humains, cela peut être des choses comme des éloges, une augmentation au travail, des bonbons et des activités amusantes.

Au sens psychologique traditionnel, il existe deux types de renforcement. Il y a le renforcement positif et le renforcement négatif. Le renforcement positif est l'ajout de quelque chose pour augmenter un comportement, comme donner une friandise à votre chien lorsqu'il se comporte bien. Le renforcement négatif consiste à supprimer un stimulus pour provoquer un comportement, comme couper les bruits forts pour amadouer un chat capricieux.

Renforcement positif et négatif

Le renforcement positif augmente la fréquence d'un comportement tandis que le renforcement négatif diminue la fréquence. En général, le renforcement positif est le type de renforcement le plus couramment utilisé dans l'apprentissage par renforcement, car il aide les modèles à maximiser les performances d'une tâche donnée. Non seulement cela, mais le renforcement positif conduit le modèle à apporter des changements plus durables, des changements qui peuvent devenir des modèles cohérents et persister pendant de longues périodes.

En revanche, alors que le renforcement négatif rend également un comportement plus susceptible de se produire, il est utilisé pour maintenir une norme de performance minimale plutôt que pour atteindre la performance maximale d'un modèle. Le renforcement négatif dans l'apprentissage par renforcement peut aider à s'assurer qu'un modèle est tenu à l'écart des actions indésirables, mais il ne peut pas vraiment amener un modèle à explorer les actions souhaitées.

Formation d'un agent de renfort

Lorsqu'un agent d'apprentissage par renforcement est formé, il y a quatre ingrédients différents or Etats utilisés dans la formation : états initiaux (Etat 0), nouvel état (Etat 1), actions et récompenses.

Imaginez que nous formons un agent de renforcement pour jouer à un jeu vidéo de plateforme où le but de l'IA est d'arriver à la fin du niveau en se déplaçant directement sur l'écran. L'état initial du jeu est tiré de l'environnement, ce qui signifie que la première image du jeu est analysée et donnée au modèle. Sur la base de ces informations, le modèle doit décider d'une action.

Pendant les phases initiales de formation, ces actions sont aléatoires mais au fur et à mesure que le modèle se renforce, certaines actions deviendront plus courantes. Une fois l'action effectuée, l'environnement du jeu est mis à jour et un nouvel état ou cadre est créé. Si l'action entreprise par l'agent a produit un résultat souhaitable, disons dans ce cas que l'agent est toujours en vie et n'a pas été touché par un ennemi, une récompense est donnée à l'agent et il devient plus susceptible de faire de même dans l'avenir.

Ce système de base est constamment bouclé, se reproduisant encore et encore, et à chaque fois l'agent essaie d'en apprendre un peu plus et de maximiser sa récompense.

Tâches épisodiques vs continues

Les tâches d'apprentissage par renforcement peuvent généralement être classées dans l'une des deux catégories suivantes : tâches épisodiques et tâches continues.

Les tâches épisodiques effectueront la boucle d'apprentissage/formation et amélioreront leurs performances jusqu'à ce que certains critères finaux soient remplis et que la formation soit terminée. Dans un jeu, cela peut être d'atteindre la fin du niveau ou de tomber dans un danger comme des pointes. En revanche, les tâches continues n'ont pas de critères de fin, continuant essentiellement à former indéfiniment jusqu'à ce que l'ingénieur choisisse de mettre fin à la formation.

Monte Carlo vs différence temporelle

Il existe deux manières principales d'apprendre ou de former un agent d'apprentissage par renforcement. Dans l'approche de Monte-Carlo, les récompenses ne sont remises à l'agent (son score est mis à jour) qu'à la fin de l'épisode d'entraînement. En d'autres termes, ce n'est que lorsque la condition de terminaison est atteinte que le modèle apprend ses performances. Il peut ensuite utiliser ces informations pour mettre à jour et lorsque le prochain cycle de formation est lancé, il répondra conformément aux nouvelles informations.

Le méthode de différence temporelle diffère de la méthode de Monte Carlo en ce que l'estimation de la valeur, ou l'estimation du score, est mise à jour au cours de l'épisode d'entraînement. Une fois que le modèle passe au pas de temps suivant, les valeurs sont mises à jour.

Exploration vs Exploitation

La formation d'un agent d'apprentissage par renforcement est un acte d'équilibre, impliquant l'équilibrage de deux métriques différentes : l'exploration et l'exploitation.

L'exploration est l'acte de collecter plus d'informations sur l'environnement environnant, tandis que l'exploration utilise les informations déjà connues sur l'environnement pour gagner des points de récompense. Si un agent explore et n'exploite jamais l'environnement, les actions souhaitées ne seront jamais réalisées. D'autre part, si l'agent exploite et n'explore jamais, l'agent n'apprendra à effectuer qu'une seule action et ne découvrira pas d'autres stratégies possibles pour gagner des récompenses. Par conséquent, il est essentiel d'équilibrer l'exploration et l'exploitation lors de la création d'un agent d'apprentissage par renforcement.

Cas d'utilisation pour l'apprentissage par renforcement

L'apprentissage par renforcement peut être utilisé dans une grande variété de rôles et convient mieux aux applications où les tâches nécessitent une automatisation.

L'automatisation des tâches à effectuer par les robots industriels est un domaine où l'apprentissage par renforcement s'avère utile. L'apprentissage par renforcement peut également être utilisé pour des problèmes tels que l'exploration de texte, la création de modèles capables de résumer de longs corps de texte. Les chercheurs expérimentent également l'utilisation de l'apprentissage par renforcement dans le domaine de la santé, avec des agents de renforcement chargés de tâches telles que l'optimisation des politiques de traitement. L'apprentissage par renforcement pourrait également être utilisé pour personnaliser le matériel pédagogique destiné aux élèves.

Résumé de l'apprentissage par renforcement

L'apprentissage par renforcement est une méthode puissante de construction d'agents d'IA qui peut conduire à des résultats impressionnants et parfois surprenants. La formation d'un agent par l'apprentissage par renforcement peut être complexe et difficile, car cela nécessite de nombreuses itérations de formation et un équilibre délicat de la dichotomie explorer/exploiter. Cependant, en cas de succès, un agent créé avec l'apprentissage par renforcement peut effectuer des tâches complexes dans une grande variété d'environnements différents.

Blogueur et programmeur spécialisé dans Machine Learning et L'apprentissage en profondeur les sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.