ComeçarComece gratuitamente

A arquitetura da rede Q

Você está quase pronto para treinar seu primeiro agente de Deep Reinforcement Learning! Antes de prosseguir com o primeiro loop de treinamento completo, você precisa de uma arquitetura de rede neural para orientar as decisões do agente e sua capacidade de aprender.

Você modificará a arquitetura genérica que definiu em um exercício anterior. torch e torch.nn são importados para seus exercícios.

Este exercício faz parte do curso

Aprendizado por reforço profundo em Python

Ver Curso

Instruções de exercício

  • Instancie a primeira camada oculta; sua entrada será o estado do ambiente, com dimensão state_size.
  • Instancie a camada de saída; ela fornece os valores Q para cada ação, com a dimensão action_size.
  • Conclua o método forward(); use a função de ativação torch.relu para este exemplo.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

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)
Editar e executar código