返回介绍

1.10 学习来自多个节点的权重

发布于 2024-01-27 20:58:55 字数 1335 浏览 0 评论 0 收藏 0

先前,我们通过调整节点线性函数的斜率参数,来调整简单的线性分类器。我们使用误差值,也就是节点生成了答案与所知正确答案之间的差值,引导我们进行调整。实践证明,误差与所必须进行的斜率调整量之间的关系非常简单,调整过程非常容易。

当输出和误差是多个节点共同作用的结果时,我们如何更新链接权重呢?下图详细阐释了这个问题。

当只有一个节点前馈信号到输出节点,事情要简单得多。如果有两个节点,我们如何使用输出误差值呢?

使用所有的误差值,只对一个权重进行更新,这种做法忽略了其他链接及其权重,毫无意义。多条链接都对这个误差值有影响。

只有一条链接造成了误差,这种机会微乎其微。如果我们改变了已经“正确”的权重而使情况变得更糟,那么在下一次迭代中,这个权重就会得到改进,因此神经网络并没有失去什么。

一种思想就是在所有造成误差的节点中平分误差,如下图所示。

另一种思想是不等分误差。与前一种思想相反,我们为较大链接权重的连接分配更多的误差。为什么这样做呢?这是因为这些链接对造成误差的贡献较大。下图详细阐释了这种思想。

此处,有两个节点对输出节点的信号做出了贡献,它们的链接权重分别是3.0和1.0。如果按权重比例分割误差,那么我们就可以观察到输出误差的3/4应该可以用于更新第一个较大的权重,误差的1/4 可以用来更新较小的权重。

我们可以将同样的思想扩展到多个节点。如果我们拥有100个节点链接到输出节点,那么我们要在这100条链接之间,按照每条链接对误差所做贡献的比例(由链接权重的大小表示),分割误差。

你可以观察到,我们在两件事情上使用了权重。第一件事情,在神经网络中,我们使用权重,将信号从输入向前传播到输出层。此前,我们就是在大量地做这个工作。第二件事情,我们使用权重,将误差从输出向后传播到网络中。我们称这种方法为反向传播,你应该不会对此感到惊讶吧。

如果输出层有2个节点,那么我们对第二个输出节点也会做同样的事情。第二个输出节点也会有其误差,这个误差也可以通过相连的链接进行类似的分割。在接下来的内容中,我们将来看看这个方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文