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

Policy ağının mimarisi

Daha sonra policy gradient ajanını eğitmek için kullanabileceğin bir Policy Ağı mimarisi oluştur.

Policy ağı durumu girdi olarak alır ve eylem uzayında bir olasılık çıktılar. Lunar Lander ortamında dört ayrık eylemle çalışırsın; bu yüzden ağının bu eylemlerin her biri için birer olasılık üretmesini istersin.

Bu egzersiz

Python ile Deep Reinforcement Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Policy ağının çıktı katmanı için boyutu belirt; esneklik için gerçek sayı yerine değişken adını kullan.
  • Son katmanın olasılık döndürdüğünden emin ol.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class PolicyNetwork(nn.Module):
  def __init__(self, state_size, action_size):
    super(PolicyNetwork, self).__init__()
    self.fc1 = nn.Linear(state_size, 64)
    self.fc2 = nn.Linear(64, 64)
    # Give the desired size for the output layer
    self.fc3 = nn.Linear(64, ____)

  def forward(self, state):
    x = torch.relu(self.fc1(torch.tensor(state)))
    x = torch.relu(self.fc2(x))
    # Obtain the action probabilities
    action_probs = ____(self.fc3(x), dim=-1)
    return action_probs
  
policy_network = PolicyNetwork(8, 4)
action_probs = policy_network(state)
print('Action probabilities:', action_probs)
Kodu Düzenle ve Çalıştır