探究深度学习与强化学习的紧密结合:DQN与DDPG的深入比较研究
本文首发于:行者AI
Q学习(Q-Learning)算法是提出时间很早的一种异策略的时序差分学习方法;DQN 则是利用神经网络对 Q-Learning 中的值函数进行近似,并针对实际问题作出改进的方法;而 DDPG 则可以视为 DQN 对连续型动作预测的一个扩展;本文将从定义对比分析 DQN 和 DDPG ,更好地理解二者的算法区别与联系。
本文首先通过简介 DQN 和 DDPG 涉及的常见概念,接着从 DQN 开始分析理解其算法流程,然后进一步地分析 DDPG ,最后总结二者的区别与联系。本文主要分为以下三个部分:
(1)相关概念简介
(2)DQN 的算法分析
(3)DDPG 的算法分析
1. 相关概念简介
DQN 和 DDPG 处理的问题不同,DQN 用于处理离散动作问题,而 DDPG 则是在其基础上扩展用于处理连续动作问题;所以首先我们需要明白连续型动作和离散型动作的区别,以及二者在工程上是如何实现的。
1.1 离散动作
简单的理解,离散动作是可以被分类的动作,比如向上、向下、开火、停火等动作;在实际工程中,我们使用分类类型的激活函数去表示它们,比如 softmax :
如上图所示,输入 x 经过任意神经网络后,最后一层网络层使用 softmax 激活函数,将网络输出分为 n 个动作类;这样就可以输出离散的动作了。
1.2 连续动作
离散动作是可被分类的动作,那么连续动作就是一个连续的值,比如距离、角度、力度等表示确切的值。连续动作不可分类,因此在实际工程中,我们使用返回值类型的激活函数去表示它们,比如 tanh :
如上图所示,输入 x 经过任意神经网络后,最后一层网络层使用 tanh 激活函数,将网络输出为一个区间化的值 value ;这样就可以输出连续的动作了。
2. DQN
2.1 DQN面临的问题
DQN 是利用神经网络对 Q-Learning 中的值函数进行近似,并针对实际问题作出改进的方法。但是我们并不能进行简单的替代,比如定义一个分类神经网络:
然后在定义一个类似 Q-learning 的 loss 函数,比如:\(Q(s, a) \leftarrow Q(s, a)+\alpha\left(r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime}\right)-Q(s, a)\right)\),然后再直接进行优化。这样的方式是行不通的。
在实际的工程中,DQN 的实现会遇到许多困难,其中最显著的就是:
(1)样本利用率低
(2)训练得到的 value 值不稳定
其中问题(1)是序列决策的通病,由于序列决策具有严密的上下文联系,因此一段很长的样本只能算一个样本,从而导致了样本利用率低。
问题(2)是由于网络输出的 Q 值会参与动作 action 的选择,而选择的动作与环境交互后产生新的状态继续送入 Q 网络训练;这造成了网络参数的输出目标会继续参与网络参数的训练。这导致了 Q 网络输出不稳定。
2.2 解决方式
面对以上两个问题,DQN 分别采用了以下两种方式解决:
(1)经验回放( Experience Replay ),即构建一个经验池( Replay Buffer )来去除数据相关性;经验池是由智能体最近的经历组成的数据集。
(2)目标网络冻结( Freezing Target Networks ),即在一个时间段内(或者说固定步数内)固定目标中的参数,来稳定学习目标。
整个 DQN 的功能结构可以用下图表示:
首先向 Q 网络中输入由动作、状态、奖励和结束标志组成的数据,网络输出一个预测值 Q_predict ,接着根据该值选择动作 action 传入环境中进行交互,然后得到新的状态值 s' ,继续送入训练。
同时,每次与环境交互的结果也会存入固定长度的经验池中;每隔 C 步再从 Q 网络复制一个结构和参数相同的 Target_Q 网络,用来稳定输出目标,Target_Q网络从经验池中采样数据,输出一个稳定的目标值 Q_target = \(r+\gamma Q_{target}\left(\boldsymbol{s}, \boldsymbol{s}^{\prime}, \boldsymbol{a}, \boldsymbol{r}\right)\),其中\(r\)为奖励函数值,\(\gamma\)是奖励的折扣率,\(Q_{target}\left(\boldsymbol{s}, \boldsymbol{s}^{\prime}, \boldsymbol{a}, \boldsymbol{r}\right)\)是 Target_Q 网络的输出值。
整个 DQN 的 loss 函数直接取两个预测值 Q_predict 和 Q_target 的均方误差。
详细的算法流程如下:
3. DDPG
在已知了 DQN 算法的基础上,再来看 DDPG 就很简单了。本质上 DDPG 思路没变,但是应用变化了;DDPG 相比于 DQN 主要是解决连续型动作的预测问题。通过上面的简介,我们可以知道,动作是连续还是离散,在实现上的区别仅在于最后激活函数的选择上。因此,DDPG 在继承了 DQN 的算法上,作出了一些改进。
直接上算法结构:
对比 DQN 的算法结构图,不难发现:DDPG 在 DQN 的基础上增加了一个 Policy 网络及其 Policy_target 网络,用来输出一个连续值;这个连续值其实就是连续动作 action 。剩下的思路和 DQN 几乎一样。
不同之处在于,最后的 loss 函数虽然仍是求两个预测值 Q_predict 和 Q_target 的均方误差,但是由于 Q_predict 和 Q_target 的值是需要 Policy 网络及其 Policy_target 网络的输出分别求得的。所以需要在 Q_predict 和 Q_target 中内嵌入两个策略网络的 loss 函数,如上图所示。
对比 DQN ,将其算法稍作更改就可以得到一个较为详细的 DDPG 算法流程:
说完了 DDPG 相较于 DQN 的扩展,再说说继承。显然的,DDPG 继承了经验回放( Experience Replay ) 和 目标网络冻结( Freezing Target Networks ) 两种方式用来解决相同的问题。
4. 总结
本文以对比的视角分别分析了 DQN 和 DDPG 两种算法,可以看出:
(1)二者都采用了经验回放( Experience Replay ) 和 目标网络冻结( Freezing Target Networks )两种方式去解决样本、目标值不稳定的问题。
(2)二者的算法结构十分相似,都是相同的流程,只是 DDPG 在 DQN 的基础上多了一些 Policy 系列网络的操作。
(3)二者的 loss 函数本质上是相同的,只是 DDPG 加入了 Policy 网络用来输出连续动作值,因此需要再向原 MSE 中嵌入 Policy 网络的 loss 函数。
综上,本文得出了 DDPG 实质上是 DQN 的一种在连续动作上的扩展算法这一结论。通过对比也可以看出,DDPG 与 DQN 有着极高的算法相似性,并不只如 DDPG 论文中所说的脱胎于 DPG 算法。
本文关于 DQN 和 DDPG 两种算法的对比理解就到这里,下一篇中我们会从代码入手,对着两种算法进行实现,敬请期待!
5. 参考
[1] 邱锡鹏《NNDL》
[2] Continuous control with deep reinforcement learning
[3] Playing Atari with Deep Reinforcement Learning
PS:更多技术干货,快关注【公众号 | xingzhe_ai】,与行者一起讨论吧!
上一篇: 《PROMOTING COOPERATION IN MULTI-AGENT REINFORCEMENT LEARNING VIA MUTUAL HELP》 2023-IEEE
下一篇: 深入理解DDPG强化学习算法详解
推荐阅读
-
【摩尔线程+Colossal-AI强强联手】MusaBert登上CLUE榜单TOP10:技术细节揭秘 - 技术实力:摩尔线程凭借"软硬兼备"的技术底蕴,让MusaBert得以从底层优化到顶层。其内置多功能GPU配备AI加速和并行计算模块,提供了全面的AI与科学计算支持,为AI推理和低资源条件下的大模型训练等场景带来了高效、经济且环保的算力。 - 算法层面亮点:依托Colossal-AI AI大模型开发系统,MusaBert在训练过程中展现出了卓越的并行性能与易用性,特别在预处理阶段对DataLoader进行了优化,适应低资源环境高效处理海量数据。同时,通过精细的建模优化、领域内数据增强以及Adan优化器等手段,挖掘和展示了预训练语言模型出色的语义理解潜力。基于MusaBert,摩尔线程自主研发的MusaSim通过对比学习方法微调,结合百万对标注数据,MusaSim在多个任务如语义相似度、意图识别和情绪分析中均表现出色。 - 数据资源丰富:MusaBert除了自家高质量语义相似数据外,还融合了悟道开源200GB数据、CLUE社区80GB数据,以及浪潮公司提供的1TB高质量数据,保证模型即便在较小规模下仍具备良好性能。 当前,MusaBert已成功应用于摩尔线程的智能客服与数字人项目,并广泛服务于语义相似度、情绪识别、阅读理解与声韵识别等领域。为了降低大模型开发和应用难度,MusaBert及其相关高质量模型代码已在Colossal-AI仓库开源,可快速训练优质中文BERT模型。同时,通过摩尔线程与潞晨科技的深度合作,仅需一张多功能GPU单卡便能高效训练MusaBert或更大规模的GPT2模型,显著降低预训练成本,进一步推动双方在低资源大模型训练领域的共享目标。 MusaBert荣登CLUE榜单TOP10,象征着摩尔线程与潞晨科技联合研发团队在中文预训练研究领域的领先地位。展望未来,双方将携手探索更大规模的自然语言模型研究,充分运用上游数据资源,产出更为强大的模型并开源。持续强化在摩尔线程多功能GPU上的大模型训练能力,特别是在消费级显卡等低资源环境下,致力于降低使用大模型训练的门槛与成本,推动人工智能更加普惠。而潞晨科技作为重要合作伙伴,将继续发挥关键作用。
-
探究深度学习与强化学习的紧密结合:DQN与DDPG的深入比较研究
-
深入理解:DDPG强化学习算法的工作机制与实战实现指南
-
深入讲解:DDPG算法与连续动作的深度Q学习(原系列第14部分:Deep Q Learning 第4部分)
-
探讨智能:从深度学习到强化学习(七)——DDPG与基于模型的RL方法解析
-
基于图像的 3D 物体深度学习时代的性能比较和未来研究方向:最新技术与趋势概览
-
基于图像的 3D 物体深度学习时代的性能比较和未来研究方向:最新技术与趋势概览
-
深度学习中的不确定性量化:2020年实用技术与应用大解析 - 61页精华解读" 这份报告深入剖析了近年来深度学习领域中不确定性量化(UQ)技术的最新发展,包括其在强化学习(RL)中的运用实例。探讨了贝叶斯近似和集成学习等主流UQ方法在各个具体场景中的广泛应用,比如自动驾驶、目标识别、图像修复、医疗影像分析(如分类和分割)、文本理解(如文本分类和风险评估)、以及生物信息学等多个领域。 报告进一步梳理了UQ方法在深度学习领域的关键应用案例,并针对当前面临的挑战及未来研究方向进行了概览和展望,为这一领域的研究人员和实践者提供了有价值的参考指南。