为什么正交权重初始化对 PPO 如此重要?

数据挖掘 强化学习
2022-02-16 02:12:08

我已经实施了 PPO 来解决 Atari 环境。很长一段时间以来,我都无法弄清楚为什么我的模型不会像其他开源解决方案那样快速收敛。最终归结为 CNN 的单一权重初始化(在 PyTorch 中):

init_ = lambda m: init(m, nn.init.orthogonal_, lambda x: nn.init.constant_(x, 0), nn.init.calculate_gain("relu"))

然后将其应用于每一层。换句话说,神经网络必须正交初始化。一旦我添加了这个,我的模型就会按预期收敛。

为什么正交初始化比 PPO 的 xavier 初始化要好得多?

1个回答

请参阅本文的(深度线性神经网络中学习的非线性动力学的精确解决方案)结果:

此外,我们引入了误差信号的忠实反向传播的数学条件,即动态等距,并令人惊讶地表明,尽管随机缩放的高斯初始化具有保持范数的性质,但无法达到这一条件,而贪婪的预训练和随机正交初始化可以,从而实现深度独立学习时间。最后,我们表明,即使在非常深的非线性随机正交网络中,即使在混沌边缘之外运行的极深非线性随机正交网络中,动态等距的特性也能保持良好的近似性。

我认为这是对您问题的回答。