Inizia subitoInizia 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 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 interattivo pratico

Prova questo esercizio completando questo 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