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

Eleştirmen (Critic) ağı

Actor-Critic yöntemleri iki farklı sinir ağı gerektirir.

Aktör (actor) ağının mimarisi, REINFORCE'ta kullandığın politika ağınınkiyle aynıdır; bu yüzden PolicyNetwork sınıfını yeniden kullanabilirsin.

Ancak, eleştirmen (critic) ağı şimdiye kadar uygulamadığın bir bileşen. Critic, Q-Ağlarının yaklaştırdığı eylem değer fonksiyonu \(Q(s_t, a_t)\) yerine, durum değer fonksiyonunu \(V(s_t)\) yaklaştırmayı hedefler.

Şimdi A2C'de kullanacağın Critic ağ modülünü uygulayacaksın.

Bu egzersiz

Python ile Deep Reinforcement Learning

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

Egzersiz talimatları

  • İkinci tam bağlantılı katmanın istenen boyutunu, tek bir durum değeri üretecek şekilde doldur.
  • Critic ağı üzerinden ileri geçişin (forward pass) döndürdüğü değeri elde et.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class Critic(nn.Module):
    def __init__(self, state_size):
        super(Critic, self).__init__()
        self.fc1 = nn.Linear(state_size, 64)
        # Fill in the desired dimensions
        self.fc2 = nn.Linear(____)

    def forward(self, state):
        x = torch.relu(self.fc1(torch.tensor(state)))
        # Calculate the output value
        value = ____
        return value

critic_network = Critic(8)
state_value = critic_network(torch.rand(8))
print('State value:', state_value)
Kodu Düzenle ve Çalıştır