close

Standort Krefeld

acadon AG
Königsberger Straße 115
47809 Krefeld

Tel.: +49 (0) 21 51 96 96-0
Fax.: +49 (0) 21 51 96 96-96
E-Mail: info@acadon.de

close

Support

Hotline _timber
Skype: +49 (0) 21 51 96 96-103
E-Mail: support@acadon.de

Hotline _packaging
Skype: +49 (0) 21 51 96 96-303
E-Mail: packaging@acadon.de

Hotline _cooperations / _furniture
Skype: +49 (0) 21 51 96 96-0
E-Mail: verbundgruppen@acadon.de

Hotline _venture
Skype: +49 (0) 21 51 96 96-803
E-Mail: venture@acadon.de

Weitere Kontakte

Hotline _technology
Skype: +49 (0) 21 51 96 96-200
E-Mail: technik@acadon.de

Administration/Marketing
Skype: +49 (0) 21 51 96 96-0
E-Mail: marketing@acadon.de

Maschine Learning – Reinforcement Learning

Was ist Reinforcement Learning?  

Reinforcement Learning ist eine Art des maschinellen Lernens. Es basiert auf einem Agenten, der mit seiner Umgebung interagiert und daraufhin eine Belohnung erhält. Basierend auf dieser Belohnung, entscheidet der Agent in Zukunft, welche Aktionen er durchführen muss, um seine Belohnung zu maximieren.  

Im Folgenden werde ich das Thema Bestärkendes Lernen näher an dem Spiel Pong erklären.  

  

Agent  

Der Agent ist der Teil beim Bestärkenden Lernen, welcher Aktionen ausführt. Nach jeder ausgeführten Aktion, erhält er eine Belohnung. Diese kann durchaus auch negativ sein. Kommt der Agent ein weiteres Mal in einem Zustand aus, in dem er zuvor schon einmal war, wird er Aktionen vermeiden, welche eine geringe Belohnung verursachen, und solche bevorzugen, welche eine höhere Belohnung mit sich ziehen.  

Dadurch erlernt der Agent eigenständig eine Strategie, um am effizientesten (mit der größten Belohnung) sein Ziel zu erreichen.  

Im Beispiel Pong bildet der grüne Schläger den Agenten. Er interagiert mit der Umgebung durch verschiedene Bewegungen. Allerdings erhält er hier nicht nach jeder Aktion eine Belohnung. Erst nach einem vollständigen Spiel weiß der Agent, ob die Summe seiner Aktionen positiv oder negativ ausgefallen ist.  

Environment  

Als Umgebung wird der Bereich bezeichnet, indem sich der Agent „bewegen“ kann. Hier kann er Aktionen ausführen und bezieht seine Belohnung von hier.   

Es muss sich bei der Umgebung jedoch nicht um eine reale Umgebung handeln. Jedes Problem kann als Umgebung fungieren, solange es von einem Agenten Aktionen akzeptiert und daraufhin Belohnungen zurückliefert.  

Im Beispiel bildet jeder Pixel des Bildes in Pong die Umgebung. Nach jeder Aktion des Agenten wird die aktualisierte Version des Bildes zurückgegeben und als neue Umgebung behandelt. Die Belohnung wird am Ende eines Matches zurückgegeben. Diese kann entweder 1:0 (verloren) oder 0:1 (gewonnen) ausfallen.  

Action  

Aktionen definieren den Weg von einem Zustand in den anderen. Sie lassen den Agenten die Umgebung beeinflussen. Aktionen haben nicht immer direkte Auswirkungen auf die Belohnungen des Agenten. Es kann durchaus vorkommen, dass eine Belohnung negativ ausfällt, da eine Aktion weit in der Vergangenheit eine langfristige Auswirkung auf die Umgebung hatte.  Im Beispiel hat der Agent die Möglichkeit zwischen drei verschiedenen Aktionen zu wählen, er kann den Schläger entweder nach oben oder nach unten bewegen. Als dritte Option kann er den Schläger auch dort stehen lassen, wo er sich aktuell befindet.  

Reward  

Die Belohnung teilt dem Agenten mit, ob seine Aktionen gut oder schlecht waren. Dies ist vergleichbar mit dem Trainieren eines Tieres. Tut dies, was man von ihm verlangt, wird es danach belohnt und strebt später immer wieder an das zu tun, was man erwartet, um wieder belohnt zu werden. Aufgrund dieser Belohnungen kann der Agent später entscheiden, ob er die Aktion in dem aktuellen Zustand ausführt oder lieber eine andere Aktion wählt.  

Reinforcement Learning & Neuronale Netze  

Viele Reinforcement Learning Algorithmen nutzen bei kleinen Problemen Listen oder Matrizen um die Kombination aus Zuständen und Aktionen mit Belohnungen zu verbinden. Je größer das Problem jedoch wird, desto aufwändiger ist es, die Kombinationen in den zuvor genannten Datenstrukturen zu speichern und zu organisieren.  

Da aber in allen Fällen des bestärkenden Lernens eine Nutzenfunktion erstellt und optimiert wird, kann der Agent auch ein neuronales Netzwerk zur Hilfe nehmen um diese Funktion zu optimieren. Dieses Netzwerk würde ihm bei der Entscheidung helfen, die richtige Aktion für den Zustand, in dem er sich aktuell befindet, zu finden. 

  

Fazit  

Reinforcement Learning ist sinnvoll, wenn es darum geht spezielle Strategien zu erlernen. Es wird daher häufig auch in Spielen eingesetzt, um automatisierte Bots zu erstellen. Hier gibt es nur ein Risiko: Durch die Optimierung des Agenten wird der Bot ab einem bestimmten Punkt unschlagbar. Dies ist sichtbar in Fällen wie AlphaGo. Dieser Algorithmus besiegte den 18-fachen Meister in Go gleich 4 Mal hintereinander. In einem zweiten Fall besiegt eine 2 Wochen alte KI der Firma OpenAi, die auf Reinforcement Learning setzt, den Weltklasse Spieler in Dota 2. Anhand dieser zwei Beispiele, erkennt man gut, wie schnell diese Algorithmen Strategien erlernen und anwenden können. Diese können jedoch nicht nur in Spielen eingesetzt werden, sondern helfen auch in der Robotik, in der solche Algorithmen die Maschinen eigenständig steuern und lernen, wie diese sich bewegen können.