强化学习(TD3)

TD3——Twin Delayed Deep Deterministic policy gradient 双延迟深度确定性策略梯度

TD3是DDPG的一个优化版本,旨在解决DDPG算法的高估问题

优化点:

双重收集:采取两套critic收集,计算两者中较小的值,从而克制收集过估量成绩。

DDPG源于DQN,DQN源于Q_learning,这些算法都是通过估计Q值来寻找最优的策略,在强化学习中,更新Q网络的目标值target为:y=r+\gamma max_{a^{'}}Q\left ( s^{'}, a^{'} \right ),因为样本存在噪声\epsilon,所以真实情况下,有误差的动作价值估计的最大值通常会比真实值更大:E_{\epsilon }\left [ max_{a^{'}}\left ( Q\left ( s^{'},a^{'} \right )+\epsilon \right ) \right ]\geq max_{a^{'}}Q\left ( s^{'},a^{'} \right )

这就不可避免的降低了估值函数的准确度,由于估值方法的计算依据贝尔曼方程,即使用后续状态对估计值进行更新,这种性质又加剧了精确度的下降,在每一次更新策略时,使用一个不准确的估计值将会导致错误被累加,这些贝雷架的错误会导致某一个不好的状态被高估,最终导致策略无法被优化到最优,并使算法无法被收敛。

目标策略平滑正则化:在计算目标值时,加上扰动,从而使得评价更加准确。

延迟更新:让目标网络与当前网络更新不同步,当前网络更新d次之后再对traget网络进行更新;critic更新多次后,actor更新,critic的更新频次多于actor的

强化学习(TD3)_第1张图片

伪代码:

采用随机参数\theta _{1}\theta _{2}\phi初始化critic网络Q_{\theta _{1}}Q_{\theta _{2}}以及actor网络\pi _{\phi }

初始化目标critic、actor网络:\theta _{1}^{'}\leftarrow \theta _{1}\theta _{2}^{'}\leftarrow \theta _{2}\phi ^{'}\leftarrow \phi

初始化回放缓存区R

for t=1 to T do

        选择动作并添加探索噪声a=\pi _{\phi }\left ( s \right )+\epsilon\epsilon服从某种分布,执行动作后获得奖励r和新的状态s^{'},将经验值\left ( s, a, r, s^{'} \right )存入回放缓存区

        从回放缓存区中抽取小批量样本数据:

                \tilde{a}\leftarrow \pi _{\phi ^{'}}\left ( s^{'} \right )+\epsilon

                y\leftarrow r+\gamma min_{i=1,2}Q_{\theta _{i}^{'}}\left ( s^{'},\tilde{a} \right )

        更新critic网络参数:\theta _{i}\leftarrow argmin_{\theta _{i}}N^{-1}\sum_{}^{}\left ( y-Q_{\theta _{i}} \left ( s, a \right )\right )^{2}

        如果 t mod d then

                通过确定性策略梯度更新actor网络参数:

        ​​​​​​​        \triangledown _{\phi }J\left ( \phi \right )=N^{-1}\sum \triangledown _{a}Q_{\theta _{1}}\left ( s,a \right )|_{a=\pi _{\phi \left ( s \right )}}\triangledown _{\phi }\pi _{\phi }\left ( s \right )

                更新目标网络参数:

                \theta_{i}^{'}\leftarrow \tau \theta _{i}+\left ( 1-\tau \right )\theta _{i}^{'}

                \phi ^{'}\leftarrow \tau \phi _{i}+\left ( 1-\tau \right )\phi ^{'}

        end for

end for

你可能感兴趣的:(强化学习,python,神经网络,深度学习)