CommencezCommencez gratuitement

L'architecture du réseau Q

Vous êtes presque prêt à entraîner votre premier agent de Deep Reinforcement Learning ! Avant de lancer votre première boucle d'entraînement complète, il vous faut une architecture de réseau neuronal pour guider les décisions de l'agent et sa capacité d'apprentissage.

Vous allez modifier l'architecture générique que vous avez définie dans un exercice précédent. torch et torch.nn sont importés dans vos exercices.

Cette activité fait partie du cours

Deep Reinforcement Learning en Python

Voir le cours

Instructions de l’exercice

  • Instanciez la première couche cachée; son entrée sera l'état de l'environnement, de dimension state_size.
  • Instanciez la couche de sortie; elle fournit les valeurs Q pour chaque action, de dimension action_size.
  • Complétez la méthode forward(); utilisez la fonction d'activation torch.relu pour cet exemple.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code