Erste SchritteKostenlos loslegen

Die Architektur des Politiknetzwerks

Baue die Architektur für ein Policy-Netzwerk auf, das du später zum Trainieren deines Policy-Gradienten-Agenten verwenden kannst.

Das Policy-Netzwerk nimmt den Zustand als Eingabe und gibt eine Wahrscheinlichkeit im Aktionsraum aus. Für die Lunar Lander-Umgebung arbeitest du mit vier diskreten Aktionen, also soll dein Netz für jede dieser Aktionen eine Wahrscheinlichkeit ausgeben.

Diese Übung ist Teil des Kurses

Deep Reinforcement Learning in Python

Kurs anzeigen

Anleitung zur Übung

  • Gib die Größe der Ausgabeschicht des Policy-Netzes an. Um flexibel zu sein, verwende den Variablennamen und nicht die tatsächliche Zahl.
  • Stelle sicher, dass die letzte Ebene Wahrscheinlichkeiten liefert.

Interaktive Übung zum Anfassen

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

class PolicyNetwork(nn.Module):
  def __init__(self, state_size, action_size):
    super(PolicyNetwork, self).__init__()
    self.fc1 = nn.Linear(state_size, 64)
    self.fc2 = nn.Linear(64, 64)
    # Give the desired size for the output layer
    self.fc3 = nn.Linear(64, ____)

  def forward(self, state):
    x = torch.relu(self.fc1(torch.tensor(state)))
    x = torch.relu(self.fc2(x))
    # Obtain the action probabilities
    action_probs = ____(self.fc3(x), dim=-1)
    return action_probs
  
policy_network = PolicyNetwork(8, 4)
action_probs = policy_network(state)
print('Action probabilities:', action_probs)
Bearbeiten und Ausführen von Code