Architektura Q-sítě
Jsi skoro připraven/a trénovat svého prvního agenta pro Deep Reinforcement Learning! Než se pustíš do kompletní trénovací smyčky, potřebuješ architekturu neuronové sítě, která bude řídit rozhodování agenta a jeho schopnost učit se.
Upravíš obecnou architekturu, kterou jsi definoval/a v předchozím cvičení.
torch a torch.nn jsou v cvičení už naimportované.
Toto cvičení je součástí kurzu
Deep Reinforcement Learning v Pythonu
Pokyny k cvičení
- Vytvoř instanci první skryté vrstvy; jejím vstupem bude stav prostředí s dimenzí
state_size. - Vytvoř instanci výstupní vrstvy; ta poskytuje Q-hodnoty pro každou akci s dimenzí
action_size. - Dokonči metodu
forward(); jako aktivační funkci použijtorch.relu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)