矩阵向量标量求导
本文由 简悦 SimpRead 转码, 原文地址 www.dohkoai.com 矩阵、向量本质是多元函数求导,在机器学习、统计学中大量使用向量对向量求导、向量对标量求导、矩阵对矩阵求导等,熟练掌握矩阵、向量求导是学习人工智能算法必备技能。 矩阵、向量都可以表示成张量的形式,向量是矩阵的特殊形式,按实际应用可分为标量对向量求导,标量对矩阵求导、向量对向量求导、矩阵对标量求导、矩阵对向量求导、矩阵对矩阵求导等,在深度学习的反向传播 (BP) 中所涉及求导不外乎以上几种形式,本篇结合实例分别介绍以上各种求导过程。 一、含标量的求导方式 标量指的是一个实数,可看成一维向量,含标量的求导方式情形分类两类,一类是矩阵、向量对标量求导,另一类是标量对向量、矩阵求导。 1.1、矩阵、向量对标量求导 这种情形下矩阵为函数矩阵,向量为函数向量,与数值型矩阵、向量不同,函数矩阵、函数向量中元素都是函数,例如有 n 行 m 列函数矩阵 A,其中元素为一元变量 x 的函数,矩阵对标量 x 求导形式为: 显然形状与矩阵 A 一样,也是一个 n 行 m 列矩阵,再如 y 是一个 n 维列向量 y=(y1,y2,y3,…yn)T,y 对标量 x 求导形式为: 以上两个例子可以看出,矩阵、向量对标量求导的结果是与原矩阵、向量形状一样的矩阵或向量,矩阵对标量求导的典型应用是求解线性微分方程。 1.2、标量对矩阵、向量求导:方阵迹的使用 由于向量是特殊的矩阵,这种类型也可以统称为标量对矩阵求导,标量对矩阵求导在人工智能算法中很常见,在深度学习框架中,如 pytorch、tensorflow 要求损失函数的结果必须是一个实数,即标量,在反向传播时,第一层误差就是标量对向量或矩阵求导,然后再通过链式求导法则将第一层误差传播到其他层级神级元。如有多元函数 y=f(x11,x12,…xnm),自变量 xij 是 n 行 m 列的函数矩阵 x,则标量 y 对矩阵 x 求导为: 自变量 x 为向量时,求导过程与标量对矩阵一样,如有多元函数 y=f(x1,x2,…xn),自变量 x 为 n 维列向量即 x=(x1,x2,…xn)T, 标量 y 对 x 的求导结果为:...