Suche

Bestärkendes Lernen: einen Roboter Erfahrungen sammeln lassen

Bestärkendes Lernen – Bestrafen und Belohnen

In diesem Abschnitt wird die Idee des bestärkenden Lernens sehr vereinfacht dargestellt. Die Grundidee wird dabei nur grob erläutert. Die Details können jedoch später im interaktiven Beispiel näher nachgelesen und nachvollzogen werden. 

Statt einen optimalen Weg für den Roboter durch Programmierung vorzugeben, kann man ihn auch einfach mehr oder weniger zufällige Wege ausprobieren lassen und dafür sorgen, dass der Roboter seine gemachten Erfahrungen dabei speichert, um sie später sinnvoll nutzen zu können. Der Roboter soll dazu jeweils einen Schritt auf ein zufällig gewürfeltes Nachbarfeld gehen (nach oben, unten, rechts oder links). Trifft er bei dem Schritt auf ein Feld mit Gold, so erhält er eine Belohnung von +1. Stößt er gegen den Rand oder gegen ein Hindernis, so erhält er eine Bestrafung von -1. Gelangt er auf ein normales freies Feld ohne Hindernis oder Gold, erhält er trotzdem eine kleine Bestrafung von -0,1. Damit soll im Laufe seiner Suche erreicht werden, dass der Roboter nicht ewig lange unterwegs ist, sondern für kurze Wege zum Gold weniger bestraft wird als für unnötig lange Wege. Es ist ein wenig so, als wäre er mit dem Auto unterwegs und müsste für jeden Schritt eine kleine Menge Sprit bezahlen. Natürlich ist es da ökonomischer, mit möglichst wenigen Schritten zum Gold zu gelangen.

Betrachten wir zunächst die abgebildete Situation. Der Roboter steht direkt neben dem Gold und neben zwei Hindernissen. Er weiß jedoch erst, was auf den Nachbarfeldern ist, wenn er sich auf diese bewegt hat. Da er also (noch) nicht vorausschauen kann, wählt er eine zufällige Richtung aus den Möglichkeiten oben, unten, rechts und links.

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Die möglichen Belohnungen (oder Bestrafungen) hängen also von der Entscheidung ab, die der Roboter trifft, und sind in der folgenden Abbildung für das aktuelle Feld dargestellt, auf dem der Roboter steht. Es gibt vier Möglichkeiten, von denen die Möglichkeiten oben und links zu den höchsten Bestrafungen führen (da diese Wege in Zukunft von dem aktuellen Feld aus gemieden werden sollen), die Möglichkeit rechts zu einer kleinen Bestrafung führt und der Schritt nach unten die höchste Belohnung nach sich zieht.

Eine Grafik mit vier Zahlenwerten

Von diesen vier Möglichkeiten kann der Roboter nun eine Möglichkeit wählen. Das geschieht am Anfang des Trainings hauptsächlich zufällig. Je weiter das Training jedoch voranschreitet, desto häufiger orientiert sich der Roboter an seinen bisher gemachten Erfahrungen (was auf dieser Seite jedoch noch vernachlässigt wird). Das kann er deswegen, weil er die durch den Schritt aufs Nachbarfeld erlangten Bestrafungen und Belohnungen – vereinfacht gesagt – in einer Karte speichert, die das Spielfeld repräsentiert. Dies kann z. B. eine Tabelle sein, die genauso angeordnet ist wie das Spielfeld und genauso viele Zellen besitzt wie das Spielfeld. Pro Zelle kann der Roboter vier Zahlenwerte speichern. So kann er seine Erfahrungswerte für jede der vier Bewegungsrichtungen in jedem Feld speichern und im Laufe der Zeit immer weiter verfeinern. Wenn er dies oft genug macht, sind diese Werte besser als bei einer zufälligen Richtungsentscheidung. 

Aktuelle Bestrafungen und Belohnungen ermitteln

Die folgenden Abbildungen zeigen, wie der Roboter für drei aufeinanderfolgende Schritte Bestrafungen bzw. Belohnungen erhält und diese speichert. Der Einfachheit halber werden die zu speichernden Werte zur besseren Veranschaulichung hier direkt in die Grafik eingetragen. Es wird in diesem Beispiel davon ausgegangen, dass der Roboter nacheinander nach rechts, unten und links gegangen ist. Der Roboter trägt den Zahlenwert in das zuletzt besuchte Feld immer genau dann ein, wenn er den Schritt in das neue Feld gemacht hat, denn erst in diesem Augenblick weiß er ja, ob es ein leeres Feld ist, ob er das Gold gefunden hat oder ob ein Hindernis bzw. der Rand getroffen wurde.

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen, drei Symbolen und Zahlenwert für Hindernisse

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen, drei Symbolen für Hindernisse und Zahlenwerte

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen, drei Symbolen für Hindernisse und Zahlenwerten

Erfahrungen sammeln (1)

Betrachte die folgende Situation, nimm ein Blatt Papier (oder dein Heft) und skizziere, welche Zahlen in die Abbildung eingetragen werden müssen, wenn der Roboter folgenden Weg geht:

Zwei Pfeilsymbole

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Trage für den Schritt nach rechts die passende Zahl an den rechten Rand des Startfelds ein und für den anschließenden Schritt nach oben die passende Zahl an den oberen Rand in dem Feld direkt unter dem Gold. Ein Schritt auf ein leeres Feld führt zu einer Bestrafung von 0,1. Ein Schritt auf das Feld mit dem Gold bringt eine Belohnung von 1,0.

Nachdem der Roboter das Gold erreicht hat, sieht die Situation wie folgt aus:

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Erfahrungen sammeln (2)

Nachdem der Roboter das erste Mal Gold gefunden hat, wird er auf ein neues zufälliges Startfeld gesetzt. Die gespeicherten Werte aus der letzten Reise bleiben jedoch bestehen und sind deswegen weiterhin in der Grafik eingetragen. Skizziere, am besten wieder auf Papier, welche Zahlen in die Abbildung eingetragen werden müssen, wenn der Roboter folgenden Weg geht:

Zwei Pfeilsymbole

Hinweis: Gehe der Einfachheit halber davon aus, dass der Roboter auf seinem aktuellen Feld stehen bleibt, sollte er im nächsten Schritt auf ein Hindernisfeld laufen wollen.

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Im ersten Schritt bleibt der Roboter auf dem aktuellen Feld stehen, es wird jedoch der Bestrafungswert für den erfolglosen Versuch nach oben in das aktuelle Feld eingetragen (am oberen Rand). Trage für den zweiten Schritt die richtige Zahl in dasselbe Feld an den rechten Rand ein.

Nachdem der Roboter das Gold erreicht hat, sieht die Situation wie folgt aus:

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Zwischenfazit zum Erfahrungen sammeln

Man kann sich gut vorstellen, dass die Karte des Roboters sich langsam füllt, wenn der Roboter nach jedem erfolgreichen Auffinden des Goldes wieder auf ein neues zufälliges Startfeld gesetzt wird. Interessant wird es jedoch, wenn der Roboter auf ein Feld trifft, in dem bereits Zahlenwerte eingetragen sind. Genau an dieser Stelle setzt später die eigentliche Umsetzung der Logik an.

Der Roboter soll sich nämlich später genau an diesen Zahlen orientieren, um einen optimalen Weg zum Gold zu finden. Wenn der Roboter irgendwann mit seinem Training fertig ist, ist dies einfach: Er folgt einfach auf jedem Feld dem Pfeil mit dem höchsten Zahlenwert. Doch wie genau kommen diese zustande? Das soll im Folgenden ganz vereinfacht an ein paar Beispielen durchgespielt werden. 

Erfahrungen sammeln (3)

Betrachte die neue Situation, lies zuerst den Text und skizziere danach auf Papier, welche Zahlen nun in die Abbildung eingetragen werden müssen.

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Der Roboter startet nach dem letzten erfolgreichen Auffinden des Goldes wieder auf einem zufälligen Feld. Die bisher eingetragenen Werte bleiben ebenfalls aus dem letzten Beispiel bestehen. Der Roboter soll nun folgenden (zufällig ausgewürfelten) Weg gehen:

Eine Reihe von drei Pfeilsymbolen

Der Weg führt ihn also zunächst nach unten auf ein bisher nicht besuchtes Feld. In dem Moment, in dem er das neue Feld betritt, trägt er in dem zuletzt besuchten Feld den richtigen Zahlenwert an der richtigen Stelle ein. Der zweite Schritt führt ihn jedoch dann auf ein bereits besuchtes Feld, in dem sogar ein +1 Wert anzeigt, dass das Gold ganz nah ist. Was denkst du? Welchen Wert trägt der Roboter also sinnvollerweise in sein zuletzt besuchtes Feld ein (also das Feld ganz rechts unten in der Ecke)? Der dritte Schritt führt ihn zum Gold. Wie aktualisiert der Roboter den letzten Zahlenwert, der ja schon +1 war? Was denkst du? Wird der Wert größer oder bleibt er gleich?

Für den Schritt nach unten trägst du den Wert so ein, wie du das bisher immer gemacht hast. Für den zweiten Schritt nach links trägst du einen Wert ein, der zwei Dinge berücksichtigt: zum einen die Kosten für einen Schritt und zum anderen, dass es für den nächsten Schritt eine Belohnung von +1,0 geben wird, wenn der Roboter dem Pfeil folgt. Berücksichtige dies sinnvoll!

Nachdem der Roboter das Gold erreicht hat, sieht die Situation wie folgt aus:

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Erfahrungen sammeln (4)

In dem folgenden Beispiel gehen wir einmal davon aus, dass der Roboter ein Feld höher startet und „zufällig“ genau denselben Weg läuft wie im Beispiel zuvor. Trage in deine Skizze die sich ergebenden Änderungen ein. Die Situation ist also wie folgt:

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Der Weg lautet:

Eine Reihe von vier Pfeilsymbolen

Für den ersten Schritt nach unten trägst du den Wert so ein, wie du das bisher immer gemacht hast. Für den zweiten Schritt nach unten musst du berücksichtigen, dass auf dem Feld ganz unten rechts in der Ecke bereits ein hoher Wert existiert, der aussagt, dass von dem Feld aus mit einer insgesamten Belohnung von +0,9 das Gold erreicht werden kann (+1,0 Belohnung für das Gold und -0,1 Bestrafung für den zusätzlichen Schritt). Berücksichtige dies für das Feld darüber in sinnvoller Art und Weise! Die übrigen Werte müssen nicht verändert werden.

Nachdem der Roboter das Gold erreicht hat, sieht die Situation wie folgt aus:

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Erfahrungen sammeln (5)

Lassen wir den Roboter noch einmal „zufällig“ starten und setzen ihn noch ein Startfeld höher als zuvor. Diesmal soll der Roboter zwei Felder nach unten gehen und dann wieder zwei Felder nach oben. Der weitere Weg danach wird hier nicht berücksichtigt. Welche neuen Einträge ergeben sich?

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Eine Reihe von vier Pfeilsymbolen

Der erste Schritt nach unten ist leicht. Dieser Zahlenwert wird auch nie verändert werden bei dem betrachteten Weg. Der zweite Schritt nach unten führt den Roboter auf ein Feld mit einer +0,8. Also sollte er den unten-Wert des zuletzt besuchten Feldes aktualisieren (Belohnung neues Feld minus Bestrafung für einen Schritt). Spannend wird es auf dem Rückweg, denn hier gilt dasselbe Prinzip.

Nachdem der Roboter das Gold erreicht hat, sieht die Situation wie folgt aus:

Ein 5x5 Felder großes Spielfeld mit Roboterfigur, Goldklumpen und drei Symbolen für Hindernisse

Erfahrungen sammeln (6)

Fülle alle Werte der unteren zwei Reihen vollständig aus, wenn der Roboter genauso funktionieren würde, wie es bisher beschrieben wurde, und alle Felder des Spielfeldes genügend oft besucht hätte, sodass sich nichts mehr ändern würde. Skizziere dazu das Spielfeld auf Papier und trage pro Zelle vier Werte ein. Vergleiche dann deine Skizze mit der Lösung.

Nachdem der Roboter oft genug alle Felder besucht hat, sieht die Situation in etwa so aus wie im Folgenden dargestellt. Für jedes Feld ist zusätzlich ein Pfeil eingezeichnet, der den besten Weg anzeigt, für den die höchste Belohnung zu erwarten ist. Selbstverständlich ist die Karte sehr stark idealisiert. Bei einem echten Training wären nicht zwangsläufig alle Wege zu Hindernissen und zum Rand mit -1,0 belegt. Die Karte ist aus dem interaktiven Beispiel, das am Ende dieser Seite verlinkt ist, und sie kann dort direkt nachsimuliert werden. Es handelt sich dabei um Beispielfeld 4.

Ein 15x15 großes Spielfeld mit zahlreichen Pfeilsymbolen und Zahlenwerten

Close search