IniziaInizia gratis

L'architettura della Q-Network

Sei quasi pronto per addestrare il tuo primo agente di Deep Reinforcement Learning! Prima di lanciarti nel primo ciclo di training completo, ti serve un'architettura di rete neurale che guidi le decisioni dell'agente e la sua capacità di apprendere.

Modificherai l'architettura generica che hai definito in un esercizio precedente. torch e torch.nn sono già importati negli esercizi.

Questo esercizio fa parte del corso

Deep Reinforcement Learning in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Istanzia il primo livello nascosto; il suo input sarà lo stato dell'ambiente, di dimensione state_size.
  • Istanzia il livello di output; fornisce i Q-values per ogni azione, di dimensione action_size.
  • Completa il metodo forward(); per questo esempio usa la funzione di attivazione torch.relu.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice