当今最流行的两种神经网络权重初始化方案是Xavier和He。这两种方法都提出了随机权重初始化,其方差取决于输入和输出单元的数量。泽维尔提议
对于网络激活函数,他提出
为了激活。两种初始化方案都在最常用的 python、PyTorch和TensorFlow深度学习库中实现。
但是,对于这两个版本,我们都有一个正常和统一的版本。现在,两篇论文的主要论点是关于初始化时信息的方差(取决于非线性),并且在反向传播时它应该在所有层中保持不变。我知道如何简单地调整界限均匀变量的随机变量具有所需的标准偏差,反之亦然(),但我不确定为什么我们需要两个方案的正常版本和统一版本?难道只有普通或只有制服就足够了吗?还是他们论文中提出的统一的 Xavier 和正常的 He?
我可以想象从计算的角度来看,均匀分布更容易采样,但是由于我们一开始只进行一次初始化操作,因此与训练相比,计算成本可以忽略不计。进一步的统一变量是有界的,因此没有像正常情况下所期望的长尾观测值。我想这就是为什么两个库都截断了正常初始化的原因。
无论最终的权重方差如何,是否有任何理论、计算或经验证明何时使用法线而不是制服,或制服而不是法线权重初始化?