A2C
forkortelse for Advantage Actor-Critic
A2C er en synkron reinforcement learning-algoritme, der kombinerer en policy (actor) med en værdifunktion (critic) og bruger advantage-estimater til at reducere varians.
Kort fortalt
Kort fortalt: A2C er en metode, hvor en AI lærer at handle ved at forbedre sin strategi ud fra, hvor meget bedre en handling er end gennemsnittet.
- Kategori
- teknik
- Niveau
- øvet
- Udtale
- /eɪ tuː siː/
Betydninger
1- 1
En reinforcement learning-algoritme, der træner både en policy (actor) og en værdifunktion (critic) ved at minimere et kombineret tab bestående af policy-gradient og værdifunktionstab, med advantage-estimater for at reducere varians.
- A2C-algoritmen blev anvendt til at træne en agent i Atari-spillet Pong, hvor den opnåede superhuman præstation. — Mnih et al., 2016
- Implementeringen af A2C inkluderer ofte flere parallelle miljøer for at stabilisere træningen. — OpenAI Spinning Up
Hvornår bruges det
A2C bruges typisk i miljøer med kontinuerlige eller diskrete handlingsrum, især i spil og robotstyring. Algoritmen er populær på grund af dens stabilitet og effektivitet sammenlignet med rene policy-gradient metoder.
Formel
A(s,a) = r + γV(s') - V(s)Kodeeksempel
class ActorCritic(nn.Module):
def __init__(self, state_dim, action_dim):
super().__init__()
self.fc = nn.Linear(state_dim, 128)
self.actor = nn.Linear(128, action_dim)
self.critic = nn.Linear(128, 1)
def forward(self, x):
x = torch.relu(self.fc(x))
logits = self.actor(x)
value = self.critic(x)
return logits, valueEn simpel Actor-Critic-model i PyTorch med et fælles skjult lag.
Oprindelse
A2C er en forkortelse for Advantage Actor-Critic, og stammer som en synkron version af A3C (Asynchronous Advantage Actor-Critic), introduceret af Mnih et al. i 2016.