深度强化学习-深度确定性策略梯度(DDPG)笔记

一、简介

DDPG在DQN的基础上即经验回放和双网络的方法来改进Actor-Critic难收敛的问题,这个算法就是是深度确定性策略梯度(Deep Deterministic Policy Gradient,以下简称DDPG)

DQN是一种基于值的学习方式,要求给定离散动作集,但考虑到一些控制系统一般为多组的连续动作,基于值的学习方式容易陷入局部最优且易导致“维数灾难”,而DDPG基于策略本身更新Q值,可以处理连续动作空间。因此基于DDPG做一下控制算法研究。

随机策略,在相同的策略,在同一个状态处,采用的动作是基于一个概率分布的,即是不确定的。
确定性策略,确定性策略虽然在同一个状态处,采用的动作概率不同,但采取的是最大概率的那一个。即作为确定性策略,相同的策略,在同一个状态处,动作是唯一确定的,即策略变成:
在这里插入图片描述
动作为:
在这里插入图片描述

二、原理

DDPG继承了DQN经验回放与目标网络的优点,且具有四个网络,即Critic当前网络、Critic目标网络和Actor的当前网络、Actor目标网络,Actor策略网络与DQN相似,但具有确定性策略,因此不需要ϵ−贪婪法这样的选择方法。而对经验回放池中采样的下一状态S′使用贪婪法选择动作A′,这部分工作由于用来估计目标Q值,因此可以放到Actor目标网络完成。

Actor策略网络基于经验回放池提供的S′,A′计算目标Q值,Critic策略网络用于评估。而Critic目标网络计算出目标Q值一部分后,Critic当前网络会计算目标Q值,并进行网络参数的更新,并定期将网络参数复制到Critic目标网络。

(截一张大佬的图):

在这里插入图片描述

有了上面的思路,我们总结下DDPG 4个网络的功能定位:

  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′)部分。网络参数w′定期从w复制。

DDPG除了这4个网络结构,还用到了经验回放,这部分用于计算目标Q值,和DQN没有什么区别,这里就不展开了。

DDPG对于目标网络-当前网络直接采用了软更新,即每次参数只更新一点点,即:
 在这里插入图片描述
其中τ是更新系数,一般取的比较小,比如0.1或者0.01这样的值。

三、损失函数

Critic当前网络,其损失函数和DQN是类似的,都是均方误差,即:
在这里插入图片描述
而对于 Actor当前网络,其损失函数就和之前讲的PG,A3C不同了,这里由于是确定性策略,原论文定义的损失梯度是:
在这里插入图片描述
假如对同一个状态,我们输出了两个不同的动作a1和a2,从Critic当前网络得到了两个反馈的Q值,分别是Q1,Q2,假设Q1>Q2,即采取动作1可以得到更多的奖励,那么策略梯度的思想是什么呢,就是增加a1的概率,降低a2的概率,也就是说,Actor想要尽可能的得到更大的Q值。所以我们的Actor的损失可以简单的理解为得到的反馈Q值越大损失越小,得到的反馈Q值越小损失越大,因此只要对状态估计网络返回的Q值取个负号即可,即:
在这里插入图片描述

四、训练流程

在这里插入图片描述

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值