1.11 多个输出节点反向传播误差
下图显示了具有2个输入节点和2个输出节点的简单网络。
两个输出节点都有误差——事实上,在未受过训练的神经网络中,这是极有可能发生的情况。你会发现,在网络中,我们需要使用这两个误差值来告知如何调整内部链接权重。我们可以使用与先前一样的方法,也就是跨越造成误差的多条链接,按照权重比例,分割输出节点的误差。
我们拥有多个节点这一事实并没有改变任何事情。对于第二个输出节点,我们只是简单地重复第一个节点所做的事情。为什么如此简单呢?这是由于进入输出节点的链接不依赖于到另一个输出节点的链接,因此事情就变得非常简单,在两组的链接之间也不存在依赖关系。
让我们再次观察此图,我们将第一个输出节点的误差标记为e1 。请记住,这个值等于由训练数据提供的所期望的输出值t1 与实际输出值o1 之间的差。也就是,e 1 = ( t 1 -o 1 )。我们将第二个输出节点的误差标记为e2 。
从图中,你可以发现,按照所连接链接的比例,也就是权重w 1,1 和w 2,1 ,我们对误差e 1 进行了分割。类似地,我们按照权重w 1,2 和w 2,2 的比例分割了e2 。
让我们写出这些分割值,这样我们就不会有任何疑问了。我们使用误差e1 的信息,来调整权重w1,1 和w2,1 。通过这种分割方式,我们使用e1 的一部分来更新w1,1 :
类似地,用来调整w2,1 的e1 部分为:
这些分数看起来可能令人有点费解,让我们详细阐释这些分数。在所有这些符号背后,思想非常简单,也就是误差e1 要分割更大的值给较大的权重,分割较小的值给较小的权重。
如果w1,1 是w2,1 的2倍,比如说,w1,1 = 6,w2,1 = 3,那么用于更新w1,1 的e1 的部分就是6 /(6 + 3)= 6/9 = 2/3。同时,这留下了1/3的e1 给较小的权重w 2,1 ,我们可以通过表达式3 /(6 + 3)= 3/9确认这确实是1/3。
如果权重相等,正如你所期望的,各分一半。让我们确定一下,假设w1,1 = 4和w2,1 = 4,那么针对这种情况,e1 所分割的比例都等于4 /(4 + 4)= 4/8 = 1/2。
在更加深入理解之前,让我们先暂停一下,退后一步,从一个较远的距离观察我们已经做的事情。我们知道需要使用误差来指导在网络内部如何调整一些参数,在这里也就是链接权重。我们明白了如何调整链接权重,并且我们使用链接权重来调节进入神经网络最终输出层的信号。在存在多个输出节点的情况下,我们也看到了这种调整过程没有变得复杂,只是对每个输出节点都进行相同的操作。然后就搞定了!
接下来我们要问的问题是,当神经网络多于2层时,会发生什么事情呢?在离最终输出层相对较远的层中,我们如何更新链接权重呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论