|
|
51CTO旗下网站
|
|
移动端

2.5.13 链式求导法则

《深度学习与计算机视觉:算法原理、框架应用与代码实现》第2章 深度学习和计算机视觉中的基础数学知识,本章会尽量从定性的角度讲解一些与深度学习、计算视觉紧密联系的基础数学概念,不一定会很严谨细致,但力求简单、形象。本节为大家介绍链式求导法则。

作者:叶韵来源:机械工业出版社|2017-11-16 18:37

2.5.13  链式求导法则

前面几节讲了那么多,每节都提到了一个重要的名词即梯度。本节讲一下梯度计算中,和深度学习紧密关联的链式求导法则。

对于一个函数y=f(g(x)),令u=g(x),则有:

这就是链式求导法则。其实就是对复合函数求导的一种性质,而这种性质常常能简化梯度的计算。公式2-55给的是一维情况下的链式求导法则,同样的原理也可以拓展到多变量多个复合函数甚至多输出的情况。比如考虑x=(x1,x2,…,xn),y=(y1,y2,…,ym)=f(g1(x), g2(x),…, gk(x)),则链式法则如下:

J代表雅可比矩阵(Jacobian matrix),详细如下:

这个公式看起来有些密集,不过理解起来并不难。既然是矩阵乘法,所以等式左边的每一个元素运算规则其实没有区别。只要理解了其中一个,其他的都是同样套路。先来看公式中用虚线方框标出的部分,也就是计算等式左边第一个元素,其实就是对偏微分求点积:

和一维情况下单个输出的公式相比,只是变成了求和的形式。形象来理解就是x1通过多条路径把对y1的一阶影响传递到y1。因为是一阶函数,可以把梯度理解为一种表示输出对输入变化敏感度大小的系数,所以很自然地把结果加一块就是总效果了。

下面还是来一步步执行一个非常简单的例子加深理解。为简化书写,令g1(x1,x2)简写为g1,g2同样,考虑下面的函数:

相当于最终输出维度为1,输入维度是2,中间的复合函数两个。根据公式2-56,Jy和Jf化简为只有第一行,如下:

根据函数的定义,需要求导的6个导数如下:

所以有:

如果把这个过程用图的形式来表示,则如图2-56所示。

看到图2-56也许读者会觉得眼熟。没错,第1章出现过一个结构类似的示意图,表示的是一个人工神经网络。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

大道至简:软件工程实践者的思想

本书是在“思想方法学”这一软件工程尚未涉足过的领域中的实习之作。作者亲历国内软件工程的英雄时代、泡沫时代,从失败中醒觉而创建独特的...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊