DQN与Q学习
|最后更新: 2025-4-23
在上一节,我们学习了强化学习的基本建模及其基础概念,那么其是如何在建模之上进行学习的呢?首先我们需要搭建一个“神经网络”

一、DQN

由于最优动作价值函数 排除了策略的影响,所以我们可以根据最优动作价值函数做控制,也就是:对于当前状态 ,应该选择 最大的
 
但是由于在实际情况中我们并不能准确获取 的值,所以我们希望通过一个网络来近似它,这就是DQN,DQN的具体结构如图:
notion image
学习的目标是使输出尽可能接近
注意,这里状态是通过卷积神经网络提取特征的原因是:这里的背景是玩电子游戏,也就是状态是当前的屏幕截图
如果场景发生了变化,特征提取网络也要从卷积网络相应地发生变化。
 
DQN的训练:优化梯度:
 

二、时间差分算法(TD)

可以理解为经过一段时间后,以新的预测作为标准,和原有预测作偏差,进行训练。
 

三、使用时间差分算法训练DQN

首先我们介绍贝尔曼最优方程
notion image
这个方程可以理解为:
你在任何一个时刻的决策价值,等于当前收获 + 对未来最聪明的预期。
在实际情况下,我们会对当前的状态 采取动作 ,观察到转换到了状态 并且得到了奖励 ,我们可以观测结果对等式右侧的期望进行蒙特卡洛近似:
这张示意图可以帮我们理解它与时间差分算法的关系:
notion image
我们把左式当做原始预测,右式当做新的预测(即“准确值”),进行误差计算并训练网络,即:
在计算梯度时,把RHS当做一个常量进行计算
 

四、Q学习

TD算法有很多种类,上面介绍的是Q学习,Q学习最早是以表格形式呈现的,基于的仍然是最优贝尔曼方程
 

五、同策略(on-policy)与异策略(off-policy)

同策略和异策略是两种强化学习的方式,区分这两种方式的关键是:考察目标策略和行为策略是否一致。
  • 目标策略:要学习的策略,即在状态 下该如何选择动作 ,可以理解为就是在学习
  • 行为策略:收集经验数据的方法,比如在Q学习中我们可能会使用 来进行学习, 显然不是我们最终要学习的策略,所以在Q学习中,目标策略和行为策略就不同。
若目标策略和行为策略相同,则称为同策略,否则称为异策略
Loading...