BP神经网络
转自 : https://www.cnblogs.com/Determined22/p/6562546.html
反向传播的计算过程:
几点说明:
1.反向传播,传播的是误差, 但是与总体误差的概念不同,总体误差可以使交叉熵损失,平方差损失等是个标量, 反向传播中间层误差是个向量
2.上面提到的4个bp公式,都是一般形式下的, 没有指定损失函数
3.不管是最后一层误差,还是隐藏层误差,即bp1,bp2这两个公式,都是常量
4.W更新过程中的al也是一个常量, 因为梯度下降过程中, 是要将当前时间点的W参数带入到导数中,求得在W点的梯度, 该式中认为W已经带入计算, 所以是个常量??
5.对DNN的损失函数用梯度下降法进行迭代优化求极小值的过程即为我们的反向传播算法
6.输出层, 隐藏层的权重更新都是根据最终的输出层损失函数对权重W求偏导, 都是通过链式求导实现, 只是越靠前求导链越长, 把求导链总结一下, 就是误差的反向传播过程, 反向传播是通过导数传播误差
7.delta定义为'误差', 对这个'误差'的理解:表示第l层的神经元对最终误差的影响。 δ(l) 也反映了最终的输出
对第l 层的神经元对最终误差的敏感程度
8.输出层的误差, 也是受到隐藏层权重影响的, 但是在更新输出层W时没有考虑这些, 是否可以理解为修正W是层叠多次的, 所以不会受到太大影响???
参考:
https://www.cnblogs.com/vipyoumay/p/9334961.html
https://blog.csdn.net/smilejiasmile/article/details/80718490