शुरू करेंमुफ़्त में शुरू करें

Critic नेटवर्क

Actor-Critic तरीकों के लिए दो अलग-अलग न्यूरल नेटवर्क चाहिए होते हैं.

Actor नेटवर्क की आर्किटेक्चर REINFORCE में उपयोग किए गए policy नेटवर्क जैसी ही है, इसलिए आप PolicyNetwork क्लास को फिर से उपयोग कर सकते हैं.

हालाँकि, critic नेटवर्क कुछ ऐसा है जिसे आपने अभी तक लागू नहीं किया है. Critic का लक्ष्य state value फंक्शन \(V(s_t)\) का अनुमान लगाना होता है, न कि Q-Networks द्वारा अनुमानित action value फंक्शन \(Q(s_t, a_t)\) का.

अब आप Critic नेटवर्क मॉड्यूल लागू करेंगे, जिसे आप A2C में उपयोग करेंगे.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Deep Reinforcement Learning

पाठ्यक्रम देखें

अभ्यास निर्देश

  • दूसरी fully connected लेयर के लिए वांछित dimension भरें ताकि वह एक state value आउटपुट करे.
  • Critic नेटवर्क के माध्यम से forward pass से लौटाए गए value को प्राप्त करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

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)
कोड संपादित करें और चलाएँ