Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Soft Actor-Critic

  • Também chamado: SAC
  • Categoria: Learning & autonomy › RL & simulation
  • Tags: reinforcement-learning, off-policy, actor-critic, maximum-entropy, robot-learning, continuous-control

Um algoritmo de aprendizado por reforço off-policy que treina uma política estocástica para maximizar tanto a recompensa quanto a entropia das ações, reutilizando experiência passada de um buffer de replay para ser eficiente em amostras.

Definição

Soft Actor-Critic (SAC) é um algoritmo de aprendizado por reforço off-policy e ator-crítico para espaços de ação contínuos, apresentado por Tuomas Haarnoja e colegas em 2018. Ele se baseia no arcabouço de máxima entropia: em vez de maximizar apenas a recompensa esperada, a política maximiza a recompensa mais um bônus pela entropia, ou aleatoriedade, de suas ações. Um parâmetro de temperatura define o equilíbrio entre os dois. O termo de entropia incentiva uma exploração ampla e desencoraja a política de colapsar cedo em um único comportamento.

O SAC aprende uma política estocástica (o ator), geralmente uma gaussiana cujas amostras são comprimidas com uma função tanh para respeitar os limites das ações, e dois críticos de função Q. Tomar o mínimo dos dois críticos ao calcular os alvos de aprendizado reduz o viés de superestimação comum no Q-learning, uma técnica compartilhada com o algoritmo TD3, e redes-alvo atualizadas lentamente estabilizam o aprendizado. Uma versão posterior do SAC ajusta a temperatura automaticamente para manter a entropia da política perto de um alvo escolhido, eliminando um dos hiperparâmetros mais sensíveis.

Como o SAC é off-policy, cada transição que o robô vivencia é armazenada em um buffer de replay e reutilizada em muitas atualizações de gradiente. Isso o torna consideravelmente mais eficiente em amostras do que métodos on-policy como o PPO, que descartam os dados após cada atualização. Essa propriedade fez do SAC uma escolha comum para aprender diretamente em robôs físicos, onde cada minuto de interação custa tempo e desgaste, e para tarefas em que a simulação é lenta ou indisponível.

Os compromissos estão no custo computacional e na escalabilidade. O SAC faz muitas atualizações de rede por passo do ambiente e, historicamente, se beneficiou menos que o PPO da simulação massivamente paralela em GPU, onde dados novos são baratos. O treinamento também pode ficar instável em espaços de ação de alta dimensão ou com redes grandes, e pesquisas em andamento estudam como escalar métodos off-policy como o SAC para muitos ambientes paralelos e para robôs com muitas juntas.

Por que importa

O SAC tornou o aprendizado por reforço profundo prático em cenários em que os dados são caros, incluindo o aprendizado diretamente em hardware robótico real. Ele continua sendo uma das referências padrão para controle contínuo, e sua formulação regularizada por entropia influencia muitos métodos posteriores off-policy e baseados em modelo.

Principais aplicações

  • Aprendizado em hardware real — treinar habilidades de manipulação e locomoção com tempo de robô limitado
  • Benchmarks de controle contínuo — uma referência padrão para tarefas robóticas simuladas
  • Manipulação — aprender políticas de preensão, empurrar e inserção com recompensas esparsas ou modeladas
  • Ajuste fino de políticas pré-treinadas — melhorar políticas obtidas por clonagem de comportamento com aprendizado por reforço online
  • Controle de veículos e drones — aprender comandos contínuos de direção e empuxo

Na prática

Uma equipe que usa SAC normalmente encapsula o robô ou o simulador em uma interface de ambiente padrão, escolhe uma implementação de biblioteca como o Stable-Baselines3 e define o tamanho do buffer de replay, o tamanho do lote, as taxas de aprendizado e a razão entre atualizações de gradiente e passos do ambiente. Ao aprender em hardware, acrescenta limites de segurança às ações, resets automáticos e sinais de recompensa que possam ser medidos por sensores embarcados, e muitas vezes inicializa o buffer de replay com demonstrações ou dados de execuções anteriores. Os engenheiros acompanham a perda do crítico, o valor da temperatura e a entropia da política; uma temperatura que cai para perto de zero ou estimativas do crítico que crescem sem limite são sinais comuns de que o treinamento precisa de ajustes.

Equívocos comuns

  • O SAC é sempre melhor que o PPO — o SAC é mais eficiente em amostras, mas o PPO muitas vezes treina mais rápido em tempo decorrido quando milhares de ambientes simulados rodam em paralelo
  • O bônus de entropia torna a política final aleatória — na implantação geralmente se usa a ação média, e o ajuste automático da temperatura reduz a entropia à medida que o aprendizado avança
  • O SAC lida com ações discretas sem mudanças — o algoritmo padrão é voltado para ações contínuas; variantes discretas exigem modificações
  • Off-policy significa que qualquer dado antigo serve — dados muito distantes do comportamento da política atual ainda podem causar estimativas de valor instáveis, especialmente em cenários totalmente offline

Quem deve saber

  • Pesquisadores de aprendizado de robôs que treinam em hardware físico
  • Profissionais de aprendizado por reforço que trabalham com controle contínuo
  • Engenheiros de manipulação que usam ajuste fino online
  • Estudantes que aprendem métodos ator-crítico

Tecnologias relacionadas

  • Proximal Policy Optimization
  • TD3
  • Deep Deterministic Policy Gradient (DDPG)
  • Buffer de replay (Replay Buffer)
  • Aprendizado por reforço de máxima entropia (Maximum Entropy Reinforcement Learning)
  • Stable-Baselines3

Termos relacionados

  • Reinforcement Learning
  • Proximal Policy Optimization
  • Sim2Real

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

  • L5 DDPG and SAC (Foundations of Deep RL Series): Pieter Abbeel

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.