SAC

forkortelse for Soft Actor-Critic

SAC (Soft Actor-Critic) er en forstærkningslæringsalgoritme, der kombinerer maksimal entropi med actor-critic-metoder for at opnå stabil og sample-effektiv træning.

Kort fortalt

SAC er en avanceret forstærkningslæringsalgoritme, der lærer ved at balancere belønning og udforskning gennem maksimering af entropi.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En off-policy forstærkningslæringsalgoritme baseret på maksimal entropi, der lærer en stokastisk politik ved at optimere en soft Q-funktion og en policy via alternerende opdateringer.

    • SAC-algoritmen opnåede state-of-the-art resultater på de fleste MuJoCo-opgaver.Haarnoja et al., 2018
    • Vi anvendte SAC til at træne en robotarm til at gribe objekter.

Hvornår bruges det

SAC anvendes typisk i kontinuerlige kontrolopgaver og robotik, hvor sample-effektivitet og stabilitet er vigtige. Algoritmen er særligt populær på grund af dens evne til at håndtere højdimensionelle observationsrum og kontinuerlige aktionsrum.

Formel

Soft policy iteration: Q(s,a) = r(s,a) + γ E_{s'}[V(s')]; V(s) = E_{a~π}[Q(s,a) - α log π(a|s)]; π_new = argmin D_KL(π(·|s) || exp(Q_soft(s,·)/α)/Z)

Kodeeksempel

from stable_baselines3 import SAC

model = SAC('MlpPolicy', 'HalfCheetah-v2', verbose=1)
model.learn(total_timesteps=10000)

Eksempel på brug af SAC fra stable-baselines3-biblioteket til at træne på HalfCheetah-miljøet.

Oprindelse

Termen SAC er en forkortelse for Soft Actor-Critic, introduceret af Haarnoja et al. i 2018.

Kilder

2
  • Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor
  • Soft Actor-Critic Algorithms and Applications