Proximal Policy Optimization
- Também chamado: PPO, PPO-Clip
- Categoria: Learning & autonomy › RL & simulation
- Tags: reinforcement-learning, policy-gradient, on-policy, robot-learning, sim-to-real, locomotion
Um algoritmo de aprendizado por reforço on-policy que melhora uma política em passos pequenos e recortados, amplamente usado para treinar políticas de locomoção e de controle de robôs em simulação paralela.
Definição
Proximal Policy Optimization (PPO) é um algoritmo de gradiente de política para aprendizado por reforço apresentado por John Schulman e colegas na OpenAI em 2017. Ele treina uma política estocástica, geralmente uma rede neural, coletando lotes de experiência com a política atual e depois atualizando a política para tornar mais prováveis as ações com vantagem alta. Sua ideia central é manter cada atualização próxima da política que coletou os dados, o que torna o treinamento mais estável do que nos métodos simples de gradiente de política, sem a complexidade de métodos anteriores de região de confiança como o TRPO.
A forma mais conhecida do PPO usa um objetivo substituto recortado. Para cada ação, ele calcula a razão entre a probabilidade dessa ação sob a nova política e sob a antiga. O objetivo multiplica essa razão por uma estimativa de vantagem, mas recorta a razão em um pequeno intervalo em torno de um, de modo que o otimizador não ganha nada ao afastar demais a política em uma única atualização. Isso permite que o PPO execute várias épocas de descida de gradiente em minilotes sobre o mesmo lote de dados. As vantagens geralmente são calculadas com a estimativa de vantagem generalizada (GAE) usando uma função de valor aprendida, então o PPO é um método ator-crítico.
O PPO é on-policy: os dados coletados com uma política anterior são descartados após cada atualização. Isso o torna menos eficiente em amostras do que métodos off-policy como o Soft Actor-Critic, que reutilizam experiência de um buffer de replay. Na robótica, essa fraqueza importa menos quando o treinamento é feito em simulação, porque simuladores baseados em GPU conseguem rodar milhares de ambientes em paralelo e gerar rapidamente grandes lotes de dados novos. Sua simplicidade, estabilidade e boa escalabilidade com ambientes paralelos fizeram do PPO o algoritmo padrão em muitos pipelines de locomoção sim-to-real.
Os resultados com PPO são sensíveis a detalhes de implementação. Normalização de observações e de vantagens, cronogramas da taxa de aprendizado, bônus de entropia, recorte da função de valor e inicialização da rede afetam o desempenho. Equipes de robótica costumam usar implementações bem testadas em vez de escrever a sua própria, e modelam as recompensas e randomizam os parâmetros de simulação com cuidado, já que o PPO vai explorar qualquer falha na recompensa ou no simulador.
Por que importa
O PPO é o algoritmo por trás de grande parte dos resultados de aprendizado por reforço em robôs com pernas reais, humanoides e mãos destras, porque tolera uma ampla faixa de hiperparâmetros e escala bem com simulação massivamente paralela. Entendê-lo é um pré-requisito prático para ler ou reproduzir a maior parte dos trabalhos de aprendizado de robôs sim-to-real.
Principais aplicações
- Locomoção com pernas — treinar em simulação políticas de caminhada e corrida para quadrúpedes e humanoides
- Manipulação destra — aprender a reorientação de objetos na mão com mãos de vários dedos
- Controle de drones — aprender políticas de voo ágil e de corrida
- Controle de corpo inteiro — treinar políticas que coordenam muitas juntas ao mesmo tempo
- Ajuste fino de modelos de linguagem — o PPO também é usado no aprendizado por reforço a partir de feedback humano
Na prática
Uma equipe típica define o robô, suas observações, ações e recompensas em um simulador em GPU como o Isaac Lab ou o MuJoCo, lança milhares de ambientes em paralelo e treina uma política PPO com uma biblioteca existente como rsl_rl, Stable-Baselines3 ou skrl. Cada iteração coleta um rollout curto de cada ambiente, calcula as vantagens e executa algumas épocas de atualizações recortadas. Os engenheiros monitoram a recompensa por episódio, a duração dos episódios, a entropia da política e a perda de valor, e a maior parte do esforço vai para os termos de recompensa, o currículo e a randomização de domínio, e não para o algoritmo em si. A política treinada, geralmente um pequeno perceptron multicamadas ou uma rede recorrente, é exportada e executada no robô a uma frequência de controle fixa.
Equívocos comuns
- O PPO é o algoritmo de RL mais eficiente em amostras — ele é on-policy e descarta dados antigos; seus pontos fortes são a estabilidade e a escalabilidade com simulação paralela
- O PPO funciona de imediato — o desempenho depende muito do projeto da recompensa, da normalização e de outros detalhes de implementação
- O PPO é só para ações discretas — ele lida com espaços de ação contínuos com políticas gaussianas e é usado principalmente assim na robótica
- O recorte garante melhoria monotônica — o recorte é uma heurística que desencoraja atualizações grandes, não uma garantia formal de região de confiança
Quem deve saber
- Engenheiros de aprendizado de robôs que treinam políticas em simulação
- Pesquisadores de locomoção que trabalham com robôs com pernas e robôs humanoides
- Estudantes que aprendem aprendizado por reforço profundo
- Engenheiros de simulação que constroem ambientes de treinamento
Tecnologias relacionadas
- Trust Region Policy Optimization (TRPO)
- Estimativa de vantagem generalizada (Generalized Advantage Estimation, GAE)
- Soft Actor-Critic
- Isaac Lab
- MuJoCo
- Randomização de domínio (Domain Randomization)
Termos relacionados
Projetos relacionados
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- MuJoCo: DeepMind physics engine for robotics and ML research
- PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Microduck: Pollen Robotics' $399 walking duck robot: open-source software, closed hardware
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
Vídeos
- Proximal Policy Optimization Explained: Edan Meyer