Soft Actor-Critic
- Aussi appelé: SAC
- Catégorie: Learning & autonomy › RL & simulation
- Mots-clés: reinforcement-learning, off-policy, actor-critic, maximum-entropy, robot-learning, continuous-control
Un algorithme d'apprentissage par renforcement off-policy qui entraîne une politique stochastique à maximiser à la fois la récompense et l'entropie des actions, en réutilisant l'expérience passée d'un tampon de rejeu pour l'efficacité en échantillons.
Définition
Soft Actor-Critic (SAC) est un algorithme d'apprentissage par renforcement acteur-critique off-policy pour les espaces d'actions continus, présenté par Tuomas Haarnoja et ses collègues en 2018. Il repose sur le cadre de l'entropie maximale : au lieu de maximiser la seule récompense espérée, la politique maximise la récompense plus un bonus pour l'entropie, ou caractère aléatoire, de ses actions. Un paramètre de température fixe l'équilibre entre les deux. Le terme d'entropie encourage une exploration large et dissuade la politique de s'effondrer prématurément sur un comportement unique.
SAC apprend une politique stochastique (l'acteur), généralement une gaussienne dont les échantillons sont écrasés par une fonction tanh pour respecter les limites d'action, et deux critiques de fonction Q. Prendre le minimum des deux critiques lors du calcul des cibles d'apprentissage réduit le biais de surestimation courant en Q-learning, une technique partagée avec l'algorithme TD3, et des réseaux cibles mis à jour lentement stabilisent l'apprentissage. Une version ultérieure de SAC ajuste automatiquement la température pour maintenir l'entropie de la politique près d'une cible choisie, supprimant l'un des hyperparamètres les plus sensibles.
Comme SAC est off-policy, chaque transition vécue par le robot est stockée dans un tampon de rejeu et réutilisée pour de nombreuses mises à jour de gradient. Il est ainsi nettement plus efficace en échantillons que les méthodes on-policy comme PPO, qui écartent les données après chaque mise à jour. Cette propriété a fait de SAC un choix courant pour l'apprentissage directement sur des robots physiques, où chaque minute d'interaction coûte du temps et de l'usure, et pour les tâches où la simulation est lente ou indisponible.
Les compromis portent sur le calcul et la mise à l'échelle. SAC effectue de nombreuses mises à jour du réseau par pas d'environnement, et il a historiquement moins bénéficié que PPO de la simulation massivement parallèle sur GPU, où les données fraîches sont bon marché. L'entraînement peut aussi devenir instable dans des espaces d'actions de grande dimension ou avec de grands réseaux, et des recherches en cours étudient comment faire passer à l'échelle les méthodes off-policy comme SAC sur de nombreux environnements parallèles et sur des robots dotés de nombreuses articulations.
Pourquoi c'est important
SAC a rendu l'apprentissage par renforcement profond praticable dans les contextes où les données sont coûteuses, y compris l'apprentissage directement sur du matériel robotique réel. Il reste l'une des références standard pour la commande continue, et sa formulation régularisée par l'entropie influence de nombreuses méthodes off-policy et fondées sur des modèles ultérieures.
Applications principales
- Apprentissage sur matériel réel — entraînement de compétences de manipulation et de locomotion avec un temps robot limité
- Bancs d'essai de commande continue — une référence standard pour les tâches robotiques simulées
- Manipulation — apprentissage de politiques de saisie, de poussée et d'insertion avec des récompenses éparses ou façonnées
- Ajustement fin de politiques pré-entraînées — amélioration de politiques issues du clonage comportemental par apprentissage par renforcement en ligne
- Contrôle de véhicules et de drones — apprentissage de commandes continues de direction et de poussée
En pratique
Une équipe qui utilise SAC enveloppe généralement le robot ou le simulateur dans une interface d'environnement standard, choisit une implémentation de bibliothèque comme Stable-Baselines3 et fixe la taille du tampon de rejeu, la taille des lots, les taux d'apprentissage et le rapport entre mises à jour de gradient et pas d'environnement. Lorsqu'elle apprend sur le matériel, elle ajoute des limites de sécurité sur les actions, des réinitialisations automatiques et des signaux de récompense mesurables par les capteurs embarqués, et elle amorce souvent le tampon de rejeu avec des démonstrations ou des données d'exécutions antérieures. Les ingénieurs surveillent la perte du critique, la valeur de la température et l'entropie de la politique ; une température qui tombe presque à zéro ou des estimations du critique qui croissent sans limite sont des signes courants qu'il faut ajuster l'entraînement.
Idées reçues
- SAC est toujours meilleur que PPO — SAC est plus efficace en échantillons, mais PPO s'entraîne souvent plus vite en temps réel écoulé lorsque des milliers d'environnements simulés tournent en parallèle
- Le bonus d'entropie rend la politique finale aléatoire — au déploiement, on utilise généralement l'action moyenne, et l'ajustement automatique de la température réduit l'entropie à mesure que l'apprentissage progresse
- SAC gère les actions discrètes sans modification — l'algorithme standard vise les actions continues ; les variantes discrètes demandent des modifications
- Off-policy signifie que n'importe quelles anciennes données conviennent — des données éloignées du comportement de la politique courante peuvent malgré tout rendre les estimations de valeur instables, surtout dans les contextes entièrement hors ligne
Qui devrait le savoir
- Chercheurs en apprentissage robotique qui entraînent sur du matériel physique
- Praticiens de l'apprentissage par renforcement travaillant sur la commande continue
- Ingénieurs en manipulation qui utilisent l'ajustement fin en ligne
- Étudiants qui apprennent les méthodes acteur-critique
Technologies associées
- Proximal Policy Optimization
- TD3
- Deep Deterministic Policy Gradient (DDPG)
- Tampon de rejeu (Replay Buffer)
- Apprentissage par renforcement à entropie maximale (Maximum Entropy Reinforcement Learning)
- Stable-Baselines3
Termes associés
Projets associés
- 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
Vidéos
- L5 DDPG and SAC (Foundations of Deep RL Series): Pieter Abbeel