Kursleiter: Hallo, meine
Freunde, und willkommen zu einem neuen Anwendungsfall aus der Datenwissenschaft
mit ChatGPT, der sich diesmal mit dem Thema Verstärkungslernen beschäftigt.
Wir werden ChatGPT also gleich mitteilen,
dass wir ein virtuelles selbstfahrendes Auto programmiert haben, das noch
keine KI besitzt.
Wir haben also gerade die Fähigkeit implementiert, sich vorwärts zu bewegen, links abzubiegen,
rechts abzubiegen und anzuhalten.
Und wir werden sagen, dass dieses selbstfahrende Auto belohnt
wird, wenn es ein bestimmtes Ziel erreicht,
und bestraft, wenn es sich von diesem Ziel entfernt
oder auf Hindernisse trifft.
Okay, und dann werden wir ChatGPT fragen,
welches KI-Modell für das selbstfahrende
Auto implementiert werden soll und wie.
Ist das okay?
Also machen wir es so.
Ich werde hier einen neuen Chat eröffnen.
Und im Inneren werden
wir genau sagen: "Hey, ich habe ein virtuelles
selbstfahrendes Auto programmiert, dessen
Aktionen darin bestehen, vorwärts
zu fahren, links abzubiegen,
rechts abzubiegen und anzuhalten.
Und dann wird dieses Auto belohnt,
wenn es ein bestimmtes Ziel erreicht,
und bestraft, wenn
es sich weiter von diesem Ziel
entfernt oder auf ein Hindernis
stößt. Okay, jetzt lass uns gieriger sein.
Ich wollte nur nach Empfehlungen
fragen, wie man ein Verstärkungslernmodell für das
selbstfahrende Auto erstellen kann, aber eigentlich wollte ich fragen,
wie man es direkt erstellen kann.
Warum nicht?
Mal sehen, was ChatGPT alles kann.
Ich frage also: "Kannst
du mir bitte einen Python-Code
schreiben und die besten Bibliotheken
verwenden, um ein Verstärkungslernmodell zu
erstellen, das die KI in diesem selbstfahrenden Auto
implementiert? Na gut, die Frage ist ein
bisschen gierig, aber man weiß ja nie.
ChatGPT könnte uns genau das geben, was wir wollen.
Versuchen wir es also,
und wenn es Probleme gibt, werden wir ihm helfen.
Okay, drücken wir die Eingabetaste und los geht's.
Sicher, okay, das ist schon mal ein guter Anfang.
"Ich kann Ihnen dabei helfen, ein Reinforcement-Learning-Modell
für Ihr selbstfahrendes Auto in Python
zu implementieren. Erstaunlich.
"Hier ist ein Code, der zeigt, wie Sie
die OpenAI Gym-Bibliothek verwenden können. Fantastisch.
"Um ein Reinforcement-Learning-Modell
für Ihr selbstfahrendes Auto zu trainieren. Okay, das ist wirklich erstaunlich, ich hätte nicht erwartet, dass ChatGPT
das so einfach macht, und es macht Sinn,
was es jetzt macht.
Es initialisiert die Q-Tabelle, die Anzahl
der Zustände, die Anzahl der Aktionen und eine Lernrate,
die auf 0 initialisiert ist. 1, ein Abzinsungsfaktor
von 0. 95.
Das ist wirklich erstaunlich, ich bin voller Ehrfurcht.
Die Erkundungsrate auf 0. 5, die maximale Anzahl der Episoden auf 1.000,
die maximale Anzahl der Schritte pro Episoden
auf 100.
Dann wird das Q-Learning-Modell trainiert - erstaunlich.
Ich werde ihn dann herausfordern, ein fortgeschritteneres Modell wie
das tiefe Q-Learning-Modell
oder das A3C zu implementieren, aber warten wir es ab.
Sie implementiert alles von Grund auf mit der For-Schleife.
Zunächst wird eine Aktion ausgewählt, dann wird der Schritt
ausgeführt, bei dem die KI die Aktion ausführt,
dann wird die Q-Tabelle aktualisiert und schließlich
wird der Zustand auf den nächsten Tag gesetzt.
Das ist wirklich der Prozess des Verstärkungslernens, der Q-Learning-Prozess,
das ist erstaunlich.
Dann wird sogar implementiert, wie man das Q-Learning-Modell
testet, und schließlich wird die Umgebung geschlossen.
Wow, das war wirklich erstaunlich.
Okay, so viel habe ich nicht erwartet.
Da es also so leicht war, sollten wir
es noch mehr herausfordern, noch härter.
Zuerst sagen wir natürlich: "Vielen Dank,
das war wirklich hilfreich.
Ich weiß jedoch
bereits, wie man
Q-Learning einsetzt.
Könnten Sie also
bitte dasselbe mit einem fortschrittlicheren
Reinforcement-Learning-Modell
wie z. B. Deep Q-learning tun? Oder noch besser: Lasst uns super gierig sein.
"Ein modernes Modell des verstärkten Lernens. Okay, bist du bereit dafür?
Jetzt geht's los.
Und: "Gewiss. Er sagt immer: "Sicherlich. Das ist erstaunlich.
"Hier finden Sie einige Codes, die zeigen, wie Sie die OpenAI-Baselines-Bibliothek
verwenden können, um ein tiefes Q-Learning-Modell,
DQN, für Ihr selbstfahrendes Auto zu trainieren. Und da sind wir wieder.
Sie gibt uns den Code.
Das ist wirklich erstaunlich.
Also, ja, es verwendet jetzt die Wrap-DeepMind-Bibliothek
aus der gemeinsamen Atari-Bibliothek der Basislinie,
und es implementiert die KI wieder
mit dem tiefen Q-Learning-Modell dieses Mal.
Das ist wirklich, wirklich erstaunlich.
"Dieser Code verwendet den DQN-Algorithmus, um ein tiefes Q-Learning-Modell für Ihr
selbstfahrendes Auto zu trainieren.
Das Modell lernt, in jedem Zustand die beste
Maßnahme zu ergreifen, um die Belohnung zu maximieren.
Wenn Sie ein fortschrittlicheres
Reinforcement-Learning-Modell verwenden möchten, können Sie alternativ die OpenAI
Spinning Up-Bibliothek nutzen, die Implementierungen von hochmodernen
Reinforcement-Learning-Algorithmen
bietet.
Der folgende Code zeigt, wie Sie die Spinning
Up-Bibliothek verwenden können, um ein PPO-Modell
(proximal policy optimization) zu trainieren. In der Tat, das ist ein tolles Modell.
"Für Ihr selbstfahrendes Auto. Und schon haben Sie wieder das Modell mit
dem gesamten Code.
Wow, was für eine Revolution, dieses ChatGPT.
Im Ernst, ich bin wirklich beeindruckt.
Genau, und schon haben Sie den Code.
"Dieser Code verwendet den PPO-Algorithmus, um
ein Reinforcement-Learning-Modell
für Ihr selbstfahrendes Auto zu trainieren.
Das Modell lernt, so zu handeln, dass
die erwartete Summe der diskontierten Belohnungen maximiert wird.
Ich hoffe, das hilft.
Lassen Sie mich wissen, wenn
Sie Fragen haben oder weitere Unterstützung wünschen. Nun, selbst ich habe nicht so viel erwartet,
deshalb bin ich genauso
beeindruckt wie du, dass du das alles gleichzeitig machst.
Wir werden also sagen: "Vielen Dank, das war toll. Und fertig.
Nochmals vielen Dank, dass Sie sich diesen Anwendungsfall der
Datenwissenschaft mit ChatGPT angesehen haben.
Lassen Sie uns nun zum nächsten Punkt übergehen.
Und bis dahin viel Spaß beim maschinellen Lernen.