DDPG和TD3
DDPG最近学习了一个Q函数和一个策略。
DDPG和Q-learning非常相似,都期望知道动作值函数,得到给定状态下的动作。
在离散空间中,可以计算Q值并选择最大值,但在连续动作空间中,无法对整个动作空间进行评估,也很难对其进行优化。
在连续动作空间中,它相对于动作参数是可微的,这允许我们得到基于梯度学习准则的策略来估计动作。
贝尔曼方程:
表示下一个状态被采样。
假设神经网络作为Q函数的估计、记录和参数。有收集的数据。以均方贝尔曼误差衡量,估计的贝尔曼方程可以满足。
Q学习算法的函数逼近器,如DQN及其变体,很大程度上基于最小化MSBE损失函数。常用的技巧包括重放缓冲区和目标网络。
此外,在DDPG很难实现上述连续动作空间的最大操作。DDPG使用目标策略网络来计算一个动作可以近似最大化(Q函数目标网络),综合可以写成如下形式:
对于目标策略。
政策学习:我们想学习某个能最大限度发挥作用的政策。因为动作空间是连续的。我们假设Q函数对动作是可微的,我们只需要执行梯度上升优化。
Q函数参数在这里被视为常数。
DDPG以关闭策略的方式训练确定性策略。因为策略是确定的,如果代理在开始时探索策略,它可能很难尝试更大范围的动作来利用有用的学习信号。因此,为了使DDPG政策的探索性更强,在训练中加入了噪音以配合行动。
原作者论文推荐时间相关OU噪声。最近的一些研究结果表明,均值-零高斯噪声更好,后者更简单,更容易实现。为了最初获得更高质量的训练数据,可以在训练过程中降低噪声尺度。
在测试阶段,为了观察agent学习的利用率,没有加入噪声。
DDPG的缺点是,对于超参数和其他微调,它通常不够稳健。失败的一个主要原因是Q-function高估了Q-values,由于使用了Q-function中的错误,导致了策略的崩溃。TD3引入了以下技巧来解决这个问题:
目标策略平滑
削波双Q学习
两个q function使用一个目标,两个q function得到的小值作为目标值。
两者都对目标做回归学习。
相对于DDPG,策略的更新公式没有改变: