为什么神经网络中的初始权重是随机的?


10

对于拥有丰富的神经网络经验的人来说,这听起来很愚蠢,但却困扰着我。

我的意思是,将初始权重随机化可能会为您提供更好的结果,该结果会更接近受训网络的外观,但也可能恰好相反,而合理权重范围的平均值为0.5或其他平均值值听起来像是一个很好的默认设置...

为什么对神经元的初始权重进行随机分配而不是对所有神经元进行权重分配?


我的编辑有什么问题?您认为您无法得到改善吗?
nbro

@nbro添加了多个问题,这使其范围太广...
Matas Vaitkevicius

我添加了哪些帖子中没有出现的问题?我只是重新表述了您所说的假设。
nbro

顺便说一句,您的措辞甚至是不正确的。权重没有被随机化,而是被随机初始化。这是两个不同的概念,您的意思是第二个。我的编辑也旨在改善措辞。
nbro

@nbro嗨,你看我不是很欣赏,当然也不想冒犯你。我也很不敢问问题,措辞和其他一切。所以,如果我得罪了你,我很抱歉。
Matas Vaitkevicius

Answers:


6

神经网络中的初始权重是随机初始化的,因为当所有权重都初始化为相同值时,通常用于训练神经网络的基于梯度的方法效果不佳。尽管并非所有的训练神经网络的方法都是基于梯度的,但大多数方法都是基于梯度的,并且在几种情况下已证明将神经网络初始化为相同的值会使网络花费更长的时间才能收敛到最佳解决方案。另外,如果由于神经网络卡在局部最小值中而要对其进行重新训练,它将被卡在同一局部最小值中。由于上述原因,我们没有将初始权重设置为恒定值。

参考: 当权重初始化为相同值时,为什么反向传播不起作用?


实际上,如果所有权重相同,它们就会分解。
Quonux

9

您不应将全部分配给0.5,因为会遇到“破坏对称性”问题。

http://www.deeplearningbook.org/contents/optimization.html

可以完全确定地知道的唯一属性可能是,初始参数需要“ 打破对称性 ”在不同单位之间。如果将两个具有相同激活功能的隐藏单元连接到相同的输入,则这些单元必须具有不同的初始参数。如果它们具有相同的初始参数,则应用于确定性成本和模型的确定性学习算法将以相同的方式不断更新这两个单元。即使模型或训练算法能够使用随机性为不同的单位计算不同的更新(例如,如果一个训练带有退出),通常最好初始化每个单位以计算与所有其他单位不同的函数。这可以帮助确保在正向传播的零空间中没有输入模式丢失,并且在反向传播的零空间中没有梯度模式丢失。


2

这是一个非常深刻的问题。有论文系列最近对overparameterized深网络(例如梯度下降收敛的证明,梯度下降查找深层神经网络的全局最小值通过在参数化一个收敛理论的深度学习随机梯度下降更优的过参数化深ReLU Networks)。所有这些条件都证明了权重的随机高斯分布。证明的重要性取决于两个因素:

  1. 随机权重使ReLU进行统计压缩映射(直至线性变换)

  2. 随机权重可保持任何输入分布的输入分离-也就是说,如果输入样本是可区分的网络传播,则不会使它们难以区分

这些属性很难用确定性矩阵重现,即使使用确定性矩阵可重现,NULL-space(对抗性示例的域)也可能使方法变得不切实际,而在梯度下降过程中更重要地保留这些特性可能会使方法不切实际。但是总的来说,这是非常困难但并非不可能的,并且可能需要对此进行一些研究。在类似的情况下,有一些结果限制等距物业确定性矩阵压缩感知

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.