PyTorch深度学习实战(46)——深度Q学习
0. 前言
我们已经学习了如何构建一个 Q 表,通过在多个 episode
中重复进行游戏获取与给定状态-动作组合相对应的值。然而,当状态空间是连续时,可能的状态空间数会变得非常巨大。在本节中,我们将学习如何使用神经网络在没有 Q 表的情况下估计状态-动作组合的 Q 值,因此称为深度 Q 学习 (deep Q-learning
)。
1. 深度 Q 学习
与 Q 表相比,深度 Q 学习利用神经网络将任意给定的状态-动作(其中状态可以是连续或离散的)组合映射到相应 Q 值。
在本节中,将使用 Gym
中的 CartPole
环境,智能体的任务是尽可能长时间地平衡 CartPole
,CartPole
环境如下图所示:
当小车向右移动时,杆向左移动,反之亦然,CartPole
环境中的每个状态都由四个观测值定义,其名称及其最小值和最大值如下: