CommencerCommencer gratuitement

Réseau de critiques

Les méthodes Actor Critic nécessitent deux réseaux neuronaux très différents.

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

Cependant, le réseau de critiques est un élément que vous n'avez pas encore mis en place. Le critique vise à approximer la fonction de valeur d'état \(V(s_t)\), rather than the action value function \(Q(s_t, a_t)\) approximée par les réseaux Q.

Vous allez maintenant implémenter le module réseau Critic que vous utiliserez dans A2C.

Cet exercice fait partie du cours

Apprentissage par renforcement profond en Python

Afficher le cours

Instructions

  • Veuillez saisir la dimension souhaitée pour la deuxième couche entièrement connectée afin qu'elle produise une valeur d'état.
  • Obtenir la valeur renvoyée par le passage direct à travers le réseau critique.

Exercice interactif pratique

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

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