深度学习中反向传播算法利用导数优化网络权重,因此理解矩阵求导会对其理论会有茅塞顿开的感受。然而,由于矩阵乘法无交换性等因素,造成求导法则不一定一直起作用。

求导法则

链式法则:若$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》,转载必须注明作者和本文链接

添加新评论