Lesson
    1
    Lesson
    2
    Lesson
    3

    0%
    Lesson
    4
    Lesson
    5

    0%
    • 2.4 Reinforcement Learning

      Reinforcement Learning gewinnt seit einigen Jahren Popularität, nicht zuletzt seit dem Sieg von AlphaGo in einem Go-Turnier gegen die weltbesten menschlichen Spieler Lee Sedol. Wie leistungsfähig Deep Reinforcement Learning gegenüber Supervised Learning in bestimmten Zusammenhängen sein kann, lässt sich sehr gut mit dem Spiel Pong demonstrieren.

      Beispiel: Pong

      Möchte man ein neuronales Netz mithilfe von Supervised Learning trainieren, um beispielsweise im Spiel Pong besonders gut performen, müsste man zunächst Daten generieren, indem man aufzeichnet, wie ein menschlicher Spieler bei Pong agiert. Man würde als aufnehmen, in welche Momenten der Spieler den Balken nach oben oder nach unten bewegt und parallel den Zustand des Spielfeldes. Die Schwäche dieses Ansatzes ist allerdings, dass das trainierte Netzwerk maximal so gut performen wird, wie der Spieler, der die Trainingsdaten generiert hat.

      Beim Reinforcement Learning wird ein Agent belohnt werden, wenn seine Aktion erfolgreich war. Bei unserem Beispiel, dem Spiel Pong, würde der Agent z.B. für eine Aufwärtsbewegung belohnt werden, wenn er daraufhin einen Punkt erhält. Aktion at führt zu einem Umgebungszustand St, der entweder mit einer Belohnung +1 oder Bestrafung -1 belohnt wird. Runde für Runde wird also eine Entscheidung vom Netzwerk getroffen, belohnt und zurück an die Engine des Spiels übertragen.



      Credit Assignment Problem

      Das Credit Assignment Problem beschreibt den Umstand, dass, wenn das Belohnungssystem Agenten nach einer Sammlung von Schritten belohnt wird, auch die einzelnen Schritte, die nicht gut waren, belohnt wurden. Dieser Fall ist beim Spiel Pong der folgende: Ein Agent wird immer nur belohnt sobald der Spieler einen Punkt bekommt und nicht nach jeder einzelnen Bewegung. Das führt dazu, dass auch die Bewegungen, die vor einem Punkt vorgekommen sind, allerdings nicht zielführend waren belohnt werden.

      Dem wird mit dem sogenannten Sparce Reward System entgegen gesteuert. Dieses System hat den Nachteil, dass es wesentlich aufwendiger zu trainieren ist, weil es wesentlich mehr Trainingsdaten benötigt. Allerdings erlaubt es, wie der Name andeutet jeden einzelnen Schritt zu belohnen.

      In komplexeren Aufgaben bzw. Spielen (z. B. Jump'n'Run Spiele wie SuperMario 64) kann das Sparce Reward System allerdings auch hinderlich sein, weil in solchen Fällen der Agent zu selten belohnt wird.