ÎncepețiÎncepe gratuit

Arhitectura rețelei de politici

Construiește arhitectura unei rețele de politici pe care o vei folosi ulterior pentru a antrena agentul de gradient de politici.

Rețeaua de politici primește starea ca intrare și produce o probabilitate în spațiul acțiunilor. În mediul Lunar Lander lucrezi cu patru acțiuni discrete, deci vrei ca rețeaua să returneze o probabilitate pentru fiecare dintre aceste acțiuni.

Acest exercițiu face parte din cursul

Deep Reinforcement Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Specifică dimensiunea stratului de ieșire al rețelei de politici; pentru flexibilitate, folosește numele variabilei în loc de valoarea numerică efectivă.
  • Asigură-te că ultimul strat returnează probabilități.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul