CommencezCommencez gratuitement

Réseau du critique

Les méthodes Actor-Critic exigent deux réseaux de neurones très différents.

L'architecture du réseau de l'acteur est identique à celle du réseau de politique que vous avez utilisé pour REINFORCE, vous pouvez donc réutiliser la classe PolicyNetwork.

Cependant, vous n'avez pas encore implanté le réseau du critique. Le critique vise à approximer la fonction de valeur d'état V(s_t), plutôt que la fonction de valeur d'action Q(s_t, a_t) approximée par les Q-Networks.

Vous allez maintenant implanter le module de réseau Critic que vous utiliserez dans A2C.

Cette activité fait partie du cours

Deep Reinforcement Learning en Python

Voir le cours

Instructions de l’exercice

  • Inscrivez la dimension souhaitée pour la deuxième couche entièrement connectée afin qu'elle retourne une seule valeur d'état.
  • Obtenez la valeur retournée par la passe avant (forward pass) dans le réseau du critique.

Exercice interactif pratique

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

class Critic(nn.Module):
    def __init__(self, state_size):
        super(Critic, self).__init__()
        self.fc1 = nn.Linear(state_size, 64)
        # Fill in the desired dimensions
        self.fc2 = nn.Linear(____)

    def forward(self, state):
        x = torch.relu(self.fc1(torch.tensor(state)))
        # Calculate the output value
        value = ____
        return value

critic_network = Critic(8)
state_value = critic_network(torch.rand(8))
print('State value:', state_value)
Modifier et exécuter le code