作者 | Harper
审核 | gongyouliu
编辑 | auroral-L
添加权重与偏置项
到上期内容为止,我们已经了解了人工神经网络工作的大致原理。本期内容给大家介绍的是在神经网络中添加权重与偏置项的作用。
我们可以把神经元的输出想象成它的亮度:数值越高,神经元就越亮。还是以小狗图像中的625个神经元为例,每个神经元的输出范围从0(黑色)到1(白色)。每一个神经元与第一个隐藏层的20个神经元相连。通过为这些连接添加权重,第一个隐藏层中的任何神经元都可以向上或向下调节连接,从而让其焦点转移到图片上不同的像素上,就像你在观看图片时可能会转移焦点一样。
例如,假设你将一张斑点狗的图片输人到机器中,第一个隐藏层中的其中一个神经元只激活与输入层中输出值为0.01或更低的神经元连接。这个神经元可能会集中在狗的斑点上,或者鼻子上,也许是因为它们是黑色的。或者它激活与输出值为0.99或更高的输人层神经元连接,发现狗大部分是白色的。隐藏层中的另一个神经元会激活输出范围在0.10到0.90之间的输入层神经元连接,以去除背景并聚焦于狗的轮廓,这可能反映狗的大小和形状。而添加不同层级的隐藏层也许可以学习不同的特征抽象。第一个隐藏层可以学习基本特征,如边、角和颜色。第二个隐藏层可以学习更高阶特征,例如狗的面部特征、尾巴大小和体形。
第一个输入层中的每一个神经元都试图识别出照片中狗的特征模式。如果你给它提供足够的斑点狗照片,它很可能就学会了识别斑点狗。在训练人工神经网络之前,给连接分配随机初始值。在训练和测试过程中,网络会向上或向下调节连接,以提高识别不同品种的准确性。该网络在输入层和第一隐藏层之间具有12 500个连接,在第一和第二隐藏层之间有400个连接,在第二隐藏层和输出层之 间具有另外的200个连接。总共有13 100个连接。你可以把这个 神经网络看作是在做13 100个小决策。
正如你所看到的,这个简单的人工神经网络有很多可以调节的权重,也有足够的机会进行调整,但这并不是它唯一能够调节的部分,它还可以添加偏置项。权重使人工神经网络能够调整神经元之间的连接强度,而偏置项则可以用来调整神经元内部的连接强度。偏置项可以是正的或负的,从而增加或减少神经元的输出。神经元收集并汇总其输人,加上偏置项,然后将总和传给激活函数。
根据我在前面介绍的S型函数图,权重会影响曲线的陡度,而偏置项会在不改变曲线形状的情况下左右移动曲线。可以同时调整权重和偏置项以获得与数据相匹配的输出。例如,假设在一个图形上绘制点,这些点形成一个S形的图案,但是当你将数据输人到激活函数中时,函数生成的S曲线位于数据点的左侧。你可以通过添加偏置项来将曲线S向右移动,这样它就可以与数据点更紧密地对齐。