了解神经网络中有多少偏差?

数据挖掘 机器学习 神经网络 深度学习
2022-03-12 12:14:29

我试图了解神经网络中的偏见,但不同的网站显示出非常不同的答案。

例如,在具有 5 个单元的单个输入层和 4 个单元的单个输出层的全连接神经网络中有多少偏差?那么一个全连接的神经网络有一个带有 5 个单元的输入层、一个带有 4 个单元的隐藏层和一个带有 3 个单元的单输出层呢?

例如,如果我理解正确,https: //ai.stackexchange.com/questions/17584/why-does-the-bias-need-to-be-a-vector-in-a-neural-network第一个的答案应该是 5,第二个的答案应该是 4 + 3。除了输入层中的每个神经元都有一个偏差。

但是,在https://ayearofai.com/rohan-5-what-are-bias-units-828d942b4f52中,解释为包括输入层的每一层都有一个偏差。所以上面例子的答案是第一个中的一个,第二个中的两个。

什么是正确的?我在这里有什么误解?

1个回答

来源都是正确的,它们以不同的方式实现偏差,并且计算的东西略有不同:

  • 除了权重之外,您的第一个来源在每个输出层中实现了一个单独的偏置向量,并且在计算偏置时指的是偏置向量的维度。

  • 您的第二个来源将偏差实现为每个输入层中的单独固定值,以及具有包含实际学习偏差值的额外列的更大权重矩阵。它指的是在计算“偏差”时每层中的额外附加值 - 更准确地说,它是在计算附加的偏差“信号”而不是学习的偏差值,因为在使用这个时,学习的偏差值是在权重矩阵内实现的方法。1.0

在这两种情况下,由于偏差而添加的学习值的数量是相同的,并且与此相同:

第一个的答案应该是 5,第二个的答案应该是 4 + 3。除了输入层之外的每个神经元都有一个偏差

在第二种情况下,等效值作为额外列出现在权重矩阵中。这实际上只是实现上的差异。通过向输入添加一个固定的偏置信号,它简化了每一层的学习更新,只发生在一个矩阵上,而不是一个矩阵加上一个单独的偏置向量(每个都需要不同的更新规则)。这是以每次都需要操作输入为代价的,并且在效率方面这些方法之间没有太大差异。有些图书馆采用一种方法,有些则采用另一种方法。