7.1 简介

Q-learning 算法中以矩阵的方式建立了一张存储每个状态下所有动作$Q$值的表格。

表格中的每一个动作价值$Q(s,a)$表示在状态下选择动作$a$然后继续遵循某一策略预期能够得到的期望回报。

用表格存储动作价值的做法只在环境的状态和动作都是离散的,并且空间都比较小的情况下适用

例如,当状态是一张 RGB 图像时,假设图像大小是$2101603$,用$Q$表格不现实.


需要用函数拟合的方法来估计$Q$值—>将复杂的$Q$值表格视作数据,使用参数化的函数$Q_\theta$来拟合数据

用来解决连续状态下离散动作的问题。

7.2 CartPole 环境

状态值是连续的,动作值是离散的

cartpole.e4a03ca5.gif

若杆的倾斜度数过大,或者车子离初始位置左右的偏离程度过大,或者坚持时间到达 200 帧,则游戏结束

状态是一个维数为 4 的向量,每一维都是连续的,其动作是离散的,动作空间大小为 2

每坚持一帧,智能体能获得分数为 1 的奖励,坚持时间越长,则最后的分数越高,坚持 200 帧即可获得最高的分数。

维度 意义 最小值 最大值
0 车的位置 -2.4 2.4
1 车的速度 -Inf Inf
2 杆的角度 ~ -41.8° ~ 41.8°
3 杆尖端的速度 -Inf Inf
标号 动作
0 向左移动小车
1 向右移动小车

7.3 DQN

每一维度的值都是连续的,无法使用表格记录,因此使用函数拟合

用一个神经网络表示函数Q