Q-Network आर्किटेक्चर
आप अपना पहला Deep Reinforcement Learning एजेंट ट्रेन करने के करीब हैं! पहले पूरी training loop चलाने से पहले, आपको एक ऐसा neural network आर्किटेक्चर चाहिए जो एजेंट के फैसलों और सीखने की क्षमता को संचालित करे.
आप उस generic आर्किटेक्चर को संशोधित करेंगे जिसे आपने पहले के एक अभ्यास में परिभाषित किया था.
torch और torch.nn आपके अभ्यास में इम्पोर्ट किए गए हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Deep Reinforcement Learning
अभ्यास निर्देश
- पहला hidden लेयर instantiate करें; इसका इनपुट environment state होगा, जिसका dimension
state_sizeहै. - आउटपुट लेयर instantiate करें; यह हर action के लिए Q-values प्रदान करता है, जिसका dimension
action_sizeहै. forward()मेथड को पूरा करें; इस उदाहरण मेंtorch.reluactivation फंक्शन का उपयोग करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
class QNetwork(nn.Module):
def __init__(self, state_size, action_size):
super(QNetwork, self).__init__()
# Instantiate the first hidden layer
self.fc1 = nn.Linear(____, ____)
self.fc2 = nn.Linear(64, 64)
# Instantiate the output layer
self.fc3 = nn.Linear(____, ____)
def forward(self, state):
# Ensure the ReLU activation function is used
x = ____(self.fc1(torch.tensor(state)))
x = ____(self.fc2(x))
return self.fc3(x)