Apprentissage par renforcement #5 : Introduction au Q-Learning

Sdílet
Vložit
  • čas přidán 4. 11. 2018
  • Patreon : / membership
    Série de vidéos consacrée à l'apprentissage par renforcement. Dans cette vidéo, nous explorons l'algorithme du Q-Learning, très utilisé dans l'apprentissage par renforcement.
    Le code : github.com/thibo73800/aihub/b...
    Discord de la communauté :
    / discord
    [Chronique d'une IA]
    Spotify : open.spotify.com/show/5yTTTKf...
    Amazon music : music.amazon.fr/podcasts/5097...
    Apple Podcasts: podcasts.apple.com/us/podcast...
    [About me]
    Visual Behavior : visualbehavior.ai
    Perso : www.thibaultneveu.ai/
    Github : github.com/thibo73800
    Linkedin : / thibaultneveu
    Twitter : / thiboneveu
  • Věda a technologie

Komentáře • 43

  • @cowbra2740
    @cowbra2740 Před 5 lety +8

    Superbe vidéo, tu expliques très bien et tu prends ton temps avec divers exemples pour nous faire comprendre le principe du Q-learning au lieu de juste nous donner un code que l'on recopie bêtement sans comprendre... Continue comme ça et bon courage !

  • @mithou091
    @mithou091 Před 5 lety +1

    C'est génial. Ty

  • @ghilesdjebara8066
    @ghilesdjebara8066 Před 3 lety

    Merci énormément de prendre la peine d'expliquer la théorie

  • @hervepostec5942
    @hervepostec5942 Před 4 lety

    Bonjour et merci beaucoup pour ces videos d'une grande qualité pédagogique.
    Il y a la théorie et la pratique et j'apprends énormément grace à votre travail.
    Je me permettrais juste une petite réflexion en m'excusant d'avance si je me trompe.
    Vous indiquez que le learning rate "alpha"
    permet d'induire un effet de moyenne.
    Dans ma compréhension à moi (niveau néophyte ;o) il permettrait plutot de se deplacer par petits pas sur le gradient "Q(t+1) - Q(t)" afin de ne pas "rater" son extremum.
    Encore une fois : merci beaucoup

  • @amanichouk8967
    @amanichouk8967 Před rokem

    Bravo

  • @WahranRai
    @WahranRai Před 9 měsíci +1

    La récompense r devrait être mémorisée dans une variable associée à l'état par exemple ajouter une donnée reward dans la Q table pour chaque état : état 5 r=-1, état 9 r=1 autres r=0.

  • @drm8164
    @drm8164 Před 9 měsíci

    10/10

  • @anatoleacqueberge6254
    @anatoleacqueberge6254 Před 3 lety

    Salut Thibault,
    Avec mon collègue on a un module d'IA dans notre formation à Epitech.
    On a toujours galéré un peu à se documenter et à bien comprendre ce qu'on faisait.
    On est tombé sur tes vidéos récemment et sache qu'elles nous ont permis de comprendre beaucoup de choses et nous on vraiment apporté. Je t'en remercie beaucoup, bonne continuation à toi dans ce que tu fais!

    • @rorogamingcoc5563
      @rorogamingcoc5563 Před rokem

      Ce que vous dites est très grave Monsieur. Honte à vous d'enseigner.

  • @xavierfolch2814
    @xavierfolch2814 Před 4 lety +1

    Les résultats de cette exemple permettent de bien voir les choix fait par l'agent et l'impact de la récompense négative.

  • @sandsofcraft
    @sandsofcraft Před 5 lety +1

    Vraiment super tes vidéos. Enfin des explications pas trop matheuses (même s'il en faut) mais qu'un développeur comme moi peut très bien comprendre. Vraiment continues comme ça, c'est absolument génial à suivre.
    J'ai juste une question concernant les résultats de ta Q-table à la fin, il semble qu'à partir de l'état 7 l'algo semble trouver qu'il vaut mieux aller en haut plutôt qu'à droite et je me demandais pourquoi ? D'ailleurs aller à gauche serai mieux que d'aller à droite alors qu'on est sur le bord gauche, donc aller à gauche devrait être négatif non ?

    • @ThibaultNeveu
      @ThibaultNeveu  Před 5 lety

      Sur l'algo a la fin je ne l'est lancé que avec une exploration de 0.4. Il est donc possible que la solution optinal n'est pas ou n'est pas encore été trouvé. Dans le cas ici il est équivalent d'aller en haut ou a droite depuils la case 7 donc la hasard de l'exploration a fait que cette voix était préféré. SInon l'algo accorde une valeur positive pour aller a gauche car cela le fait revenir sur le case ou il se trouvait, sur la case 7, et ici l'algo n'est pas pénalisé pour passer du temps dans le labythine. Si on pénalisait l'algo pour chaque action prise (une reward de -0.1 par exemple) alors les résultats serait peut etre différent. Je te laisse essayer :)

  • @teddyguidibi8519
    @teddyguidibi8519 Před 2 lety

    salut,superbe video.j'aimerais savoir si c'est possible que tu fasses une serie de videos sur l'A3C?

  • @amanizarrougui8563
    @amanizarrougui8563 Před 4 lety

    votre vidéo est super ....svp est ce que vous pouvez expliquer cette approche au négociation des agents ???

  • @isly7537
    @isly7537 Před 3 lety

    Merci Thibault pour tes vidéos !
    Je voulais savoir comment faire fonctionner la Q-table si la récompense (ici la maison) est contrôlé par l'utilisateur et change la grille à chaque décision de ce dernier.

  • @ameltibhirt913
    @ameltibhirt913 Před 3 lety

    Merci pour cette vidéo, j'ai juste une question pour la Q function, comment on peut calculer le R_t+1, R_t+2 .... alors quand on est à l’état s_t on prends une action a_t (qui est soit haut, bas gauche ou droite) on va se trouver à l'état s_t+1 mais on cette état la on a pas l'action a_t+1 pour pouvoir calculer le R_t+1 et pareil pour le reste?
    Je vous remercie par avance :)

  • @hedihafi9879
    @hedihafi9879 Před 3 lety +1

    Apport de l apprentissage de renforcement

  • @jovanyagathe2299
    @jovanyagathe2299 Před 4 lety

    Salut. Peut-tu faire une video sur la curiosité de L'IA?

  • @jhujol
    @jhujol Před 5 lety +2

    Merci pour la video tres interessante!
    Comment sont definies les Rewards au depart? Sont elles labelisees automatiquement -1 pour l'etat 5 et 1 pour l'etat 1, etc?
    JH

    • @ThibaultNeveu
      @ThibaultNeveu  Před 5 lety +2

      Les rewards sont fournis par l'environement. Celon la tache à atteindre les récompenses seront différentes d'un l'environement à un autre

  • @minaamina565
    @minaamina565 Před 3 lety

    Est ce je peut utiliser Qlearning pour résoudre mon problème qui est utiliser le max de temps qui divisé en deux intervalles égaux ou chaque intervalle dédié a un type de message a transmettre sur le canal approprié (pour éviter le temps perdu lors l'inactivité de l'un des deux)

  • @jesuskazkid6068
    @jesuskazkid6068 Před 4 lety

    Salut super video,mais j'ai une question par rapport aux autres formations(apprentissage supervisé),ma question est de savoir comment je peux predire une image telechargé sur le net en la donnant a mon modele? exemple du modele de la formation mnist ou fashion...

    • @EmpereurIV
      @EmpereurIV Před 4 lety

      Il te faut utiliser du deep learning (avec un réseau de neurones). Si tu veux faire ça avec python tu peux utiliser Tensorflow ou Pytorch .

  • @thekkwet777
    @thekkwet777 Před 5 lety +1

    Bonjour Thibault,
    J'ai essayé d'implémenter cet algo pour un jeu d'échec. Mais j'ai du mal à déterminer le stp1 et le atp1. Mon idée est d'avoir une Q-Table pour les deux côtés du plateau et du coup stp1 et atp1 représentent le prochain coup optimal que devrait prendre l'adversaire, je ne pense pas que ce soit la bonne méthode. Qu'en penses-tu ?

    • @ThibaultNeveu
      @ThibaultNeveu  Před 5 lety

      Non c'est stp1 doit représenter l'état du plateau une fois que l'adversaire à joué. Donc l'action optimal à prendre une fois que l'adversaire à joué et que c'est de nouveau le tour de l'agent.

    • @EmpereurIV
      @EmpereurIV Před 4 lety

      Salut, t'as avancé ?

  • @zrmsraggot
    @zrmsraggot Před 5 lety +1

    Le gamma est la pour dire a l'agent d'aller le plus vite possible vers le but non ?

    • @ThibaultNeveu
      @ThibaultNeveu  Před 5 lety

      gamma contrôle l'importance que tu donnes au futur récompense par rapport aux recompenses que tu obtiens immédiatement.

  • @lolo64a65
    @lolo64a65 Před 4 lety

    Bonjour.
    Je ne comprends pas le raisonnement de l'implémentation du e-greedy dans le main : at = take_action(st, Q, 0.1). La valeur 0.1 ici est comparée à une valeur aléatoire, donc une valeur que l'on ne maitrise pas. Par conséquent, on ne peut pas affirmer que 0,1 équivaut à 10%. J'ai fait le test avec 0.1 et 0.4: avec 0.1 on explore 89 fois sur 1642 appels; avec 0.4 on est à 246 sur 1238. Ces valeurs changeront tout le temps étant donné que l'on utilise un random...

  • @giovannikammerer5479
    @giovannikammerer5479 Před 5 lety

    bonjour, il y a un point que je ne comprends pas, dans la 15ème ligne, a quoi sert le tableau appelé actions?

    • @EmpereurIV
      @EmpereurIV Před 4 lety +1

      C'est ce que peut faire l'agent. Ce sont des des déplacements en coordonnées.

  • @redone750
    @redone750 Před 2 lety

    le code de la video n'est pas disponible car je ne le trouve pas

  • @moussacissoko59
    @moussacissoko59 Před 5 lety +1

    salu frere suis etudiant en master pour le mobile edge computing peut tu maider a implementer ce algorithm dans le cas de multi user computation offloading en formulant offloading decision baser sur ce algorithm dans le cas de ultra dense networks

    • @ThibaultNeveu
      @ThibaultNeveu  Před 5 lety

      Je ne suis pas sur de comprendre ta question

    • @moussacissoko59
      @moussacissoko59 Před 5 lety

      @@ThibaultNeveuce que je veux dire dans un reseau de udn (ultra dense networks en anglais ou small cell c;est a dire qu'il ya des interferences comment inmplementer ce algorithm base sur computation offloading en anglais

    • @moussacissoko59
      @moussacissoko59 Před 5 lety

      @@ThibaultNeveu je veux implementer ce algorith en udn pour offloading decision in mobile edge computung en utilisant matlab ,est ce que pour pouvez me suggerer quelques choses

    • @ThibaultNeveu
      @ThibaultNeveu  Před 5 lety

      Salut, je n'utilise pas matlab, mais tu peux rejoindre le discord de la communauté et poser ta question, des personnes devrait pouvoir t'aider :)

    • @moussacissoko59
      @moussacissoko59 Před 5 lety

      ok merci@@ThibaultNeveu

  • @Panacius
    @Panacius Před 7 měsíci

    Merci pour la vidéo mais pour les misophoniaque c'est un peu dur à supporter .... (petit règlage de micro à faire)

  • @hadbikhalil4731
    @hadbikhalil4731 Před 3 lety

    Lien de discord svp

  • @ichamcherblanc8443
    @ichamcherblanc8443 Před 4 lety

    Yo mec super vidéo, très pédagogique ! J'ai une question par contre comment tu fait pour appliquer cette Q fonction si t'as 200 choix d'actions possible et 10^20 états a un instant t? J'imagine que c'est pas calculable en un temps raisonnable et que ça prendrais beaucoup trop de mémoire y a-t-il des alternatives ? Les réseaux de neurones peut être ? (c'est pour un jeu que j'ai coder en C++ dans lequel j'aimerais rajouté un bot contre qui on peut jouer) J'ai un peu réfléchi à la question mais le pb c'est que dans des réseaux de neurones il faut des inputs et j'ai aucune idée des inputs (le jeu est un peu complexe)
    Toutes pistes sont la bienvenue !
    Merci d'avance !

    • @ahmalbilal
      @ahmalbilal Před rokem

      Salut ! Tu as finalement eu une réponse ? Une solution ?

  • @user-to3gd2ut9f
    @user-to3gd2ut9f Před 6 měsíci

    hi bro , can i have your e-mail please