Arhitectura rețelei Q
Ești aproape gata să antrenezi primul tău agent de Deep Reinforcement Learning! Înainte de a parcurge primul ciclu complet de antrenament, ai nevoie de o arhitectură de rețea neuronală care să ghideze deciziile agentului și capacitatea acestuia de a învăța.
Vei modifica arhitectura generică definită într-un exercițiu anterior.
torch și torch.nn sunt deja importate în exercițiile tale.
Acest exercițiu face parte din cursul
Deep Reinforcement Learning în Python
Instrucțiuni pentru exercițiu
- Instanțiază primul strat ascuns; intrarea sa va fi starea mediului, cu dimensiunea
state_size. - Instanțiază stratul de ieșire; acesta furnizează valorile Q pentru fiecare acțiune, cu dimensiunea
action_size. - Completează metoda
forward(); folosește funcția de activaretorch.relupentru acest exemplu.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)