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, kursun bir parçasıdır
Python ile Deep Reinforcement Learning
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)