Actor-critic

En familie af reinforcement learning-algoritmer, der kombinerer en policy-baseret aktør (actor) og en værdibaseret kritiker (critic) for at forbedre træningseffektivitet.

Kort fortalt

To neurale netværk lærer sammen: ét vælger handlinger (aktøren), og ét vurderer handlingerne (kritikeren).

Kategori
teknik
Niveau
øvet
Udtale
/ˈæktər ˈkrɪtɪk/

Betydninger

1
  1. 1

    En algoritme, der bruger to separate modeller: En aktør (actor) til at vælge handlinger baseret på en policy, og en kritiker (critic) til at estimere værdifunktionen (f.eks. state-value) for at give feedback til aktøren.

    • A2C (Advantage Actor-Critic) er en populær implementation, hvor kritikeren estimerer fordelen (advantage) for at opdatere aktøren.Mnih et al., 2016
    • I kontinuerte kontrolopgaver bruges ofte en actor-critic-arkitektur for at håndtere højdimensionelle handlingsrum.Lillicrap et al., 2015 (DDPG)

Hvornår bruges det

Actor-critic bruges ofte i reinforcement learning, når handlingsrummet er kontinuert eller stokastisk, og hvor man ønsker at reducere variansen i policy-gradient estimater. Metoden anvendes i robotstyring, spil-AI og autonome systemer.

Formel

Policy gradient med fordel: ∇θ J(θ) = E[∇θ log πθ(a|s) · (r + γV(s′) - V(s))]

Kodeeksempel

# Pseudokode for en simpel actor-critic opdatering
state = env.reset()
while not done:
    action = actor(state)  # policy netværk
    next_state, reward, done = env.step(action)
    td_error = reward + gamma * critic(next_state) - critic(state)
    critic_loss = td_error ** 2
    # opdater critic
    optimizer_critic.zero_grad()
    critic_loss.backward()
    optimizer_critic.step()
    # opdater actor
    log_prob = actor.log_prob(state, action)
    actor_loss = -log_prob * td_error.detach()
    optimizer_actor.zero_grad()
    actor_loss.backward()
    optimizer_actor.step()
    state = next_state

En simpel implementering af en actor-critic loop, hvor kritikeren estimerer state-value, og aktøren opdateres med TD-fejlen som fordel.

Oprindelse

Begrebet stammer fra Barto, Sutton og Andersons arbejde i 1983, hvor de introducerede en arkitektur med en separat 'actor' og 'critic' til at løse reinforcement learning-problemer.

Afledte ord

4

Kilder

2