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