0Pricing
Learn AI with Python · Lektion

Actor-Critic-Verfahren (A2C)

Advantage-Funktion, Actor (Policy) + Critic (Value), synchrone A2C-Implementierung.

Actor-Critic-Verfahren (A2C) ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Policy und Wertfunktion kombinieren

Actor-Critic-Verfahren verbinden zwei Ideen: einen Actor (eine Policy, die Aktionen auswählt) und einen Critic (eine Wertfunktion, die diese bewertet). Der Critic liefert ein Feedback mit geringerer Varianz als rohe Returns und stabilisiert dadurch das Lernen.

Der Actor

Der Actor ist das Policy-Netzwerk. Für den aktuellen Zustand gibt es Aktions-Logits (oder Wahrscheinlichkeiten) aus – genau wie bei REINFORCE – und entscheidet, was zu tun ist.

class ActorCritic(nn.Module):
    def __init__(self, obs_dim, n_actions):
        super().__init__()
        self.shared = nn.Sequential(nn.Linear(obs_dim, 128), nn.ReLU())
        self.actor = nn.Linear(128, n_actions)

Der Critic

Der Critic schätzt den Zustandswert V(s): den erwarteten Return ausgehend vom Zustand s. Er besitzt einen Kopf mit einer einzigen Ausgabe, der bewertet, wie gut die aktuelle Situation ist.

        self.critic = nn.Linear(128, 1)

    def forward(self, s):
        h = self.shared(s)
        return self.actor(h), self.critic(h)

Gemeinsames Backbone, zwei Köpfe

Actor und Critic teilen sich normalerweise die frühen Schichten (das Backbone) und werden anschließend in zwei Köpfe aufgeteilt. Das Teilen der Merkmale ist effizient und ermöglicht es beiden Aufgaben, nützliche Repräsentationen zu verstärken.

Die Advantage-Funktion

Die entscheidende Größe ist die Advantage A = r + gamma * V(s') - V(s). Sie misst, wie viel besser eine Aktion war, als der Critic erwartet hatte. Eine positive Advantage bedeutet „besser als der Durchschnitt“, eine negative bedeutet schlechter.

advantage = reward + gamma * V_next - V_current

Warum Advantage besser ist als der rohe Return

Wenn Sie statt des vollständigen Returns G_t die Advantage verwenden, wird das Signal um die Schätzung des Critics zentriert, wodurch die Varianz deutlich sinkt. Das ist der Hauptgrund, warum Actor-Critic stabiler lernt als REINFORCE.

Der Actor-Loss

Der Actor wird wie bei REINFORCE trainiert, aber statt mit dem Return mit der Advantage gewichtet: Die Wahrscheinlichkeit von Aktionen mit positiver Advantage wird erhöht.

actor_loss = -(log_prob * advantage.detach()).mean()

Der Critic-Loss

Der Critic lernt, Returns präzise vorherzusagen. Sein Loss ist der quadratische Fehler zwischen seiner Vorhersage V(s) und dem beobachteten Zielwert r + gamma * V(s').

target = reward + gamma * V_next.detach()
critic_loss = (V_current - target).pow(2).mean()

Kombinierter Loss

Trainieren Sie beide Köpfe gemeinsam, indem Sie die Losses addieren (oft ergänzt um einen kleinen Entropie-Bonus, der die Exploration fördert). Ein einziger Backpropagation-Schritt aktualisiert das gemeinsame Backbone und beide Köpfe.

loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy
loss.backward()

Synchrones A2C

A2C (Advantage Actor-Critic) ist die synchrone Variante: Mehrere parallele Worker sammeln gleichzeitig Erfahrungen in Kopien der Umgebung. Anschließend verwendet ein einziges synchronisiertes Update ihre gesamten Daten, was Stabilität und Durchsatz verbessert.

# N parallel envs step together each iteration
# gather all transitions, then one combined update

A2C im Vergleich zu A3C

Die asynchrone Variante A3C erlaubt es den Workern, unabhängig voneinander Updates durchzuführen. A2C synchronisiert sie, ist dadurch einfacher und GPU-freundlicher und meist ebenso effektiv – daher ist es so beliebt.

Kurzer Test

Testen Sie Ihr Verständnis von Actor-Critic.

Rückblick: Actor-Critic und A2C

Sie haben gelernt, dass der Actor Policy-Logits ausgibt und der Critic V(s) schätzt, häufig über ein gemeinsames Backbone mit zwei Köpfen. Die Advantage r + gamma*V(s') - V(s) reduziert die Varianz, und das synchrone A2C verwendet parallele Worker für ein stabiles und effizientes Training.

Häufig gestellte Fragen

Ist die Lektion „Actor-Critic-Verfahren (A2C)“ kostenlos?

Ja — der vollständige Text von „Actor-Critic-Verfahren (A2C)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Actor-Critic-Verfahren (A2C)“?

Advantage-Funktion, Actor (Policy) + Critic (Value), synchrone A2C-Implementierung. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Actor-Critic-Verfahren (A2C)“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Policy-Gradient-Verfahren: REINFORCE
  2. Actor-Critic-Verfahren (A2C)
  3. Proximal Policy Optimization (PPO)
  4. Benutzerdefinierte Gymnasium-Umgebungen
← Zurück zu Learn AI with Python