参考

华为云学院

概述

反向传播算法使用链式求导法则将输出层的误差反向传回给网络,使网络中的权重有了较简单的地图计算方法。像TensorFlow,Pytorch有现成的反向传播实现。

正向传播

首先定义一个简单的神经网络,正向传播的过程如下所示
在这里插入图片描述
以此类推,到达预测值y的位置如下。
在这里插入图片描述

误差的反向传播

接着计算预测值与真实值的误差
在这里插入图片描述
接着可算出上一层的误差,本层的误差由“下一层的误差”乘以“它们之间的权重”。
在这里插入图片描述
在这里插入图片描述

权重更新

然后权重的更新如下所示。
在这里插入图片描述
以此类推到最后一层的权重更新如下
在这里插入图片描述

梯度消失与梯度爆炸

对于链式求导来说,神经网络的层数越多,求导的结果就越小,因而导致梯度消失的情况。梯度爆炸指的是权重比较大的情况,但是对于sigmoid函数来说,这种情况比较少。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐