强化学习之DDPG

DDPG

1.概念

DDPG是基于Actor-Critic 的
Actor-Critic + DQN = Deep Deterministic Pollicy Gradient

在这里插入图片描述

1.动作估计网络用来输出实时的动作供actor在现实中实行,动作现实网络是用来更新价值网络系统的
2.状态现实网络和状态估计网络都在输出状态的价值
3.状态现实网络会拿着从动作现实网络的动作+状态的观测值加以分析,状态估计网络会拿着从actor施加过的动作当做输入

一句话概括DDPG,使用的是Actor Critic结构,输出的不是行为的概率,而是具体的行为,用于连续动作的预测,DDPG结合了之前获得成功的DQN结构,提高了Actor Critic的稳定性和收敛性。

2.原理

在这里插入图片描述

DDPG是DQN的一个扩展版本

  1. 在DDPG中,它借鉴了DQN的技巧:目标网络和经验回放
  2. 经验回放这块跟DQN是一样的,但target network这块的更新与DQN是不一样的。
    在这里插入图片描述
    提出DDPG是为了让DQN扩展到连续的动作空间
  3. DDPG在DQN的基础上加了一个策略网络来直接输出动作值,所以DDPG需要一边学习Q网络,一边学习策略网络
  4. Q网络的参数用w来表示,策略网络的参数用θ来表示
  5. 我们也称这种模式为actor-critic模式

在这里插入图片描述

DDPG实际上就是Actor Critic
在这里插入图片描述
这是Actor部分:前半部分grad[Q]是从Critic来的(这次Actor的动作要怎么移动,才能获得最大的Q),后半部分grad[Q]是从Actor来的(这次Actor要怎么修改自身的参数,才能使Actor更有可能做这个动作),总的来说,就是Actor要朝着更有可能获得更大的Q的方向修改。
在这里插入图片描述
这是Critic更新部分:借鉴了DQN和Double Q learning的方式,有两个计算Q的神经网络,Q_target中依据下一状态,用Actor来选择动作,而这时的Actor也是一个Actor_target(有着Actor很久之前的参数),使用这种方法获得的Q_target能像DQN那样切断相关性,提高收敛性

总结:

  1. Actor当前网络:负责策略网络参数θ的迭代更新,负责根据当前状态S选择当前动作A,用于和环境交互生成S’,R
  2. Actor目标网络:负责根据经验回放池中采样的下一状态S‘, 选择最优下一动作A’,网络参数θ定期从θ复制
  3. Critic当前网络:负责价值网络参数w的更新迭代,负责计算当前Q值Q(S,A,w),目标Q值yi=R+γQ ′ (S ′ ,A ′ ,w ′ )
  4. Critic目标网络:负责计算目标Q值中的Q’(S’,A’,w’)

3.DDPG算法流程

伪代码
在这里插入图片描述
输入:Actor当前网络(参数θ),Actor目标网络(参数θ‘),Critic当前网络(参数w),Critic目标网络(参数w’),衰减因子γ,批量梯度下降的样本数m,目标Q网络参数更新频率C,最大迭代次数T,
输出:最优actor当前网络参数θ,critic当前网络参数w

  1. 随机初始化θ,w,w’=w,θ’=θ,清空经验回放的集合D
  2. for i from 1 to T,,进行迭代
  3. 初始化S为当前状态序列的第一个状态,拿到其特征向量ϕ(S)
  4. 在Actor当前网络基于状态S得到动作A=π
    θ (ϕ(S))+N
  5. 执行动作A,得到新状态S‘,奖励R,是否终止状态
  6. 将{ϕ(S),A,R,ϕ(S ’ ),is_end}这个五元组存入经验回放集合D中
  7. S=S‘
  8. 从经验回放集合D中采样m个样本{ ϕ ( S j ) , A j , R j , ϕ ( S j ′ ) , i s _ e n d j } , j = 1 , 2 , . . . , m 计算当前的目标Q值yj:
    在这里插入图片描述
  9. 使用均方差损失函数在这里插入图片描述
    通过神经网络的梯度反向传播来更新Critic当前网络中的所有参数w
  10. 使用在这里插入图片描述
    通过神经网络的梯度反向传播来更新Actor当前网络中的所有参数θ
  11. 如果T%C=1, 则更新Critic目标网络和Actor目标网络参数
    在这里插入图片描述
  12. 如果S’是终止状态,当前轮迭代完毕,否则转到(2)
    以上就是DDPG算法的主流程

参考链接:
https://blog.csdn.net/kenneth_yu/article/details/78478356
https://datawhalechina.github.io/leedeeprl-notes/#/chapter12/chapter12?id=ddpgdeep-deterministic-policy-gradient
https://blog.csdn.net/sdu_hao/article/details/108467334?ops_request_misc=&request_id=&biz_id=102&utm_term=DDPG%25E6%25B5%2581%25E7%25A8%258B%25E8%258E%25AB%25E7%2583%25A6&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-108467334.pc_search_result_no_baidu_js
论文地址:
https://arxiv.org/pdf/1509.02971.pdf

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值