03—《动手学深度学习——Pytorch版》—矩阵计算


前言

为了帮助读者在后面的章节中更好地理解优化问题和方法, 本节提供了一个非常简短的入门教程,帮助读者快速掌握深度学习中常用的微分知识。


矩阵计算

导数的物理意义是切线的斜率,反映了函数的变化情况。
在这里插入图片描述


存在不可微的情况用亚导数表示。
在这里插入图片描述


梯度

梯度是与切线正交的方向,以下展示集中求导的情况。
在这里插入图片描述


1.分子为标量,分母为向量(pytorch中所有向量均理解为列向量)。

  • 求导后是一个长度为n的行向量,即形状为1 × n的二维行向量。
  • 分子为一个函数,函数也是一个标量。
  • 求导后带入(1,1)后方向(2,4)与等高线正交,表示当前点(1,1)的梯度,梯度指向的方向是变化量最大的方向。

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


2.分子为向量,分母为标量。

  • 求导后是一个长度为m的列向量,即形状为m × 1的二维列向量。
  • 这里与上面相反,可以理解为求导的时候是以列为优先的,比如列向量y,依次取y的所有元素分别与x求导,但是在存放时按行优先存放(注意:这里只有当y中单个元素与所有x求导后才存放一行),故这里是列向量。

在这里插入图片描述


3.分子分母均为向量。

  • 分子为m × 1的二维向量,分母为n × 1的二维向量,求导后变为m × n的矩阵。
  • 与上相同求导的时候是以列为优先的(注意:这里的以列优先是指依次按列取,实际上每次取的元素是一行元素,这里有一点绕仔细想象一下),比如列向量y,依次取y的一个元素分别与x中所有元素求导,但是在存放时按行优先存放(注意:这里只有当y中单个元素与所有x求导后才存放一行),故求导后变成m × n的矩阵。

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


4.拓展到矩阵

  • 当分子为m × 1的向量,分母为n × k的矩阵。按照求导的时候是以列为优先,存放的时候按照行优先的原则。比如取出y的第一个元素,与矩阵的第一列做完求导后按行存放,则矩阵发生了转置,因此求导后变成了m × k × n的三维张量。
  • 当分子为m × l的矩阵,分母为n × 1的向量。依次按每一列中y的每一行元素与所有x求导,并存放在一行,须知y分子的形状是不会发生改变的,分母转置即可。
  • 当分子为m × l的矩阵,分母为n × k的矩阵。与上同理

在这里插入图片描述


小结

  • 微分和积分是微积分的两个分支,前者可以应用于深度学习中的优化问题。
  • 导数可以被解释为函数相对于其变量的瞬时变化率,它也是函数曲线的切线的斜率。
  • 梯度是一个向量,其分量是多变量函数相对于其所有变量的偏导数。
  • 链式法则可以用来微分复合函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值