Kom igångKom igång gratis

Q-nätverkets arkitektur

Nu är du nästan redo att träna din första agent för djup förstärkningsinlärning! Innan du kan köra din första fullständiga träningsloop behöver du en arkitektur för neurala nätverk som styr agentens beslut och inlärningsförmåga.

Du kommer att modifiera den generella arkitektur du definierade i en tidigare övning. torch och torch.nn är redan importerade i dina övningar.

Den här övningen är en del av kursen

Djup förstärkningsinlärning i Python

Visa kurs

Övningsinstruktioner

  • Instansiera det första dolda lagret; dess indata är miljöns tillstånd med dimensionen state_size.
  • Instansiera utdatalagret; det ger Q-värden för varje möjlig åtgärd med dimensionen action_size.
  • Komplettera metoden forward(); använd aktiveringsfunktionen torch.relu i det här exemplet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod