求导法则与矩阵微分
深度学习中反向传播算法利用导数优化网络权重,因此理解矩阵求导会对其理论会有茅塞顿开的感受。然而,由于矩阵乘法无交换性等因素,造成求导法则不一定一直起作用。
求导法则
链式法则:若$h(x)=f(g(x))$,那么${h}'(x)=f'(g(x)){g}'(x)$
乘积法则:两个函数乘积的导数为${(u\cdot v)}'={u}'\cdot v+u\cdot{v}'$
求和法则:函数$h(x)=af(x)+bg(x)$的导数为${h}'(x)=a{f}'(x)+b{g}'(x)$
矩阵的运算规律
矩阵加法的运算规律
交换律:$A+B=B+A$
结合律:$(A+B)+C=A+(B+C)$
数乘矩阵运算律
- $(\lambda\mu)A=\lambda(\mu A)$
- $(\lambda+\mu)A=\lambda A+\mu A$
- $\lambda(A+B)=\lambda A+\lambda B$
矩阵乘法的运算规律
结合律:$(AB)C=A(BC),\lambda(AB)=(\lambda A)B=A(\lambda B)$
分配律:$A(B+C)=AB+BC,(B+C)A=BA+CA$
plus:矩阵乘法不满足交换律。
求导法则在矩阵求导中的有效性
求和法则在矩阵求导中适用于各种情况。
乘法法则适用于大部分情况。然而,由于矩阵乘法不满足交换律,若矩阵相乘的顺序发生变化,那么乘法法则就会不适用,例如:标量对矩阵求导就不能利用乘积法则。
链式法则只适用于一些情况,但不适用于矩阵对标量的导数或标量对矩阵的导数。这是因为该两种情况需要矩阵对矩阵的求导,其求导结果属于张量(Tensor),即不属于矩阵求导所考虑的范畴。
后续,笔者将对乘法法则和链式法则不适用的情况,举例证明,从而加深理解。
对矩阵求导感兴趣的同学,推荐阅读维基百科的矩阵微积分和Kaare等人的MatrixCookBook。
版权: 本篇博文采用《CC BY-NC-ND 4.0》,转载必须注明作者和本文链接