强化学习课程学习(8)——基于连续动作空间上的方法求解RL

本文介绍了强化学习中的Actor-Critic方法,包括其基本思想和A3C算法的优化点。接着讨论了针对连续动作空间的DDPG算法,它借鉴DQN的经验回放和固定网络技巧,并通过确定性策略简化问题。文中还给出了DDPG算法在连续控制任务中的应用实例。
摘要由CSDN通过智能技术生成

策略梯度提供了和DQN之类的方法不同的新思路,但是我们上面的蒙特卡罗策略梯度reinforce算法却并不完美。由于是蒙特卡罗法,我们需要完全的序列样本才能做算法迭代,同时蒙特卡罗法使用收获的期望来计算状态价值,会导致行为有较多的变异性,我们的参数更新的方向很可能不是策略梯度的最优方向。这时可以考虑结合value-based强化学习方法来解决——AC算法

在这里插入图片描述

Actor-Critic

Policy Based+Value Based结合的策略梯度方法Actor-Critic从名字上看包括两部分,演员(Actor)评价者(Critic)。其中Actor使用我们上一节讲到的策略函数,负责生成动作(Action)``并和环境交互。而Critic使用我们之前讲到了的价值函数,负责评估Actor的表现,并指导Actor下一阶段的动作。具体算法思路和详细理解暂时不阐述,后续需要用到实际场景中再根据针对性地去详细深入挖掘——

基本版的Actor-Critic算法虽然思路很好,但是由于难收敛的原因,还需要做改进。

目前改进的比较好的有两个经典算法,一个是DDPG`算法,使用了`双Actor神经网络双Critic神经网络的方法来改善收敛性。这个方法我们在从DQN`到`Nature DQN`的过程中已经用过一次了。另一个是`A3C算法,使用了多线程的方式,一个主线程负责更新Actor和Critic的参数,多个辅线程负责分别和环境交互,得到梯度更新值,汇总更新主线程的参数。而所有的辅线程会定期从主线程更新网络参数。这些辅线程起到了类似``DQN`中经验回放的作用,但是效果更好。

A3C

回放池经验数据相关性太强,用于训练的时候效果很可能不佳。举个例子,我们学习下棋,总是和同一个人下,期望能提高棋艺。这当然没有问题,但是到一定程度就再难提高了,此时最好的方法是另寻高手切磋。这时Asynchronous Advantage Actor-critic(以下简称A3C)算法可以解决这个问题,A3C避免了经验回放相关性过强的问题,同时做到了异步并发的学习模型。

相比Actor-Critic,A3C的优化主要有3点:

  • 异步训练框架

  • 网络结构优化

  • Critic评估点的优化

    其中异步训练框架是最大的优化。

DDPG

A3C算法使用多线程的方法来解决Actor-Critic难收敛的问题,DDPG算法不使用多线程,而是使用和DDQN类似的方法:即经验回放双网络的方法来改进Actor-Critic难收敛的问题。

深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG),从DDPG这个名字看,它是由D(Deep)+D(Deterministic )+ PG(Policy Gradient)组成。确定性策略是和随机策略相对而言的,对于某一些动作集合来说,它可能是连续值,或者非常高维的离散值,这样动作的空间维度极大。如果我们使用随机策略,即像``DQN`一样研究它所有的可能动作的概率,并计算各个可能的动作的价值的话,那需要的样本量是非常大才可行的。于是有人就想出使用确定性策略来简化这个问题。作为随机策略,在相同的策略,在同一个状态处,采用的动作是基于一个概率分布的,即是不确定的。而确定性策略则决定简单点,虽然在同一个状态处,采用的动作概率不同,但是最大概率只有一个,如果我们只取最大概率的动作,去掉这个概率分布,那么就简单多了。即作为确定性策略,相同的策略,在同一个状态处,动作是唯一确定的,即策略变成:
π θ ( s ) = a

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值