Pourquoi ne voyez-vous pas de couches de décrochage sur les exemples d'apprentissage de renforcement?


13

Je me suis penché sur l'apprentissage par renforcement, et plus particulièrement sur la création de mes propres environnements à utiliser avec l'OpenAI Gym AI. J'utilise des agents du projet stable_baselines pour tester avec lui.

Une chose que j'ai remarquée dans pratiquement tous les exemples RL est qu'il ne semble jamais y avoir de couches de décrochage dans aucun des réseaux. Pourquoi est-ce?

J'ai créé un environnement qui simule les prix des devises et un simple agent, utilisant DQN, qui tente d'apprendre quand acheter et vendre. La formation sur près d'un million de pas de temps tirés d'un ensemble spécifique de données consistant en un mois de données de prix de 5 minutes, il semble beaucoup trop. Si j'évalue ensuite les agents et le modèle par rapport à un mois de données différent, les performances sont catastrophiques. Cela ressemble donc à un sur-ajustement classique.

Mais y a-t-il une raison pour laquelle vous ne voyez pas de couches de décrochage dans les réseaux RL? Existe-t-il d'autres mécanismes pour essayer de faire face au sur-ajustement? Ou dans de nombreux exemples RL, cela n'a-t-il pas d'importance? Par exemple, il ne peut y avoir qu'un seul véritable moyen d'atteindre le meilleur score ultime dans le jeu «en petits groupes», vous pourriez donc aussi bien l'apprendre exactement, et pas besoin de généraliser?

Ou est-il considéré que la nature chaotique de l'environnement lui-même devrait fournir suffisamment de combinaisons différentes de résultats que vous n'avez pas besoin d'avoir des couches de décrochage?


1
Avez-vous essayé d'ajouter un décrochage à un réseau RL pour voir ce qui se passe? Je l'ai (pour un solveur LunarLander_v2 qui fonctionne bien sinon), et les résultats ont été terribles, cela va de la résolution en 400 épisodes, à l'échec total de la résoudre (et j'ai essayé de nombreuses variantes dans d'autres paramètres). Une autre régularisation est OK, et même bénéfique. Je ne sais pas encore pourquoi les problèmes de décrochage pensaient à poser une question ici. . .
Neil Slater

Neil, oui, il semble que votre expérience là-bas fasse écho à ce qui est dit ci-dessous par Dennis. Comme je m'y attendais, dans le scénario de type «résoudre ce casse-tête», vous cherchez vraiment à vous adapter car vous voulez résoudre ce casse-tête spécifique. Et vous voulez savoir si vous rencontrez un étranger bleu contre un étranger rouge car ils pourraient se comporter différemment dans votre jeu.
Matt Hamilton

@MattHamilton Je viens de voir un fil de tweets que quelqu'un a écrit sur l'histoire "Les chercheurs de RL évaluent les données de formation". J'ai édité un lien vers cela dans ma réponse. Le point est toujours le même quand il s'agit de répondre à votre question, mais je suis d'accord avec la chaîne de tweets que j'ai liée là-bas que la vérité est un peu plus nuancée.
Dennis Soemers

Réponses:


11

Le décrochage introduit essentiellement un peu plus de variance. Dans les environnements d'apprentissage supervisé, cela aide en effet souvent à réduire le sur-ajustement (bien que je pense que le décrochage est également déjà devenu moins .. à la mode ces dernières années que dans les quelques années précédentes; je ne suis pas sûr à 100% cependant, ce n'est pas ma principale Domaine d'expertise).

Dans l'apprentissage par renforcement, la variance supplémentaire n'est pas vraiment ce que nous recherchons. Il y a déjà généralement une grande variance dans les signaux d'apprentissage que nous recevons, et cette variance a déjà tendance à être un problème majeur pour la stabilité et / ou la vitesse d'apprentissage. Par exemple:

  • Le caractère aléatoire de la sélection des actions entraîne une variance des rendements que nous observons
  • Il peut y avoir un caractère aléatoire inhérent à l'environnement lui-même, conduisant à une variance supplémentaire dans nos observations (certains environnements ne sont pas déterministes)
  • Contrairement aux paramètres d'apprentissage supervisé, dans l'apprentissage par renforcement, nous utilisons souvent nos propres prédictions dans le cadre de notre fonction de perte / signal d'entraînement. Par exemple, dans l'apprentissage par différence temporelle (comme Q-learning / DQN), la cible vers laquelle nous mettons à jour ressemble à . Dans ce terme, seul le est une observation de la vérité du terrain (comme nous utiliserions dans l'apprentissage supervisé), et l'autre terme est notre propre prédiction. Au cours d'un processus d'apprentissage, ces dernières parties (nos propres prévisions) évoluent avec le temps. Il s'agit d'un problème de « cible mobile », qui peut être considéré comme une variation supplémentaire de nos signaux d'apprentissage.r+maxuneQ(s,une)r

De nombreuses parties importantes des algorithmes Deep RL (sans lesquelles nos processus de formation se révèlent empiriquement déstabiliser et se décomposer) sont très bien conçues pour réduire cette variance. Par exemple, les réseaux cibles dans DQN ont été introduits spécifiquement pour réduire le problème des cibles mobiles. De ce point de vue, il n'est pas surprenant que si nous ajoutions encore plus de variance artificielle par d'autres moyens (tels que le décrochage), cela nuirait aux performances / déstabiliserait l'apprentissage.


Existe-t-il d'autres mécanismes pour essayer de faire face au sur-ajustement? Ou dans de nombreux exemples RL, cela n'a-t-il pas d'importance? Par exemple, il ne peut y avoir qu'un seul véritable moyen d'atteindre le meilleur score ultime dans le jeu «en petits groupes», vous pourriez donc aussi bien l'apprendre exactement, et pas besoin de généraliser?

Dans la majorité des recherches actuelles (approfondies) sur l'apprentissage par renforcement, le sur-ajustement n'est en effet pas considéré comme un problème. La grande majorité de la recherche RL consiste à s'entraîner dans un environnement (par exemple Cartpole, ou Breakout, ou un niveau particulier dans Pacman, ou à naviguer dans un labyrinthe spécifique, etc.), et à évaluer constamment les performances au cours de ce processus d'apprentissage, ou à évaluer performances après un tel processus d'apprentissage dans le même environnement .

Si nous devions comparer cette méthodologie d'évaluation à ce qui se passe dans l'apprentissage supervisé ... nous évaluons essentiellement les performances sur l'ensemble de formation * . Dans un apprentissage supervisé, cela serait absolument inacceptable, mais en RL, il est très bien traité comme acceptable et plus de règle que d'exception. Certains disent que c'est simplement un problème dans la recherche actuelle sur le RL, quelque chose qui doit changer. On pourrait également affirmer que ce n'est pas nécessairement un problème; si nous sommes vraiment en mesure de former l'agent dans précisément le même environnement dans lequel nous souhaitons le déployer plus tard ... eh bien, quel est le problème avec son sur-ajustement à cet environnement?

Ainsi, lorsque nous utilisons la méthodologie d'évaluation décrite ci-dessus, nous sur-adaptons en effet à un environnement spécifique, mais le sur- ajustement est bon plutôt que mauvais selon nos critères d'évaluation . Il est clair que cette méthodologie ne conduit pas à des agents capables de bien généraliser; si vous entraînez régulièrement un agent à naviguer dans un labyrinthe particulier, il sera probablement incapable de naviguer dans un labyrinthe différent après la formation.

* Remarque: la vérité, à mon avis, est légèrement plus nuancée que celle que nous "évaluons réellement sur l'ensemble d'entraînement" dans RL. Voir, par exemple, ce joli fil de tweets: https://twitter.com/nanjiang_cs/status/1049682399980908544


J'ai créé un environnement qui simule les prix des devises et un simple agent, utilisant DQN, qui tente d'apprendre quand acheter et vendre. La formation sur près d'un million de pas de temps tirés d'un ensemble spécifique de données consistant en un mois de données de prix de 5 minutes, il semble beaucoup trop. Si j'évalue ensuite les agents et le modèle par rapport à un mois de données différent, les performances sont catastrophiques. Cela ressemble donc à un sur-ajustement classique.

Notez que votre méthodologie d'évaluation décrite ici ne correspond en effet plus à la méthodologie d'évaluation la plus "courante". Vous avez un problème de dérive de concept , de non stationnarité dans l'environnement. Cela signifie que le sur-ajustement peut être un problème pour vous.

Pourtant, je ne sais pas si l'abandon aiderait (c'est encore une variance supplémentaire qui peut faire mal). Tout d'abord, vous voudrez vous assurer qu'il existe un moyen de suivre l'heure / mois dans vos entrées, de sorte que vous aurez au moins une chance d'apprendre une politique qui s'adapte au fil du temps. Si vous avez une frontière claire et solide entre la "phase de formation" et la "phase d'évaluation", et que vous savez que la dérive du concept se produit à travers cette frontière (vous savez que votre environnement se comporte différemment dans la phase de formation de la phase d'évaluation) ... vous n’ont vraiment pas beaucoup d’espoir d’apprendre une politique uniquement à partir de l’expérience de la phase de formation qui fonctionne toujours bien lors de la phase d’évaluation. Je suppose que vous devrez vous débarrasser de cette frontière claire et solide. Vous' Je veux également continuer à apprendre tout au long de la phase d'évaluation. Cela permet à votre algorithme d'apprentissage de collecter réellement de l'expérience dans l'environnement modifié et de s'y adapter.


1
Dennis, merci beaucoup pour votre réponse très détaillée! Cela confirme en grande partie mes soupçons: c'est-à-dire que plus de RL essaie de résoudre un problème très spécifique dans un environnement spécifique dans lequel il existe souvent une «meilleure» solution claire à ce problème.
Matt Hamilton

2
@MattHamilton Notez qu'il existe des recherches sur la RL pour des environnements plus généraux. Si vous êtes intéressé par ce genre de choses, vous voudrez rechercher des combinaisons de «transfert d'apprentissage» et «apprentissage par renforcement», ou des choses comme RL multi-tâches (RL multi-objectif peut également être intéressant, mais est probablement légèrement différent ). Ces types d'efforts ont cependant tendance à être beaucoup moins performants que l'approche traditionnelle de formation et d'évaluation sur un seul environnement à la fois.
Dennis Soemers
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.