ComeçarComece gratuitamente

Seleção de ações em REINFORCE

Escreva a função REINFORCE select_action, que será usada pelo seu agente REINFORCE para selecionar uma ação em cada etapa.

Em DQN, a passagem direta da rede retornou valores Q; em REINFORCE, ela retorna probabilidades de ação, das quais uma ação pode ser amostrada diretamente.

Uma rede de políticas e um estado foram carregados em seu ambiente.

torch.distributions.Categorical foi importado como Categorical.

Este exercício faz parte do curso

Aprendizado por reforço profundo em Python

Ver Curso

Instruções de exercício

  • Obtenha as probabilidades de ação como um tensor de tocha.
  • Obtenha a distribuição da tocha correspondente às probabilidades de ação.
  • Faça uma amostragem de uma ação da distribuição.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

def select_action(policy_network, state):
  # Obtain the action probabilities
  action_probs = ____
  print('Action probabilities:', action_probs)
  # Instantiate the action distribution
  action_dist = Categorical(____)
  # Sample an action from the distribution
  action = ____
  log_prob = action_dist.log_prob(action)
  return action.item(), log_prob.reshape(1)

state = torch.rand(8)
action, log_prob = select_action(policy_network, state)
print('Sampled action index:', action)
print(f'Log probability of sampled action: {log_prob.item():.2f}')
Editar e executar código