DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略(三)-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略(三)

简介: DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略
+关注继续查看

3、反向传播(backpropagation)算法

image.png

深度学习模型,采用梯度下降和误差反向传播进行模型参数更新。


随机初始化网络权重

前向传播计算网络输出

计算误差

后向传播误差到前一层; 计算梯度

前面层更新权重和偏置参数

从步骤2重复该过程最小化误差直到损失收敛


4、前向传播计算

image.png

image.png



使用损失函数比较实际输出和期望输出

image.png



计算图(Computation Graph):计算过程可以表示成有向图的形式。

前向计算过程:

计算各计算结点的导数。


5、反向传播误差信号

image.png

后向传播误差到前面的层,传播的误差用来计算损失函数的梯度。

计算损失函数?对各参数的梯度(偏导数)

输出层连接权重的梯度

隐藏层连接权重的梯度

偏置项的梯度


反向传播(backpropagation)

任何导数均可通过将相应连接边上的导数连乘得到。

若求导涉及多条路径,需要将每条路径上的导数连乘起来,然后再求和。



6、更新参数

image.png

得到梯度以后,就可以进行更新参数。


链式法则


链式法则简介


      链式法chain rule,属于微积分领域,是微积分中的求导法则,用于求一个复合函数的导数,是在微积分的求导运算中一种常用的方法。复合函数的导数将是构成复合这有限个函数在相应点的 导数的乘积,就像锁链一样一环套一环,故称链式法则。


image.png


      这个结论可推广到任意有限个函数复合到情形,于是复合函数的导数将是构成复合这有限个函数在相应点的 导数的乘积,就像锁链一样一环套一环,故称链式法则。



1、链式法则与复合函数


        链式法则是关于复合函数的导数的性质:如果某个函数由复合函数表示,则该复合函数的导数可以用构成复合函数的各个函数的导数的乘积表示。

        数学式表示

           image.png                                      



2、链式法则和计算图


       其中“**2”节点表示平方运算,沿着与正方向相反的方向,乘上局部导数后传递。反向传播的计算顺序是,先将节点的输入信号乘以节点的局部导数(偏导数),然后再传递给下一个节点。


image.png


反向传播是基于链式法则的。

(1)、根据计算图的反向传播的结果,dz/dx = 2(x + y)


image.png


(2)、乘法的反向传播:左图是正向传播,右图是反向传播。


             image.png

       因为乘法的反向传播会乘以输入信号的翻转值,所以各自可按1.3 × 5 =6.5、1.3 × 10 = 13 计算。另外,加法的反向传播只是将上游的值传给下游,并不需要正向传播的输入信号。但是,乘法的反向传播需要正向传播时的输入信号值。因此,实现乘法节点的反向传播时,要保存正向传播的输入信号。


(3)、购买苹果的反向传播的例子:这个问题相当于求“支付金额关于苹果的价格的导数”“支付金额关于苹果的个数的导数”“支付金额关于消费税的导数”。


image.png




链式法则使用


1、求导案例

image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一文详解神经网络 BP 算法原理及 Python 实现
  什么是梯度下降和链式求导法则 假设我们有一个函数 J(w),如下图所示。 梯度下降示意图 现在,我们要求当 w 等于什么的时候,J(w) 能够取到最小值。从图中我们知道最小值在初始位置的左边,也就意味着如果想要使 J(w) 最小,w的值需要减小。
2596 0
任务调度:时间轮算法经典案例解析及应用实现
平时大家的工作中应该会遇到较多需要在某个时间点执行某个任务,比如对运维来说,定时数据库的备份,日志和监控信息的抓取;比如业务系统,某个时间点给某个人群用户发放优惠券,甚至从操作系统角度,人机交互进程、视频播放的实时进程、批处理的后台进程等进程间的调度。。。 所以如何将这些任务高效、精准的调度?是任务调度系统中最重要的命题,当然在业务系统中一个完善的任务调度系统是很复杂的,需要具备能调度、可视化管理、过程可追溯、结果可分析、持久化、高可用等特性,这篇文章主要讨论任务调度逻辑,其余的内容我们后面文章探讨。
68 0
新颖训练方法——用迭代投影算法训练神经网络
本文介绍了一种利用迭代投影算法对神经网络进行训练的方法,首先介绍了交替投影的基础知识,说明投影方法是寻找非凸优化问题解决方案的一种有效方法;之后介绍了差异图的基础知识,将差异图与一些其他算法相结合使得差分映射算法能够收敛于一个好的解决方案;当投影的情况变多时,介绍了分治算法,最后将迭代投影算法应用到神经网络训练中,给出的例子实验结果表明效果不错。
6817 0
ML之DR之SVD:SVD算法相关论文、算法过程、代码实现、案例应用之详细攻略
ML之DR之SVD:SVD算法相关论文、算法过程、代码实现、案例应用之详细攻略
16 0
端计算Walle:2235亿次运算,为了无法计算的端智能价值
本文知识点提炼: 1、端计算在移动设备上的应用探索 2、技术方案与核心模块设计 3、总结与展望
1385 0
ML之SVM:SVM算法的简介、应用、经典案例之详细攻略(一)
ML之SVM:SVM算法的简介、应用、经典案例之详细攻略
21 0
计算机网络 自顶向下方法 第二章 应用层
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/78197072 计算机网络 自顶向下方法 第二章 应用层  分类:计算机网络-笔记(2)  版权声明:本文为博主原创文章,未经博主允许不得转载。
1217 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载