对于在神经网络方面有丰富经验的人来说,这可能听起来很傻,但它让我很困扰......
随机初始权重可能会为您提供更好的结果,这将更接近经过训练的神经网络应该是什么样子,但它也可能与它应该是完全相反的,而 0.5 或其他合理范围内的平均值权重的值,听起来像是一个很好的默认设置。
为什么神经网络的初始权重是随机初始化的,而不是全部设置为例如 0.5?
对于在神经网络方面有丰富经验的人来说,这可能听起来很傻,但它让我很困扰......
随机初始权重可能会为您提供更好的结果,这将更接近经过训练的神经网络应该是什么样子,但它也可能与它应该是完全相反的,而 0.5 或其他合理范围内的平均值权重的值,听起来像是一个很好的默认设置。
为什么神经网络的初始权重是随机初始化的,而不是全部设置为例如 0.5?
您不应该将 all 分配给 0.5,因为您会遇到“打破对称性”问题。
http://www.deeplearningbook.org/contents/optimization.html
也许唯一完全确定的已知属性是初始参数需要在不同单元之间“打破对称性”。如果两个具有相同激活函数的隐藏单元连接到相同的输入,那么这些单元必须具有不同的初始参数. 如果它们具有相同的初始参数,那么应用于确定性成本和模型的确定性学习算法将以相同的方式不断更新这两个单元。即使模型或训练算法能够使用随机性来计算不同单元的不同更新(例如,如果一个训练有 dropout),通常最好初始化每个单元以计算与所有其他单元不同的函数。这可能有助于确保在前向传播的零空间中没有丢失输入模式,并且在反向传播的零空间中没有梯度模式丢失。
神经网络中的初始权重是随机初始化的,因为通常用于训练神经网络的基于梯度的方法在所有权重都初始化为相同值时效果不佳。虽然并非所有训练神经网络的方法都是基于梯度的,但大多数方法都是基于梯度的,并且已经在几种情况下表明,将神经网络初始化为相同的值会使网络花费更长的时间来收敛到最佳解决方案。此外,如果你想重新训练你的神经网络,因为它陷入了局部最小值,它也会陷入相同的局部最小值。由于上述原因,我们没有将初始权重设置为恒定值。
这是一个非常深刻的问题。最近有一系列论文证明了过度参数化深度网络的梯度下降的收敛性(例如,Gradient Descent Finds Global Minima of Deep Neural Networks、A Convergence Theory for Deep Learning via Over-Parameterization或Stochastic Gradient Descent Optimizes Over-parameterized Deep ReLU网络)。所有的证明都假设初始权重是根据高斯分布随机分配的。这种初始分布对证明很重要的主要原因是:
随机权重使每一层中的 ReLU 算子在统计上压缩映射(直至线性变换)。
随机权重保留任何输入分布的输入分离 - 也就是说,如果输入样本是可区分的,网络传播不会使它们无法区分。
这些属性很难用确定性生成的初始权重矩阵重现,即使它们可以用确定性矩阵重现,NULL 空间(我们可以从中生成对抗性示例)可能会使该方法在实践中不太有用。更重要的是,在梯度下降期间保留这些属性可能会使方法不切实际。但总的来说,这是非常困难的,但并非不可能,并且可能需要在这个方向上进行一些研究。在类似的情况下,压缩感知中确定性矩阵的受限等距属性也有一些结果。