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. 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, value

En 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.

Afledte ord

2

Kilder

2