MARGO

Actualité

Introduction à l’Apprentissage par Renforcement

Découvrez le fonctionnement de l’Apprentissage par Renforcement (ou Reinforcement Learning) en jouant à pierre-feuille-ciseaux

Par Mao Feng Consultant Data Scientist chez Margo

20/03/2018

Avant d’aller plus loin dans votre lecture, je vous invite à défier notre robot Malphago au jeu pierre-feuille-ciseau. Grâce à l’Apprentissage par Renforcement, il devient de plus en plus fort au fur et à mesure des parties. Dans la suite de l’article, Malphago nous aidera à illustrer les fondamentaux de l’Apprentissage par Renforcement.

 

1.       Qu’est-ce que l’Apprentissage par Renforcement ?

 

L’Apprentissage par Renforcement, ou Reinforcement Learning en anglais, peut être considéré comme la science de la prise de décision. L’objectif est de prendre la meilleure décision possible étant donné un certain contexte.

Il existe de multiples champs d’application de l’Apprentissage par Renforcement. A titre d’exemples, cette méthode d’apprentissage a déjà été utilisée pour :

  • Vaincre le champion du monde du jeu de GO
  • Apprendre à un hélicoptère à faire des figures de voltige
  • Faire marcher un robot humanoïde
  • Gérer un portefeuille d’investissements

L’Apprentissage par Renforcement est à l’intersection de différents domaines scientifiques comme l’illustre l’image ci-dessous :

Le diagramme nous montre bien que les problématiques de prise de décision sont au cœur de nombreuses disciplines, ce qui fait de l’Apprentissage par Renforcement une science fondamentale dans de multiples domaines.

Dans cet article, nous nous intéressons à la Computer Science et plus particulièrement, au Machine Learning.

L’Apprentissage par Renforcement est un composant essentiel du Machine Learning, au même titre que l’Apprentissage Supervisé (Supervised Learning) et l’Apprentissage Non-Supervisé (Unsupervised Learning). Dans l’Apprentissage par Renforcement, il n’y a aucun superviseur, mais uniquement un système de récompense. A chaque action effectuée, l’agent reçoit une récompense, qui va affecter ses décisions suivantes. Il est important de comprendre qu’il n’y a pas de données indépendantes et identiquement distribuées comme c’est le cas pour l’Apprentissage Supervisé. La récompense peut être différée dans le temps, la dimension temporelle a alors un réel impact.

 

2.       Quel est le problème à résoudre ?

 

 

Lorsqu’on utilise l’Apprentissage par Renforcement, on cherche à résoudre une problématique grâce à une prise de décision séquentielle. Pas à pas, l’agent interagit avec l’environnement pour arriver à atteindre un objectif défini.

Prenons l’exemple de Malphago. Appelons Bob le joueur adverse. Ici, l’agent est Malphago, et l’environnement est « jouer avec Bob ». A chaque étape, Malphago effectue une action : pierre, feuille ou ciseaux. Bob effectue également l’action. L’environnement reçoit les deux actions et génère une observation, qui est l’une des situations possibles (pierre contre feuille ou ciseaux contre pierre, ou ciseaux contre feuille,…). La récompense correspondante est générée simultanément car l’observation nous donne directement le résultat (gagné, perdu ou match nul).

 

L’Apprentissage par Renforcement est basé sur l’hypothèse de récompense : l’objectif peut être décrit comme la maximisation des récompenses cumulatives attendues. En bref, Malphago est programmé pour gagner le plus souvent possible sur le long terme, mais pas sur une seule partie.

 

Allons un petit peu plus loin dans le fonctionnement de l’Apprentissage par Renforcement :

  • La récompense correspond au signal retour, cela indique à l’agent s’il a bien réussi une étape. Le rôle de l’agent est alors de choisir l’action à effectuer qui lui permettra de maximiser la récompense cumulative. Dans un modèle d’interaction agent/environnement différent, les actions pourraient avoir une conséquence à long-terme et la récompense serait alors différée. Dans ce cas, il serait donc plus intéressant de sacrifier la récompense immédiate pour avoir une meilleure récompense sur le long-terme.
  • L’état est l’information utilisée pour déterminer l’étape suivante. Dans notre jeu de pierre-papier-ciseaux, l’état est observable à la fois par Malphago et par Bob. Dans ce cas, on parle de Processus Décisionnels de Markov : on suppose que le futur est indépendant du passé, étant donné le présent. Plus précisément, on utilise l’observation actuelle comme l’état actuel (l’état peut être programmé pour être plus compliqué), Malphago prend sa décision en fonction de l’état et améliore continuellement sa stratégie de prise de décision.

 

3.       Les méthodes de solution.

 

De quoi est composé un agent ? Un agent est composé d’au moins un des éléments suivants :

  • Une politique: la politique va déterminer le comportement de l’agent. Elle est fonction de l’état actuel et indique à Malphago quelle option choisir pour sa prochaine action
  • Une value function : la value function évalue la valeur d’une action / d’un état. Dans l’exemple de Malphago, elle indique à l’agent si « pierre vs feuille » est un état qui va permettre de gagner le plus de parties possible contre Bob au cours du jeu. Cette fonction a pour rôle d’évaluer la récompense finale obtenue en suivant une politique particulière.
  • Un modèle : dans notre exemple, le modèle correspond à l’analyse de la stratégie de Bob du point de vue de Malphago. Il permet de prédire le prochain état et la prochaine récompense.

Ici, Malphago applique la méthode du Q-learning pour améliorer sa stratégie de jeu. Cette méthode suit une approche model-free, qui utilise à la fois la value function et la politique pour construire une procédure d’apprentissage. En d’autres termes, Malphago ne tient pas compte de la stratégie de Bob et de ce que sera sa prochaine action. Malphago évalue seulement sa value function et choisit la meilleure solution selon sa politique. Au cours des parties, il apprend cette value function et améliore la politique.

 

Mais dans quelle mesure peut-on s’approcher de la value function ? Qu’en est-il si la fonction est bien plus complexe que ce qu’on imaginait et que nous ne sommes pas capable d’évaluer la valeur de l’état correctement ? Le Deep Reinforcement Learning est alors une bonne option pour se rapprocher de la value function, grâce à sa forte capacité de représentation. Notre Deep Malphago est un exemple de la mise en place du Deep Reinforcement Learning.

 

4.       Conclusion

 

Pour conclure, l’Apprentissage par Renforcement soulève un problème fondamental dans la prise de décision séquentielle : l’environnement est initialement inconnu et l’agent interagit avec lui pour améliorer sa politique.

On peut l’apparenter à apprentissage « test-and-learn ». L’agent doit découvrir une bonne politique pendant ses expériences d’interaction avec l’environnement sans perdre trop de récompense en chemin.

J’espère que vous avez apprécié jouer avec Malphago et je vous remercie pour votre lecture.

 


Par Mao Feng Consultant Data Scientist chez Margo
Machine Learning
Actualité

La Data Science appliquée au monde du retail : les 10 use-cases incontournables

La Data Science impacte de plus en plus les business model dans toutes les industries, et notamment dans la vente de détail. Selon IBM, 62% des détaillants déclarent que l'utilisation de techniques relatives au Big Data leur donne un sérieux avantage compétitif. Savoir ce que veut votre client et à quel moment est aujourd’hui à portée de main grâce à la data science. Pour cela il suffit d’avoir les bons outils et les bons processus en place pour les utiliser. Nous présentons dans cet article 10 applications essentielles de la data science au domaine du retail.

18/05/2018 Découvrir 
Actualité

Introduction aux Chatbots avec Dialogflow

DialogFlow est un très bon outil pour apprendre à créer des Chatbots qui pourront ensuite être intégrés dans vos propres sites web ou applications. Dans cet article, je commencerai par introduire quelques notions sur Dialogflow et les Chatbots, puis je vous expliquerai comment créer simplement un Chatbot sur cette plateforme.

07/05/2018 Découvrir 
Actualité

Mise en place d'une plateforme centralisée de gestion des logs avec la suite Elastic

Les cas d’usage de la suite elastic sont nombreux. Nous citons à titre d’exemple la correction d’un dysfonctionnement applicatif par la récupération des erreurs explicites (exception, message d’erreur ..etc) et le suivi de la charge d’une application (mémoire consommée, CPU ..etc), ce qui permet d’avoir une vision globale de la production. De même au niveau métier, il est possible d’exploiter la suite pour valider une chaîne de workflow par l’extraction des données spécifiques et leurs analyses.

04/05/2018 Découvrir 
Actualité

Salon Big Data 2018 : ce qu’il faut en retenir

Selon l’IDC, le marché du Big Data devrait atteindre 203 milliards de dollars de chiffre d’affaires en 2020, contre 130,1 milliards de dollars en 2016. C’est dans ce contexte de forte croissance que 15 200 participants se sont retrouvés au palais des Congrès pour le salon Big data 2018 : deux jours consacrés à la valorisation de la donnée. Les équipes Margo étaient présentes et vous proposent un compte-rendu de ce qu’il faut en retenir.

30/03/2018 Découvrir 
Actualité

Introduction à l'Intelligence Artificielle pour BNP Paribas

Le 13 mars dernier, Eric, Data Scientist chez Margo, est intervenu lors d'un BBL (Brown Bag Lunch) organisé par BNP Paribas. Son objectif ? Vulgariser l'Intelligence Artificielle pour faire comprendre son fonctionnement et ses enjeux, le temps d'une pause déjeuner.

22/03/2018 Découvrir 
Actualité

Exploration de Google Cloud Platform

Google propose une cinquantaine de produits sur son Cloud, de l’infrastructure (stockage et puissance de calcul) au Machine Learning, en passant par la transformation et l’analyse de données massives. Ce sont des outils qui sont, pour la plupart, rapides à mettre en place (set-up en 10 min voire moins) et peu coûteux par rapport à une infrastructure standard on-premise.

06/03/2018 Découvrir