这是一个简单的问题。我知道神经网络中的权重可以通过多种不同的方式进行初始化,例如:随机均匀分布、正态分布和 Xavier 初始化。但是权重初始化试图实现什么?
它是否试图让梯度变大以便快速收敛?它是否试图确保渐变中没有对称性?它是否试图使输出尽可能随机以从损失函数中学习更多?它只是试图防止梯度爆炸和消失吗?更多的是关于速度还是寻找全局最大值?问题的完美权重(无需学习参数)会实现什么?是什么让他们完美?初始化中的哪些属性可以使网络学习得更快?
这是一个简单的问题。我知道神经网络中的权重可以通过多种不同的方式进行初始化,例如:随机均匀分布、正态分布和 Xavier 初始化。但是权重初始化试图实现什么?
它是否试图让梯度变大以便快速收敛?它是否试图确保渐变中没有对称性?它是否试图使输出尽可能随机以从损失函数中学习更多?它只是试图防止梯度爆炸和消失吗?更多的是关于速度还是寻找全局最大值?问题的完美权重(无需学习参数)会实现什么?是什么让他们完美?初始化中的哪些属性可以使网络学习得更快?
权重初始化的目的是确保我们不会收敛到一个简单的解决方案。这就是为什么我们根据数据集类型有不同类型的初始化。所以,是的,它试图避免对称。
收敛所需的时间,我认为是优化器的属性,而不是权重初始化的属性。当然,我们初始化权重的方式很重要,但我认为优化算法对收敛的贡献更大
Glorot 和 Bengio 认为 Xavier 权重初始化将保持激活的方差和反向传播的梯度一直向上或向下网络层。顺便说一句,当他们训练使用 ReLU 的更深层次的网络时,发现使用 Xavier 初始化的 30 层 CNN 完全停滞不前,根本没有学习。因此,这取决于手头的特定问题。
我们实现的最重要的事情确实是确保权重不完全相等。如果是这样,每一层都会表现得好像它是一个单元格。
我们通常希望权重接近于零(因此不重要的连接不会意外占主导地位)但非零。
不同类型的初始化都有不同的动机,包括问题中提到的那些。
如果你好奇每个人的动机是什么,我建议你查看文档并尝试找到最初介绍它们的原始论文。