ПочатиПочніть безкоштовно

Архітектура Q-мережі

Ви майже готові навчати свого першого агента глибокого навчання з підкріпленням! Перш ніж перейти до повного циклу навчання, вам потрібна архітектура нейронної мережі, яка керуватиме рішеннями агента та його здатністю навчатися.

Ви зміните загальну архітектуру, яку визначили в попередній вправі. torch і torch.nn імпортовано у ваших вправах.

Ця вправа є частиною курсу

Глибоке навчання з підкріпленням у Python

Переглянути курс

Інструкції до вправи

  • Створіть перший прихований шар; його вхід — це стан середовища з розмірністю state_size.
  • Створіть вихідний шар; він надає Q-значення для кожної дії з розмірністю action_size.
  • Завершіть метод forward(); у цьому прикладі використайте активаційну функцію torch.relu.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код