我不确定您的问题是什么,但是我实际上是亲自完成了该教程,并且可以向您保证,除了一个明显的错别字之外,没有什么不对的。
我将假设您的问题是因为您对反向传播隐藏增量的获取方式感到困惑。如果确实是您的问题,请考虑
(来源: pandamatak.com )
您可能对作者如何推导此方程感到困惑。这实际上是多元链规则的直接应用。即,(以下内容摘自Wikipedia )
“假设z = f(u,v)的每个自变量是一个二变量函数,使得u = h(x,y)和v = g(x,y),并且这些函数都是可微的。然后链式规则如下所示:
”
现在,假设通过归纳参数将链式规则扩展为
E(Z“1,Z” 2,...,Z“n),其中Z” k是第k个输出层预活化的输出,和z” K(瓦特JI)也就是说,E是一个函数在Z“和Z”本身就是w的姬应用直接推广到n个变量的链式法则的功能(如果没有在任何意义你最先想到非常仔细地约NN是如何设置。):
δE(Z '1,Z' 2,...,Z'N)/ΔW ジ =ΣķδE/ΔZ 数kΔZ” K /ΔW ジ
这是最重要的一步,笔者再次应用链式法则,这个时间的总和内扩大ΔZ” K /ΔW 姬来看,这是
ΔZ“K /ΔW ジ =ΔZ” K /ΔOĴΔO 焦耳 /ΔZĴΔZ 焦耳 /ΔW ジ 。
如果您在理解链式规则时遇到困难,则可能需要学习多元演算课程,或在教科书中阅读此类章节。
祝好运。
0
更新:对该问题的更好表达。
我试图以XOR神经网络为例来了解反向传播算法。在这种情况下,有2个输入神经元+ 1个偏差,隐藏层中2个神经元+ 1个偏差和1个输出神经元。
(来源: wikimedia.org )
我正在使用随机反向传播 。
阅读更多内容后,我发现输出单元的错误会传播到隐藏层...最初这很令人困惑,因为当您到达神经网络的输入层时,每个神经元都会进行错误调整来自隐藏层中的两个神经元。特别是,起初难以掌握错误的分布方式。
步骤1计算每个输入实例的输出。
第2步计算输出神经元(在我们的例子中只有一个)和目标值之间的误差:
步骤3我们使用步骤2中的误差来计算每个隐藏单位h的误差:
“权重kh”是隐藏单元h和输出单元k之间的权重,这很容易混淆,因为输入单元没有与输出单元关联的直接权重。盯着公式看了几个小时之后,我开始思考求和的含义,然后我得出的结论是,连接到隐藏层神经元的每个输入神经元的权重都乘以输出误差,然后求和。这是一个合乎逻辑的结论,但是该公式似乎有些混乱,因为它清楚地说明了“权重kh”(在输出层k和隐藏层h之间)。
我在这里正确理解所有内容吗?有人可以确认吗?
输入层的O(h)是多少?我的理解是,每个输入节点都有两个输出:一个进入隐藏层的第一个节点,另一个进入第二个节点隐藏层。应将两个输出中的哪一个插入公式的
O(h)*(1 - O(h))
部分?