我很难构建良好的神经网络教学算法,因为有一些手动操作。首先要做的事情是:我的目标是使用sigmoid作为激活函数和简单的梯度下降来教授nn xor函数。前馈很容易,但backprop在某种程度上令人困惑 - 大多数算法描述的常见步骤是: 1.计算输出层的误差。 2.将此错误传播到关于权重的隐藏层 3.更新突触的权重
所以我的问题: 1.偏见是否也应该更新,如果是,如何?目前我选择随机偏倚[0.5; 1]? 2.可以在步骤2中更新权重吗? 3.我的approch假设nn中的第一层是带神经元的输入层。那么这层中的哪些值必须更新?只有连接输入层和第一个隐藏层的突触权重?
答案 0 :(得分:0)
偏见也应该更新。通过激活1将偏差视为重量。
反向传播步骤应包括重量更新。这就是这一步的目的。
第一层是术语问题。输入通常被建模为一个层。然而,这是输入=激活的特殊情况。输入本身没有重量。权重是到下一层的连接。然后,该层与其他层的其他层没有区别。