我一直在关注Andrew NG关于神经网络的视频。在这些视频中,他并没有为每一个神经元都关联一个偏置。相反,他在每层的激活计算完成后,在层的开头添加一个偏置单元,并使用这个偏置以及计算结果来计算下一层的激活(前向传播)。
然而,在其他一些关于机器学习的博客和视频中,比如这个,每个神经元都关联了一个偏置。这种差异是什么,为什么会存在这种差异,以及它的影响是什么?
回答:
这两种方法都代表了相同的偏置概念。对于每个单元(不包括输入节点),你计算激活函数的值,这个值是前一层权重和激活值的点积(在前馈网络的情况下)向量加上标量偏置值:
(w * a) + b
在Andrew Ng的方法中,这个值是通过向量化技巧计算的,你将你的激活值与指定的偏置常数(通常为1)连接起来,这样就能完成任务(因为这个常数对于不同的节点有自己的权重——所以这与为每个节点设置另一个偏置值是完全相同的)。