PPO
forkortelse for Proximal Policy Optimization
PPO er en policy-gradient algoritme inden for reinforcement learning, der optimerer en policy ved at tage forsigtige opdateringer, der holder den nye policy tæt på den gamle via en clipped surrogate-objektivfunktion.
Kort fortalt
PPO er en metode til at træne en AI-agent til at træffe bedre beslutninger ved at justere dens strategi i små, sikre skridt, så den ikke laver store fejl under indlæring.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En policy-gradient algoritme for reinforcement learning, der benytter en clipped surrogate-objektivfunktion til at forhindre for store policy-opdateringer, hvilket sikrer stabilitet og effektivitet.
- PPO-algoritmen blev anvendt til at træne en agent til at navigere i et komplekst miljø med kontinuerlige handlingsrum.
- Sammenlignet med A2C opnåede PPO en højere gennemsnitlig belønning på tværs af flere Atari-spil. — Schulman et al., 2017
Hvornår bruges det
PPO anvendes bredt i reinforcement learning-opgaver som robotstyring, spil (f.eks. Dota 2, Atari) og simuleringer, hvor det er vigtigt med stabil og effektiv træning. Det er populært på grund af dets enkelhed og pålidelighed sammenlignet med tidligere algoritmer som TRPO.
Formel
L^{CLIP}(θ) = Ê_t [ min( r_t(θ) Â_t, clip(r_t(θ), 1-ε, 1+ε) Â_t ) ], where r_t(θ) = π_θ(a_t|s_t) / π_θ_old(a_t|s_t)Kodeeksempel
# Simplified PPO clipping logic (pseudocode)
def ppo_update(policy_old, policy_new, advantages, epsilon):
ratio = policy_new.prob(actions) / policy_old.prob(actions).detach()
surr1 = ratio * advantages
surr2 = torch.clamp(ratio, 1-epsilon, 1+epsilon) * advantages
loss = -torch.min(surr1, surr2).mean()
return lossSimpel implementering af PPO's clipped objektiv i PyTorch-lignende stil. ratio er sandsynlighedsforholdet mellem ny og gammel policy. Clippingen forhindrer for store opdateringer.
Oprindelse
Termen 'Proximal Policy Optimization' blev introduceret af John Schulman og kolleger i 2017. 'Proximal' henviser til ideen om at holde den nye policy tæt på den gamle, og 'Policy Optimization' beskriver den grundlæggende opgave.