深度学习与强化学习的两大联姻:DQN与DDPG的对比分析

本文对比分析了DQN和DDPG两种深度学习强化学习算法,探讨了它们在处理离散和连续动作问题上的区别与联系。DQN采用经验回放和目标网络冻结解决样本利用率低和Q值不稳定问题,而DDPG在此基础上增加了Policy网络,适用于连续动作预测。两者算法结构相似,DDPG是对DQN在连续动作上的扩展。
摘要由CSDN通过智能技术生成

本文首发于:行者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 ) ← Q ( s , a ) + α ( r + γ max ⁡ a ′ Q ( s ′ , a ′ ) − Q ( s , a ) ) 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) Q(s,a

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值