Arsitektur Q-Network
Anda hampir siap untuk melatih agen Deep Reinforcement Learning pertama Anda! Sebelum menjalankan loop pelatihan lengkap pertama, Anda memerlukan arsitektur jaringan saraf untuk menggerakkan pengambilan keputusan agen dan kemampuannya untuk belajar.
Anda akan memodifikasi arsitektur umum yang telah Anda definisikan pada latihan sebelumnya.
torch dan torch.nn telah diimpor dalam latihan Anda.
Latihan ini adalah bagian dari kursus
Deep Reinforcement Learning dengan Python
Petunjuk latihan
- Instansiasi lapisan tersembunyi pertama; masukannya adalah state lingkungan, dengan dimensi
state_size. - Instansiasi lapisan keluaran; lapisan ini menyediakan nilai Q untuk setiap aksi, dengan dimensi
action_size. - Lengkapi metode
forward(); gunakan fungsi aktivasitorch.reluuntuk contoh ini.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)