【发布时间】:2011-01-12 12:59:01
【问题描述】:
更新:问题的更好表述。
我试图以 XOR 神经网络为例来理解反向传播算法。对于这种情况,有 2 个输入神经元 + 1 个偏置,隐藏层中的 2 个神经元 + 1 个偏置,以及 1 个输出神经元。
A B A XOR B
1 1 -1
1 -1 1
-1 1 1
-1 -1 -1
(来源:wikimedia.org)
我正在使用stochastic backpropagation。
阅读更多内容后,我发现输出单元的错误会传播到隐藏层......最初这很令人困惑,因为当你到达神经网络的输入层时,每个神经元都会得到隐藏层中两个神经元的误差调整。尤其是误差的分布方式,一开始很难掌握。
步骤 1 计算每个输入实例的输出。
步骤 2 计算输出神经元之间的误差(在我们的例子中,只有一)和目标值:
步骤 3 我们使用步骤 2 中的误差来计算每个隐藏单元 h 的误差:
@987654325 @
“权重 kh”是隐藏单元 h 和输出单元 k 之间的权重,这很容易混淆,因为输入单元没有与输出单元相关的直接权重。盯着公式看了几个小时后,我开始思考求和是什么意思,我开始得出结论,连接到隐藏层神经元的每个输入神经元的权重乘以输出误差并求和.这是一个合乎逻辑的结论,但公式似乎有点混乱,因为它清楚地说明了“权重 kh”(在输出层 k 和隐藏层 h 之间)。
我在这里理解正确吗?有人可以证实这一点吗?
输入层的 O(h) 是多少?我的理解是每个输入节点都有两个输出:一个进入隐藏层的第一个节点,一个进入第二个节点隐藏层。两个输出中的哪一个应该插入公式的O(h)*(1 - O(h)) 部分?
【问题讨论】:
-
昨天看到这个引用并注意到step 2 image has moved 和step 3 image 一样
标签: computer-science machine-learning neural-network backpropagation