RL策略梯度方法之(十六):Twin Delayed Deep Deterministic(TD3)

TD3算法是DDPG的优化版本,主要针对overestimation bias和high variance问题。通过使用双Q网络取最小值来估计Q值,延迟更新策略网络,以及目标策略平滑正则化来降低误差。延迟更新避免了策略和价值函数互相影响,目标策略平滑则通过添加噪声来平滑值函数,减少误差。这些技术共同提升了算法的稳定性和性能。

本专栏按照 https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html 顺序进行总结 。



双延迟深度确定性策略梯度,也就是说TD3是DDPG的一个优化版本。

T D 3 \color{red}TD3 TD3 :[ paper:Addressing Function Approximation Error in Actor-Critic Methods | code ]


原理解析

TD3是DDPG的一个优化版本。主要解决两个问题,一个是overestimation bias,另一个是high variance。主要优化之处在于三点:

背景介绍

什么是overestimation?

有离散动作空间的强化学习中,典型的算法如DQN,值函数往往会被过高估计。这是因为,我们对于Q函数的估计会有误差,在取最大化Q值的时候,会高于真实的最大Q值。由于过高的估计偏差,这种累积的错误会导致任意的坏状态被估计为高值,从而导致次优的策略更新和发散的行为。

算法介绍

1. overestimation in actor-critic

double network

DDPG起源于DQN,是DQN解决连续控制问题的一个解决方法。而DQN有一个众所周知的问题,就是Q值会被高估。这是因为我们用argmaxQ(s’)去代替V(s’),去评估Q(s)。当我们每一步都这样做的时候,很容易就会出现高估Q值的情况。

而这个问题也会出现在DDPG中。而要解决这个问题的思路,也在DQN的优化版本中。相信大家很快就明白,就是double DQN。

在TD3中,我们可以用了两套网络估算Q值,相对较小的那个作为我们更新的目标。这就是TD3的基本思路。

但要注意,DDPG算法涉及了4个网络,所以TD3需要用到6个网络。所以在实做得时候是比较容易出错的。所以我们有必要理清楚之间的关系。

我们先看看DDPG中的网络架构:

在这里插入图片描述
关注上图中,我们通过Critic网络估算动作的A值。一个Critic的评估可能会较高。所以我们加一个。

在这里插入图片描述
这就相当于我们把途中的Critic的框框,一个变为两个。

  • 在目标网络中,我们估算出来的Q值会用min()函数求出较少值。以这个值作为更新的目标。
    在这里插入图片描述
    (因为更新较慢,这两个网络可能比较相近难以做出独立判断,所以采用两个网络中较小的去更新避免过估计。)

  • 这个目标会更新两个网络 Critic网络_1 和 Critic网络_2。

  • 你可以理解为这两个网络是完全独立,他们只是都用同一个目标进行更新。

  • 剩余的就和DDPG一样了。过一段时间,把学习好的网络赋值给目标网络。

我们再仔细分别看Critic部分和Actor部分的学习。

Critic部分的学习

只有我们在计算Critic的更新目标时,我们才用target network。其中就包括了一个Policy network,用于计算 A ′ A' A;两个Q network ,用于计算两个Q值: Q 1 ( A ′ ) Q_1(A') Q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值