TD3——Twin Delayed Deep Deterministic policy gradient 双延迟深度确定性策略梯度
TD3是DDPG的一个优化版本,旨在解决DDPG算法的高估问题
优化点:
①双重收集:采取两套critic收集,计算两者中较小的值,从而克制收集过估量成绩。
DDPG源于DQN,DQN源于Q_learning,这些算法都是通过估计Q值来寻找最优的策略,在强化学习中,更新Q网络的目标值target为:,因为样本存在噪声,所以真实情况下,有误差的动作价值估计的最大值通常会比真实值更大:
这就不可避免的降低了估值函数的准确度,由于估值方法的计算依据贝尔曼方程,即使用后续状态对估计值进行更新,这种性质又加剧了精确度的下降,在每一次更新策略时,使用一个不准确的估计值将会导致错误被累加,这些贝雷架的错误会导致某一个不好的状态被高估,最终导致策略无法被优化到最优,并使算法无法被收敛。
②目标策略平滑正则化:在计算目标值时,加上扰动,从而使得评价更加准确。
③延迟更新:让目标网络与当前网络更新不同步,当前网络更新d次之后再对traget网络进行更新;critic更新多次后,actor更新,critic的更新频次多于actor的
伪代码:
采用随机参数、、初始化critic网络、以及actor网络
初始化目标critic、actor网络:、、
初始化回放缓存区R
for t=1 to T do
选择动作并添加探索噪声,服从某种分布,执行动作后获得奖励r和新的状态,将经验值存入回放缓存区
从回放缓存区中抽取小批量样本数据:
更新critic网络参数:
如果 t mod d then
通过确定性策略梯度更新actor网络参数:
更新目标网络参数:
end for
end for