强化学习算法DDPG

强化学习算法DDPG比如在机器人手臂控制场景中 需要旋转的角度是个连续变量 而且机器人手臂又有很多自由度 在深度学习之前 可采用 Deterministi Policy Gradient 算法

大家好,欢迎来到IT知识分享网。

DDPG:Deep Deterministic Policy Gradient。

背景介绍

当动作空间维度变得很高时,即便大获成功的DQN,学习起来也会变得困难,尤其是面对连续动作空间的时候。
比如在机器人手臂控制场景中,需要旋转的角度是个连续变量,而且机器人手臂又有很多自由度,在深度学习之前,可采用Deterministic Policy Gradient算法。
由于在深度学习场景下,通过时序差分学习,不再对环境建模(Model-Free),我们面临的问题更加简单,就不再对DPG本身的细节探讨,暂时把精力集中到深度学习视角上。
DDPG正是DPG的一种深度神经网络实现,模型架构与A3C相似,学习过程基于DQN,DQN/A3C相关细节可参见并行强化学习算法:A2C/A3C及DQN:深度强化学习开山之作。


模型结构

如图所示:

强化学习算法DDPG

可以看到:

  1. DDPG基于Actor-Critic架构。
  2. 但与A3C不同,这里的Policy是Deterministic Action即a=μ(s),不再是action的分布π(.|s);Value Function是action-value Q(s, a) ,不是state-value V(s)。
  3. policy里的actions维度与DQN中的含义不同,以机器人手臂为例,这里的actions维度指的是每一个自由度,每一个自由度都是连续动作空间;而DQN里面可以理解成只有一个大的离散动作空间。
  4. 由于a是确定的,Q(s, a)也是个scalar标量,这点需要留意;Q(s, a)的中间输入是由s之后的特征层和a通过concat拼接而成。
  5. 网络借鉴了DQN的策略,在时序差分学习value时引入了Target Network,但Target Network除了包含value网络,也包含了policy网络。

损失函数

强化学习算法DDPG

损失函数的近似细节需要参照DPG相关的论文,结果如图所示,分两步进行:

  1. 通过最大化Q,更新policy μ 网络参数。
  2. 通过与DQN类似的值残差,更新action value Q网络参数。

学习过程

强化学习算法DDPG

学习过程整体采取DQN的Experience Replay Memeory机制,不是A3C的并行机制,同时需要注意这几点细节:

  1. 由于policy是确定的,无法像DQN/A3C等其它离散动作空间可以直接从policy的分布采样,而是引入随机噪声以保证系统的探索能力。
  2. 损失函数是分两步单独进行,不像A3C等损失函数求和后再统一梯度计算;
  3. Target Network参数更新的方法与DQN非常不同,引入了系数τ,参数更新由Target Network本身的参数和新更新的Predict Network的参数加权确定,这样能保证Target Network的稳定,更有利于引导模型找到最优解。

总结

DDPG是DPG的深度神经网络实现,DPG是基于Actor-Critic架构,同时DDPG学习过程采用了DQN的学习策略,所以DDPG是以Arctic-Critic为基础、针对连续动动作空间的off-policy、Model-Free深度强化学习算法

DDPG是Q估计,所以Q值是偏高的,细节可以看论文后面的试验,但实际选型时,我们需要根据policy的结果进行选择。

DDPG学习是基于DQN的Experience Replay Memeory机制,所以学习速度不快,但Target Network引入了稳定模块,具体到实际的场景中,需要根据项目的规模,实际学习结果,确定是否采用DDPG。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/188347.html

(0)
上一篇 2025-09-18 07:15
下一篇 2025-09-18 07:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信