Q-Ağı mimarisi
İlk Deep Reinforcement Learning ajanını eğitmeye neredeyse hazırsın! Tam bir eğitim döngüsüne geçmeden önce, ajanın kararlarını ve öğrenme yeteneğini yönlendirecek bir sinir ağı mimarisine ihtiyacın var.
Daha önceki bir egzersizde tanımladığın genel mimariyi değiştireceksin.
Egzersizlerinde torch ve torch.nn içe aktarılmış durumda.
Bu egzersiz
Python ile Deep Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- İlk gizli katmanı oluştur; girdi olarak boyutu
state_sizeolan ortam durumunu alacak. - Çıkış katmanını oluştur; her eylem için Q-değerlerini sağlar ve boyutu
action_sizeolacaktır. forward()metodunu tamamla; bu örnektetorch.reluaktivasyon fonksiyonunu kullan.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)