标量 向量 标量求导链式法则_终于梳理清楚矩阵求导了!

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货

1. 前言与感谢

  • 以前就对矩阵求导有心理阴影,到底要不要转置,哪个矩阵放在前面,哪个矩阵放在后面,链式法则怎么搞,由产生此类一系列让人头大的问题。其中,最令人智熄的是经常网上的一些算法公式推导是错误的,因为矩阵维数根本不匹配,而这些无良的发布者可能根本就没有手推过,天天搞复制黏贴大法,很多时候都是大量重复错误的内容,污染网络学习环境。最近读了一些材料,感觉变得清晰了许多,因此想通过本文总结,一次性梳理清楚。是时候搞定矩阵求导了!
  • 在此,必须感谢为这个问题写下详细分析文章的人,尤其是参考资料[1,2,7,8,9]中的作者,他们是很用心的站在初学者的角度来考虑这些问题。的确如某位博主所言,我也认为矩阵微分是属于三不管区域,无论是数学分析、高等代数还是优化课程,前两者的老师觉得此问题不属于知识主线,不必系统地教,后一类课程的老师觉得这本质上还属于线性代数+微积分的内容,应该在基础课程内搞定,因此造就了当前有些尴尬的局面,话不多说赶紧开始!
  • 注:本文主要是做一个梳理,具体的证明过程都可在参考资料中找到

2. 符号与求导布局的规定

  • 符号规定
    • :标量
    • :维向量
    • :维向量
    • :大小为的矩阵
  • 分母布局  
    • 标量对向量求导得到的是维向量,其中
    • 标量对矩阵得到的是大小为的矩阵,其中
    • 向量对向量求导得到的是矩阵,其行数与的维数保持一致,其中
    • 注:全文默认为上述这种分母布局,另外还有一种分子布局,参看参考材料[2,8],事实上大多数的转置异常问题根本上来说是由于没有统一求导布局所导致的,同时不同的材料内可能布局不同,并无标准,因此在阅读文献时应当先弄清楚作者采用的哪一种

3. 几个重要的向量对向量求导结论(利用定义容易验证)

  • 设向量,则,特别地:
  • 设向量,则,特别地:
  • 设为按元素运算的函数,则

4. 标量求导的迹方法 

  • 思想:由于,故全微分是导数与微分矩阵的内积,因此只要凑到这种形式下,等价于找到了标量对的导数
  • 回顾一下关于迹的重要性质,这在之后凑微分矩阵是非常重要的,其中第五条中的表示乘积
    • ,其中为大小相等的矩阵
  • 将全微分的常用公式列在下方,详细说明可在参考材料[1,4,5]中找到,其中第七条中表示逐元素标量运算
    •  - 
    • (此条经常与迹性质中的第五条结合使用)

5. 乘法法则 

  • 若,则
  • 若,则

6. 链式法则 

  • 向量对向量求导(此种情况显然还包含了标量对向量求导和向量对标量求导)

    • 设多个向量之间存在依赖关系:
    • 计算方法:
  • 标量对矩阵求导

    • 若矩阵,矩阵,标量,则
    • 由上所述,若链式关系中存在有矩阵对矩阵求导,则难以直接写出标量对矩阵的导数,下面则给出常用的线性关系下的"链式"求导
    • 若存在关系:,则  注.若关系中改为,则计算结果变为  注.在左乘且为向量时,则也同样结论成立 当时,有成立
    • 注:此时由于链式法则不再成立,往往通过上文介绍的迹方法来求标量对矩阵的导数
  • 矩阵对矩阵求导

    • 有上面介绍的结果可以看到,对于矩阵(或向量)对矩阵求导并不具有向量对向量求导的链式法则形式
    • 这与矩阵的积有关,详细关于矩阵对矩阵求导的内容可查看[10]中的详细叙述,本文不展开

7. 一些常见技巧

  • 当目标值内多处含有自变量,可以每次只对一处求导数,最后将这些量相加,具体案例详见[7]中的第 28 页
  • 几种变化手段:- 一维下标求和则考虑写成内积的形式 - 二维下标求和则考虑写成的形式 - 向量模长的平方则考虑内积运算,即 - 矩阵的范数则考虑写成的形式,即

8. 实例

【例 1】求

【解】原式

【例 2】求

【解】由于

因此原式

【例 3】设,求

【解】令

此时

最后将变量逐个代入即得到结果,这里如果限制是向量,则可验证其等价于[1]中的多元回归结果

9. 参考材料

  1. 长躯鬼侠. 矩阵求导术(上), (https://zhuanlan.zhihu.com/p/24709748)
  2. 刘建平. 机器学习中的矩阵向量求导, (https://www.cnblogs.com/pinard/)
  3. Kaare Brandt Petersen, Michael Syskind Pedersen. "The Matrix Cookbook", 2008
  4. Thomas P. Minka. "Old and New Matrix Algebra Useful for Statistics", 2000
  5. Searle Shayle R. "Matrix Algebra Useful for Statistics", 1982
  6. Jan R. Magnus, Heinz Neudecker. "Matrix Differential Calculus with Applications in Statistics and Econometrics", 2007
  7. "Matrix Vector Derivatives for Machine Learning", (作者邮箱:ruanchong_ruby@163.com)
  8. 维基百科. Matrix calculus, (https://en.wikipedia.org/wiki/Matrix_calculus)
  9. 邱锡鹏. 神经网络与深度学习, (https://nndl.github.io/)
  10. 长躯鬼侠. 矩阵求导术(下), (https://zhuanlan.zhihu.com/p/24863977)
交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、检测分割识别、三维视觉、医学影像、GAN、自动驾驶、计算摄影、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

c372e48b9f69ba2499b73060e4af378d.png

合作欢迎联系:simiter@126.com

推荐阅读

原来CNN是这样提取图像特征的。。。

有哪些靠谱的deep learning网络调参经验?

深度学习中最常见GAN模型应用与解读

CNN系列模型发展简史(附代码,已全部跑通)

盘点卷积神经网络中十大变革操作:变形卷积核、可分离卷积。。。

深度学习,怎么知道你的训练数据真的够了?

重磅!MobileNetV3 来了!

最佳机器/深度学习课程 Top 5 ,吴恩达占了俩

机器学习必学十大算法

YOLO简史

这可能是「多模态机器学习」最通俗易懂的介绍

算力限制场景下的目标检测实战浅谈

开源 | 用深度学习让你的照片变得美丽

面试时让你手推公式不在害怕 | 线性回归

面试时让你手推公式不在害怕 | 梯度下降

深度学习在计算机视觉各项任务中的应用

干货 | 深入理解深度学习中的激活函数

何恺明组又出神作!最新论文提出全景分割新方法

Android手机移植TensorFlow,实现物体识别、行人检测、图像风格迁移

没有人工标注,如何实现互联网图像中的像素级语义识别?

详解如何将TensorFlow训练的模型移植到安卓手机

有趣又有料:任意操控静态图片中人的眼球

深度学习+几何结构:1+1>2?

机器学习工程师第一年的 12 点体会

万字长文总结机器学习的模型评估与调参,附代码下载

如何配置一台深度学习工作站?

最新AI干货,我在看  5b721656c4ec00da3734c267400564d4.gif

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值