{"id":3594,"date":"2021-11-18T17:12:00","date_gmt":"2021-11-18T17:12:00","guid":{"rendered":"https:\/\/campus.hesge.ch\/blog-master-is\/?p=3594"},"modified":"2021-10-27T13:47:41","modified_gmt":"2021-10-27T13:47:41","slug":"du-reinforcement-learning-a-gail","status":"publish","type":"post","link":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/","title":{"rendered":"Du Reinforcement Learning \u00e0 GAIL"},"content":{"rendered":"\n<p><em>Par Alexandre Da Mota et Thomas Carreira<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\n\n\n\n<p>Dans ce billet de blog, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning. Nous commen\u00e7ons par aborder les principes fondamentaux du reinforcement learning qui nous permettent par la suite d\u2019encha\u00eener sur l\u2019imitation learning ainsi que deux de ses algorithmes, le behavioral cloning ainsi que DAgger. Nous poursuivons en expliquant les principes de generative adversarial network, mais \u00e9galement de l\u2019inverse reinforcement learning ce qui nous permet de finir avec le generative adversarial imitation learning. Le but de ce billet est d\u2019\u00eatre informatif et non pas exhaustif, si vous souhaitez en apprendre plus sur les sujets abord\u00e9s dans cet article, vous trouverez dans la bibliographie les ouvrages qui nous ont inspir\u00e9s.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Reinforcement Learning<\/h2>\n\n\n\n<p>Pour bien comprendre le concept d\u2019imitation learning (IL), il est int\u00e9ressant de commencer \u00e0 se pencher sur le reinforcement learning (RL), car ces deux m\u00e9thodes ont le m\u00eame objectif, mais diff\u00e8rent dans la mani\u00e8re de l\u2019atteindre. Il est donc important de comprendre les concepts cl\u00e9s qui d\u00e9finissent ces deux m\u00e9thodes, afin d\u2019apprendre \u00e0 les diff\u00e9rencier convenablement.Le concept de RL s\u2019articule autour d\u2019un <em>agent<\/em> qui repr\u00e9sente l\u2019intelligence artificielle (IA) que l\u2019on cherche \u00e0 cr\u00e9er. Cet agent \u00e9volue dans un <em>environnement<\/em> avec lequel il va interagir. Chaque action que l\u2019agent va entreprendre sur l\u2019environnement va changer son \u00e9tat (state) et un state repr\u00e9sente l\u2019\u00e9tat de l\u2019environnement \u00e0 un instant <em>t<\/em>.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p>Figure 1 : Diagramme d\u2019interaction entre l\u2019agent et l\u2019environnement dans un processus de d\u00e9cision Markovien (Markov Decision Process)<\/p>\n<\/div><\/div>\n\n\n\n<p class=\"has-text-align-center\"><img fetchpriority=\"high\" decoding=\"async\" alt=\"5 Things You Need to Know about Reinforcement Learning - KDnuggets\" src=\"https:\/\/lh6.googleusercontent.com\/ofQCVROipZ893Ij7Xjl4p3dGHDX8ikLpN7aU5baWbxoaLFYfQ7NzrI2M3UFnWhrjRh-QDs4dDU1MXqHjWSoRR5NsCgpg9NQbfqRBdgVB00w6Xey1CYC1N7bJg0m_JWaTkEVfqgEM=s0\" width=\"602\" height=\"232\"><\/p>\n\n\n\n<p>Source : SUTTON, Richard S. et BARTO, Andrew G., 2018. <em>Reinforcement learning: an introduction<\/em>. Second edition. Cambridge, Massachusetts : The MIT Press. Adaptive computation and machine learning series. ISBN 978-0-262-03924-6. Q325.6 .R45 2018<\/p>\n\n\n\n<p>L\u2019agent doit donc r\u00e9aliser de nombreuses actions dans l\u2019environnement afin de se rapprocher de son but. Cependant, son but, d\u2019un projet \u00e0 un autre, est rarement le m\u00eame. Par exemple, dans le cadre d\u2019une application de plans routiers, l\u2019objectif de l\u2019agent est de trouver l\u2019itin\u00e9raire le plus rapide. En revanche, dans le cadre du jeu CartPole qui consiste \u00e0 maintenir la barre (la tige beige) droite, l\u2019objectif de l\u2019agent est de faire bouger le cart (le bloc noir) de telle sorte \u00e0 ce que la barre ne tombe pas.<\/p>\n\n\n\n<p>Figure 2 : Repr\u00e9sentation du jeu CartPole, en noir, le petit cart que l\u2019agent doit faire bouger afin de maintenir en \u00e9quilibre la barre beige.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" alt=\"Introducing CartPole-v1 - Hands-On Q-Learning with Python [Book]\" src=\"https:\/\/lh3.googleusercontent.com\/i-4DlKugT9ineY4fAlS9mhew06bhWNlfL7izgKYq9Pa12P_3TZyBlKPloPKjNIY1GTRi4c0wrIipTYS7mRG0n4Zfa4i0_wz0DvKq1XcmkU0eOeoWOPlnsH9ul9iUNCcW5Njcu24M=s0\" width=\"418\" height=\"279\"><\/p>\n\n\n\n<p>Source : <em>Introducing CartPole-v1 &#8211; Hands-On Q-Learning with Python [Book]<\/em> [en ligne]. S.l. : s.n. [Consult\u00e9 le 15 septembre 2021]. ISBN 9781789345803. Disponible \u00e0 l\u2019adresse : <a href=\"https:\/\/www.oreilly.com\/library\/view\/hands-on-q-learning-with\/9781789345803\/a8a2cb05-8654-4cd1-b9c3-84d5c193de06.xhtml\">https:\/\/www.oreilly.com\/library\/view\/hands-on-q-learning-with\/9781789345803\/a8a2cb05-8654-4cd1-b9c3-84d5c193de06.xhtml<\/a>.<\/p>\n\n\n\n<p>Maintenant, pour que les agents atteignent leur objectif, ils doivent r\u00e9aliser plusieurs s\u00e9ries d&#8217;entra\u00eenements leur permettant de se familiariser avec leur environnement. Cette familiarisation en RL se traduit par une policy qui dicte \u00e0 l\u2019agent quel comportement avoir selon l\u2019\u00e9tat dans lequel il se trouve. Pour trouver la policy la plus optimale, celle qui permet \u00e0 l\u2019agent d\u2019atteindre son objectif, il va devoir pratiquer. L\u2019agent va donc effectuer des s\u00e9ries d\u2019<em>action <\/em>lui permettant de passer d\u2019un <em>\u00e9tat <\/em>\u00e0 un autre et ainsi de commencer \u00e0 se familiariser avec la dynamique de l&#8217;\u00e9cosyst\u00e8me. On peut voir la dynamique comme \u00e9tant la probabilit\u00e9 que l\u2019agent puisse passer d\u2019un \u00e9tat \u00e0 un autre. De plus, il existe les environnements d\u00e9terministes, comme les \u00e9checs o\u00f9 l\u2019on sait ce qu&#8217;il se passe lorsque l\u2019on bouge un pion et les environnements stochastiques o\u00f9 chaque action \u00e0 une probabilit\u00e9 qu\u2019elle se r\u00e9alise normalement. <\/p>\n\n\n\n<p>En revanche, ce qui permet \u00e0 l\u2019agent de savoir s\u2019il a effectu\u00e9 la bonne action sont les rewards (figure 1) ou r\u00e9compenses en fran\u00e7ais. Une r\u00e9compense est un nombre et selon les objectifs \u00e0 atteindre cette valeur peut varier. Par exemple, dans le cas o\u00f9 l\u2019agent serait dans un labyrinthe et devrait emprunter le chemin le plus court pour en sortir, il serait possible qu\u2019\u00e0 chaque pas, la r\u00e9compense soit de 1 et l\u2019objectif de l\u2019agent serait de minimiser ce r\u00e9sultat. Selon les situations, l\u2019agent essaye donc d\u2019ajuster sa policy afin de minimiser ou de maximiser les r\u00e9compenses dans le but d\u2019obtenir le meilleur r\u00e9sultat. <\/p>\n\n\n\n<p>Une fois le meilleur score atteint, l\u2019agent aura trouv\u00e9 l\u2019optimal policy. Cependant, en RL, il peut s\u2019av\u00e9rer que ce syst\u00e8me de r\u00e9compense atteigne ses limites. Cela peut \u00eatre particuli\u00e8rement vrai dans des environnements o\u00f9 les r\u00e9compenses se font rares, par exemple, un jeu o\u00f9 des r\u00e9compenses ne sont re\u00e7ues que lorsque le jeu est gagn\u00e9 ou perdu. Pour r\u00e9soudre ce probl\u00e8me, il est possible de concevoir manuellement des fonctions de r\u00e9compenses, qui fournissent \u00e0 l&#8217;agent des r\u00e9compenses plus fr\u00e9quentes. Malgr\u00e9 tout, dans certains sc\u00e9narios complexes comme l\u2019apprentissage d\u2019un v\u00e9hicule autonome, la confection manuelle de telles fonctions peut s\u2019av\u00e9rer extr\u00eamement compliqu\u00e9e voir impossible. C\u2019est une des raisons qui vient motiver l\u2019utilisation de l\u2019imitation learning.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Imitation Learning<\/h2>\n\n\n\n<p>La notion de r\u00e9compense en imitation learning (IL) n\u2019existe plus, elle est remplac\u00e9e par l\u2019expert. Au lieu de s\u2019orienter en se basant sur des r\u00e9compenses, l\u2019agent va devoir essayer de comprendre et de reproduire aussi fid\u00e8lement que possible les agissements de l\u2019expert.&nbsp;Cette m\u00e9thode est plus int\u00e9ressante que la pr\u00e9c\u00e9dente pour le projet SimGait, car nous avons d\u00e9j\u00e0 les experts. Effectivement, les mod\u00e9lisations de marches des patients qui nous ont \u00e9t\u00e9 transmises par les HUG, repr\u00e9senteront les experts. De plus, ils seraient trop fastidieux et potentiellement impossible d\u2019allouer manuellement des r\u00e9compenses \u00e0 chacune des int\u00e9ractions que l\u2019agent pourrait effectuer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Behavioural Cloning<\/h3>\n\n\n\n<p>La forme la plus simple d\u2019imitation learning est le behavioural cloning (BC), qui se concentre sur l\u2019apprentissage de la policy de l\u2019expert en utilisant l\u2019apprentissage supervis\u00e9. L\u2019apprentissage supervis\u00e9 a pour objectif d&#8217;entra\u00eener un algorithme de telle sorte qu\u2019il puisse pr\u00e9dire \u00e0 quelle classe une instance appartient.&nbsp;<\/p>\n\n\n\n<p>Par exemple, prenons un jeu de donn\u00e9es d\u00e9crivant des fleurs pouvant \u00eatre des iris =&gt; setosa, versicolor ou virginica, ce sont les trois classes de notre jeu de donn\u00e9es. Dans ce set de donn\u00e9es, chaque instance est compos\u00e9e de cinq attributs. Les quatres premiers sont la longueur et largeur des p\u00e9tales ainsi que la longueur et largeur des s\u00e9pales. Le cinqui\u00e8me attribut est celui d\u00e9finissant la famille de l\u2019iris et c\u2019est cet attribut que l\u2019on cherche \u00e0 deviner. Un algorithme d\u2019apprentissage supervis\u00e9 va donc commencer par entra\u00eener son classificateur \u00e0 partir des donn\u00e9es qui lui auront \u00e9t\u00e9 fournies. Ces derni\u00e8res ne seront pas labellis\u00e9es, c\u2019est-\u00e0-dire que l\u2019attribut d\u00e9finissant la classe aura \u00e9t\u00e9 extrait, car c\u2019est ce dernier que l\u2019on cherche \u00e0 pr\u00e9dire. Afin de r\u00e9aliser ces pr\u00e9dictions, il existe de nombreux algorithmes tels que Naive Bayes, K-nearest neighbor, Linear regression, \u2026 Comme dit pr\u00e9c\u00e9demment, ces algorithmes vont devoir s\u2019entra\u00eener. Une fois entra\u00een\u00e9s, ils seront capables de r\u00e9aliser des pr\u00e9dictions et pour calculer la pr\u00e9cision de ces derni\u00e8res, nous allons comparer leurs r\u00e9sultats avec les vraies valeurs. Ainsi, il sera possible d\u2019\u00e9tablir un pourcentage permettant d\u2019\u00e9valuer l\u2019efficacit\u00e9 de l\u2019algorithme.<\/p>\n\n\n\n<p>Pour behavioural cloning, la m\u00e9thode est plus ou moins la m\u00eame. Les d\u00e9monstrations de l\u2019expert se pr\u00e9sentent sous forme de paires d\u2019\u00e9tat et d\u2019action. L\u2019objectif de l\u2019agent va \u00eatre de deviner \u00e0 partir de l\u2019\u00e9tat, quelle action, l\u2019expert a ex\u00e9cut\u00e9e. Pour y parvenir, l\u2019agent va s\u2019y prendre de la m\u00eame fa\u00e7on qu&#8217;avec le probl\u00e8me de classification pr\u00e9c\u00e9dent qui concernait les iris. Il va donc \u00e0 partir des \u00e9tats faire des pr\u00e9dictions sur l\u2019action, puis la pr\u00e9cision de l\u2019algorithme sera calcul\u00e9e en comparant la pr\u00e9diction avec la r\u00e9alit\u00e9.&nbsp;Cependant, behavioural cloning comporte une faille, car si l\u2019agent se retrouve dans un \u00e9tat qui n\u2019a pas \u00e9t\u00e9 couvert par les d\u00e9monstrations de l\u2019expert, l\u2019agent a de fortes chances de d\u00e9vier et finir par se crasher.<\/p>\n\n\n\n<p>Figure 3 : L\u2019\u00e9chantillon fourni par l\u2019expert est repr\u00e9sent\u00e9 par les traits tir\u00e9s bleu et l\u2019agent qui tente de reproduire la trajectoire de l\u2019expert est en rouge. On peut observer qu\u2019\u00e0 un certain point l\u2019agent se retrouve dans un \u00e9tat qui n\u2019avait pas \u00e9t\u00e9 couvert par la d\u00e9monstration de l\u2019expert et finit donc par se crasher.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" alt=\"A brief overview of Imitation Learning | by SmartLab AI | Medium\" src=\"https:\/\/lh4.googleusercontent.com\/fG5t4SoG27GXfnvv8zdn5RlOrwiLM7ki1ldJijF0vtVJfCNSQhi00GIuwyWVF9mwd8QrzF5eXi_ZjoSR6yVmg5wA3DEkEmABg4k4AJYk49ElI07MCjRm_XojJimyfMu0MAFggvAz=s0\" width=\"602\" height=\"331\"><\/p>\n\n\n\n<p>Source : AI, SmartLab, 2019. <em>A brief overview of Imitation Learning<\/em> [en ligne]. 19 septembre 2019. S.l. : s.n. [Consult\u00e9 le 15 septembre 2021]. Disponible \u00e0 l\u2019adresse : <a href=\"https:\/\/smartlabai.medium.com\/a-brief-overview-of-imitation-learning-8a8a75c44a9c\">https:\/\/smartlabai.medium.com\/a-brief-overview-of-imitation-learning-8a8a75c44a9c<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DAgger<\/h3>\n\n\n\n<p>Pour contrer ce d\u00e9faut, il existe un autre algorithme s\u2019appelant DAgger (Dataset Agregation). L\u2019objectif de ce dernier est de faire en sorte de couvrir plus d\u2019\u00e9tats qu\u2019avec behavioral cloning afin de s\u2019approcher de l\u2019exhaustivit\u00e9. Afin d\u2019y parvenir, DAgger va demander \u00e0 l\u2019expert de fournir une trajectoire \u00e9tant compos\u00e9e de paires d\u2019\u00e9tat et d\u2019action comme vu pr\u00e9c\u00e9demment. Ensuite, notre policy va \u00eatre entra\u00een\u00e9 de la m\u00eame fa\u00e7on qu\u2019avec behavioral cloning.&nbsp;A ce point, nous avons une policy imitant le comportement de l\u2019expert. Cependant, le set de trajectoire fourni par l\u2019expert ne couvre pas toutes les possibilit\u00e9s. Nous allons donc ex\u00e9cuter notre policy novice afin de r\u00e9colter une nouvelle trajectoire. De cette derni\u00e8re, nous n\u2019allons retenir que les \u00e9tats. L\u2019expert va devoir compl\u00e9ter cette trajectoire en ajoutant les actions qu\u2019il aurait effectu\u00e9es dans chaque \u00e9tat.<\/p>\n\n\n\n<p>Figure 4 : La ligne bleue repr\u00e9sente la trajectoire de l\u2019agent et chaque carr\u00e9 bleu repr\u00e9sente un \u00e9tat. L\u2019expert va donc montrer les actions (directions) qu\u2019il aurait prises, s\u2019il \u00e9tait dans chaque \u00e9tat.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/RTNUCgSB90mBs2520NnlkJ9gxx412ImCGwyBEDeSoP0rRyKL5ixMuxG1mDzHDbB3Y5R-jBGYhxC85OE5UiBqIFJNE0CECpYL0Iw74RXkJDFVl0DM_2eMwgy7use6_qWES4iMZmtp=s0\" width=\"511\" height=\"312\"><\/p>\n\n\n\n<p>Source : SCHULMAN, John, 2015. DAGGER and Friends. In : [en ligne]. S.l. 5 octobre 2015. [Consult\u00e9 le 9 septembre 2021]. Disponible \u00e0 l\u2019adresse : <a href=\"https:\/\/rll.berkeley.edu\/deeprlcourse-fa15\/docs\/2015.10.5.dagger.pdf\">https:\/\/rll.berkeley.edu\/deeprlcourse-fa15\/docs\/2015.10.5.dagger.pdf<\/a>.<\/p>\n\n\n\n<p>Cette nouvelle trajectoire compl\u00e9t\u00e9e sera ensuite ajout\u00e9e au set de trajectoires initiales. Pour finir, la policy novice va ensuite prendre le set de trajectoires mis \u00e0 jour et de nouveau s\u2019entra\u00eener \u00e0 reproduire le comportement de l\u2019expert qui aura \u00e9t\u00e9 \u00e9tendu \u00e0 d\u2019autres \u00e9tats.&nbsp;\u00c9tant donn\u00e9 que le sc\u00e9nario ou l\u2019agent se crachait a \u00e9t\u00e9 corrig\u00e9 par l&#8217;expert, la nouvelle version de la policy devrait \u00eatre meilleure que la pr\u00e9c\u00e9dente. Cependant, il est possible que certaines situations n\u2019aient pas encore \u00e9t\u00e9 couvertes. La policy novice mise \u00e0 jour va donc de nouveau \u00eatre ex\u00e9cut\u00e9e afin d\u2019explorer de nouveaux \u00e9tats pas encore couvert par l\u2019expert. Puis les \u00e9tapes vues pr\u00e9c\u00e9demment vont \u00eatre r\u00e9it\u00e9r\u00e9es jusqu\u2019\u00e0 obtenir la meilleure policy, celle qui couvrira potentiellement tous les \u00e9tats. Malgr\u00e9 tout, cette m\u00e9thode poss\u00e8de toujours un probl\u00e8me, car pour corriger les trajectoires de l\u2019agent, il nous est n\u00e9cessaire d&#8217;interroger l\u2019expert. Contrairement \u00e0 behavioral cloning o\u00f9 nous n\u2019avions besoin que de la trajectoire (\u00e9tat, action), cette m\u00e9thode demande des interactions r\u00e9guli\u00e8res avec l\u2019expert. La prochaine m\u00e9thode generative adversarial imitation learning (GAIL) reprend des concepts de l\u2019imitation learning sans les d\u00e9savantages vu pr\u00e9c\u00e9demment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Generative Adversarial Imitation Learning<\/h2>\n\n\n\n<p>GAIL est un algorithme sans mod\u00e8le d\u2019apprentissage par imitation qui permet d\u2019imiter des comportements complexes dans des environnements encore plus complexes. C\u2019est gr\u00e2ce \u00e0 la combinaison des <em>generative adversarial networks <\/em>(GAN) et de l\u2019<em>inverse reinforcement learning<\/em> (IRL) que GAIL peut fonctionner<em>.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Generative Adversarial Networks<\/h3>\n\n\n\n<p>Les GAN sont des architectures de r\u00e9seau neuronales qui ont pour objectif de r\u00e9soudre des jeux d\u2019imitation comme le <em>deep fake<\/em>. Le <em>deep fake<\/em> est une technique populaire de synth\u00e8se d&#8217;images bas\u00e9e sur de l&#8217;intelligence artificielle. Elle est plus puissante que la traduction traditionnelle d&#8217;image \u00e0 image, car elle peut g\u00e9n\u00e9rer des images sans donn\u00e9es d&#8217;entra\u00eenement appari\u00e9es. L&#8217;objectif du <em>deep fake<\/em> est de capturer des caract\u00e9ristiques communes \u00e0 partir d&#8217;une collection d&#8217;images existantes et de trouver un moyen d&#8217;induire d&#8217;autres images cr\u00e9\u00e9es avec ces m\u00eames caract\u00e9ristiques. Les GAN nous offrent un moyen pour impl\u00e9menter les <em>deep fake<\/em> (Tianxiang Shen, 2018). Aujourd\u2019hui, plusieurs articles avec toutes sortes de probl\u00e9matiques \u00e9thiques li\u00e9es au <em>deep fake<\/em> et \u00e0 la vraisemblance de leurs r\u00e9sultats sont publi\u00e9s. Une preuve de la puissance d\u2019imitation du framework.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Fonctionnement<\/h4>\n\n\n\n<p>Un r\u00e9seau GAN est compos\u00e9 de deux r\u00e9seaux de neurones : un <strong>g\u00e9n\u00e9rateur <\/strong>et un <strong>adversaire <\/strong>(\u00e9galement appel\u00e9 discriminant).&nbsp;Le r\u00f4le du g\u00e9n\u00e9rateur, qu\u2019on appellera G, sera de cr\u00e9er une imitation (\u201cfake\u201d) et le discriminant, qu\u2019on appellera D, devra \u00e9valuer ce fake et donner une \u201cnote\u201d de vraisemblance sur la qualit\u00e9 de celui-ci. De ce fait, D indique \u00e0 G qu\u2019elles seraient les param\u00e8tres \u00e0 changer pour am\u00e9liorer l\u2019imitation de G. L\u2019objectif \u00e9tant que D ne puisse plus faire la diff\u00e9rence avec le r\u00e9sultat de G et une donn\u00e9e authentique. Pour ce faire, on va donner un lot de donn\u00e9es authentiques pour entra\u00eener le discriminant \u00e0 diff\u00e9rencier une imitation d\u2019une donn\u00e9e authentique. Ensuite, le g\u00e9n\u00e9rateur cr\u00e9e une nouvelle imitation qui sera \u00e9valu\u00e9e par D. Et ainsi, chacun son tour, les r\u00e9seaux de neurones sont entra\u00een\u00e9s jusqu\u2019\u00e0 ce que le discriminant ne soit plus capable de diff\u00e9rencier les deux.<\/p>\n\n\n\n<p>Figure 5 : Sch\u00e9ma s\u00e9mantique du fonctionnement des GAN o\u00f9 G est le g\u00e9n\u00e9rateur, Xtrain sont les donn\u00e9es authentiques et D est le discriminant.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/O3YGljohxPFkQTpXMLgC_fFZP8y8VPvedAdy8TGRcrtvzgjIMMixHeRlKkTB8fI_jZ78Wpmxzyo2aHl6cFhDcyy-_x6A25ExQnGH60hOXY-Od-Mb931jYMwbncdqhVIh57UJURpx=s0\" width=\"602\" height=\"216\"><\/p>\n\n\n\n<p>Source : DE CRISTOFARO, Emiliano, 2017. <em>Figure 1: Generative Adversarial Network (GAN).<\/em> [en ligne]. 2017. S.l. : s.n. [Consult\u00e9 le 16 septembre 2021]. Disponible \u00e0 l\u2019adresse : <a href=\"https:\/\/www.researchgate.net\/figure\/Generative-Adversarial-Network-GAN_fig1_317061929\">https:\/\/www.researchgate.net\/figure\/Generative-Adversarial-Network-GAN_fig1_317061929<\/a>.<\/p>\n\n\n\n<p>On initialise G avec des valeurs al\u00e9atoires comprises entre 0 et 1. De ce fait, G cr\u00e9e une imitation qu\u2019il transmet au discriminant, D. D qui, au pr\u00e9alable a re\u00e7u des donn\u00e9es authentiques, compare l\u2019imitation avec les authentiques et donne la probabilit\u00e9 que l\u2019image re\u00e7ue de G soit \u201cfake\u201d. Puis, gr\u00e2ce \u00e0 l\u2019algorithme de la r\u00e9tropropagation du gradient, D informe des modifications \u00e0 G en changeant les poids synaptiques des neurones afin d\u2019am\u00e9liorer son imitation. Les deux r\u00e9seaux s&#8217;entra\u00eenent chacun leur tour : D s&#8217;entra\u00eene \u00e0 diff\u00e9rencier une donn\u00e9e authentique d\u2019un \u201cfake\u201d et G, sur la base des r\u00e9sultats de D s&#8217;entra\u00eene \u00e0 cr\u00e9er une imitation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Inverse Reinforcement Learning<\/h3>\n\n\n\n<p>L\u2019Inverse Reinforcement Learning (IRL) r\u00e9pond au m\u00eame probl\u00e8me que l\u2019imitation learning. Comme vu pr\u00e9c\u00e9demment, il est parfois quasiment impossible de r\u00e9aliser manuellement la fonction g\u00e9n\u00e9rant les r\u00e9compenses. Cette situation survient la plupart du temps lorsque l\u2019environnement est trop complexe. Pour pallier ce probl\u00e8me, l\u2019IRL va utiliser un expert comme pour l\u2019IL. Cependant, au lieu d\u2019essayer de reproduire le plus fid\u00e8lement possible le comportement de l\u2019expert, l\u2019IRL va plut\u00f4t tenter de deviner et de reproduire la fonction de r\u00e9compenses de l\u2019expert en analysant son comportement. Un des algorithmes les plus connus permettant d\u2019atteindre cet objectif s&#8217;appelle maximum entropy. Ensuite, une fois que nous avons la bonne fonction de r\u00e9compense, le probl\u00e8me se r\u00e9duit \u00e0 trouver la bonne policy et peut \u00eatre r\u00e9solue avec des m\u00e9thodes d&#8217;apprentissage par renforcement standard. Malgr\u00e9 tout, cette m\u00e9thode comporte quand m\u00eame des failles. Tout d&#8217;abord, une policy peut \u00eatre optimale pour de nombreuses fonctions de r\u00e9compense diff\u00e9rentes et certaines d\u2019entre elles peuvent \u00eatre d\u00e9g\u00e9n\u00e9r\u00e9es en ayant par exemple assign\u00e9 z\u00e9ro r\u00e9compense \u00e0 tous les \u00e9tats. De plus, l\u2019IRL suppose que le comportement observ\u00e9 est optimal. Ce qui est une hypoth\u00e8se forte, sans doute trop forte lorsque nous parlons de d\u00e9monstrations humaines.&nbsp;<\/p>\n\n\n\n<p>Nous allons maintenant aborder la derni\u00e8re m\u00e9thode d\u2019apprentissage qui est Generative adversarial imitation learning.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Generative Adversarial Imitation Learning<\/h2>\n\n\n\n<p>GAIL applique tous les fondamentaux parcourus dans ce rapport. En effet, l\u2019algorithme utilise une architecture GAN combin\u00e9e \u00e0 un apprentissage par renforcement inverse (IRL).&nbsp; Une des probl\u00e9matiques soulev\u00e9es dans ce rapport, chapitre sur l\u2019apprentissage par imitation, est le besoin de l\u2019agent \u00e0 se r\u00e9f\u00e9rer \u00e0 un expert pour s\u2019am\u00e9liorer. Dans un environnement complexe, il est impossible d\u2019avoir toutes les possibilit\u00e9s parcourues par l\u2019expert donc, l\u2019agent sera limit\u00e9 dans son apprentissage. Cet algorithme utilise l\u2019architecture des GAN pour pallier cette probl\u00e9matique. En effet, le fait que le g\u00e9n\u00e9rateur ne soit jamais expos\u00e9 aux donn\u00e9es authentiques a permis de minimiser ce probl\u00e8me. Le discriminant apprend \u00e0 distinguer les performances g\u00e9n\u00e9r\u00e9es par l\u2019agent \u00e0 celles de l\u2019expert jusqu\u2019\u00e0 ce qu\u2019il en soit plus capable.&nbsp;Puis, gr\u00e2ce \u00e0 l\u2019apprentissage par renforcement inverse, l\u2019agent \u00e9tablira une policy bas\u00e9e sur le r\u00e9sultat du discriminant. En effet, n\u2019ayant pas acc\u00e8s \u00e0 la r\u00e9compense, l\u2019algorithme essaie d\u2019\u00e9tablir une policy directement depuis les donn\u00e9es. Donc, gr\u00e2ce au r\u00e9sultat du discriminant, l\u2019algorithme pourra \u00e9tablir un syst\u00e8me de r\u00e9compense et l\u2019utiliser pour am\u00e9liorer son choix d\u2019action dans un \u00e9tat donn\u00e9 par l\u2019environnement.<\/p>\n\n\n\n<p>Sur la figure ci-dessous, on voit les deux r\u00e9seaux neuronaux, le g\u00e9n\u00e9rateur et le discriminant. Dans le g\u00e9n\u00e9rateur, il y a l\u2019environnement qui va fournir un \u00e9tat \u00e0 l\u2019agent. Celui-ci effectuera une action en fonction de l\u2019\u00e9tat o\u00f9 il se trouve, cette paire (\u00e9tat\/action) sera envoy\u00e9e au discriminant qui comparera le pair g\u00e9n\u00e9r\u00e9 par l\u2019agent avec une paire authentique de l\u2019expert. Le discriminant retourne la probabilit\u00e9 que la paire g\u00e9n\u00e9r\u00e9e soit fausse. Cette probabilit\u00e9 sera retourn\u00e9e au g\u00e9n\u00e9rateur qui r\u00e9glera les poids de l\u2019\u00e9tat avant de tester une autre paire. Le r\u00e9sultat du discriminant sera utilis\u00e9 comme signal de r\u00e9compense pour \u00e9tablir un apprentissage par renforcement.<\/p>\n\n\n\n<p>Figure 6 : Sch\u00e9ma s\u00e9mantique du fonctionnement de GAIL<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/RjXX4Ea6lBmJUCW1jYYay1NwNo7_wRI3c-qO9SUa2DZFyU9uR6uNiXaxcz4tL-CSB76rV4EdxxxXy_qSgTm-XA_oJcMrtDg4UsfajYzaqfJYg9oZaCX8T76-Kc0LE6BHbsHTn8PI=s0\" width=\"602\" height=\"260\"><\/p>\n\n\n\n<p>ZHOU, Yang, 2020. <em>Figure 1. The structure of the proposed model generative adversarial&#8230;<\/em> [en ligne]. 2020. S.l. : s.n. [Consult\u00e9 le 16 septembre 2021]. Modifi\u00e9e par Alexandre Da Mota, l\u2019originale est disponible \u00e0 l\u2019adresse :<br><a href=\"https:\/\/www.researchgate.net\/figure\/The-structure-of-the-proposed-model-generative-adversarial-imitation-learning-gated_fig1_344212933\">https:\/\/www.researchgate.net\/figure\/The-structure-of-the-proposed-model-generative-adversarial-imitation-learning-gated_fig1_344212933<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Gr\u00e2ce \u00e0 ce billet de blog, nous avons pu comprendre les fondements de GAIL. Il va s\u2019en dire que la partie technique reste \u00e0 travailler, mais un bon chemin de compr\u00e9hension s\u00e9mantique \u00e0 \u00e9t\u00e9 parcouru. Il serait pr\u00e9tentieux de dire que tout est compris, car le sujet est tellement vaste. Chaque concept rapporte \u00e0 un autre concept tout autant cons\u00e9quent que celui qui le pr\u00e9c\u00e8de. Nous ne sommes qu\u2019\u00e0 une simple introduction du sujet, mais nous comprenons l\u2019importance de fonder une base forte de compr\u00e9hension avant d\u2019attaquer une partie technique. N\u00e9anmoins, chacune de nos recherches permettent \u00e0 ceux qui le veulent d&#8217;approfondir chaque sujet abord\u00e9 dans ce billet de blog. La bibliographie en est le r\u00e9sultat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bibliographie<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Reinforcement Learning<\/h3>\n\n\n\n<p>SUTTON, Richard S. et BARTO, Andrew G., 2018. <em>Reinforcement learning: an introduction<\/em>. Second edition. Cambridge, Massachusetts : The MIT Press. Adaptive computation and machine learning series. ISBN 978-0-262-03924-6. Q325.6 .R45 2018<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Imitation Learning<\/h3>\n\n\n\n<p>RAVICHANDIRAN, Sudharsan, 2020. <em>Deep Reinforcement Learning with Python &#8211; Second Edition<\/em> [en ligne]. S.l. : s.n. [Consult\u00e9 le 13 septembre 2021]. ISBN 978-1-83921-068-6. Disponible \u00e0 l\u2019adresse :<a href=\"https:\/\/hesge.scholarvox.com\/catalog\/book\/docid\/88902943\"> https:\/\/hesge.scholarvox.com\/catalog\/book\/docid\/88902943<\/a>.<\/p>\n\n\n\n<p>ROSS, St\u00e9phane, GORDON, Geoffrey J et BAGNELL, J Andrew, 2010. A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning. In : . 2 novembre 2010. pp. 9.<\/p>\n\n\n\n<p>SCHULMAN, John, 2015. DAGGER and Friends. In : [en ligne]. S.l. 5 octobre 2015. [Consult\u00e9 le 9 septembre 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"https:\/\/rll.berkeley.edu\/deeprlcourse-fa15\/docs\/2015.10.5.dagger.pdf\"> https:\/\/rll.berkeley.edu\/deeprlcourse-fa15\/docs\/2015.10.5.dagger.pdf<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Generative Adversarial Network<\/h3>\n\n\n\n<p>GOODFELLOW, Ian J., POUGET-ABADIE, Jean, MIRZA, Mehdi, XU, Bing, WARDE-FARLEY, David, OZAIR, Sherjil, COURVILLE, Aaron et BENGIO, Yoshua, 2014. Generative Adversarial Networks. In : <em>arXiv:1406.2661 [cs, stat]<\/em> [en ligne]. 10 juin 2014. [Consult\u00e9 le 16 septembre 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"http:\/\/arxiv.org\/abs\/1406.2661\"> http:\/\/arxiv.org\/abs\/1406.2661<\/a>.<\/p>\n\n\n\n<p>SHEN, Tianxiang, LIU, Ruixian, BAI, Ju et LI, Zheng, 2018. \u201cDeep Fakes\u201d using Generative Adversarial Networks (GAN). In : . 2018. pp. 9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Inverse Reinforcement Learning<\/h3>\n\n\n\n<p>ABBEEL, Pieter et NG, Andrew Y., 2004. Apprenticeship learning via inverse reinforcement learning. In : <em>Twenty-first international conference on Machine learning&nbsp; &#8211; ICML \u201904<\/em> [en ligne]. Banff, Alberta, Canada : ACM Press. 2004. pp. 1. [Consult\u00e9 le 31 ao\u00fbt 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"http:\/\/portal.acm.org\/citation.cfm?doid=1015330.1015430\"> http:\/\/portal.acm.org\/citation.cfm?doid=1015330.1015430<\/a>.<\/p>\n\n\n\n<p>ALEXANDER, Jordan, 2018. Learning from humans: what is inverse reinforcement learning? In : <em>The Gradient<\/em> [en ligne]. 20 juin 2018. [Consult\u00e9 le 31 ao\u00fbt 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"https:\/\/thegradient.pub\/learning-from-humans-what-is-inverse-reinforcement-learning\/\"> https:\/\/thegradient.pub\/learning-from-humans-what-is-inverse-reinforcement-learning\/<\/a>.<\/p>\n\n\n\n<p>EVANS, Owain, 2018. Model Mis-specification and Inverse Reinforcement Learning &#8211; LessWrong. In : [en ligne]. 9 novembre 2018. [Consult\u00e9 le 31 ao\u00fbt 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"https:\/\/www.lesswrong.com\/posts\/cnC2RMWEGiGpJv8go\/model-mis-specification-and-inverse-reinforcement-learning\"> https:\/\/www.lesswrong.com\/posts\/cnC2RMWEGiGpJv8go\/model-mis-specification-and-inverse-reinforcement-learning<\/a>.<\/p>\n\n\n\n<p>ZIEBART, Brian D, MAAS, Andrew, BAGNELL, J Andrew et DEY, Anind K, [sans date]. Maximum Entropy Inverse Reinforcement Learning. In : . pp. 6.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Generative Adversarial Imitation Learning<\/h3>\n\n\n\n<p>GOODFELLOW, Ian J., POUGET-ABADIE, Jean, MIRZA, Mehdi, XU, Bing, WARDE-FARLEY, David, OZAIR, Sherjil, COURVILLE, Aaron et BENGIO, Yoshua, 2014. Generative Adversarial Networks. In : <em>arXiv:1406.2661 [cs, stat]<\/em> [en ligne]. 10 juin 2014. [Consult\u00e9 le 15 septembre 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"http:\/\/arxiv.org\/abs\/1406.2661\"> http:\/\/arxiv.org\/abs\/1406.2661<\/a>.<\/p>\n\n\n\n<p>HO, Jonathan et ERMON, Stefano, 2016. Generative Adversarial Imitation Learning. In : <em>arXiv:1606.03476 [cs]<\/em> [en ligne]. 10 juin 2016. [Consult\u00e9 le 31 ao\u00fbt 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"http:\/\/arxiv.org\/abs\/1606.03476\"> http:\/\/arxiv.org\/abs\/1606.03476<\/a>.<\/p>\n\n\n\n<p>ORSINI, Manu, RAICHUK, Anton, HUSSENOT, L\u00e9onard, VINCENT, Damien, DADASHI, Robert, GIRGIN, Sertan, GEIST, Matthieu, BACHEM, Olivier, PIETQUIN, Olivier et ANDRYCHOWICZ, Marcin, 2021. What Matters for Adversarial Imitation Learning? In : <em>arXiv:2106.00672 [cs]<\/em> [en ligne]. 1 juin 2021. [Consult\u00e9 le 31 ao\u00fbt 2021]. Disponible \u00e0 l\u2019adresse :<a href=\"http:\/\/arxiv.org\/abs\/2106.00672\"> http:\/\/arxiv.org\/abs\/2106.00672<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans cet article, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning afin d&#8217;expliquer les fondamentaux de GAIL.<\/p>\n","protected":false},"author":56,"featured_media":3600,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,19],"tags":[367,366,368,369,250,364,365,50,363],"class_list":["post-3594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-advanced-neural-net","category-machine-learning","tag-behavioral-cloning","tag-dagger","tag-gail","tag-generative-adverserial-imitation-learning","tag-generative-adverserial-networks","tag-imitation-learning","tag-inverse-reinforcement-learning","tag-machine-learning","tag-reinforcement-learning"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Du Reinforcement Learning \u00e0 GAIL - Recherche d&#039;Id\u00e9eS<\/title>\n<meta name=\"description\" content=\"Dans cet article, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning afin d&#039;expliquer les fondamentaux de GAIL.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Du Reinforcement Learning \u00e0 GAIL - Recherche d&#039;Id\u00e9eS\" \/>\n<meta property=\"og:description\" content=\"Dans cet article, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning afin d&#039;expliquer les fondamentaux de GAIL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/\" \/>\n<meta property=\"og:site_name\" content=\"Recherche d&#039;Id\u00e9eS\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-18T17:12:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-27T13:47:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Thomas C\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas C\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/\",\"url\":\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/\",\"name\":\"Du Reinforcement Learning \u00e0 GAIL - Recherche d&#039;Id\u00e9eS\",\"isPartOf\":{\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg\",\"datePublished\":\"2021-11-18T17:12:00+00:00\",\"dateModified\":\"2021-10-27T13:47:41+00:00\",\"author\":{\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/#\/schema\/person\/1b21114867638fc37adc0a95db2992aa\"},\"description\":\"Dans cet article, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning afin d'expliquer les fondamentaux de GAIL.\",\"breadcrumb\":{\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#primaryimage\",\"url\":\"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg\",\"contentUrl\":\"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/campus.hesge.ch\/blog-master-is\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Du Reinforcement Learning \u00e0 GAIL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/#website\",\"url\":\"https:\/\/campus.hesge.ch\/blog-master-is\/\",\"name\":\"Recherche d&#039;Id\u00e9eS\",\"description\":\"Carnet de recherche des \u00e9tudiants du Master en sciences de l&#039;information et des donn\u00e9es (Information Science - IS) de la Haute \u00e9cole de gestion de Gen\u00e8ve\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/campus.hesge.ch\/blog-master-is\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/#\/schema\/person\/1b21114867638fc37adc0a95db2992aa\",\"name\":\"Thomas C\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/campus.hesge.ch\/blog-master-is\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/617a4a82e66ee3f6f83c1df790363a2b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/617a4a82e66ee3f6f83c1df790363a2b?s=96&d=mm&r=g\",\"caption\":\"Thomas C\"},\"url\":\"https:\/\/campus.hesge.ch\/blog-master-is\/author\/thomas-c\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Du Reinforcement Learning \u00e0 GAIL - Recherche d&#039;Id\u00e9eS","description":"Dans cet article, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning afin d'expliquer les fondamentaux de GAIL.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/","og_locale":"fr_FR","og_type":"article","og_title":"Du Reinforcement Learning \u00e0 GAIL - Recherche d&#039;Id\u00e9eS","og_description":"Dans cet article, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning afin d'expliquer les fondamentaux de GAIL.","og_url":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/","og_site_name":"Recherche d&#039;Id\u00e9eS","article_published_time":"2021-11-18T17:12:00+00:00","article_modified_time":"2021-10-27T13:47:41+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg","type":"image\/jpeg"}],"author":"Thomas C","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Thomas C","Dur\u00e9e de lecture estim\u00e9e":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/","url":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/","name":"Du Reinforcement Learning \u00e0 GAIL - Recherche d&#039;Id\u00e9eS","isPartOf":{"@id":"https:\/\/campus.hesge.ch\/blog-master-is\/#website"},"primaryImageOfPage":{"@id":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#primaryimage"},"image":{"@id":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#primaryimage"},"thumbnailUrl":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg","datePublished":"2021-11-18T17:12:00+00:00","dateModified":"2021-10-27T13:47:41+00:00","author":{"@id":"https:\/\/campus.hesge.ch\/blog-master-is\/#\/schema\/person\/1b21114867638fc37adc0a95db2992aa"},"description":"Dans cet article, notre objectif a \u00e9t\u00e9 de parcourir et de vulgariser diff\u00e9rentes m\u00e9thodes de machine learning afin d'expliquer les fondamentaux de GAIL.","breadcrumb":{"@id":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#primaryimage","url":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg","contentUrl":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-content\/uploads\/2021\/09\/Blog-Images-Forget-Machine-Learning-Humans-Still-Have-a-Lot-to-Learn-Part-II.jpg","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/campus.hesge.ch\/blog-master-is\/du-reinforcement-learning-a-gail\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/campus.hesge.ch\/blog-master-is\/"},{"@type":"ListItem","position":2,"name":"Du Reinforcement Learning \u00e0 GAIL"}]},{"@type":"WebSite","@id":"https:\/\/campus.hesge.ch\/blog-master-is\/#website","url":"https:\/\/campus.hesge.ch\/blog-master-is\/","name":"Recherche d&#039;Id\u00e9eS","description":"Carnet de recherche des \u00e9tudiants du Master en sciences de l&#039;information et des donn\u00e9es (Information Science - IS) de la Haute \u00e9cole de gestion de Gen\u00e8ve","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/campus.hesge.ch\/blog-master-is\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/campus.hesge.ch\/blog-master-is\/#\/schema\/person\/1b21114867638fc37adc0a95db2992aa","name":"Thomas C","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/campus.hesge.ch\/blog-master-is\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/617a4a82e66ee3f6f83c1df790363a2b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/617a4a82e66ee3f6f83c1df790363a2b?s=96&d=mm&r=g","caption":"Thomas C"},"url":"https:\/\/campus.hesge.ch\/blog-master-is\/author\/thomas-c\/"}]}},"_links":{"self":[{"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/posts\/3594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/users\/56"}],"replies":[{"embeddable":true,"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/comments?post=3594"}],"version-history":[{"count":10,"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/posts\/3594\/revisions"}],"predecessor-version":[{"id":3647,"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/posts\/3594\/revisions\/3647"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/media\/3600"}],"wp:attachment":[{"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/media?parent=3594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/categories?post=3594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/campus.hesge.ch\/blog-master-is\/wp-json\/wp\/v2\/tags?post=3594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}