ÎncepețiÎncepe gratuit

Selectarea acțiunilor în REINFORCE

Scrie funcția select_action pentru algoritmul REINFORCE, care va fi folosită de agentul tău pentru a selecta o acțiune la fiecare pas.

În DQN, pasul înainte al rețelei returna valori Q; în REINFORCE, returnează probabilitățile acțiunilor, din care o acțiune poate fi eșantionată direct.

O rețea de politici și o stare au fost încărcate în mediul tău.

torch.distributions.Categorical a fost importat ca Categorical.

Acest exercițiu face parte din cursul

Deep Reinforcement Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Obține probabilitățile acțiunilor sub forma unui tensor torch.
  • Obține distribuția torch corespunzătoare probabilităților acțiunilor.
  • Eșantionează o acțiune din distribuție.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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}')
Editează și rulează codul