神经网络反向传播和偏差

Posted

技术标签:

【中文标题】神经网络反向传播和偏差【英文标题】:Neural network backpropagation and bias 【发布时间】:2018-03-14 06:48:40 【问题描述】:

我很难构建好的神经网络教学算法,因为有一些手动操作。首先要做的事情:我的目标是教授 nn xor 函数,我使用 sigmoid 作为激活函数和简单的梯度下降。前馈很容易,但反向传播在某种程度上令人困惑 - 大多数算法描述的常见步骤是: 1. 计算输出层的误差。 2. 将此错误传播到关于权重的隐藏层 3. 更新突触权重

所以我的问题: 1. 是否也应该更新偏见,如果是,如何更新?目前我随机选择偏差 [0.5;1]? 2. 可以在第 2 步中更新权重吗? 3. 我的方法假设 nn 中的第一层是带有神经元的输入层。那么这一层的哪些值必须更新呢?只有将输入层连接到第一个隐藏层的突触的权重?

【问题讨论】:

【参考方案1】:

偏见也应该更新。将偏差视为激活 1 的权重。

反向传播步骤应包括权重更新。这就是这一步的目的。

第一层是术语问题。通常输入被建模为一个层。然而,这是输入=激活的特殊情况。输入本身没有权重。权重是与下一层的连接。该层与其他层没有什么不同。

【讨论】:

以上是关于神经网络反向传播和偏差的主要内容,如果未能解决你的问题,请参考以下文章

BP神经网络

每层多个节点的反向传播

Pytorch : 自动求导

如何理解CNN神经网络里的反向传播backpropagation,bp算法

反向传播

前向传播和反向传播