为什么随机权重启动比在ANN中使用0作为权重更好?

时间:2015-08-05 12:31:23

标签: artificial-intelligence neural-network

在经过训练的神经网络中,重量分布将接近于零。所以我将所有权重都归零是有道理的。然而,有一些方法,例如-1到1的随机分配和Nguyen-Widrow,它们优于零启动。为什么这些随机方法比使用零更好?

2 个答案:

答案 0 :(得分:4)

激活&学习:

除了cr0ss所说的东西,在正常的MLP(例如)中,层n + 1的激活是层n的输出和层n和n + 1之间的权重的点积...所以基本上你可以在 n 层中激活 a 神经元 i 这个等式:

其中w是神经元j(父层n-1)与当前神经元i(当前层n)之间连接的权重,o是神经元j(父层)的输出,b是当前神经元的偏差我在当前层。

很容易看到初始化权重为零实际上"停用"权重因为父层输出的权重等于零,因此(在第一个学习步骤中)您的输入数据将被识别,数据将被完全忽略。 因此,学习将具有第一个时期偏差所提供的数据。

这显然会使学习对网络更具挑战性,并扩大所需的时代以便大量学习。

应针对您的问题优化初始化:

使用-1< = w< = 1的随机浮点数分布初始化权重是最典型的初始化,因为总体而言(如果您不分析您正在处理的问题/域),这可以保证一些权重从一开始就比较好。此外,通过固定初始化,其他神经元相互适应的速度更快,随机初始化可确保更好的学习。

然而,初始化的-1&lt; = w&lt; = 1对于每个问题都不是最佳的。例如:生物神经网络没有负输出,因此当您尝试模仿生物网络时,权重应该是正数。此外,例如,在图像处理中,大多数神经元具有相当高的输出或几乎不发送任何东西。考虑到这一点,在0.2 <= w <= 1之间初始化权重通常是个好主意,有时甚至0.5 <= w <= 2表示良好的结果(例如在暗图像中)。

因此,正确学习问题所需的时代不仅取决于层,它们的连通性,传递函数和学习规则等,而且还取决于权重的初始化。 你应该尝试几种配置。在大多数情况下,您可以找出适合的解决方案(例如处理暗图像的较高正重量)。

答案 1 :(得分:1)

阅读Nguyen的文章,我说这是因为当你将权重从-1分配给1时,你已经定义了一个&#34;方向&#34;对于重量,它会知道方向是否正确以及它的大小是否相反。

如果将所有权重分配为零(在MLP神经网络中),则不知道它可能朝哪个方向发展。零是neutral个数字。

因此,如果您为节点的权重指定一个较小的值,网络将学得更快。

阅读文章的Picking initial weights to speed training部分。它声明:

  

首先,Wi的元素从-1和1之间的均匀随机分布中分配值,以使其方向是随机的。接下来,我们调整权重向量Wi的大小,使每个隐藏节点仅在很小的间隔内呈线性。

希望它有所帮助。