动手学深度学习——矩阵求导之矩阵的迹和微分

这篇具有很好参考价值的文章主要介绍了动手学深度学习——矩阵求导之矩阵的迹和微分。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、矩阵的迹

1. 迹的定义

2. 迹的性质

二、微分与全微分

1. (全)微分的表达式

2. (全)微分的法则

三、 矩阵的微分

1. 矩阵微分的实质

2. 矩阵微分的意义

3. 矩阵微分的法则

4. 矩阵微分的常用公式

四、矩阵求导实例

1. 迹在微分中的应用

2. 利用微分求导


本篇博客总结自知乎文章:矩阵求导公式的数学推导(矩阵求导——进阶篇),需要详细推导过程可以查看原文学习。

文章主要介绍了矩阵迹的性质,并将矩阵微分引入到矩阵求导中。虽然在法则和公式中涉及到了矩阵变元的实矩阵函数,但是并不介绍如何求导实矩阵函数,只介绍矩阵变元的实值标量函数利用微分求导的过程(实矩阵函数的求导过程远比实值标量函数的求导过程复杂)。

一、矩阵的迹

1. 迹的定义

对于一个 的方阵 :

动手学深度学习——矩阵求导之矩阵的迹和微分

它的主对角线元素之和就叫做矩阵 的迹(trace),记作:

动手学深度学习——矩阵求导之矩阵的迹和微分

2. 迹的性质

2.1 标量的迹

因为标量可以视为  的矩阵,所以对于一个标量  ,它的迹等于它本身

2.2 转置的迹

因为转置并不改变主对角线元素位置,所以对于一个矩阵  的转置  ,它的迹与原矩阵相等

2.3 乘积的迹

矩阵  与矩阵  的乘积的迹,等于两个矩阵对应位置的元素相乘再相加,类似于向量内积的延伸:

动手学深度学习——矩阵求导之矩阵的迹和微分

2.4 迹的交换律

由上一性质可知,在两矩阵交换位置后,乘积的迹不会受到影响,仍然是对应位置元素相乘再相加,即满足交换律

对于多个矩阵相乘,可以将其中一部分矩阵视为整体,然后使用交换律:

 

不仅如此,迹的矩阵交换不变性还可以和迹的矩阵转置不变性结合,得到如下转换过程:

2.5 迹的线性法则

矩阵先相加再求迹,等于先求迹再相加:

动手学深度学习——矩阵求导之矩阵的迹和微分

二、微分与全微分

1. (全)微分的表达式

高等数学中的一元函数的微分表达式多元函数全微分表达式如下:

函数类型

参数说明 表达式

普通一元函数

复合一元函数

普通多元函数

动手学深度学习——矩阵求导之矩阵的迹和微分

复合多元函数

动手学深度学习——矩阵求导之矩阵的迹和微分

动手学深度学习——矩阵求导之矩阵的迹和微分

2. (全)微分的法则

无论是一元函数的微分还是多元函数的全微分,都遵循以下四个法则

法则 参数说明 表达式
常数的微分 为常数
线性(加减)法则
乘积法则 动手学深度学习——矩阵求导之矩阵的迹和微分
商法则

三、 矩阵的微分

1. 矩阵微分的实质

对于一个矩阵变元实矩阵函数,其内部的每一个元素就是一个矩阵变元实值标量函数

动手学深度学习——矩阵求导之矩阵的迹和微分
对其求微分就是对每个位置上的元素求全微分,排列布局不变
动手学深度学习——矩阵求导之矩阵的迹和微分

2. 矩阵微分的意义

矩阵变元实值标量函数,其全微分可以转化为如下迹的形式

动手学深度学习——矩阵求导之矩阵的迹和微分

  • 其中左边的矩阵就是对  的分子布局形式求导:

动手学深度学习——矩阵求导之矩阵的迹和微分

  • 而右边的矩阵就是  的全微分

动手学深度学习——矩阵求导之矩阵的迹和微分

所以矩阵变元的实值标量函数的全微分可以表示为:

动手学深度学习——矩阵求导之矩阵的迹和微分

3. 矩阵微分的法则

因此,我们想要求解一个矩阵变元的实值标量函数的导数,我们只需要把该函数转化成上面的形式。而转化的过程可以通过下面矩阵微分的四个法则实现:

法则 参数说明 表达式
常数矩阵的微分 常数矩阵  
线性法则 常数  动手学深度学习——矩阵求导之矩阵的迹和微分
乘积法则 动手学深度学习——矩阵求导之矩阵的迹和微分
转置法则

4. 矩阵微分的常用公式

对于转化过程中经常出现的矩阵形式,我们可以记住下面三类常用公式来简化推导步骤,这些公式也是由矩阵的微分四法则结合矩阵的迹的性质得来:

公式名称 参数说明 表达式
夹饼层 常数矩阵  
将  替换为矩阵函数 
行列式
将  替换为矩阵函数
逆矩阵

将  替换为矩阵函数

四、矩阵求导实例

1. 迹在微分中的应用

实值标量函数  ,由于它的结果是标量,所以有:

上式结合微分的线性法则(相加再微分=微分再相加):

若把实值标量函数  视为实矩阵函数  的

 则有:

2. 利用微分求导

举例说明如何利用矩阵微分,推导出矩阵求导的表达式:

动手学深度学习——矩阵求导之矩阵的迹和微分

结合矩阵的迹的性质矩阵微分的四个法则六个常用公式,推导过程如下:

迹在微分的应用
夹饼层公式
微分乘积法则 动手学深度学习——矩阵求导之矩阵的迹和微分
动手学深度学习——矩阵求导之矩阵的迹和微分
迹的线性法则 动手学深度学习——矩阵求导之矩阵的迹和微分
动手学深度学习——矩阵求导之矩阵的迹和微分
微分转置法则
动手学深度学习——矩阵求导之矩阵的迹和微分
迹的交换与转置

动手学深度学习——矩阵求导之矩阵的迹和微分

动手学深度学习——矩阵求导之矩阵的迹和微分

动手学深度学习——矩阵求导之矩阵的迹和微分

动手学深度学习——矩阵求导之矩阵的迹和微分

迹的线性法则 动手学深度学习——矩阵求导之矩阵的迹和微分
动手学深度学习——矩阵求导之矩阵的迹和微分

 最终得到该式的微分

动手学深度学习——矩阵求导之矩阵的迹和微分

结合公式

动手学深度学习——矩阵求导之矩阵的迹和微分

可得导数

动手学深度学习——矩阵求导之矩阵的迹和微分文章来源地址https://www.toymoban.com/news/detail-446658.html

到了这里,关于动手学深度学习——矩阵求导之矩阵的迹和微分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [深度学习实战]基于PyTorch的深度学习实战(上)[变量、求导、损失函数、优化器]

    PyTorch——开源的Python机器学习库   用了Matlab搭建神经网络才愈发感觉\\\" 人生苦短,我用PyTorch “是多么正确。毕竟 新的神经网络架构还是得自己一点点敲 ,现在是一点都笑不出来了, 指望Matlab提供的老框架和训练算法也做不出什么算法方法的突破,顶多就是在实现功能上

    2024年02月17日
    浏览(46)
  • 矩阵的迹(详解)

    转自:https://blog.csdn.net/ting0922/article/details/83068800 在线性代数中,方阵A(n*n)的 迹 定义为主对角线元素的和。即: 矩阵的迹表示的是特征值的和,它不随基的变化而变化。通常,这种特性可以用来定义线性算子的轨迹。(注意:迹是对方阵而言的) 举例: A是一个方阵,如下

    2024年02月16日
    浏览(26)
  • 考研数二第十讲 求导平面曲线的切线和法线以及曲率圆与曲率半径和弧微分

    关于函数的导数几何意义,一元函数和二元函数存在一些不同,二元或多元函数求导叫做对应的偏导数,函数求导以及平面曲线切线,法线求解或者根据已知切线求函数会与其他题型结合考察,单独出题概率比较小。曲率和曲率半径求解,需要首选理解曲率的概念,然后记住

    2023年04月08日
    浏览(38)
  • 《动手学深度学习》——深度学习计算

    参考资料: 5. 深度学习计算 — 动手学深度学习 2.0.0 documentation (d2l.ai) 为了实现这些复杂的网络,我们引入了神经网络块的概念。块(block)可以描述单个层、由多个层组成的组件或整个模型本身。 从编程的角度来看,块由类(class)表示。它的任何子类都必须定义一个将其

    2024年02月12日
    浏览(39)
  • 李沐《动手学深度学习》深度学习计算

    李沐《动手学深度学习》预备知识 张量操作及数据处理 李沐《动手学深度学习》预备知识 线性代数及微积分 李沐《动手学深度学习》线性神经网络 线性回归 李沐《动手学深度学习》线性神经网络 softmax回归 李沐《动手学深度学习》多层感知机 模型概念和代码实现 李沐《

    2024年01月22日
    浏览(63)
  • PINN深度学习求解微分方程系列一:求解框架

    下面我将介绍内嵌物理知识神经网络(PINN)求解微分方程。首先介绍PINN基本方法,并基于Pytorch框架实现求解一维Poisson方程。 内嵌物理知识神经网络(PINN)入门及相关论文 深度学习求解微分方程系列一:PINN求解框架(Poisson 1d) 深度学习求解微分方程系列二:PINN求解burg

    2023年04月16日
    浏览(44)
  • 【李沐】动手学深度学习 学习笔记

    你好! 这是【李沐】动手学深度学习v2-基于pytorch版本的学习笔记 教材 源代码 安装教程(安装pytorch不要用pip,改成conda,pip太慢了,下载不下来) 个人推荐学习学习笔记 数据操作   本节代码文件在源代码文件的chapter_preliminaries/ndarray.ipynb中 创建数组   创建数组需要:

    2024年02月16日
    浏览(57)
  • 动手学深度学习 - 学习环境配置

    参考: https://www.jb51.net/article/275192.htm https://blog.csdn.net/m0_54179726/article/details/130522489 miniconda3 下载完,打开安装包,按照默认提示,下一步下一步,到这里要牢记安装目录,之后配置环境变量会用到; 点击新建,分别添加以下三个路径: 安装路径Miniconda3 安装路径Miniconda3Sc

    2024年02月07日
    浏览(42)
  • 李沐《动手学深度学习》多层感知机 深度学习相关概念

    李沐《动手学深度学习》预备知识 张量操作及数据处理 李沐《动手学深度学习》预备知识 线性代数及微积分 李沐《动手学深度学习》线性神经网络 线性回归 李沐《动手学深度学习》线性神经网络 softmax回归 李沐《动手学深度学习》多层感知机 模型概念和代码实现 教材:

    2024年01月20日
    浏览(51)
  • 《动手学深度学习》优化算法学习&习题

    小批量随机梯度下降,通过平均梯度来减小方差 基础 泄露平均法:用来取代梯度的计算 β beta β 这个参数控制了取多久时间的平均值 上述推理构成了”加速”梯度方法的基础,例如具有动量的梯度。 在优化问题条件不佳的情况下(例如,有些方向的进展比其他方向慢得多

    2024年02月13日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包