|
|
|
|
移动端

2.5.13 链式求导法则

《深度学习与计算机视觉:算法原理、框架应用与代码实现》本书全面介绍了深度学习及计算机视觉中最基础的知识,并结合最常见的应用场景和大量实例,带领读者进入丰富多彩的计算机视觉领域。作为一本“原理+实践”教程,本书在讲解原理的基础上,通过有趣的实例带领读者一步步亲自动手,不断提高动手能力,而不是枯燥和深奥原理的堆砌。本节为大家介绍链式求导法则。

作者:叶韵来源:机械工业出版社|2017-10-23 17:19

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

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邮刊