5.6 Deep Reinforcement Learning

Deep Reinforcement Learning ist eine spezielle Form von Deep Learning, bei welcher klassisches Reinforcement Learning (zu Deutsch etwa: verstärkendes Lernen) mit Deep Learning kombiniert wird.

5.6.1 Reinforcement Learning

Die Grundidee beim Reinforcement Learning ist, dass ein Agent eine möglichst optimale Policy erlernen soll, die beschreibt, wie er sich in seiner Umgebung verhalten soll. Der Agent soll dabei möglichst selbständig vorgehen und hat als Anhaltspunkt nur den Reward, mit welchem er sozusagen für gutes Verhalten belohnt wird. Der Reinforcement-Learning-Algorithmus versucht dann eine Policy zu finden, welche den Reward über die Zeit hinweg maximiert. In der Praxis kann dies zum Beispiel bedeuten, eine möglichst große Punktezahl in einem Spiel zu erreichen. Damit das Ganze funktioniert muss der Algorithmus eine gute Balance zwischen Exploration (Finden neuer Ansätze/Lösungen) und Exploitation (Optimieren der gefundenen Ansätze/Lösungen) aufweisen.

Schleife beim Reinforcement Learning

Abbildung 5.14: Schleife beim Reinforcement Learning

Beim Reinforcement Learning handelt es sich um einen sogenannten Markov-Entscheidungs-Prozess. Wie man in Abbildung 5.14 sehen kann, ist dieser grundsätzlich iterativ. Dem Agent wird bei jedem Durchlauf der Schleife der Zustand seiner Umgebung mitgeteilt (State), sowie die Belohnung, die er für das Erreichen dieses Zustands erhält. Basierend darauf trifft der Agent dann seine nächste Entscheidung und führt eine Action in der Umgebung aus. Mögliche Aktionen sind beispielsweise das Betätigen einer Taste in einem Videospiel oder das Bewegen eines Gelenks bei einem Roboter.

Vereinfacht gesagt wird beim Deep Reinforcement Learning dann das Konzept des regulären Reinforcement Learnings dafür benutzt, um ein neuronales (Policy-)Netzwerk zu trainieren. In diesem Fall repräsentieren dann die Inputs des Netzwerks den State Space und die Outputs den Action Space. Dementsprechend wächst auch die Größe des Netzwerks, je mehr Parameter diese jeweils haben.

5.6.2 Algorithmen

Es gibt inzwischen eine Vielzahl von unterschiedlichen Algorithmen für Deep Reinforcement Learning. Das liegt zum einen daran, dass es sich um ein aktives Forschungsfeld handelt, in welchem ständig Fortschritte gemacht werden, und zum anderen, dass unterschiedliche Lernprobleme unterschiedliche Anforderungen an den verwendeten Algorithmus haben. So gibt es zum Beispiel eine grundsätzliche Unterscheidung nach diskreten (0, 1, 2, …) und kontinuierliche (Gleitkommazahlen) Action bzw. State Spaces. Für manche Anwendungsfälle wie ATARI-Spiele reichen diskrete Action und State Spaces aus. Bei anderen wie der Steuerung eines Roboters wird es sehr schwierig hiermit weit zu kommen, auch wenn es immer möglich ist kontinuierliche Action und State Spaces zu einem gewissen Grad zu “diskretisieren”.

Deep Reinforcement Learning Algorithmen lassen sich in drei Hauptkategorien unterteilen (Stooke and Abbeel 2019):

  • Policy Gradient (z.B. A2C und PPO)
  • Deep Q-Learning (z.B. DQN und Varianten davon)
  • Q-Function Policy Gradient (z.B. DDPG, TD3, SAC, DDPG)

Ein konkreter Anwendungsfall von Deep Reinforcement Learning wird im Kapitel 5.7.3 vorgestellt.

References

Stooke, Adam, and Pieter Abbeel. 2019. “Rlpyt: A Research Code Base for Deep Reinforcement Learning in Pytorch.” arXiv Preprint arXiv:1909.01500.