[PYTHON] Renforcer l'apprentissage 1 édition introductive

Aidemy 2020/11/15

introduction

Bonjour, c'est Yope! Je suis une école littéraire croustillante, mais j'étais intéressé par les possibilités de l'IA, alors je suis allé à l'école spécialisée en IA "Aidemy" pour étudier. Je voudrais partager les connaissances acquises ici avec vous, et je les ai résumées dans Qiita. Je suis très heureux que de nombreuses personnes aient lu l'article de synthèse précédent. Merci! Ceci est le premier article sur le renforcement de l'apprentissage. Ravi de vous rencontrer.

Quoi apprendre cette fois ・ Qu'est-ce que l'apprentissage par renforcement? ・ Agent, environnement, récompense ・ Renforcer la politique d'apprentissage

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

・ L'apprentissage automatique peut être grossièrement divisé en __ «apprentissage avec l'enseignant», «apprentissage sans enseignant» et «apprentissage amélioré» __. ・ Parmi ceux-ci, le __apprentissage amélioré __ que nous allons apprendre cette fois est une méthode visant à __ "découvrir le comportement optimal dans des conditions données" __. Par exemple, dans le cas d'un jeu, vous pouvez découvrir comment gagner en renforçant l'apprentissage.

En savoir plus sur l'apprentissage amélioré

・ L'apprentissage amélioré repose sur le principe que __ "agent" __ et __ "environnement (étape)" __ interagissent les uns avec les autres. -Si un agent __ est dans le state s et prend action a pour environment, alors l'environnement donnera reward R comme une évaluation de ce comportement. En retour, l'agent poursuit la tâche en répétant la transition vers l'état suivant s '. ・ Par exemple, dans le cas de Super Mario, l'agent "Mario" prend l'action "d'éviter l'ennemi (en sautant)" dans un environnement où "allez-y et visez le but, mais finissez quand il touche l'ennemi". L'environnement renvoie une récompense du "droit d'aller plus loin (le jeu ne s'arrête pas là)". En répétant cela, Mario progresse vers la tâche du but.

・ En renforçant l'apprentissage, non seulement la récompense sur place __ "récompense immédiate" __ est maximisée, mais aussi la récompense __ "récompense différée" __ incluse après cela __ "profit" __ Il doit être maximisé. ・ Dans l'exemple précédent de Mario, prendre des pièces est une action sans valeur sur place, mais si vous trouvez de la valeur en collectant 100 pièces et en "augmentant les machines restantes", vous pouvez maximiser la récompense. On peut dire qu'il vaut mieux agir pour prendre le plus de pièces possible.

Problème de bandit de bras N

・ __N problème de bandit armé __ est un exemple de renforcement de l'apprentissage, __ "Il y a N machines à sous, et s'il est sur 1, la récompense de 0 est payée. La probabilité de toucher est différente pour chaque machine, mais de l'utilisateur "Je ne vois pas" __ "," Si l'utilisateur peut tirer n'importe quel emplacement dans un essai, comment puis-je maximiser la récompense moyenne par nombre d'essais __ " C'est un problème auquel il faut réfléchir. ・ L'idée est que __ "tire sur la plate-forme avec la probabilité la plus élevée" __, mais il est nécessaire d'essayer de trouver (deviner) cette plate-forme __. Telle est l'essence de ce problème. ・ À partir de maintenant, nous en apprendrons davantage sur l'apprentissage par renforcement en utilisant cet exemple.

Créer un agent

-__ Agent__ signifie plus spécifiquement __ "les choses qui déterminent les actions dans l'environnement et influencent l'environnement" __. ・ Dans le problème du bandit N-bras, l'agent est user qui décide quelle machine utiliser, reçoit une récompense et prend la décision suivante. -L'index __ de la façon de prendre la prochaine décision à partir de la récompense obtenue par l'agent est appelé __ "politique" __. Par exemple, lorsque la politique est «toujours 1» dans ce problème, l'agent visera toujours une plate-forme où la récompense est 1. ・ Le but de ce temps est de déterminer la politique optimale pour cet agent.

-Le code suivant est une fonction __ "randomselect ()" __ qui détermine aléatoirement la méthode __ "Quelle machine choisir" __. Cela renverra __ "slot_num" __ quelle unité choisir.

スクリーンショット 2020-11-10 22.05.38.png

Créer un environnement

-__ Environment__ est la cible __ vers laquelle __agent intervient. Son rôle est d'agir, d'observer la situation, d'envoyer des récompenses aux agents et d'avancer une fois. -L'environnement dans ce problème est __ "Lorsqu'un agent tire une table, le processus de frapper ou de perdre en fonction de la probabilité de cette table" __.

-Le code suivant est la fonction __ "environnement ()" __ qui définit l'environnement. __ "coins_p" __ stocke la probabilité de toucher chaque unité dans un tableau NumPy, et "results" est __ "np.random.binomial (n, p)" __, le nombre d'essais n et le binôme de probabilité p Utilisez la fonction pour trouver la distribution et stocker le résultat de la soustraction d'emplacements. Cette fois, le nombre d'essais est de un et la probabilité est "coins_p", vous pouvez donc spécifier __ (1, coins_p) __. En tant que fonction d'environnement, le résultat du "band_number" passé doit être renvoyé, il est donc stocké dans "result" et renvoyé.

スクリーンショット 2020-11-10 22.10.57.png

Définition de récompense

-__ Reward__ est un index __ qui évalue l'opportunité d'une série d'actions de __agent. ・ En parlant de ce problème, la __ valeur de retour (0 ou 1) __ obtenue en soustrayant le slot est la récompense telle quelle. Ceci est __ récompense immédiate __.

-Le code suivant est la fonction __ "récompense ()" __ qui définit la récompense. Le résultat obtenu précédemment par la fonction d'environnement est stocké dans "result", et celui-ci est stocké dans le "temps" th, qui indique le nombre actuel d'essais du tableau "record" passé en argument. -Aussi, dans la liste __ "résultats" __ qui est __ [[(nombre d'unités), (nombre de sélections), (récompense totale), (récompense totale ÷ nombre de sélections)], ...] __ , Stockez chaque résultat.

スクリーンショット 2020-11-10 22.22.14.png

-De plus, utilisez ces fonctions ou transmettez la valeur par vous-même pour décider __ "table à utiliser", "frapper ou manquer", "combien de fois essayer" __, etc., et le nombre d'essais pour chaque machine Le résultat est affiché et la transition de __compense moyenne est illustrée __ ci-dessous.

スクリーンショット 2020-11-10 22.24.51.png

·résultat スクリーンショット 2020-11-10 22.25.07.png

・ En regardant ce résultat, «Quelle voiture choisir» est complètement aléatoire (1/5), donc le nombre de fois où __ voitures sont sélectionnées est égal à __, et la probabilité de heurter est presque aussi définie. Il est devenu. De plus, comme vous pouvez le voir sur le graphique, la récompense moyenne est maintenue autour de 0,5.

Mesures pour le problème de bande de bras N

méthode gourmande

-Depuis que l'agent, l'environnement et le type de récompense ont été définis jusqu'à présent, l'étape suivante consiste à réfléchir à __measures __ "Comment puis-je augmenter la récompense moyenne?" ・ En règle générale, il n'y a pas d'informations au début, il n'y a donc pas d'autre choix que de sélectionner au hasard une table __. Après quelques essais et lorsque vous pouvez deviner la probabilité de toucher une table, vous trouverez la table avec la probabilité la plus élevée et faites le choix de continuer à choisir cette table. ・ À ce stade, la collecte d'informations en répétant les essais s'appelle dans une certaine mesure __ "recherche" __, et enfin, continuer à sélectionner la plate-forme la plus appropriée s'appelle __ "utiliser" __.

-La méthode la plus simple pour exécuter cette politique est __ "méthode gourmande" __. Ceci est aussi simple que __ "sélectionnez celui avec la valeur attendue la plus élevée parmi les résultats à ce jour" . ・ Commencez par effectuer search. A ce moment, il est décidé à l'avance que __ sera essayé n fois par unité, et cela sera fait pour toutes les unités. Lorsque cela est fait, calculez la valeur attendue de __ récompense $ u {i} $ à ce moment __ et sélectionnez la plus grande. -La valeur attendue $ u {i} $ est calculée par __ "(somme des récompenses de la machine i) ÷ (nombre d'essais de la machine i)" __.

-Le code suivant est un exemple de définition de cette méthode et d'utilisation de la fonction qui définit l'environnement, etc. créée jusqu'à la section précédente.

-La définition de la méthode gourmande est __ "Laissez slot_num sur cette table jusqu'à ce que le nombre maximum d'essais soit atteint" __ et __ "Lorsque toutes les machines atteignent le nombre maximum d'essais, slot_num est défini. Faites-en celui avec la valeur attendue la plus élevée à ce stade. "__ Vous pouvez le définir. -Pour ce dernier, la raison pour laquelle le code dit __ "np.array ()" __ est d'utiliser la méthode __ "argmax ()" __ pour obtenir la valeur maximale.

スクリーンショット 2020-11-11 12.19.12.png

・ Pratiquer la méthode gourmande en donnant une valeur スクリーンショット 2020-11-11 12.20.11.png

・ Résultat![Capture d'écran 2020-11-11 12.20.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/d2b53fb9-583e-7d14- ce60-f265a667b2be.png)

・ Comme le montre ce résultat, les essais sont effectués sur toutes les unités jusqu'à la limite supérieure du nombre d'essais pour une recherche donnée __ "n = 100" __, et à partir de ce point, la valeur attendue la plus élevée __ Tous les essais (9500 restants) sont utilisés pour le «Tableau 4» __.

Méthode ε (epsilon) -greedy

-Dans la méthode gourmande de la section précédente, plus n est petit, c'est-à-dire moins d'essais utilisés pour la recherche, plus la possibilité de sélectionner la mauvaise plateforme est élevée. En revanche, si n est augmenté, la possibilité de sélectionner la plateforme optimale augmente, mais la recherche nécessite un grand nombre d'essais, ce qui entraîne un gaspillage important. -Cette __ "méthode ε-gourmande" __ peut résoudre ce problème. En associant search et use, cette méthode peut réduire le coût de la recherche tout en réduisant le risque de continuer à choisir la mauvaise plateforme. ・ Le déroulement de la méthode ε-gourmande est le suivant. ① S'il y a un support que vous n'avez pas encore sélectionné, sélectionnez-le ② __ Probabilité ε de sélectionner au hasard parmi toutes les unités __ (recherche) ③ Sélectionnez la machine avec la récompense moyenne la plus élevée (valeur attendue) à ce jour avec __ probabilité 1-ε __ (utilisation)

-En d'autres termes, cette méthode consiste à rechercher avec __ probabilité ε et à utiliser avec probabilité 1-ε pour chaque essai.

・ La définition fait partie de la méthode ε-gourmande![Capture d'écran 2020-11-12 10.08.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/ f62db320-5545-1e0d-e810-d73fc3a99221.png)

・ Partie d'exécution![Capture d'écran 2020-11-12 10.10.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/d09711b3-1335-9165 -36ec-9cd56a863bd8.png)

・ Résultat![Capture d'écran 2020-11-12 10.10.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/df18123b-4a82-53a6- 7eab-852e42fe26d5.png)

Méthode de la valeur initiale optimiste

・ Dans la méthode gourmande, par exemple, s'il y a des "tables A et B qui frappent avec une probabilité de 0,4 et 0,6" et que la valeur attendue de "table de A" est prédite jusqu'à "0,8", la table de A est initialement utilisée. Cependant, à l'essai, il est possible de reconnaître que la valeur attendue de la plate-forme A semble être faible (converger vers 0,4) et de passer à la plate-forme B. ・ D'un autre côté, si la valeur attendue du «support B» est prévue inférieure à «0,2», la situation est que «le support B n'est pas essayé», c'est-à-dire «Un support est sélectionné uniquement». Il y a un problème que __ je ne peux pas remarquer l'erreur __. -En tant que méthode pour réduire ce risque, __ "méthode de la valeur initiale optimiste" __ "estimation plus élevée (de manière optimiste) en cas d'incertitude" est utilisée. ・ Comme idée concrète, avant d'apprendre, nous allons calculer la valeur attendue après avoir supposé que la valeur maximale de la récompense est obtenue K fois de chaque machine __. -Par conséquent, lors de l'utilisation de cette méthode, il est nécessaire de spécifier __ "valeur maximale de récompense (rsup)" __ et __ "nombre de fois en supposant la valeur maximale (K)" _. ・ La valeur attendue de chaque unité utilisant ces deux est calculée par $ \ frac {R (N) + Kr {sup}} {N + K} $. __R (N) __ est le nombre de fois réellement mesurées (stockées dans la troisième colonne de résultats), et N est le nombre de fois réellement mesurées (stockées dans la deuxième colonne de résultats). Donc, le code ressemble à ceci:

スクリーンショット 2020-11-12 11.01.32.png

・ Partie d'exécution![Capture d'écran 2020-11-12 11.02.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/f47baedd-9afe-5c32 -1a76-f0236ffaef22.png)

・ Résultat![Capture d'écran 2020-11-12 11.02.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/6992afc7-4fc9-beaa- 767b-bfa559a8a530.png)

méthode soft-max

-L'inconvénient de la méthode ε-gourmande est que lors de la recherche, même si elle est clairement considérée comme la pire, __ elle sera toujours essayée un nombre fixe de fois. Par exemple, si la probabilité de toucher est de 20% et qu'il y a une table qui vaut "1" si elle est touchée et "-100" si elle est perdue, il est prédit que tirer cette table sera un comportement extrêmement mauvais, mais ε-gourmand La loi ne peut pas éviter cela et rechercher. -C'est __ "méthode soft-max" __ qui peut résoudre ce problème. C'est __ "Il est facile de choisir des actions qui semblent avoir une valeur élevée, et il est difficile de choisir des actions qui semblent être de faible valeur" . Autrement dit, __ "pondérer chaque action" __ est effectuée. ・ Le poids est calculé à l'aide de la formule $ \ frac {\ exp {Q {i} / \ tau}} {\ sum ^ i \ exp {Q {i} / \ tau}} $. $ Q_i $ est la valeur attendue de la récompense, $ \ tau $ (tau) est le paramètre, et plus le $ \ tau $ est petit, plus la tendance de la pondération ci-dessus est forte. ・ Comme le flux de la méthode soft-max, s'il n'y a pas de __data, toutes les récompenses sont supposées être "1" __, la probabilité de sélection de chaque unité est calculée par la formule ci-dessus, et la sélection est faite sur cette base. , Mettez à jour la fonction de récompense en obtenant une récompense, et ainsi de suite. Le code spécifique est le suivant.

スクリーンショット 2020-11-12 11.54.05.png

-Pour le code ci-dessus, calculez d'abord la valeur attendue attendue de la récompense __ "q" __. Voir la quatrième colonne de résultats pour cela. Ensuite, s'il n'y a pas de données, toutes les valeurs de récompense attendues "q" sont définies sur "1", c'est-à-dire qu'un tableau avec toutes les valeurs de 1 est créé avec __ "np.ones ()" __. -Calculer la probabilité de sélection __ "probabilité" __ avec la formule ci-dessus en utilisant "q" et "tau" passé. Ensuite, en supposant que la probabilité est la probabilité et que la cible à sélectionner est le numéro de l'unité, __ "np.random.choice (tableau, p = probabilité)" __ définit ce qui est sélectionné.

-Partie d'exécution![Capture d'écran 2020-11-12 12.01.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/90b343bf-f6b6-9786 -e3c9-2528b0771d39.png)

・ En regardant les résultats ci-dessus, il est souvent sélectionné en fonction de la probabilité de toucher la table. Cependant, dans cet essai, la machine n ° 1 n'a pas du tout heurté et elle a été considérée comme "la machine avec une probabilité de 0", et elle n'a pas été sélectionnée par la suite.

Algorithme UCB1

-L'algorithme __UCB1 __ est une méthode améliorée de la méthode __ de la valeur initiale optimiste . Plus précisément, __ "Quel est le taux de réussite de la machine (taux de réussite)" __ et __ "Que savez-vous de la machine (la quantité de variation de données due au hasard)" __ En portant un jugement, il est possible de rechercher activement les plates-formes les moins recherchées et, lorsque les données sont collectées, de sélectionner la plate-forme avec la probabilité de gagner la plus élevée en même temps. -En tant que flux, calculez d'abord la différence "R" __ entre les valeurs maximale et minimale de reward. Ensuite, s'il y a une unité qui n'a pas encore été sélectionnée, sélectionnez-la et calculez la valeur attendue (taux de réussite) __ "$ u {i} $" de la __ récompense pour chaque unité à partir des résultats obtenus. -De plus, avec $ R \ sqrt {\ frac {2logT} {N}} $ utilisant ces derniers, calculez l'ampleur de la variation des données "$ x {i} " due au hasard de chaque unité. A ce moment, __ "T" __ représente le nombre total de lectures, et __ "N" __ représente le nombre de lectures de la machine i. ・ Considérez que la plate-forme avec la __ somme __ maximale de " u {i} " et " x {i} $" est la plus appropriée, et sélectionnez-la. ・ Ce qui précède peut être exprimé sous forme de code comme suit. (R = 1 pour N-bras bandé) スクリーンショット 2020-11-12 13.35.34.png

-Pour le code ci-dessus, «une machine qui n'a pas encore été sélectionnée» peut être reformulée comme ayant 0 dans la première colonne (nombre d'essais) de résultats. De plus, le "nombre total d'essais jusqu'ici (fois)" peut être obtenu en ajoutant toutes ces parties avec "sum ()". -L'ampleur de la variation des données due au hasard de chaque unité "xi" peut être décrite selon la formule ci-dessus, mais la racine est __ "math.sqrt ()" __, __ "math.log ()" __ Chaque log peut être exprimé avec.

・ Partie d'exécution![Capture d'écran 2020-11-12 13.35.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/698700/ba96a21e-3d0e-e34b -480f-3dc74fba84fa.png)

-Pour ce résultat, toutes les machines ont été essayées le nombre minimum de fois, mais les machines qui semblent avoir une faible probabilité n'ont pas été essayées autant, et __ les déchets sont réduits __.

À propos de la méthode jusqu'à présent

・ Jusqu'à présent, nous avons vu les cinq méthodes de __ «méthode gourmande», «méthode ε-gourmande», «méthode soft-max», «méthode de valeur initiale optimiste» et «algorithme UCB1» __, mais il n'y a pas de supériorité ou d'infériorité claire. L'important est d'utiliser __ en fonction du problème __. ・ En tant que prémisse de l'apprentissage par renforcement, on peut dire que __ "la recherche et l'utilisation sont dans une relation de compromis" __. Autrement dit, si le nombre de recherches est augmenté, le nombre d'essais autres que l'optimum est augmenté, ce qui augmente le gaspillage, et si le nombre d'utilisations est augmenté, le risque de ne pas sélectionner le meilleur est augmenté. -Par exemple, lorsque le nombre total d'essais est petit, le taux de recherche est grand __ "méthode ε-gourmande" __, etc., car il est facile de trouver la plateforme optimale, le taux de récompense a tendance à être élevé. En revanche, lorsque le nombre d'essais est important, le gaspillage de la recherche devient important. La recherche peut être effectuée plus intelligemment et le nombre d'utilisations augmente __ "Algorithme UCB1" __ a tendance à avoir un taux de récompense plus élevé. ・ Lorsque toutes les probabilités sont publiées depuis le début, l'agent n'a qu'à essayer la plus appropriée, c'est-à-dire qu'il n'est pas nécessaire de rechercher, mais la récompense à ce moment et les cinq méthodes ci-dessus ont été utilisées. La différence de récompenses s'appelle __ "regret" __. -Sur les cinq méthodes, celle qui peut minimiser le regret est __ "algorithme UCB1" __.

・ Diagramme montrant les résultats de chaque méthode (dans le cas d'un problème en bande N-bras) スクリーンショット 2020-11-12 14.06.51.png

Sommaire

Strengthening learning est une méthode visant à découvrir le comportement optimal dans des conditions données. -Dans l'apprentissage par renforcement, il y a un acteur __ "agent" __. N Arm Banded Problem __ Prend l'action de "choisir une plate-forme". -Il existe également __ "environnement" __ pour lequel l'agent intervient. L'environnement dans ce cas est "le processus de retour si la plate-forme est un succès ou un échec". - "Récompense" __ est un index qui évalue l'opportunité des actions de l'agent. Le but de l'apprentissage par renforcement est de maximiser l'ampleur de cette récompense. -Comme méthode pour maximiser cette récompense, il y a __ "méthode gourmande", "méthode ε-gourmande", "méthode soft-max", "méthode de valeur initiale optimiste" et "algorithme UCB1" __. Dans chaque méthode, tout d'abord, __ "recherche" __ est effectuée pour estimer la probabilité de chaque plate-forme, puis __ "utilisation" __ est effectuée pour sélectionner la plate-forme optimale à partir du résultat.

Cette fois, c'est fini. Merci d'avoir lu jusqu'à la fin.

Recommended Posts

Renforcer l'apprentissage 1 édition introductive
Deep Strengthening Learning 3 Édition pratique: Briser des blocs
[Introduction] Renforcer l'apprentissage
Apprentissage par renforcement futur_2
Apprentissage par renforcement futur_1
Apprentissage amélioré 1 installation de Python
Renforcer l'apprentissage 3 Installation d'OpenAI
Renforcer l'apprentissage de la troisième ligne
Apprentissage amélioré Python + Unity (apprentissage)
Renforcer l'apprentissage 18 Colaboratory + Acrobat + ChainerRL
Apprentissage amélioré 7 Sortie du journal des données d'apprentissage
Renforcer l'apprentissage 17 Colaboratory + CartPole + ChainerRL
Renforcer l'apprentissage 28 collaboratif + OpenAI + chainerRL
Renforcer l'apprentissage 19 Colaboratory + Mountain_car + ChainerRL
Renforcement de l'apprentissage 2 Installation de chainerrl
[Renforcer l'apprentissage] Suivi par multi-agents
Renforcer l'apprentissage 6 First Chainer RL
Apprentissage par renforcement 5 Essayez de programmer CartPole?
Apprentissage par renforcement 9 Remodelage magique ChainerRL
Renforcer l'apprentissage Apprendre d'aujourd'hui
Apprendre avec l'enseignant (retour) 2 édition avancée
Renforcer l'apprentissage 4 CartPole première étape
Apprentissage par renforcement profond 1 Introduction au renforcement de l'apprentissage
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
DeepMind Enhanced Learning Framework Acme
Apprentissage par renforcement: accélérer l'itération de la valeur
Renforcer l'apprentissage 21 Colaboratoire + Pendule + ChainerRL + A2C
Apprentissage par renforcement 34 Créez des vidéos d'agent en continu
Renforcer l'apprentissage 13 Essayez Mountain_car avec ChainerRL.
Construction d'un environnement d'apprentissage amélioré Python + Unity
Renforcer l'apprentissage 22 Colaboratory + CartPole + ChainerRL + A3C
Explorez le labyrinthe avec l'apprentissage augmenté
Mémorandum d'introduction au tutoriel d'apprentissage automatique de Chainer
[Renforcer l'apprentissage] Enquête sur l'utilisation de la bibliothèque Experience Replay de DeepMind Reverb [Client Edition]
Renforcer l'apprentissage 8 Essayez d'utiliser l'interface utilisateur de Chainer
Renforcer l'apprentissage 24 Colaboratory + CartPole + ChainerRL + ACER
Apprentissage par renforcement 3 Méthode de planification dynamique / méthode TD
J'ai essayé l'apprentissage par renforcement avec PyBrain
Introduction au Deep Learning ~ Dropout Edition ~
Apprenez en faisant! Apprentissage par renforcement profond_1
[Renforcer l'apprentissage] DQN avec votre propre bibliothèque
Apprentissage amélioré pour apprendre de zéro à profond
[Renforcer l'apprentissage] J'ai implémenté / expliqué R2D3 (Keras-RL)
Apprentissage profond à partir de zéro (propagation vers l'avant)
<Cours> Deep Learning Day4 Renforcement de l'apprentissage / flux de tension
20 sélections recommandées en 2020 de livres d'introduction à l'apprentissage automatique
Renforcer l'apprentissage 14 Pendulum a été réalisé à ChainerRL.
[Python] Essayez facilement l'apprentissage amélioré (DQN) avec Keras-RL
[Renforcer l'apprentissage] Rechercher le meilleur itinéraire
Renforcer l'apprentissage 11 Essayez OpenAI acrobot avec ChainerRL.