Métodos ator-crítico (A2C)
Função de vantagem, ator (política) + crítico (valor) e implementação síncrona de A2C.
Métodos ator-crítico (A2C) é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.
Combinando política e valor
Os métodos de ator-crítico combinam duas ideias: um actor (uma política que escolhe ações) e um critic (uma função de valor que as avalia). O critic fornece um feedback com menor variância que os retornos brutos, estabilizando o aprendizado.
O actor
O actor é a rede da política. Ele produz logitos (ou probabilidades) das ações para o estado atual, exatamente como no REINFORCE, e decide o que fazer.
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)O critic
O critic estima o valor do estado V(s): o retorno esperado a partir do estado s. Ele é uma camada de saída única que prevê quão boa é a situação atual.
self.critic = nn.Linear(128, 1)
def forward(self, s):
h = self.shared(s)
return self.actor(h), self.critic(h)Base compartilhada, duas cabeças
O actor e o critic geralmente compartilham as camadas iniciais (a base) e se dividem em duas cabeças. Compartilhar características é eficiente e permite que ambas as tarefas reforcem representações úteis.
A função de vantagem
A grandeza principal é a vantagem A = r + gamma * V(s') - V(s). Ela mede quanto uma ação foi melhor do que o critic esperava. Uma vantagem positiva significa "melhor que a média"; uma negativa significa pior.
advantage = reward + gamma * V_next - V_currentPor que a vantagem é melhor que o retorno bruto
Usar a vantagem em vez do retorno completo G_t centraliza o sinal em torno da estimativa do critic, reduzindo drasticamente a variância. Essa é a principal razão pela qual o ator-crítico aprende de forma mais estável que o REINFORCE.
A perda do actor
O actor é treinado como no REINFORCE, mas ponderado pela vantagem em vez do retorno: aumente a probabilidade das ações com vantagem positiva.
actor_loss = -(log_prob * advantage.detach()).mean()A perda do critic
O critic aprende a prever os retornos com precisão. Sua perda é o erro quadrático entre sua previsão V(s) e o alvo observado r + gamma * V(s').
target = reward + gamma * V_next.detach()
critic_loss = (V_current - target).pow(2).mean()Perda combinada
Treine as duas cabeças juntas somando as perdas (geralmente com um pequeno bônus de entropia para incentivar a exploração). Uma única passagem de retropropagação atualiza a base compartilhada e as duas cabeças.
loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy
loss.backward()A2C síncrono
A2C (Ator-Crítico com Vantagem) é a versão síncrona: vários trabalhadores paralelos coletam experiências de cópias do ambiente simultaneamente; depois, uma única atualização sincronizada usa todos os dados, melhorando a estabilidade e a capacidade de processamento.
# N parallel envs step together each iteration
# gather all transitions, then one combined updateA2C versus A3C
A variante assíncrona A3C permite que os trabalhadores façam atualizações de forma independente. O A2C os sincroniza, o que é mais simples, mais adequado para GPU e geralmente tão eficaz quanto, daí sua popularidade.
Verificação rápida
Teste sua compreensão de ator-crítico.
Recapitulação: ator-crítico e A2C
Você aprendeu que o actor produz os logitos da política e que o critic estima V(s), geralmente por meio de uma base compartilhada com duas cabeças. A vantagem r + gamma*V(s') - V(s) reduz a variância, e o A2C síncrono usa trabalhadores paralelos para obter um treinamento estável e eficiente.
Perguntas Frequentes
A aula “Métodos ator-crítico (A2C)” é grátis?
Sim — o texto completo de “Métodos ator-crítico (A2C)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.
O que vou aprender em “Métodos ator-crítico (A2C)”?
Função de vantagem, ator (política) + crítico (valor) e implementação síncrona de A2C. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Learn AI with Python?
Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Métodos ator-crítico (A2C)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Learn AI with Python?
Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Métodos de gradiente de política: REINFORCE
- Métodos ator-crítico (A2C)
- Otimização proximal de política (PPO)
- Ambientes personalizados do Gymnasium