Actor-criticmethoden (A2C)
Advantage-functie, actor (policy) + critic (value), synchrone A2C-implementatie.
Actor-criticmethoden (A2C) is een gratis Leer AI met Python-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.
Beleid en waarde combineren
Methoden met een actor-critic combineren twee ideeën: een actor (een beleid dat acties kiest) en een critic (een waardefunctie die deze acties beoordeelt). De critic geeft feedback met een lagere variantie dan ruwe opbrengsten, waardoor het leren stabieler wordt.
De actor
De actor is het beleidsnetwerk. Het netwerk geeft voor de huidige toestand actielogits (of kansen), precies zoals bij REINFORCE, en bepaalt wat er moet gebeuren.
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)De critic
De critic schat de toestandswaarde V(s): de verwachte opbrengst vanaf toestand s. Het is een hoofd met één uitvoer dat voorspelt hoe goed de huidige situatie is.
self.critic = nn.Linear(128, 1)
def forward(self, s):
h = self.shared(s)
return self.actor(h), self.critic(h)Gedeeld basisnetwerk, twee hoofden
De actor en critic delen meestal de vroege lagen (het basisnetwerk) en splitsen daarna op in twee hoofden. Het delen van kenmerken is efficiënt en zorgt ervoor dat beide taken nuttige representaties versterken.
De voordeel-functie
De belangrijkste grootheid is het voordeel A = r + gamma * V(s') - V(s). Dit meet hoeveel beter een actie was dan de critic verwachtte. Een positief voordeel betekent "beter dan gemiddeld"; een negatief voordeel betekent slechter.
advantage = reward + gamma * V_next - V_currentWaarom voordeel beter is dan ruwe opbrengst
Door het voordeel te gebruiken in plaats van de volledige opbrengst G_t, centreer je het signaal rond de schatting van de critic en verlaag je de variantie sterk. Dit is de belangrijkste reden waarom actor-critic stabieler leert dan REINFORCE.
De verliesfunctie van de actor
De actor wordt getraind zoals bij REINFORCE, maar wordt gewogen met het voordeel in plaats van de opbrengst: verhoog de kans op acties met een positief voordeel.
actor_loss = -(log_prob * advantage.detach()).mean()De verliesfunctie van de critic
De critic leert opbrengsten nauwkeurig te voorspellen. De verliesfunctie is de gekwadrateerde fout tussen de voorspelling V(s) en de waargenomen doelwaarde r + gamma * V(s').
target = reward + gamma * V_next.detach()
critic_loss = (V_current - target).pow(2).mean()Gecombineerde verliesfunctie
Train beide hoofden samen door de verliesfuncties op te tellen (vaak met een kleine entropiebonus om verkenning aan te moedigen). Eén terugwaartse doorgang werkt het gedeelde basisnetwerk en beide hoofden bij.
loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy
loss.backward()Synchrone A2C
A2C (Advantage Actor-Critic) is de synchrone variant: meerdere parallelle werkers verzamelen tegelijk ervaring vanuit kopieën van de omgeving. Daarna gebruikt één gesynchroniseerde aanpassing al hun gegevens, wat de stabiliteit en verwerkingscapaciteit verbetert.
# N parallel envs step together each iteration
# gather all transitions, then one combined updateA2C versus A3C
Met de asynchrone variant A3C kunnen werkers onafhankelijk van elkaar aanpassingen uitvoeren. A2C synchroniseert ze, wat eenvoudiger en meestal net zo effectief is en beter aansluit bij GPU's. Daarom is A2C zo populair.
Korte controle
Toets je begrip van actor-critic.
Samenvatting: Actor-Critic en A2C
Je hebt geleerd dat de actor beleidslogits uitvoert en de critic V(s) schat, vaak via een gedeeld basisnetwerk met twee hoofden. Het voordeel r + gamma*V(s') - V(s) vermindert de variantie en synchrone A2C gebruikt parallelle werkers voor stabiele, efficiënte training.
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 53
- Lessen
- 225
Veelgestelde vragen
Is de les “Actor-criticmethoden (A2C)” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Actor-criticmethoden (A2C)”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.
Wat leer ik in “Actor-criticmethoden (A2C)”?
Advantage-functie, actor (policy) + critic (value), synchrone A2C-implementatie. Je oefent met Leer AI met Python door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Leer AI met Python te beginnen?
Ervaring vooraf is niet nodig. Leer AI met Python op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Actor-criticmethoden (A2C)”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Leer AI met Python?
Ja. Elke les over Leer AI met Python bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Policy-gradientmethoden: REINFORCE
- Actor-criticmethoden (A2C)
- Proximal Policy Optimization (PPO)
- Aangepaste Gymnasium-omgevingen