RL论文阅读20 - MF类算法总结(VPG, TROP, PPO, DDPG, TD3, SAC)

PG类算法总结

1. On-Policy类算法

1.1 VPG:Vanilla Policy Gradient

  • on policy 算法
  • 可用于动作空连续或者离散动作空间

这个就是最初的PG版本。我们的目的是最大化有限的return。J代表的是无折扣的有限return。

下面的公式推导见从PG到A3C

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CDRny0kw-1603099010518)(20-MF类算法总结(VPG, TROP, PPO, DDPG, TD3, SAC)].assets/20201019171610.svg)

τ \tau τ就是我们的采样序列。

A是Advantage function

可见我们需要获得完整的动作序列。

伪代码:

在这里插入图片描述

1.2 TROP: Trust Region Policy Optimization

  • On-policy算法
  • 离散或者连续动作空间

VPG算法在参数更新的时候,是原始参数+学习率*梯度。在现实应用上,如果有一步走的比较差,就会影响整个PG算法的性能。TROP的思路就是在一定的限制内,来决定这个步长迈出多大。

这个限制来自于新旧两个策略的KL-散度,KL散度可以认为是衡量两个分部的距离的。两个策略越接近,我们迈出的步子越小,策略相差越大,我们迈出的步子就可以越大。

TROP的具体数学推导可看原论文。关键的几个公式如下:

  1. 更新规则

在这里插入图片描述

我们的 L ( θ k , θ ) L(\theta_k, \theta) L(θk,θ)衡量新的策略(分子)和就得策略(分母)结果相关性的。他们的结果越相同,L越小。

在这里插入图片描述

散度的计算:

在这里插入图片描述

如果新旧两个策略相等,那么梯度就等于0。从数学上可以证明。(我没证。。)

  1. TROP实际应用

    • 上述实际应用很难,所以使用了泰勒公式近似来求解以更快得到结果。-
    • 因为是带有限制的求极值问题,使用拉格朗日对偶(Lagrangian duality)来处理。
    • 添加 α \alpha α的原因是通过泰勒公式进行估计,引入了误差,可能不满足KL的限制,所以加一个系数

    最终的结果:中间推导过程或者原论文

在这里插入图片描述

而且对于H的逆矩阵计算很困难,还用到了共轭梯度算法( conjugate gradient algorithm)
在这里插入图片描述

1.3 PPO: Proximal Policy Optimization

TRPO算法效果很好,但是应用起来十分复杂。PPO算法解决和TROP一样的问题,就是每次迈多大的步子。PPO更加简单,并且实际效果至少和TRPO一样好。

  • on-policy
  • 连续或者离散动作空间

PPO两个版本:

  • PPO-Penalty:
  • PPO-Clip

具体论文分析SpinningupBlog-PPO
在这里插入图片描述

2. Off-policy类算法

2.1 DDPG

  • off-policy

  • 连续动作空间

  • 可认为是DQN的连续动作空间版本

分析见SpinningupBlog-DDPG

off-policy:能够使用experience replay。off-policy的根本原因是在计算Q值的时候,不再需要整个动作序列了,on-policy策略使用整个动作序列的reward累加或者带有折扣的reward累加来确定Q值,从而帮助选择策略。off-policy利用了TD-learning的思想,使用神经网络来估计Return,Q值计算只需要当前奖励和之后的估计Q值。这样不需要记录完整序列,只需要记录状态、动作、奖励即可。所以我们可以将使用其他episode采样的数据来训练当前的policy。坏处就是又引入了误差(因为多了一处估计)

在这里插入图片描述

2.2 TD3 Twin Delayed DDPG

DDPG超参多、参数不好难以收敛,复杂维度训练困难。

DDPG有四个网络,即Critic-net Critic-target-net、Actor-net、Actor-Target-Net

TD3除了critic-target-net,还同时学习两个critic-net来估计Q值,即有两个Critic-net通过反向传播进行更新。

  1. Actor网络输出平滑化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ws6vPEgI-1603099010531)(20-MF类算法总结(VPG, TROP, PPO, DDPG, TD3, SAC)].assets/8efd61c40551db4eddb3f780d2804cac34c8ae52.svg)

μ \mu μ是Actor网络, a l o w a_{low} alow是action范围最小值

为了探索,我们往往在Actor网络中增加正态分布的噪声。我们对输出进行剪切处理。

​ 这么做解决了一个DDPG可能失败的一个情形:Q-function输出了一个某些动作的错误的峰值,policy会快速利用这个峰值,那么就会产生错误的动作行为。target policy这么做,可以平滑Q-function在相似动作上的输出。

  1. 在计算y_target时,两个Q-function的结果选择最小的一个

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U0SR3fJ8-1603099010535)(20-MF类算法总结(VPG, TROP, PPO, DDPG, TD3, SAC)].assets/70901eaea34c31e03bb878d7a710a33cb75d1143.svg)

  1. policy的梯度计算只通过其中一个。
    在这里插入图片描述

2.3 SAC Soft Actor-Critic

SAC算法继承了TD3的两个Q-net的结构。同时,引入了交叉熵,不需要手动设置探索率。

Blog-SAC

Reference

本文所有公式和伪代码来自:
SpinningUp

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值