Artificial intelligence 为什么随机权重初始化比在ANN中使用0作为权重更好?

Artificial intelligence 为什么随机权重初始化比在ANN中使用0作为权重更好?,artificial-intelligence,neural-network,Artificial Intelligence,Neural Network,在经过训练的神经网络中,权重分布将接近于零。所以对我来说,将所有权重设置为零是有意义的。然而,有一些方法,如-1对1的随机分配和Nguyen Widrow,其性能优于零启动。为什么这些随机方法比使用零更好 阅读Nguyen的文章,我会说这是因为当你将权重从-1分配到1时,你已经为权重定义了一个“方向”,它将了解方向是否正确,以及它的大小是否相反 如果你把所有的权重都赋为零(在MLP神经网络中),你就不知道它可能会指向哪个方向。零是一个中性的数字 因此,如果为节点的权重指定一个较小的值,网络将学习

在经过训练的神经网络中,权重分布将接近于零。所以对我来说,将所有权重设置为零是有意义的。然而,有一些方法,如-1对1的随机分配和Nguyen Widrow,其性能优于零启动。为什么这些随机方法比使用零更好

阅读Nguyen的文章,我会说这是因为当你将权重从-1分配到1时,你已经为权重定义了一个“方向”,它将了解方向是否正确,以及它的大小是否相反

如果你把所有的权重都赋为零(在MLP神经网络中),你就不知道它可能会指向哪个方向。零是一个中性的数字

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

阅读文章的第一节。它说:

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


希望能有所帮助。

激活与学习:

除cr0ss所说的以外,在正常MLP(例如)中,层n+1的激活是层n的输出与层n和层n+1之间的权重的点积…因此基本上你得到了层n中神经元i的激活a

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

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

这显然会使网络的学习更具挑战性,并扩大所需的学习时间

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


用随机浮点数的分布初始化你的权重-1很好的解释,说得好+1我认为人工智能领域中的大多数混乱和“神秘化”只是因为信息太具体或太少,再加上不太具说明性的描述。感谢您的评论:)