0Pricing
Learn AI with Python · Aula

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_current

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

A2C 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

  1. Métodos de gradiente de política: REINFORCE
  2. Métodos ator-crítico (A2C)
  3. Otimização proximal de política (PPO)
  4. Ambientes personalizados do Gymnasium
← Voltar para Learn AI with Python