Direkt zum Hauptbereich

Was ist Reinforcement Learning?

Reinforcement Learning ist das Trainieren von maschinellen Lernmodellen, um eine Folge von Entscheidungen zu treffen. Der Agent lernt, ein Ziel in einer unsicheren, potenziell komplexen Umgebung zu erreichen.


Beim Reinforcement Learning steht eine künstliche Intelligenz vor einer spielähnlichen Situation. Der Computer setzt Versuch und Irrtum ein, um eine Lösung für das Problem zu finden. Um die Maschine dazu zu bringen, das zu tun, was der Programmierer will, erhält die künstliche Intelligenz entweder Belohnungen oder Bestrafungen für die Aktionen, die sie ausführt. Ihr Ziel ist es, die Gesamtbelohnung zu maximieren.


Obwohl der Designer die Belohnungspolitik - also die Spielregeln - festlegt, gibt er dem Modell keine Hinweise oder Vorschläge, wie das Spiel zu lösen ist. Es liegt am Modell, herauszufinden, wie die Aufgabe zu lösen ist, um die Belohnung zu maximieren, beginnend mit völlig zufälligen

Versuchen und endend mit ausgeklügelten Taktiken und übermenschlichen Fähigkeiten.


Indem es die Macht der Suche und der vielen Versuche ausnutzt, ist Reinforcement Learning derzeit der effektivste Weg, die Kreativität von Maschinen anzudeuten. Im Gegensatz zum Menschen kann die künstliche Intelligenz Erfahrungen aus Tausenden von parallelen Spielversuchen sammeln, wenn ein Reinforcement-Learning-Algorithmus auf einer ausreichend leistungsfähigen Computerinfrastruktur ausgeführt wird.


Beispiele für Reinforcement Learning


Anwendungen des verstärkenden Lernens waren in der Vergangenheit durch die schwache Computerinfrastruktur begrenzt. Wie der von Gerard Tesauro in den 1990er Jahren entwickelte KI-Superspieler Backgamon zeigt, gab es jedoch Fortschritte. Dieser frühe Fortschritt ändert sich nun rapide mit leistungsstarken neuen Rechentechnologien, die den Weg zu völlig neuen, inspirierenden Anwendungen öffnen.


Das Training der Modelle, die autonome Autos steuern, ist ein hervorragendes Beispiel für eine mögliche Anwendung von Reinforcement Learning. In einer idealen Situation sollte der Computer keine Anweisungen zum Steuern des Autos erhalten. Der Programmierer würde es vermeiden, alles, was mit der Aufgabe zusammenhängt, fest zu verdrahten und der Maschine erlauben, aus ihren eigenen Fehlern zu lernen. In einer perfekten Situation wäre das einzige fest verdrahtete Element die Belohnungsfunktion.


- Unter normalen Umständen würden wir zum Beispiel von einem autonomen Fahrzeug verlangen, dass es die Sicherheit an die erste Stelle setzt, die Fahrzeit minimiert, die Umweltverschmutzung reduziert, den Fahrgästen Komfort bietet und sich an die gesetzlichen Vorschriften hält. Bei einem autonomen Rennwagen hingegen würden wir die Geschwindigkeit viel stärker betonen als den Komfort des Fahrers. Der Programmierer kann nicht alles vorhersagen, was auf der Straße passieren könnte. Anstatt langwierige "Wenn-dann"-Anweisungen zu erstellen, bereitet der Programmierer den Reinforcement-Learning-Agenten so vor, dass er in der Lage ist, aus dem System von Belohnungen und Bestrafungen zu lernen. Der Agent (ein anderer Name für die Reinforcement-Learning-Algorithmen, die die Aufgabe ausführen) erhält Belohnungen für das Erreichen bestimmter Ziele.


- Ein weiteres Beispiel: Das Projekt "Learning to run" teil, das zum Ziel hatte, einen virtuellen Läufer von Grund auf zu trainieren. Der Läufer ist ein fortschrittliches und präzises Muskel-Skelett-Modell, das vom Stanford Neuromuscular Biomechanics Laboratory entwickelt wurde. Dem Agenten das Laufen beizubringen, ist ein erster Schritt auf dem Weg zu einer neuen Generation von Beinprothesen, die das Laufverhalten des Menschen automatisch erkennen und sich so anpassen, dass das Laufen leichter und effektiver wird. Es ist zwar möglich und wurde in den Stanford-Labors bereits durchgeführt, aber die Festverdrahtung aller Befehle und die Vorhersage aller möglichen Laufmuster erfordert eine Menge Arbeit von hochqualifizierten Programmierern.

Kommentare

Beliebte Posts aus diesem Blog

Autoencoder verstehen (Teil I)

Warum sollten wir Autoencoder verwenden und was sind die Vorteile von Autoencodern . Wenn man sich andere Beschreibungen und Erklärungen anschaut, was Autoencoder sind, fängt man bald an, durcheinander zu kommen , warum Autoencoder so nützlich sind und warum sie versuchen, von den Eingabedaten zur Ausgabe mit minimalem Verlust zu reproduzieren.

Einfaches Reinforcement Learning: Q-learning

Einer meiner Lieblingsalgorithmen, den ich während eines Reinforcement-Learning-Kurses gelernt habe, war das q-learning. Wahrscheinlich, weil er für mich am einfachsten zu verstehen und zu programmieren war, aber auch, weil er mir sinnvoll erschien. In diesem kurzen Beitrag werde ich q-learning besprechen und den grundlegenden Hintergrund zum Verständnis des Algorithmus vermitteln.