Definition

Qu'est-ce que l'apprentissage par questions-réponses (Q-Learning) ?

Le Q-learning (apprentissage Q) est une approche d'apprentissage automatique qui permet à un modèle d'apprendre de manière itérative et de s'améliorer au fil du temps en prenant les bonnes mesures. L'apprentissage Q est un type d'apprentissage par renforcement.

Avec l'apprentissage par renforcement, un modèle d'apprentissage automatique est formé pour imiter la façon dont les animaux ou les enfants apprennent. Les bonnes actions sont récompensées ou renforcées, tandis que les mauvaises sont découragées et pénalisées.

Avec la forme d'apprentissage par renforcement état-action-récompense-état-action, le régime de formation suit un modèle pour prendre les bonnes mesures. L'apprentissage Q offre une approche sans modèle de l'apprentissage par renforcement. Il n'y a pas de modèle de l'environnement pour guider le processus d'apprentissage par renforcement. L'agent, c'est-à-dire le composant d'IA qui agit dans l'environnement, apprend de manière itérative et fait des prédictions sur l'environnement de son propre chef.

L'apprentissage Q adopte également une approche hors politique de l'apprentissage par renforcement. Une approche d'apprentissage Q vise à déterminer l'action optimale en fonction de son état actuel. Pour ce faire, elle peut soit élaborer son propre ensemble de règles, soit s'écarter de la politique prescrite. Étant donné que l'apprentissage Q peut s'écarter de la politique donnée, une politique définie n'est pas nécessaire.

L'approche hors politique de l'apprentissage Q est réalisée à l'aide des valeurs Q, également connues sous le nom de valeurs d'action. Les valeurs Q sont les valeurs futures attendues pour l'action et sont stockées dans la table Q.

Chris Watkins a abordé pour la première fois les fondements de l'apprentissage par questions-réponses dans une thèse rédigée en 1989 pour l'université de Cambridge, puis a approfondi le sujet dans une publication de 1992 intitulée "Q-learning".

Comment fonctionne l'apprentissage par questions-réponses ?

Les modèles d'apprentissage Q fonctionnent selon un processus itératif qui implique de multiples composants travaillant ensemble pour aider à former un modèle. Le processus itératif implique que l'agent apprend en explorant l'environnement et en mettant à jour le modèle au fur et à mesure que l'exploration se poursuit. Les multiples composantes de l'apprentissage Q sont les suivantes :

  • Les agents. L'agent est l'entité qui agit et opère dans un environnement.
  • Les états. L'état est une variable qui identifie la position actuelle d'un agent dans un environnement.
  • Actions. L'action est l'opération de l'agent lorsqu'il se trouve dans un état spécifique.
  • Les récompenses. L'un des concepts fondamentaux de l'apprentissage par renforcement consiste à fournir une réponse positive ou négative aux actions de l'agent.
  • Épisodes. On parle d'épisode lorsqu'un agent ne peut plus entreprendre une nouvelle action et qu'il finit par s'arrêter.
  • Valeurs Q. La valeur Q est la métrique utilisée pour mesurer une action à un état particulier.

Voici les deux méthodes pour déterminer la valeur Q :

  • Différence temporelle. La formule de la différence temporelle calcule la valeur Q en incorporant la valeur de l'état et de l'action actuels en comparant les différences avec l'état et l'action précédents.
  • Équation de Bellman. Le mathématicien Richard Bellman a inventé cette équation en 1957 en tant que formule récursive pour la prise de décision optimale. Dans le contexte du q-learning, l'équation de Bellman est utilisée pour aider à calculer la valeur d'un état donné et à évaluer sa position relative. L'état ayant la valeur la plus élevée est considéré comme l'état optimal.

Les modèles d'apprentissage Q fonctionnent par essais et erreurs afin d'apprendre le comportement optimal pour une tâche. Le processus d'apprentissage Q implique la modélisation d'un comportement optimal par l'apprentissage d'une fonction de valeur d'action optimale ou fonction q. Cette fonction représente la valeur optimale à long terme de l'action a dans l'état s et suit ensuite le comportement optimal dans tous les états suivants.

Équation de Bellman

Q(s,a) = Q(s,a) + α * (r + γ * max(Q(s',a')) - Q(s,a))

L'équation se décompose comme suit :

  • Q(s, a) représente la récompense attendue de l'action a dans l'état s.
  • La récompense effectivement reçue pour cette action est référencée par r tandis que s' fait référence à l'état suivant.
  • Le taux d'apprentissage est α et γ est le facteur d'actualisation.
  • La récompense attendue la plus élevée pour toutes les actions possibles a' dans l'état s' est représentée par max(Q(s', a')).

Qu'est-ce qu'une table Q ?

La table Q comprend des colonnes et des lignes avec des listes de récompenses pour les meilleures actions de chaque état dans un environnement spécifique. Un tableau Q aide un agent à comprendre quelles actions sont susceptibles d'aboutir à des résultats positifs dans différentes situations.

Les lignes du tableau représentent les différentes situations que l'agent peut rencontrer, et les colonnes représentent les actions qu'il peut entreprendre. Au fur et à mesure que l'agent interagit avec l'environnement et reçoit des informations en retour sous la forme de récompenses ou de pénalités, les valeurs du tableau Q sont mises à jour pour refléter ce que le modèle a appris.

L'objectif de l'apprentissage par renforcement est d'améliorer progressivement les performances grâce à la table Q qui aide à choisir les actions. Grâce à un retour d'information plus important, la table Q devient plus précise, ce qui permet à l'agent de prendre de meilleures décisions et d'obtenir des résultats optimaux.

La table Q est directement liée au concept de la fonction Q. La fonction Q est une équation mathématique qui prend en compte l'état actuel de l'environnement et l'action envisagée. La fonction Q est une équation mathématique qui considère l'état actuel de l'environnement et l'action envisagée comme des données d'entrée. La fonction Q génère ensuite des résultats ainsi que les récompenses futures attendues pour cette action dans l'état spécifique. La table Q permet à l'agent de consulter la récompense future attendue pour n'importe quelle paire état-action donnée afin d'évoluer vers un état optimisé.

Qu'est-ce que le processus de l'algorithme d'apprentissage Q ?

L'algorithme d'apprentissage Q est une méthode interactive dans laquelle l'agent apprend en explorant l'environnement et en mettant à jour la table Q en fonction des récompenses reçues.

Les étapes du processus de l'algorithme d'apprentissage Q sont les suivantes :

  • Initialisation de la table Q. La première étape consiste à créer la table Q afin de suivre chaque action dans chaque état et la progression associée.
  • Observation. L'agent doit observer l'état actuel de l'environnement.
  • Action. L'agent choisit d'agir dans l'environnement. Une fois l'action terminée, le modèle observe si elle est bénéfique pour l'environnement.
  • Mise à jour. Une fois l'action entreprise, il est temps de mettre à jour le tableau Q avec les résultats.
  • Répéter. Répéter les étapes 2 à 4 jusqu'à ce que le modèle atteigne un état final pour un objectif donné.

Quels sont les avantages du Q-learning ?

L'approche de l'apprentissage par renforcement basée sur l'apprentissage Q peut s'avérer avantageuse pour plusieurs raisons, notamment les suivantes :

  • Sans modèle. L'approche sans modèle est le fondement de l'apprentissage Q et l'un de ses plus grands avantages potentiels pour certaines utilisations. Plutôt que d'exiger des connaissances préalables sur l'environnement, l'agent d'apprentissage quantitatif peut apprendre à connaître l'environnement au fur et à mesure qu'il s'entraîne. L'approche sans modèle est particulièrement bénéfique pour les scénarios dans lesquels la dynamique sous-jacente d'un environnement est difficile à modéliser ou totalement inconnue.
  • Optimisation hors politique. Le modèle peut être optimisé pour obtenir le meilleur résultat possible sans être strictement lié à une politique qui pourrait ne pas permettre le même degré d'optimisation.
  • Flexibilité. L'approche sans modèle et hors politique permet à l'apprentissage Q d'être flexible et de fonctionner dans une variété de problèmes et d'environnements.
  • Formation hors ligne. Un modèle d'apprentissage Q peut être déployé sur des ensembles de données hors ligne préalablement collectés.

Quels sont les inconvénients du Q-learning ?

L'approche Q-learning de l'apprentissage automatique par modèle de renforcement présente également certains inconvénients, tels que les suivants :

  • Compromis entre l'exploration et l'exploitation. Il peut être difficile pour un modèle d'apprentissage Q de trouver le bon équilibre entre l'essai de nouvelles actions et le maintien de ce qui est déjà connu. Il s'agit d'un dilemme communément appelé le compromis entre l'exploration et l'exploitation pour l'apprentissage par renforcement.
  • La malédiction de la dimensionnalité. Le Q-learning peut potentiellement être confronté à un risque d'apprentissage automatique connu sous le nom de malédiction de la dimensionnalité. La malédiction de la dimensionnalité est un problème lié aux données à haute dimension dans lequel la quantité de données nécessaires pour représenter la distribution augmente de manière exponentielle. Cela peut entraîner des problèmes de calcul et une diminution de la précision.
  • Surestimation. Un modèle d'apprentissage Q peut parfois être trop optimiste et surestimer la qualité d'une action ou d'une stratégie particulière.
  • Performance. Un modèle d'apprentissage Q peut prendre beaucoup de temps pour déterminer la meilleure méthode s'il existe plusieurs façons d'aborder un problème.

Quels sont les exemples de Q-learning ?

Les modèles de Q-learning peuvent améliorer les processus dans différents scénarios. Voici quelques exemples d'utilisation du Q-learning :

  • Gestion de l'énergie. Les modèles d'apprentissage Q aident à gérer l'énergie pour différentes ressources telles que l'électricité, le gaz et l'eau. Un rapport de 2022 de l'IEEE fournit une approche précise de l'intégration d'un modèle d'apprentissage quantitatif pour la gestion de l'énergie.
  • La finance. Un modèle de formation basé sur le Q-learning peut construire des modèles d'aide à la décision, comme la détermination des moments optimaux pour acheter ou vendre des actifs.
  • Jeux. Les modèles d'apprentissage Q peuvent entraîner les systèmes de jeu à atteindre un niveau de compétence expert dans un large éventail de jeux, à mesure que le modèle apprend la stratégie optimale pour progresser.
  • Systèmes de recommandation. Les modèles d'apprentissage Q peuvent aider à optimiser les systèmes de recommandation, tels que les plateformes publicitaires. Par exemple, un système publicitaire qui recommande des produits couramment achetés ensemble peut être optimisé en fonction de ce que les utilisateurs sélectionnent.
  • Robotique. Les modèles d'apprentissage Q peuvent aider à former les robots à exécuter diverses tâches, telles que la manipulation d'objets, l'évitement d'obstacles et le transport.
  • Voitures auto-conduites. Les véhicules autonomes utilisent de nombreux modèles différents, et les modèles d'apprentissage Q aident à former les modèles à prendre des décisions de conduite, par exemple lorsqu'il faut changer de voie ou s'arrêter.
  • Gestion de la chaîne d'approvisionnement. Le flux de biens et de services dans le cadre de la gestion de la chaîne d'approvisionnement peut être amélioré à l'aide de modèles de Q-learning pour aider à trouver le chemin optimisé pour les produits vers le marché.

Apprentissage par questions avec Python

Python est l'un des langages de programmation les plus courants pour l'apprentissage automatique. Les débutants et les experts utilisent couramment Python pour appliquer des modèles d'apprentissage automatique. Pour l'apprentissage Q et toute opération de science des données en Python, les utilisateurs ont besoin de Python pour écrire sur un système avec la bibliothèque NumPy (Python numérique) qui fournit un support pour les fonctions mathématiques à utiliser avec l'IA.

Avec Python et NumPy, les modèles d'apprentissage Q sont mis en place en quelques étapes de base :

  • Définir l'environnement. Créez des variables pour les états et les actions afin de définir l'environnement.
  • Initialiser la table Q. La condition initiale de la table Q est fixée à zéro.
  • Définir les hyperparamètres. Définir les paramètres en Python pour définir le nombre d'épisodes, le taux d'apprentissage et le taux d'exploration.
  • Exécuter l'algorithme d'apprentissage Q. L'agent choisit une action soit au hasard, soit en fonction de la valeur Q la plus élevée pour l'état actuel. Une fois l'action entreprise, la table Q est mise à jour avec les résultats.

Application Q-learning

Avant d'appliquer un modèle d'apprentissage Q, il est essentiel de comprendre le problème et la manière dont la formation Q peut être appliquée à ce problème.

Mettre en place l'apprentissage Q en Python avec un éditeur de code standard ou un environnement de développement intégré pour écrire le code. Pour appliquer et tester un modèle d'apprentissage Q, utilisez un outil d'apprentissage automatique, tel que le Gymnase de la Fondation Farama. Parmi les autres outils courants, citons le cadre d'application d'apprentissage machine PyTorch, un logiciel libre, qui prend en charge les flux de travail d'apprentissage par renforcement, y compris l'apprentissage Q.

Pour approfondir sur IA appliquée, GenAI, IA infusée