CommencerCommencer gratuitement

L'architecture du réseau Q

Vous êtes presque prêt à former votre premier agent d'apprentissage par renforcement profond ! Avant de pouvoir passer à votre premier cycle de formation complet, vous devez disposer d'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.

Cet exercice fait partie du cours

Apprentissage par renforcement profond en Python

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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