深度学习中矩阵求导公式整理

2023-11-13

1.两种布局约定方式

布局(Layout):在矩阵求导中有两种布局,分别为分母布局(denominator layout)和分子布局(numerator layout)。这两种不同布局的求导规则是不一样的。

向量 y = [ y 1 y 2 ⋮ y n ] \mathbf{y}=\left[\begin{matrix} y_1\\ y_2\\ \vdots \\y_n\end{matrix} \right] y=y1y2yn,关于标量 x x x的求导,
分子布局下,为:
∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y n ∂ x ] \frac{\partial \mathbf{y}}{\partial x}=\left[\begin{matrix} \frac{\partial y_1}{\partial x}\\\frac{\partial y_2}{\partial x}\\ \vdots \\\frac{\partial y_n}{\partial x}\end{matrix} \right] xy=xy1xy2xyn
而在分母布局下,为:
∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋯ ∂ y n ∂ x ] \frac{\partial \mathbf{y}}{\partial x}=\left[\begin{matrix}\frac{\partial y_1}{\partial x}&\frac{\partial y_2}{\partial x} & \cdots &\frac{\partial y_n}{\partial x}\end{matrix} \right] xy=[xy1xy2xyn]
通过观察和推导我们可以知道,分子布局和分母布局之间刚好差一个转置,即在分子布局下与原来 y \mathbf{y} y相同,而在分母布局下差一个转置。

2.矩阵求导的类型

类型 标量 向量 矩阵
标量 ∂ y ∂ x \frac{\partial y}{\partial x} xy ∂ y ∂ x \frac{\partial \mathbf{y}}{\partial x} xy ∂ Y ∂ x \frac{\partial \mathbf{Y}}{\partial x} xY
向量 ∂ y ∂ x \frac{\partial y}{\partial \mathbf{x}} xy ∂ y ∂ x \frac{\partial \mathbf{y}}{\partial \mathbf{x}} xy
矩阵 ∂ y ∂ X \frac{\partial y}{\partial \mathbf{X}} Xy

3.标量对标量求导

这种情况就是平常的代数求导,直接为 ∂ y ∂ x \frac{\partial y}{\partial x} xy

4.向量对标量求导

向量 y = [ y 1 y 2 ⋮ y n ] \mathbf{y}=\left[\begin{matrix} y_1\\ y_2\\ \vdots \\y_n\end{matrix} \right] y=y1y2yn,关于标量 x x x的求导(以分子布局约定)就是 y \mathbf{y} y的每一个元素分别对 x x x求导,可以表示为:
∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋮ ∂ y n ∂ x ] \frac{\partial \mathbf{y}}{\partial x}=\left[\begin{matrix} \frac{\partial y_1}{\partial x}\\\frac{\partial y_2}{\partial x}\\ \vdots \\\frac{\partial y_n}{\partial x} \end{matrix} \right] xy=xy1xy2xyn
此时为正切向量, ∂ y ∂ x \frac{\partial \mathbf{y}}{\partial x} xy y \mathbf{y} y的正切向量,有映射 y \mathbf{y} y R n    ⟹    R n \R^n\implies\R^n RnRn??

5.矩阵对标量求导

矩阵对标量的求导类似于向量关于标量的求导,也就是矩阵的每个元素分别对标量 x x x求导,矩阵 Y = [ y 11 y 12 ⋯ y 1 n y 21 y 22 ⋯ y 2 n ⋮ ⋮ ⋱ ⋮ y n 1 y n 2 ⋯ y n n ] \mathbf{Y} =\left[\begin{matrix} y_{11}&y_{12}& \cdots&y_{1n} \\ y_{21}&y_{22}& \cdots&y_{2n} \\ \vdots&\vdots&\ddots&\vdots\\ y_{n1}&y_{n2}& \cdots&y_{nn} \end{matrix} \right] Y=y11y21yn1y12y22yn2y1ny2nynn对标量 x x x的导数(以分子布局约定)为:
∂ Y ∂ x = [ ∂ y 11 ∂ x ∂ y 12 ∂ x ⋯ ∂ y 1 n ∂ x ∂ y 21 ∂ x ∂ y 22 ∂ x ⋯ ∂ y 2 n ∂ x ⋮ ⋮ ⋱ ⋮ ∂ y n 1 ∂ x ∂ y n 2 ∂ x ⋯ ∂ y n n ∂ x ] \frac{\partial \mathbf{Y} }{\partial x}=\left[\begin{matrix} \frac{\partial y_{11}}{\partial x}&\frac{\partial y_{12}}{\partial x}&\cdots&\frac{\partial y_{1n}}{\partial x}\\ \frac{\partial y_{21}}{\partial x}&\frac{\partial y_{22}}{\partial x}&\cdots&\frac{\partial y_{2n}}{\partial x} \\ \vdots&\vdots&\ddots&\vdots\\ \frac{\partial y_{n1}}{\partial x}&\frac{\partial y_{n2}}{\partial x}& \cdots&\frac{\partial y_{nn}}{\partial x} \end{matrix} \right] xY=xy11xy21xyn1xy12xy22xyn2xy1nxy2nxynn

6.标量对向量求导

标量 y y y关于向量 x = [ x 1 x 2 ⋮ x n ] \mathbf{x}=\left[\begin{matrix} x_1\\x_2\\\vdots\\x_n \end{matrix} \right] x=x1x2xn的求导可以表示为:
∂ y ∂ x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ] \frac{\partial y}{\partial \mathbf{x}}=\left[\begin{matrix} \frac{\partial y}{\partial x_1}&\frac{\partial y}{\partial x_2}&\cdots&\frac{\partial y}{\partial x_n} \end{matrix} \right] xy=[x1yx2yxny]
此时的向量叫做梯度向量。 ∂ y ∂ x \frac{\partial y}{\partial \mathbf{x}} xy为标量 y y y在空间 R n \R^n Rn的梯度,该空间以 x x x为基。

7.向量对向量求导

向量函数(即函数组成的向量) y = [ y 1 y 2 ⋮ y n ] \mathbf{y}=\left[\begin{matrix} y_1\\y_2\\\vdots\\y_n \end{matrix} \right] y=y1y2yn关于向量 x = [ x 1 x 2 ⋮ x n ] \mathbf{x}=\left[\begin{matrix} x_1\\x_2\\\vdots\\x_n \end{matrix} \right] x=x1x2xn的导数记作:
∂ y ∂ x = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ∂ y 2 ∂ x 1 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x n ⋮ ⋮ ⋱ ⋮ ∂ y n ∂ x 1 ∂ y n ∂ x 2 ⋯ ∂ y n ∂ x n ] \frac{\partial \mathbf{y} }{\partial \mathbf{x}}=\left[\begin{matrix} \frac{\partial y_1}{\partial x_1}&\frac{\partial y_1}{\partial x_2}&\cdots&\frac{\partial y_1}{\partial x_n}\\ \frac{\partial y_2}{\partial x_1}&\frac{\partial y_2}{\partial x_2}&\cdots&\frac{\partial y_2}{\partial x_n}\\ \vdots&\vdots&\ddots&\vdots\\ \frac{\partial y_n}{\partial x_1}&\frac{\partial y_n}{\partial x_2}&\cdots&\frac{\partial y_n}{\partial x_n} \end{matrix} \right] xy=x1y1x1y2x1ynx2y1x2y2x2ynxny1xny2xnyn
此时获得的矩阵 ∂ y ∂ x \frac{\partial \mathbf{y} }{\partial \mathbf{x}} xy叫做Jacobian矩阵。

8.标量对矩阵求导

自变量为矩阵X 的标量函数 y 关于矩阵X的导数为:(分子布局约定)
∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 21 ⋯ ∂ y ∂ x p 1 ∂ y ∂ x 12 ∂ y ∂ x 22 ⋯ ∂ y ∂ x p 2 ⋮ ⋮ ⋱ ⋮ ∂ y ∂ x 1 q ∂ y ∂ x 2 q ⋯ ∂ y ∂ x p q ] \frac{\partial y }{\partial \mathbf{X}}=\left[\begin{matrix} \frac{\partial y}{\partial x_{11}}&\frac{\partial y}{\partial x_{21}}&\cdots&\frac{\partial y}{\partial x_{p1}}\\ \frac{\partial y}{\partial x_{12}}&\frac{\partial y}{\partial x_{22}}&\cdots&\frac{\partial y}{\partial x_{p2}}\\ \vdots&\vdots&\ddots&\vdots\\ \frac{\partial y}{\partial x_{1q}}&\frac{\partial y}{\partial x_{2q}}&\cdots&\frac{\partial y}{\partial x_{pq}}\\ \end{matrix} \right] Xy=x11yx12yx1qyx21yx22yx2qyxp1yxp2yxpqy
注意到这里关于X的梯度的索引就是矩阵X索引的转置。(矩阵的标量函数会涉及到矩阵的迹和行列式)。

参考文献:

[1] Matrix calculus
[2] 矩阵求导(一)
[3] 数学-矩阵计算(4)两种布局
码字不易,如果您觉得有帮助,麻烦帮我点个赞~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深度学习中矩阵求导公式整理 的相关文章

  • cesium设置token

    cesium使用需要token 1 登录cesium地址 https ion cesium com 没有账号的自己注册 注册流程 创建成功后 会显示刚创建的信息 然后选中后 右边即可看到token 复制即可使用 代码中使用方式 Cesium
  • 腾讯云COS+PicGo+Typora十分钟搭建自己的图床

    文章目录 一 腾讯云配置 1 购买COS 新人可以1元购相当于白嫖 2 前往对象存储页面创建存储桶 3 在存储桶中创建文件夹 4 回到概览获取基本信息 5 获取用户密钥管理 二 配置PicGo 1 下载安装PicGo 2 配置PicGo 三
  • FCN(全卷积网络)详解

    FCN详解 全卷积网络就是在全连接网络的基础上 通过用卷积网络替换全连接网络得到的 首先看一下什么是全连接网络 以及全连接网络的缺点 通常的CNN网络中 在最后都会有几层全连接网络来融合特征信息 然后再对融合后的特征信息进行softmax分

随机推荐

  • 3个收缩/展开/折叠的js代码

    第一种
  • 心理学的166个现象---之八

    141 同体效应 同体效应也称自己人效应 是指学生把教师归于同一类型的人 是知心朋友 学生对 自己人 的话更信赖 更易于接受 管理心理学中有句名言 如果你想要人们相信你是对的 并按照你的意见行事 那就首先需要人们喜欢你 否则 你的尝试就会失
  • (#########优化器函数########)TensorFlow实现与优化深度神经网络

    反正是要学一些API的 不如直接从例子里面学习怎么使用API 这样同时可以复习一下一些基本的机器学习知识 但是一开始开始和以前一样 先直接讲类和常用函数用法 然后举例子 这里主要是各种优化器 以及使用 因为大多数机器学习任务就是最小化损失
  • AD添加3D模型

    对于为给PCB添加3D模型 很多人觉得这是个绣花针的活 中看不中用 在我看来这也未必 特别是常用的3D模型能在网上下载的今天 只需要几个简单的操作 就能使你的PCB更加赏心悦目 除此之外 3D模型还有以下优点 优化元器件的布局 检查元件焊盘
  • 快速删除系统服务命令 sc delete ServiceName

    快速删除系统服务命令 sc delete ServiceName 要删除名为ServiceName的服务 可以用XP自带服务管理工具 SCP sc exe命令用以下命令即可删除指定的服务 sc delete ServiceName这些命令的
  • 解决httpd: Could not reliably determine the server's fully qualified domain name

    測試系統 mdv2007 service httpd restart 出現下面錯誤 Shutting down httpd OK Starting httpd httpd Could not reliably determine the s
  • 如何测试生成式人工智能(AIGC)

    简介 在人工智能日趋普及的今天 生成式人工智能 AIGC 已经成为不可忽视的一个分支 从自动化生成新闻 编写代码到图像和音频生成 AIGC几乎无处不在 但如何确保这些生成的内容达到预期标准 安全可靠 同时又具有高度的可用性呢 这是一个值得细
  • 使用hyper-V 编译和调试Android13(android-13.0.0_r3)源码

    环境 windows10 hyper V ubuntu20 4 LST 之前写了一篇Andrid9的编译 但是之前是使用的Vmware虚拟机 ubuntu20 4 LST 由于重装系统 Vmware不见了 不想单独装个虚拟机软件 加上现在w
  • matlab读取文件各种方法

    本技术支持指南主要处理 ascii binary and mat files 要得到matlab中可用来读写各种文件格式的完全函数列表 可以键入以下命令 help iofun matlab中有两种文件i o程序 high level and
  • js6语法总结

    Vuex Action的 commit
  • Linux定时任务crontab

    格式要求如下 For details see man 4 crontabs Example of job definition minute 0 59 hour 0 23 day of month 1 31 month 1 12 OR ja
  • IOS 图片转换二进制 二进制转换为图片

    类方法 图片 转换为二进制 NSData Image TransForm Data UIImage image NSData imageData UIImageJPEGRepresentation image 0 5 几乎是按0 5图片大小
  • axure到底好不好学,有哪些技巧

    Axure学习难吗 这个问题一直引起很多朋友的讨论 有的觉得难 有的觉得不难 当然 人不一样 每个人的学习方式也不一样 对学习难度的理解自然也不一样 这个问题自然没有定论 在学习的时候 有很多方法可以帮助我们 有不同的意见 我们需要尽可能多
  • 一份完整的问卷模板_Word制作问卷调查模板表「教你复选框打钩」

    作者易雪龙转自 Word联盟 问卷调查相信大家都有用过吧 就是一些问题 然后下面有几个选项给我们选择 类似这种问卷调查模板 其实用Word也是可以制作出来的 今天 易老师就来教一下大家利用Word来制作一份电子版的调查问卷 效果演示 Wor
  • 模型/视图编程

    模型 视图编程 模型 视图编程 模型 视图 委托 模型 视图编程 Qt中的模型 视图架构用来实现大量的数据存储 处理及显示 MVC Model View Controller 包括了3个组件 模型 Model 是应用对象 用来表示数据 视图
  • Lotus Domino Notes表单,页面,视图,文档,域之间的关系

    1 表单 Form 关系型数据库里的 表设计 关系型数据库中通过表设计来定义这张Table上会有哪些字段 字段的类型以及长度等 然后通过Table来创建符合这个Table定义的记录 Record 通常情况下 Lotus通过表单 Form 来
  • Micropython史上最友好的编辑器,小巧精悍

    Python 因为非常好学 易上手故而广受大众的喜欢 micropython 也因此在物联网单片机领域拥有一席之位 并且 python 有着良好的生态环境 功能亦更加丰富 from machine import Pin p0 Pin 0 P
  • 购物商城---SpringMVC拦截器的使用

    springmvc front xml
  • spring data jpa

    Spring Data是什么 Spring Data是一个用于简化数据库访问 并支持云服务的开源框架 其主要目标是使得对数据的访问变得方便快捷 并支持map reduce框架和云计算数据服务 Spring Data 包含多个子项目 Comm
  • 深度学习中矩阵求导公式整理

    深度学习中矩阵求导公式整理 1 两种布局约定方式 2 矩阵求导的类型 3 标量对标量求导 4 向量对标量求导 5 矩阵对标量求导 6 标量对向量求导 7 向量对向量求导 8 标量对矩阵求导 参考文献 1 两种布局约定方式 布局 Layout