deep deterministic policy gradient

forkortelse for DDPG

Deep Deterministic Policy Gradient (DDPG) er en reinforcement learning-algoritme, der kombinerer Q-learning med en deterministisk politik (policy) i et actor-critic-rammeværk til kontinuerte handlingsrum.

Kort fortalt

En metode til at træne en AI-agent til at lære at tage kontinuerte beslutninger, f.eks. at styre en robotarm, ved at kombinere Q-learning med en policy, der direkte foreslår den bedste handling.

Kategori
teknik
Niveau
ekspert

Betydninger

1
  1. 1

    En model-fri, off-policy actor-critic-algoritme til kontinuerte handlingsrum, der anvender to neurale netværk (actor og critic) samt target-netværk og replay-buffer.

    • DDPG opnåede state-of-the-art performance i simuleret robotstyring med kontinuerte bevægelser.Lillicrap et al., 2015
    • For at forbedre stabiliteten anvender DDPG bløde opdateringer af target-netværkene.Lillicrap et al., 2015

Hvornår bruges det

DDPG anvendes typisk i robotstyring, spil med kontinuerte handlinger (f.eks. simulerede køretøjer) og ethvert område, hvor handlingsrummet er kontinuert. Det kræver omhyggelig tuning af hyperparametre og anvender ofte replay-buffer og target-netværk for stabilitet.

Formel

Training updates: Critic (Q) loss: L = E[(r + γ Q'(s', μ'(s'|θ_μ') | θ_Q') - Q(s,a|θ_Q))^2]; Actor (policy) gradient: ∇θ_μ J ≈ E[∇a Q(s,a|θ_Q) | a=μ(s) · ∇θ_μ μ(s|θ_μ)]

Kodeeksempel

# Actor network
class Actor(nn.Module):
    def __init__(self, state_dim, action_dim, max_action):
        super().__init__()
        self.net = nn.Sequential(nn.Linear(state_dim, 400), nn.ReLU(), nn.Linear(400, 300), nn.ReLU(), nn.Linear(300, action_dim), nn.Tanh())
        self.max_action = max_action
    def forward(self, state):
        return self.max_action * self.net(state)

# Training step for actor
actor_loss = -critic(state, actor(state)).mean()
actor_optimizer.zero_grad()
actor_loss.backward()
actor_optimizer.step()

Ovenstående kode viser en simpel implementering af actor-netværket og opdateringen af actor'en i DDPG. Actor-netværket tager en tilstand (state) som input og producerer en kontinuert handling. Træningstrinnet minimerer den negative critic-værdi for at finde den bedste handling.

Oprindelse

Termen stammer fra området dyb forstærkningslæring: 'deep' refererer til neurale netværk, 'deterministic' til at politikken giver entydige handlinger, og 'policy gradient' til klassen af metoder, der direkte optimerer politikken.

Afledte ord

2

Kilder

2