动手学深度学习:矩阵计算

标量导数

在这里插入图片描述

亚导数

在这里插入图片描述

这里的 ∂ \partial 不是二阶偏导数里面的那个符号,而是亚导数,仅仅是符号相同而已

梯度

在这里插入图片描述

这里橙色矩形的长宽比例就代表了是标量还是向量还是矩阵
要注意列向量对标量的导数还是列向量,而标量对列向量的导数变成了行向量,也就是等价于转置操作
向量对向量的导数就张成了矩阵

这里可能不太好理解,结合下面的几张图理解一下

标量对列向量的导数

在这里插入图片描述
在这里插入图片描述

上面的样例可以自己动手写一写看看为什么,还是比较简单的

列向量对标量的导数

在这里插入图片描述

分子布局: 分子为 y 或者分母为 xT (即,分子为列向量或者分母为行向量)
分母布局: 分子为 yT 或者分母为 x (即,分子为行向量或者分母为列向量)
这里简单的理解也就是在标量和求导后的向量是同形状的前提下,标量在哪里就是什么布局,如上图y在分子的位置因此叫做分子布局

向量对向量的导数

在这里插入图片描述

可以看做 ∂ y ∂ x \frac{\partial \bold y}{\partial x} xy 向右张成的矩阵,也就是对xi的多次操作并合成的矩阵
或者可以看做 ∂ y ∂ x \frac{\partial y}{\partial \bold x} xy 向下张成的矩阵
注意看上面两个公式中的加粗,加粗字体为向量

在这里插入图片描述

0 \bm0 0 I \bm I I是全0矩阵和单位矩阵

扩展到矩阵对矩阵的导数

在这里插入图片描述

由图可以总结出:
向量(矩阵)做分子时:shape不变
向量(矩阵)做分母时:shape转置

以上所有的矩阵操作理解即可,在pytorch/mxnet/tensorflow中都有相应的API实现,并不用我们手算,但是最好了解一下输入张量的形状以及输出张量的形状

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GeniusAng丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值