矩阵求导与神经网络反向传播

矩阵求导(本质、原理与推导)详解 矩阵求导详解 阅读详情

矩阵求导

关于矩阵求导,其实严格意义上来说仅仅只是一种求导的矩阵表示形式,其本质还是和普通多元函数求导过程是一致的。将矩阵的各个元素拆分开来,将矩阵运算写成各个元素之间的运算,矩阵变换可以变成多元函数,这样矩阵求导过程就可以与多元函数求导过程联系起来了。要理解矩阵求导运算,最主要的其实是理解矩阵导数的表示,将矩阵导数的拆分形式与多元函数求导联系起来。
本文主要参考《Matrix cookbook》和wiki上面的内容,下面简单介绍一下矩阵求导的相关内容,为后面介绍前馈神经网络FNN的反向传播过程做铺垫。

矩阵求导的表示形式之一:值函数对向量/矩阵变量的导数

下面表达式中, y y 表示一个实值函数, x 表示一个向量变量,那么他们的矩阵求导含义为:

∂y∂x=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂y∂x1∂y∂x2⋯∂y∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥ ∂ y ∂ x = [ ∂ y ∂ x 1 ∂ y ∂ x 2 ⋯ ∂ y ∂ x n ]

y y 表示一个实值函数, X 表示一个矩阵变量:
∂y∂X=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂y∂x11∂y∂x21⋯∂y∂xp1∂y∂x12∂y∂x22⋯∂y∂xp2⋯⋯⋯⋯∂y∂x1q∂y∂x2q⋯∂y∂xpq⎤⎦⎥⎥⎥⎥⎥⎥⎥ ∂ y ∂ X = [ ∂ y ∂ x 11 ∂ y ∂ x 12 ⋯ ∂ y ∂ x 1 q ∂ y ∂ x 21 ∂ y ∂ x 22 ⋯ ∂ y ∂ x 2 q ⋯ ⋯ ⋯ ⋯ ∂ y ∂ x p 1 ∂ y ∂ x p 2 ⋯ ∂ y ∂ x p q ]

上面给出了矩阵求导的表示形式的具体含义,很容易理解。下面给出几个例子, a a 是实数, β 和 x x 是向量, A A 、 B B 和 C C 是与 x x 无关的矩阵:
∂βTx∂x=β ∂ β T x ∂ x = β

∂xTx∂x=x ∂ x T x ∂ x = x

∂xTAx∂x=(A+AT)x ∂ x T A x ∂ x = ( A + A T ) x

如果你能发现这三个式子左边的分子都是一个数,分母都是一个向量,那么你应该很容易理解这几个等式。是在不能理解就自己把左右两边的矩阵运算拆分开来,然后使用多元函数求导的过程将左右两边分别表示出来就行了。以第一个为例:
βTx=∑i=1nβixi β T x = ∑ i = 1 n β i x i

∂βTx∂x=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂βTx∂x1∂βTx∂x2⋯∂βTx∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂∑ni=1βixi∂x1∂∑ni=1βixi∂x2⋯∂∑ni=1βixi∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢β1β2⋯βn⎤⎦⎥⎥⎥=β ∂ β T x ∂ x = [ ∂ β T x ∂ x 1 ∂ β T x ∂ x 2 ⋯ ∂ β T x ∂ x n ] = [ ∂ ∑ i = 1 n β i x i ∂ x 1 ∂ ∑ i = 1 n β i x i ∂ x 2 ⋯ ∂ ∑ i = 1 n β i x i ∂ x n ] = [ β 1 β 2 ⋯ β n ] = β

这样就能很清楚的理解矩阵矩阵求导的表示形式的具体含义了。

矩阵求导的表示形式之二:向量函数对值/向量/矩阵变量的导数

下面表达式中, y y 表示一个向量函数, x x 表示一个值变量,那么他们的矩阵求导含义为:

∂ y ∂ x = [ ∂ y 1 ∂ x ∂ y 2 ∂ x ⋯ ∂ y n ∂ x ]

接下来是向量函数 y y 对向量变量 x x 的导数含义为:

∂y∂x=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂y1∂x1∂y2∂x2⋯∂ym∂xn∂y1∂x2∂y2∂x2⋯∂ym∂x2⋯⋯⋯⋯∂y1∂xn∂y2∂xn⋯∂ym∂xn⎤⎦⎥⎥⎥⎥⎥⎥⎥ ∂ y ∂ x = [ ∂ y 1 ∂ x 1 ∂ y 1 ∂ x 2 ⋯ ∂ y 1 ∂ x n ∂ y 2 ∂ x 2 ∂ y 2 ∂ x 2 ⋯ ∂ y 2 ∂ x n ⋯ ⋯ ⋯ ⋯ ∂ y m ∂ x n ∂ y m ∂ x 2 ⋯ ∂ y m ∂ x n ]

以一个最为简单的例子为例:
y=Wx y = W x

那么:
∂y∂x=W ∂ y ∂ x = W

最后向量函数 y y 对矩阵变量 W W 的导数是一个张量,具体形状为:
∂y∂W=⎡⎣⎢⎢⎢⎢⎢⎢⎢∂y1∂W11∂y1∂W21⋯∂
矩阵论(八):矩阵微分与矩阵求导 广义逆矩阵 做机器学习的几乎避免不了矩阵求导,尤其是神经网络方面的,反向传播算法说白了就是在做矩阵求导,拿到代价函数对模型中每个参数矩阵的导数,才能找到一个下降方向,进而更新这些参数来降低损失。虽然实际编程时大可不必考虑这些繁琐的数学计算,但是要真正理解凸优化中的一些方法,掌握这个基本的数学工具还是有必要的。 【注1】下面的探讨均在实数域内进行。 【注2】虽然RnR^nRn定义为实数域RRR中的... 阅读详情

相关推荐

反向传播算法中的矩阵求导

反向传播中的梯度计算图矩阵求导多条链接 在神经网络算法中,可以把复杂的网络结构看作一个复合函数。即用一个函数表征输入与输出之间的关系。误差的反向传递,提供了确定这个函数的方法。这里的误差,指的就是梯度。所以,BP算法就是根据复合函数求导的链式法则一步步求得。 计算图 为了更直观的理解这个函数,我们用 m=a+b 、n=c+d 显然, f=mn 本例中前向传播的过程中,f=4.5, a若增加...

qq_36420612的博客 2748

numpy实现两层神经网络

1 理论 损失函数的反向传播就是层层链式求导,得到每个矩阵或者向量的增量,然后更新。 2 实践 import numpy as np x = np.array([[0,0,1], [0,1,1],[1,0,1],[1,1,1]]) y = np.array([[0,1,1,0]]).T w0 = 2*np.random.random((3,4))-1 w1 = 2*np.random.rando...

rosefun96的博客 9830

用CentOS 7安装cadence搭建适合IC Design的科研环境(四)——IC617、MMSIM151、calibre2015安装过程step by step

以下操作都在root权限下执行。建立安装目录建议把这种大型软件装在/opt目录下。mkdir -p /opt/cadence/installscape mkdir -p /opt/mentor/Calibre2015其中-p参数是直接建立父目录。因为IC617和MMISM151会自己建立安装目录,所以在这里没有建相关目录。而calibre则是默认安装在安装包所在的目录下,所以需要提前建立。解压安

maxwell2ic的博客 7万+

10位PWM能否满足电梯±5mm平层精度?4位扩展法让10位PWM达到14位精度

电梯平层精度直接关系乘坐舒适性与安全性,而PWM分辨率是决定精度的关键因素之一。10位PWM能否满足±5mm的平层精度要求?本文从分辨率与物理量的对应关系出发,结合工程精度需求与实战对比,给出明确的选型结论与解决方案,请参考优快云博客《4位扩展法:基于ATtiny816的高精度PWM软件扩展方法》和《低成本高精度PWM:4位扩展法原理、实现和工程实践》。10位PWM的分辨率为 $2^{10} = 1024$ 级。

m0_73354873的博客 243

jane street market prediction 冠军方案 奇巧淫技与topline链接整理(3/3)

目录前言将income 作为loss(优化目标)读取数据,定义优化目标模型训练与微调提交结果多目标学习Topline整理AE+MLP (rank10)Current 17th solution: Ensembles of deep (49 layer) MLPsmixup augmentation: a way to learn from trades with weight=0 (rank4)My (perhaps) over-complicated LSTM solutionCurrent 62nd .

weixin_51484067的博客 2639

Android音频学习(十四)——加载音频设备

loadHwModule 是 Android 音频系统的核心初始化函数,负责加载音频硬件抽象层(HAL)的模块实现。它建立 AudioPolicyService 与底层硬件的桥梁,将配置文件(audio_policy_config.xml)中的标签<module>定义转化为可操作的硬件对象,加载的是音频硬件模块(HAL实现),每个模块对应一种音频设备类型,以动态库的形式存在,负责与底层音频硬件交互。

miemie2014的博客 1731

Wireshark抓包分析:如何从HTTP流量中快速定位黑客攻击痕迹(附pcap文件)

本文通过Wireshark实战,详细解析了如何从HTTP流量中快速定位黑客攻击痕迹。文章提供了核心过滤策略,并重点剖析了如何识别SQL注入攻击的流量特征、揭露WebShell的隐蔽通信以及追踪攻击者在横向移动中的行为,帮助安全人员系统性地从pcap文件中还原完整攻击链。

sprite的博客 1009

Diffusion:如何从噪声中生成清晰图像

扩散模型是当前AI图像生成领域的核心基础,如Stable Diffusion、DALL·E等热门模型均采用该技术。其原理分为训练和推理两个阶段:训练时通过逐步加噪图片,让AI学习如何去除噪声;推理时则从随机噪声出发,结合文本提示逐步去噪生成清晰图像。模型架构通常包含文本编码器、生成模型(如U-Net)和解码器三部分,通过多轮迭代将低维潜在空间表示转化为最终图像。这种技术模拟了艺术家从混沌中雕琢作品的过程,实现了从随机噪声到目标图像的智能生成。

laumy的学习笔记 1274

YOLO26改进策略【卷积层】| DWRSeg :高效获取多尺度上下文信息,二次改进C3k2

本文记录的是利用DWR 模块改进 YOLO26 的特征提取部分。(Dilation-wise Residual)通过两步残差流程(区域残差化-语义残差化)与分支化空洞卷积结合,引导解码器处理特征与跳接特征的多尺度精准融合。本文利用模块,通过区域残差化生成简洁区域型特征图以简化融合基础,再通过分支化空洞卷积捕捉多尺度空间上下文,同时依托残差连接保留原始特征信息,对YOLO26中不同尺度目标特征进行针对性强化、抑制无效背景特征干扰,在特征融合阶段实现多尺度语义与细节信息的高效互补,避免传统多感受野卷积的冗余计算

Limiiiing的博客 159

【Oracle】Oracle rman工具使用(真的细)

Oracle RMAN(Recovery Manager)是Oracle数据库备份和恢复的官方工具,它提供的备份和恢复功能非常强大和可靠。RMAN可以备份整个数据库或特定表空间、数据文件、控制文件和归档日志,同时还可以进行增量备份和增量恢复。RMAN还提供了诸如备份验证、备份优化、备份复制、备份集管理、恢复操作、自动备份、自动恢复等高级功能。它使用的备份和恢复格式是Oracle通用的备份集(Backup Set),这使得备份和恢复非常灵活和高效。

tttzzzqqq2018的博客 8502

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: 基于翻译模型(Trans系列)的知识表示学习
下一篇: 共轭分布和共轭先验
wp_csdn
博客等级 码龄12年 67粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值