Erste SchritteKostenlos loslegen

Kritiker-Netzwerk

Actor Critic-Methoden erfordern zwei sehr unterschiedliche neuronale Netze.

Die Architektur des Akteursnetzwerks ist identisch mit der des Richtliniennetzwerks, das du für REINFORCE verwendet hast, sodass du die Klasse PolicyNetwork wiederverwenden kannst.

Das Kritikernetzwerk ist jedoch etwas, das du bisher noch nicht umgesetzt hast. Der Kritiker zielt darauf ab, die Zustandswertfunktion \(V(s_t)\), rather than the action value function \(Q(s_t, a_t)\) durch Q-Netze anzunähern.

Du wirst nun das Critic Netzwerkmodul implementieren, das du in A2C verwenden wirst.

Diese Übung ist Teil des Kurses

Deep Reinforcement Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Fülle die gewünschte Dimension für die zweite voll verknüpfte Schicht aus, damit sie einen Zustandswert ausgibt.
  • Erhalte den Wert, der beim Vorwärtsdurchlauf durch das kritische Netzwerk zurückgegeben wird.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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)
Bearbeiten und Ausführen von Code