BaşlayınÜcretsiz başlayın

REINFORCE'ta eylem seçimi

Her adımda eylem seçmek için REINFORCE ajanının kullanacağı select_action fonksiyonunu yaz.

DQN'de ağın ileri geçişi Q-değerlerini döndürüyordu; REINFORCE'ta ise eylem olasılıklarını döndürür ve buradan doğrudan bir eylem örneklenebilir.

Bir politika ağı ve bir durum ortamına yüklendi.

torch.distributions.Categorical, Categorical olarak içe aktarıldı.

Bu egzersiz, kursun bir parçasıdır

Python ile Deep Reinforcement Learning

Kursa Göz Atın

Egzersiz talimatları

  • Eylem olasılıklarını bir torch tensörü olarak elde et.
  • Eylem olasılıklarına karşılık gelen torch Distribution nesnesini elde et.
  • Dağılımdan bir eylem örnekle.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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}')
Kodu Düzenle ve Çalıştır