Erste SchritteKostenlos loslegen

Die Architektur des Q-Netzes

Du bist fast bereit, deinen ersten Deep Reinforcement Learning-Agenten zu trainieren! Bevor du mit deiner ersten vollständigen Trainingsschleife beginnen kannst, brauchst du eine neuronale Netzwerkarchitektur, um die Entscheidungen des Agenten und seine Lernfähigkeit zu steuern.

Du wirst die generische Architektur ändern, die du in einer früheren Übung definiert hast. torch und torch.nn werden in deine Übungen importiert.

Diese Übung ist Teil des Kurses

Deep Reinforcement Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Instanziere die erste versteckte Schicht; ihre Eingabe ist der Zustand der Umgebung mit der Dimension state_size.
  • Instanziere die Ausgabeschicht; sie liefert die Q-Werte für jede Aktion, mit der Dimension action_size.
  • Vervollständige die Methode forward(); verwende die Aktivierungsfunktion torch.relu für dieses Beispiel.

Interaktive Übung zum Anfassen

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

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