开始使用免费开始使用

Q-Network 架构

您已经几乎可以开始训练第一个深度强化学习智能体了!在编写完整的训练循环之前,您需要一个神经网络架构来驱动智能体的决策并支撑其学习能力。

您将基于之前练习中定义的通用架构进行修改。 torchtorch.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)
编辑并运行代码