每个神经元的神经网络偏差

Neural network bias for each neuron

我一直在关注 Andrew NG 关于神经网络的视频。在这些视频中,他并没有将偏见与每个神经元联系起来。相反,他在每一层的激活被计算后在头部添加一个偏差单元,并使用这个偏差和计算来计算下一层的激活(前向传播)。

然而,在其他一些关于机器学习的博客和 this 等视频中,每个神经元都存在偏差。这种差异是什么?为什么?它意味着什么?

两种方法都代表相同的偏见概念。对于每个单元(不包括输入节点),您计算权重和来自前一层(在前馈网络的情况下)激活向量的点积的激活函数值加上标量 bias 值:

 (w * a) + b

在 Andrew Ng 中,这个值是使用 向量化技巧 计算的,其中您将激活与指定的 偏置常数 (通常为 1)和完成这项工作(因为这个常量对不同的节点有自己的权重 - 所以这与为每个节点设置另一个偏差值完全相同)。

关于两者的区别,@Marcin已经很漂亮的回答了。

有趣的是,在他 deeplearning.ai 的深度学习专业化中, Andrew 在他的机器学习课程中采用了不同的方法(他为每个隐藏层取了一个偏差项)并将偏差项与每个相关联的神经元相关联。

虽然这两种方法都试图获得相同的结果,但在我看来,将偏差与每个神经元相关联的方法更为明确,并且对超参数调整有很大帮助,尤其是在处理大型神经网络时CNN、深度神经网络等架构