Contents — find the section you need

Q-Learning ist eine Off-Policy-Reinforcement-Learning-Methode, die für jedes Zustands-Aktions-Paar einen Wert aktualisiert: „Wie rentabel ist diese Wahl langfristig?“ Ein kleines Labyrinth lässt sich mit einer Tabelle lösen, doch ein Kamerabild und viele Gelenke machen diese Tabelle unmöglich groß. Ein Deep Q-Network (DQN) ersetzt die Tabelle durch ein neuronales Netzwerk und nutzt Experience Replay und ein Zielnetzwerk, um korrelierte Daten und selbstreferenzielle Instabilität zu reduzieren.

Die 30-Sekunden-Zusammenfassung

  • Q(s,a) ist der erwartete zukünftige Ertrag nach der Aktion a im Zustand s. Die Wahl des größten Q-Werts führt zu einer Greedy-Policy.

  • Q-Learning verwendet den maximalen Q-Wert im nächsten Zustand, selbst wenn die Verhaltensrichtlinie eine andere Aktion untersucht hat. Dies ist die Off-Policy-Eigenschaft.

  • DQN bildet eine hochdimensionale Beobachtung, wie z. B. ein Bild, auf Q-Werte für eine endliche Menge diskreter Aktionen ab. Kontinuierliches Drehmoment erfordert Diskretisierung oder eine Actor-Critic-Methode.

Experience Replay mischt alte Übergänge neu, während ein Target Network das Lernziel über mehrere Aktualisierungen hinweg nahezu konstant hält.

Ein Roboter muss Geschwindigkeits-, Kraft-, Strom- und Notstoppgrenzen außerhalb des Lernprozesses festlegen. Eine hohe Belohnung ist kein Beweis für Hardware-Sicherheit.

1. Q-Werte in einer Tabelle erfassen

Im MDP aus der RL Basics Primer führt die Wahl der Aktion a im Zustand s zur Belohnung r und zum Folgezustand s'. Q-Learning verwendet kein explizites Modell P der unbekannten Umgebung; es aktualisiert den Q-Wert ausschließlich anhand der Erfahrung (s,a,r,s'):

Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha\left[r_{t+1}+\gamma\max_{a'}Q(s_{t+1},a')-Q(s_t,a_t)\right]

Die Klammer gibt den temporalen Differenzfehler (TD-Fehler) an. Ein positiver Fehler erhöht den Wert der Aktion; ein negativer verringert ihn. \alpha ist die Lernrate und \gamma der Diskontierungsfaktor. Im Endzustand ist der Wert des Folgezustands null.

Diagram 1 · Use the button to switch views
Q-Learning: Tabelle nach einem Übergang aktualisieren

Abbildung 1 – Q-Learning verschiebt den vorherigen Wert ein Stück in Richtung eines Zielwerts, der aus der beobachteten Belohnung und dem maximalen Wert des Folgezustands gebildet wird.

Ein 5×5-Labyrinth hat nur 25 Zustände und vier Aktionen, daher reichen 100 Tabelleneinträge aus. Bei der ε-greedy-Exploration wird der Zielwert durch die Erfahrungen schrittweise rückwärts durch das Labyrinth propagiert. Setzt man die Lernrate auf 1 und vertraut vollständig auf eine einzelne Erfahrung, ist diese anfällig für Umgebungsrauschen. Daher wird normalerweise ein Wert zwischen 0 und 1 verwendet, um den Mittelwert über die Erfahrungen zu berechnen.

2. Off-Policy-Lernen und ε-greedy-Exploration

Der Zielwert \max_{a'}Q(s',a') ist die am besten geschätzte Aktion, nicht unbedingt die Die tatsächlich ausgeführte explorative Verhaltensstrategie. Q-Learning kann daher eine Greedy-Strategie erlernen, während ε-Greedy Daten sammelt. Beginnen Sie mit einem großen ε, um den Zustandsraum abzudecken, und reduzieren Sie ihn langsam. Auf einem physischen Rechner sollten Sie nur innerhalb validierter Kandidatenbefehle randomisieren und die Kollisionsüberwachung auf höchster Priorität halten.

3. Warum die Tabelle bei Bildern und kontinuierlichen Werten versagt

Wenn ein Zustand jedes Pixel eines Kamerabildes darstellt und jeder Motor 256 Geschwindigkeitsstufen hat, passt die Tabelle nicht in den praktischen Speicher. Nahezu identische Bilder würden zudem als unabhängige Zustände behandelt. DQN approximiert die Tabelle mit einem neuronalen Netzwerk Q_\theta(s,a).

Das Netzwerk ordnet jedem Bild einen Q-Wert pro diskreter Aktion zu. Für oben/unten/links/rechts ist die Ausgabe (Q(s,\mathrm{up}),Q(s,\mathrm{down}),Q(s,\mathrm{left}),Q(s,\mathrm{right})). Der Verlust ist

L(\theta)=\mathbb{E}_{(s,a,r,s')\sim D}\left[\left(y-Q_\theta(s,a)\right)^2\right],\qquad y=r+\gamma\max_{a'}Q_{\theta^-}(s',a')

wobei D der Replay-Puffer ist und \theta^- gehört zum Zielnetzwerk. Für einen terminalen Übergang gilt y=r.

4. Experience Replay: Korrelierte Logs mischen

Robot-Logs sind sequenziell: Frames bei t und t+1 sehen fast identisch aus. Ein Mini-Batch aus benachbarten Frames erzeugt einen verzerrten Gradienten. DQN speichert (s_t,a_t,r_{t+1},s_{t+1},done) in einem Replay-Puffer und wählt zufällige Mini-Batches aus.

Pufferdesign Nutzen Kosten
Gleichmäßiges Sampling einfach, schwächt die zeitliche Korrelation seltene Fehler werden weniger häufig abgetastet
Priorisiertes Replay konzentriert sich auf große TD-Fehler erfordert Wichtigkeitskorrektur und Buchhaltung
FIFO mit fester Größe passt sich einer sich ändernden Umgebung an alte seltene Fehler verschwinden
Episodenspeicherung erhält den Erfolgs-/Fehlerkontext Batches können wieder korreliert werden

Nicht überschreiben Audit-Trail mit Lernvorverarbeitung. Rohe Sensor-Zeitstempel, angeforderte und tatsächlich begrenzte Aktionen sowie Kollisionsflags werden separat von den normalisierten Trainingstensoren gespeichert.

5. Zielnetzwerke: Verzögerung des Lehrers

Wenn dasselbe aktualisierte Netzwerk sowohl das Ziel y als auch die Vorhersage Q_\theta gleichzeitig berechnet, verschiebt sich das Ziel bei jeder Aktualisierung. Eine Aktualisierung, die den Fehler verringern soll, verschiebt auch das nächste Ziel, was zu Divergenz oder Oszillation führt. DQN speichert eine Kopie Q_{\theta^-} und synchronisiert diese als \theta^-\leftarrow\theta alle paar hundert oder tausend Aktualisierungen.

Eine Verlängerung des Synchronisierungsintervalls stabilisiert das Ziel, führt aber zu dessen Veralterung. Polyak-Mittelung ist eine glattere Alternative:

\theta^-\leftarrow\tau\theta+(1-\tau)\theta^-

Die Auswahl, das Synchronisierungsintervall, der Verlust und die Q-Wert-Verteilung werden in der Experimentkonfiguration und den Protokollen aufgezeichnet.

6. Überschätzung und Double DQN

Das Maximum über Verrauschte Schätzungen begünstigen Aktionen, die zufällig hoch erscheinen. Double DQN trennt Aktionsauswahl und Aktionsbewertung:

a^*=\arg\max_{a'}Q_\theta(s',a'),\qquad y=r+\gamma Q_{\theta^-}(s',a^*)

Dies beseitigt zwar nicht alle Verzerrungen, reduziert aber häufig instabiles Q-Wachstum. Ein fehlendes Terminal-Flag, eine falsche Aktionsmaske oder eine inkonsistente Belohnungsskala können ähnliche Ergebnisse liefern. Überprüfen Sie daher die Daten, bevor Sie Algorithmen ändern.

7. Einsatzgebiete von DQN in einem Roboter

DQN setzt eine endliche Aktionsmenge voraus. Die Diskretisierung von Lenkwinkel oder Gelenkdrehmoment kann für eine grobe Demonstration funktionieren, aber feine Raster wachsen schnell und führen zu ruckartigen Befehlen. DDPG, TD3 und SAC geben kontinuierliche Aktionen direkt aus und eignen sich oft besser für die Drehmoment- oder Hydraulikventilsteuerung.

DQN bleibt nützlich für übergeordnete Entscheidungen: linke oder rechte Spur, Greifkandidat A/B/C oder niedriger/mittlerer/hoher Geschwindigkeitsmodus. Übergeben Sie die resultierende Referenz an eine PID- oder MPC-Schicht. Der PID-Artikel und Der MPC-Artikel zeigt, wie man Grenzwerte und Überwachungsmechanismen in dieser unteren Schicht implementiert.

8. Kurven für andere Parameter als die Belohnung zeichnen

Erfolgsrate, Kollisionsrate, Episodenlänge, mittlerer und maximaler Q-Wert, TD-Fehler und Aktionshäufigkeiten zusammen mit der durchschnittlichen Episodenbelohnung protokollieren. Eine steigende Belohnung bei gleichzeitig steigender Kollisionsrate deutet in der Regel auf einen Belohnungs- oder Abbruchfehler hin. Ein stark ansteigender Q-Wert bei gleichzeitig fallendem Verlust lässt auf eine Skalierungsstörung, ein fehlendes Terminal-Flag oder ein falsches Bootstrap-Ziel schließen.

Evaluierungsumgebungen von Trainingsumgebungen trennen. Beleuchtung, Bodenreibung, Nutzlast, Hindernisanordnung und Kommunikationsverzögerung variieren. Eine Strategie, die im Simulator erfolgreich ist, aber Kameraeinstellungen, Motor-Totzonen oder einen Akku-Abfall ignoriert, hat die DQN-Performance auf Hardware nicht unter Beweis gestellt.

Checkliste für die Implementierung

  1. Zustand, diskrete Aktion, Belohnung, Terminal-Flag und Zeitstempel als einen Übergang speichern.

  2. ε, Lernrate, Diskontierung, Puffergröße, Batchgröße und Zielwert korrigieren und protokollieren. Intervall.

  3. Q-Werte, TD-Fehler, Verluste, Erfolgs-/Kollisionsraten und Aktionshäufigkeiten nach Experiment-ID erfassen.

  4. Die Vorverarbeitung der Replay-Daten vom Rohdaten-Audit-Log trennen.

  5. Aktionsmasken, Endzustände, Timeouts und ungültige Sensorwerte testen.

  6. Sicherstellen, dass Grenzwerte, Watchdogs und Notstopps über DQN bleiben und auch bei einem Netzwerkausfall funktionieren.

  7. Unbekannte Bedingungen und Fehler aus dem Training ausschließen.

Zusammenfassung

Q-Learning wandelt die Bellman-Optimalitätsgleichung in eine Tabellenaktualisierung um, ohne dass ein bekanntes Dynamikmodell erforderlich ist. DQN approximiert diese Tabelle mit einem Netzwerk, aber Experience Replay und ein Zielnetzwerk sind unerlässlich, um zu verhindern, dass das selbstreferenzielle Ziel das Rauschen verstärkt. DQN ist eine nützliche diskrete Entscheidungsschicht; kontinuierliches Drehmoment und Sicherheit gehören zu anderen Reglern. Die Erfassung von TD-Fehlern, Kollisionen, Verzögerungen und Q-Verteilungen – nicht nur der Belohnung – verwandelt ein Forschungsskript in ein überprüfbares Robotersystem.

Überprüfen Sie Ihre Verständnis
Garantiert ein hoher Q-Wert eine hohe realisierte Belohnung?

Q ist eine Schätzung des erwarteten Ertrags. Ungewohnte Zustände oder Aktionen können zu großen Schätzfehlern führen.

Referenzen

What to read next

Review the backgroundGrundlagen des bestärkenden Lernens – MDPs, Bellman-Gleichungen und Exploration für RoboterContinue the seriesPolicy Gradients, PPO und SAC – Stabile kontinuierliche Regelung für RoboterExplore another aspect of this fieldEinführung in das Multi-Agent Reinforcement Learning – Optimierung in einer Welt, in der auch die Gegenseite lernt