神经网络初始化——每一层?

数据挖掘 神经网络 喀拉斯 张量流
2022-02-13 23:16:03

神经网络的每一层都需要权重初始化还是只是第一层?第一层是否馈入下一层并自行初始化?我的直觉是每一层都需要自己的初始化,但我发现很难明确地看到这一点。谢谢!

2个回答

是的,每个包含权重的层都需要初始化。

每个权重都只是一个数字(通常是十进制的浮点数)。它必须用一些值初始化,以便算法(例如反向传播)有一些值可以使用。

任何学习到的参数都需要初始化,因为它们将在训练期间进行调整。这意味着您可以初始化例如动量参数,并且它会随着时间而改变。


有些“层”不需要初始化。我的意思是执行某些操作但没有动态权重的层;训练过程中改变的权重。

一个例子是标准的dropout层(没有学习参数)。这称为层,但不需要初始化,因为它没有在训练期间更改的任何权重。

每一层的权重都需要初始化。我认为您在输入和网络权重之间感到困惑。

在前向传递期间,输入通过第一层,通过该层的权重进行转换(通常是卷积或乘以它们),然后该层的输出作为输入传递给下一层,再次转换为它的权重(等等等等)。所以在最初的第一次前向传递之前,所有的权重都必须初始化。