Q-Learning – unplugged

Das QFeld dient dazu, den Prozess des verstärkenden Lernens (Reinforcement Learning) mit Zettel und Stift nachzuspielen. Hierbei geht es darum, einen Weg zu lernen, indem du den Algorithmus unplugged anwendest. Im Gegensatz zu anderen Algorithmen, die auf optimale Lösungen abzielen, konzentriert sich dieser Ansatz darauf, durch Ausprobieren und Feedback zu lernen.

Vorbereitung

Drucke dir das Bild aus, oder zeichne es ab (anstelle von Scratch kannst du auch ‚Start‘ in das erste Feld schreiben und anstelle der Torte ‚Ziel‘). Du benötigst außerdem eine Spielfigur (wie beim Mensch ärgere dich nicht).

Scratch bewegt sich zunächst zufällig über das Feld.

Das kleine Scratch-Programm zeigt dir die Richtung an in die du deine Figur ziehst (sofern das möglich ist), klicke dazu auf die grüne Fahne oder direkt auf den Pfeil.

Scratch lernt

Unser Agent Scratch hat zunächst keine Möglichkeit, den nächsten Schritt zu kennen, deshalb läuft er zufällig über das Feld.

Scratch kennt jedoch sein Ziel. Wenn er sein Ziel erreicht, kann er in das Feld, aus dem er gekommen ist, einen Pfeil in die Laufrichtung zeichnen. Beim nächsten Durchgang ist er nun ein kleines bisschen klüger.

Natürlich weiß Scratch nun, wohin er gehen soll, sobald er auf einen Pfeil trifft. Deshalb kann er, sobald er auf einen Pfeil trifft, in das Feld, aus dem er gekommen ist, einen Pfeil in Laufrichtung zeichnen. Anschließend kann er dem Pfeil, auf dem er steht, folgen.

Für eine detaillierte Anleitung zur Entwicklung mit Scratch schau dir den Folgebeitrag Q-Learning Entwicklung mit Scratch an.

Hast du einen Weg gefunden?

Schau dir das gezeichnete Artikelbild oben noch einmal an. Was könnte dort nicht stimmen?

Dir ist sicher aufgefallen, dass Scratch das ein oder andere Mal mehrfach an der gleichen Stelle aus dem Feld laufen wollte. Wie kannst du das Verfahren verbessern, damit Scratch sein Verhalten anpasst?

Mache das Feld interessanter, baue Hindernisse ein oder gib der Karte eine andere Form.

Verstärkendes Lernen ist ein Lernansatz, bei dem ein Agent durch Interaktionen mit seiner Umgebung lernt, seine Entscheidungen zu verbessern. In diesem Fall wird es angewendet, um Scratch zu ermöglichen, durch zufällige Bewegungen und das Zeichnen von Pfeilen zu lernen, wie er zu seinem Ziel gelangt.

Welches feedback erhältst Scratch aus seiner Umwelt um zu lernen?

Wo könnte verstärkendes Lernen in anderen Szenarien oder Anwendungen eingesetzt werden?


Kommentare

Schreibe einen Kommentar zu

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert