在微积分中,链式法则是计算两个或多个函数的组合的导数的公式,也就是说,如果f和g是函数,则链式法则表示它们的组合的导数f∘g(将x映射到f(g(x))的函数。由于在定义过程中求导公式可以表示成一个连乘过程,就像锁链一样一环套一环,故而得名。链式法则在计算上简单,在直观上容易理解。下面我们给出正式定义。
设f和g为两个关于x的可导函数,则复合函数$(fog)'(x)$的导数为:
$$(fog)'(x)=f'(g(x))g'(x)$$
如$g(x)=x^2+1$,$h(g)=g^3$,则求导$h(g(x))=g(x)^3$时计算过程应为:
$f'(x)=[h(g(x)]'=3(g(x))^2(2x)=3(x^2+1)^2(2x)=6x(x^2+1)^2$
当函数扩展为多元复合函数$z=f(x,y)$,其中$x=g(t), y=h(t)$且h(t)和g(t)可微,则:
dz/dt=\partial z/\partial x dx/dt+\partial z/\partial y dy/dt
[描述来源:维基百科URL:https://en.wikipedia.org/wiki/Chain_rule#Proofs]
描述
在机器学习领域,链式法则是需要理解的重要基础法则之一,其主要应用在于反向传播(backpropagation)等算法,反向传播算法是在模式识别和故障诊断等领域广泛使用的简单方法。其发明者Werbos于1990年再次讨论反向传播所基于的定理——有序导数(ordered derivatives)的链式法则,并设计了可以转换为计算机代码,并由神经网络用户直接应用的更简单的反向传播版本。
1993年Jang提出的ANFIS(adaptive-network-based fuzzy inference system)体系结构和学习过程——一个在自适应网络框架下实现的模糊推理系统——中对残差的计算仍然是基于链式法则的。在其后Yann,Hinton等众多学者所不断提出的新的模型也都如此。
目前关于神经学习的研究有很多,但其主要研究方向在于在新领域应用神经网络,或具有更好表现的神经网络,其训练算法依赖链式法则这一本质是没有变过的。
主要事件
年份 | 事件 | 相关论文/Reference |
1975 | Werbos发明的反向传播算法 | Werbos, P.J. (1975). Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. |
1990 | Werbos再次讨论反向传播所基于的定理——有序导数(ordered derivatives)的链式法则,并设计了可以转换为计算机代码,并由神经网络用户直接应用的更简单的反向传播版本 | Werbos, P.J. (1990). Backpropagation through time: what it does and how to do it.Proceedings of the IEEE. 78(10):1550 - 1560. |
1993 | Jang提出的ANFIS(adaptive-network-based fuzzy inference system)体系结构和学习过程中对残差的计算仍然是基于链式法则的 | Jang J. S. R. (1993). ANFIS: adaptive-network-based fuzzy inference system. IEEE Transactions on Systems, Man, and Cybernetics. 23(3): 665 - 685. |
发展分析
瓶颈
链式法则是一种在数学成立上的求导法则,并不像技术和算法等有适用范围和瓶颈。但在其实际应用中,仍以反向传播算法为例,往往存在学习效率低下,收敛速度慢,缺乏仿生学依据等问题。此外,目前机器学习社区正在大力发展无监督学习,而无监督学习并不依赖于链式法则这类有监督的算法。
未来发展方向
目前没有直接基于链式法则的研究,但由于神经网络的反向传播等算法都是基于链式法则的,因此在深度学习方面不断提出的优化算法(如2018年提出的AMSGrad)也可以看做是链式法则的新的应用方向。
Contributor: Yuanyuan Li