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