Deep Reinforcement Learning
Beim Deep Reinforcement Learning (DRL) lernen neuronale Netze Richtlinien und Wertfunktionen aus Rohdaten wie Pixeln. Hier geht es um DQN, PPO, Ergebnisse und Grenzen.
Tiefes bestärkendes Lernen (DRL) kombiniert bestärkendes Lernen (RL), bei dem ein Agent durch Versuch und Irrtum lernt, die Belohnung zu maximieren, mit tiefen neuronalen Netzen, die das Gelernte des Agenten abbilden. Klassisches RL speichert für jeden Zustand einen Wert in einer Tabelle. Das ist unmöglich, wenn ein Zustand aus einem Kamerabild oder den kontinuierlichen Gelenkwinkeln eines Roboters besteht. Ein neuronales Netz bildet stattdessen rohe, hochdimensionale Beobachtungen wie Pixel, Lidar-Scans oder Text auf Aktionswerte oder Aktionswahrscheinlichkeiten ab und verallgemeinert auf nie zuvor gesehene Zustände. DeepMinds DQN machte den Ansatz 2015 bekannt, indem es allein anhand von Bildschirmpixeln und Spielständen 49 Atari-2600-Spiele erlernte. Es nutzte eine einzige Netzwerkarchitektur und einen Satz Hyperparameter und erreichte ein Niveau, das mit dem eines professionellen menschlichen Spieletesters vergleichbar war.
So funktioniert tiefes bestärkendes Lernen#
Der Agent folgt weiterhin dem RL-Regelkreis eines Markov-Entscheidungsprozesses: einen Zustand beobachten, handeln, eine Belohnung erhalten und das Modell aktualisieren. Neu ist, dass ein Netzwerk mit Millionen Parametern jetzt eine oder mehrere der folgenden Funktionen übernimmt:
- Wertfunktion: Das Netzwerk sagt den erwarteten Ertrag jeder Aktion voraus, und der Agent wählt die höchste Vorhersage aus. Das Netzwerk von DQN verwendete die letzten vier Spielbilder, skaliert auf 84 × 84 Pixel, um Bewegungen erkennen zu können.
- Richtlinie: Das Netzwerk gibt für jede Aktion eine Wahrscheinlichkeit oder für eine kontinuierliche Aktion, etwa einen Lenkwinkel, den Mittelwert und die Streuung aus. Gradientenverfahren für Richtlinien passen die Richtlinie direkt zugunsten von Aktionen an, die einen hohen Ertrag brachten.
- Akteur und Kritiker: Ein Akteursnetzwerk wählt Aktionen aus, während ein Kritikernetzwerk ihre Werte schätzt und dem Akteur mitteilt, wie viel besser die jeweilige Aktion als erwartet war. So wird das Rauschen bei den Aktualisierungen verringert.
- Weltmodell: Modellbasierte Agenten wie Dreamer trainieren ein Netzwerk, zukünftige Beobachtungen und Belohnungen vorherzusagen, und lernen anschließend eine Richtlinie in dieser erlernten Simulation.
Ein Netzwerk mit Daten zu trainieren, die der Agent selbst erzeugt, ist instabil, da aufeinanderfolgende Bilder stark korreliert sind und sich die Zielwerte mit den Änderungen des Netzwerks verschieben. DQN löste dieses Problem mit zwei Ansätzen, die spätere Algorithmen übernahmen: einem Wiedergabepuffer für Erfahrungen, aus dem zufällige Minibatches vergangener Übergänge zum Training entnommen werden, und einem separaten Zielnetzwerk, das nur in bestimmten Abständen aktualisiert wird:
Policy-Gradient-Verfahren im Code#
Policy-Gradient-Verfahren verzichten vollständig auf Wertetabellen: Sie ziehen Aktionen aus dem Netzwerk und erhöhen anschließend die Wahrscheinlichkeit der Aktionen, auf die ein hoher Ertrag folgte. Dieses Beispiel mit PyTorch trainiert mithilfe von REINFORCE, dem ursprünglichen Policy-Gradient-Algorithmus, ein kleines Richtliniennetzwerk. Es soll einen Stab auf einem beweglichen Wagen im Gymnasium-CartPole-Umfeld im Gleichgewicht halten:
import gymnasium as gym
import torch
from torch import nn
torch.manual_seed(0)
env = gym.make("CartPole-v1")
policy = nn.Sequential(nn.Linear(4, 64), nn.ReLU(), nn.Linear(64, 2)) # cart and pole state -> logits for left/right
optimizer = torch.optim.Adam(policy.parameters(), lr=0.02)
lengths = []
for episode in range(500):
obs, _ = env.reset(seed=episode)
log_probs, rewards, done = [], [], False
while not done: # play one episode with the current policy, earning +1 per step the pole stays up
dist = torch.distributions.Categorical(logits=policy(torch.as_tensor(obs)))
action = dist.sample()
obs, reward, terminated, truncated, _ = env.step(action.item())
log_probs.append(dist.log_prob(action))
rewards.append(reward)
done = terminated or truncated
# REINFORCE: raise the log-probability of actions followed by above-average discounted return
returns = torch.tensor([sum(0.99**k * r for k, r in enumerate(rewards[t:])) for t in range(len(rewards))])
loss = -(torch.stack(log_probs) * (returns - returns.mean()) / (returns.std() + 1e-8)).sum()
optimizer.zero_grad()
loss.backward()
optimizer.step()
lengths.append(len(rewards))
print(f"Average episode length: first 20 = {sum(lengths[:20]) / 20:.0f}, last 20 = {sum(lengths[-20:]) / 20:.0f}")Ausgegeben wird first 20 = 14, last 20 = 500: Das untrainierte Netzwerk lässt den Stab nach etwa 14 Schritten umkippen. Nach 500 Episoden hält es ihn während der gesamten Dauer von 500 Schritten jeder Episode im Gleichgewicht. Bei anderen Zufallsstartwerten kann dasselbe Skript mitten im Training ins Stocken geraten oder einbrechen. Diese hohe Varianz sollte durch Kritiker und die begrenzten Aktualisierungen der proximalen Policy-Optimierung (PPO) verringert werden. Bibliotheken wie Stable-Baselines3 bieten geprüfte Implementierungen von PPO, DQN und dem Soft Actor-Critic (SAC).
Bedeutende Anwendungsgebiete#
- Spiele: Nach Atari besiegten Agenten für tiefes bestärkendes Lernen mit AlphaGo Weltmeister im Go und erreichten mit AlphaStar in StarCraft II Großmeisterniveau. Dabei kombinierten sie das Lernen aus Partien von Menschen mit RL durch Selbstspiel.
- Drohnenrennen: Die Swift-Drohne der Universität Zürich wurde in Simulationen mit tiefem bestärkendem Lernen trainiert und anhand realer Flugdaten feinabgestimmt. 2023 gewann sie mehrere direkte Rennen gegen jeweils drei Meisterpiloten und stellte die schnellste aufgezeichnete Rennzeit auf.
- Fusionsenergie: DeepMind und das Swiss Plasma Center der EPFL setzten eine Richtlinie für tiefes bestärkendes Lernen ein, um die Magnetspulen eines Tokamaks zu steuern und das Plasma in mehrere Formen zu bringen, darunter zwei voneinander getrennte Plasma-„Tropfen“ gleichzeitig.
- Robotik: Laufroboter lernen, unwegsames Gelände zu durchqueren, indem sie Richtlinien nutzen, die mit Tausenden simulierten Robotern trainiert wurden. Reibung und Masse werden dabei zufällig variiert, damit die Richtlinie auch auf echter Hardware funktioniert.
- Sprachmodelle: Durch Feinabstimmung von Transformer-Richtlinien mit bestärkendem Lernen und präferenzbasierten oder automatisch überprüften Belohnungen entstanden die heutigen Chat-Assistenten und Schlussfolgerungsmodelle.
Wahrnehmung als Beobachtung#
Das Faltungsneuronale Netz von DQN musste allein anhand von Belohnungen lernen, visuelle Informationen zu erfassen – aus 84×84×4 = 28,224 Pixelwerten pro Schritt. Viele Roboter- und Fahrsysteme speisen stattdessen die Ausgabe eines vortrainierten Computer-Vision-Modells in die Policy ein. Dadurch wird die Beobachtung kompakter und der RL-Algorithmus kann seine Stichproben für Entscheidungen nutzen. Ultralytics YOLO26 im Tracking-Modus wandelt jedes Kamerabild in eine Klasse, eine Box und eine persistente ID für jedes Objekt um. So entsteht ein objektzentrierter Zustand, aus dem eine Policy auch die Bewegung jedes Objekts über mehrere Bilder hinweg ablesen kann.
Herausforderungen#
Deep RL ist datenintensiv: DQN wurde pro Spiel mit 50 Millionen Bildern trainiert, was etwa 38 Spieltagen entspricht. Deshalb werden die meisten Roboter-Policies in einer Simulation trainiert und anschließend auf die Hardware übertragen. Simulierte Physik stimmt nie exakt mit der Realität überein. Daher variieren Ingenieure Reibung, Massen, Beleuchtung und Texturen mit Domänenrandomisierung und ergänzen synthetische Daten für seltene Bedingungen. Auch Zufalls-Seeds, Hyperparameter und Implementierungsdetails beeinflussen die Ergebnisse stark – ein Problem der Reproduzierbarkeit, das in Deep Reinforcement Learning That Matters beschrieben wird. Ein starker Optimierer findet außerdem Schlupflöcher in jeder unvollkommenen Belohnungsfunktion. Dieses Versagen ist als Reward Hacking bekannt: Ein Bootsrennagent lernte beispielsweise, endlos im Kreis zu fahren und Punkte zu sammeln, statt das Rennen zu beenden.
Deep RL und verwandte Begriffe#
- Bestärkendes Lernen: Das übergeordnete Forschungsgebiet. Tabellarisches RL eignet sich für kleine Probleme, und Deep RL ist RL mit neuronalen Netzen als Funktionsapproximatoren.
- Deep Learning: Beim gewöhnlichen Deep Learning wird mit einem festen, beschrifteten Datensatz trainiert. Beim Deep RL erzeugen die Aktionen des Agenten selbst die Daten, und das Trainingssignal ist eine verzögerte Belohnung statt eines Labels.
- Bestärkendes Lernen durch menschliches Feedback (RLHF): Eine Deep-RL-Methode, bei der ein aus menschlichen Präferenzvergleichen gelerntes Belohnungsmodell eine von Hand geschriebene Belohnungsfunktion ersetzt. Sie wird zur Ausrichtung von Sprachmodellen verwendet.
- Modellprädiktive Regelung: MPC löst bei jedem Regelschritt eine neue Optimierung anhand eines expliziten Modells, während eine trainierte Deep-RL-Policy jede Aktion mit einem einzigen Vorwärtsdurchlauf durch ihr Netz auswählt.










