Méthodes acteur-critique (A2C)
Fonction d’avantage, acteur (politique) et critique (valeur), implémentation synchrone d’A2C.
Méthodes acteur-critique (A2C) est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Combiner politique et valeur
Les méthodes Actor-Critic combinent deux idées : un actor (une politique qui choisit les actions) et un critic (une fonction de valeur qui les évalue). Le critic fournit un retour moins variable que les retours bruts, ce qui stabilise l'apprentissage.
L'actor
L'actor est le réseau de politique. Il produit des scores d'action (ou des probabilités) pour l'état courant, exactement comme dans REINFORCE, puis décide de l'action à effectuer.
class ActorCritic(nn.Module):
def __init__(self, obs_dim, n_actions):
super().__init__()
self.shared = nn.Sequential(nn.Linear(obs_dim, 128), nn.ReLU())
self.actor = nn.Linear(128, n_actions)Le critic
Le critic estime la valeur de l'état V(s) : le retour attendu à partir de l'état s. Il s'agit d'une tête à sortie unique qui prédit la qualité de la situation actuelle.
self.critic = nn.Linear(128, 1)
def forward(self, s):
h = self.shared(s)
return self.actor(h), self.critic(h)Un tronc commun et deux têtes
L'actor et le critic partagent généralement les premières couches (le tronc commun), puis se séparent en deux têtes. Le partage des représentations est efficace et permet aux deux tâches de renforcer les représentations utiles.
La fonction d'avantage
La quantité essentielle est l'avantage A = r + gamma * V(s') - V(s). Il mesure dans quelle mesure une action a été meilleure que ce que le critic avait prévu. Un avantage positif signifie « meilleur que la moyenne » ; un avantage négatif signifie que l'action est moins bonne.
advantage = reward + gamma * V_next - V_currentPourquoi l'avantage est meilleur que le retour brut
Utiliser l'avantage plutôt que le retour complet G_t recentre le signal autour de l'estimation du critic, ce qui réduit considérablement la variance. C'est la principale raison pour laquelle l'apprentissage actor-critic est plus stable que celui de REINFORCE.
La perte de l'actor
L'actor est entraîné comme dans REINFORCE, mais les actions sont pondérées par l'avantage plutôt que par le retour : augmentez la probabilité des actions dont l'avantage est positif.
actor_loss = -(log_prob * advantage.detach()).mean()La perte du critic
Le critic apprend à prédire les retours avec précision. Sa perte est l'erreur quadratique entre sa prédiction V(s) et la cible observée r + gamma * V(s').
target = reward + gamma * V_next.detach()
critic_loss = (V_current - target).pow(2).mean()Perte combinée
Entraînez les deux têtes ensemble en additionnant les pertes (souvent avec un petit bonus d'entropie pour favoriser l'exploration). Une seule rétropropagation met à jour le tronc commun et les deux têtes.
loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy
loss.backward()A2C synchrone
A2C (Advantage Actor-Critic) est la version synchrone : plusieurs processus parallèles recueillent simultanément de l'expérience à partir de copies de l'environnement, puis une seule mise à jour synchronisée utilise toutes leurs données, ce qui améliore la stabilité et le débit.
# N parallel envs step together each iteration
# gather all transitions, then one combined updateA2C et A3C
La variante asynchrone A3C permet aux processus de se mettre à jour indépendamment. A2C les synchronise, ce qui est plus simple, plus adapté au GPU et généralement tout aussi efficace, d'où sa popularité.
Vérification rapide
Testez votre compréhension de l'actor-critic.
Récapitulatif : Actor-Critic et A2C
Vous avez appris que l'actor produit les scores de la politique et que le critic estime V(s), souvent grâce à un tronc commun partagé avec deux têtes. L'avantage r + gamma*V(s') - V(s) réduit la variance, et l'A2C synchrone utilise des processus parallèles pour un entraînement stable et efficace.
Questions Fréquemment Posées
La leçon « Méthodes acteur-critique (A2C) » est-elle gratuite ?
Oui — le texte complet de « Méthodes acteur-critique (A2C) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Méthodes acteur-critique (A2C) » ?
Fonction d’avantage, acteur (politique) et critique (valeur), implémentation synchrone d’A2C. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Méthodes acteur-critique (A2C) » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Méthodes de gradient de politique : REINFORCE
- Méthodes acteur-critique (A2C)
- Optimisation proximale de politique (PPO)
- Environnements Gymnasium personnalisés