P2-4.5 梯度补充学习:从高中微分到多变量微分¶
Section ID:
P2-4.5Version:v2026.09.15
单变量函数的微分沿一条输入轴求变化率。多变量函数的变化率则取决于同时改变两个输入的比例。即使移动距离相同,函数值也可能增加、减少,两个输入的影响还可能相互抵消。
沿坐标轴与对角方向的变化率¶
下面的函数根据两个输入计算一个数值。
固定 y 改变 x,变化率为3;固定 x 改变 y,变化率为4。这两个偏导数分别以坐标轴正方向为基准。同时改变两个输入时,要根据移动方向组合这些分量。
当前位置 [1,1] 的函数值为7。把方向向量 u=[u₁,u₂] 的长度归一化为1,移动距离 h 时,输入变化就是 [hu₁,hu₂]。使用单位向量,是为了避免在比较方向时连移动距离也改变。
对于可微函数,沿方向 u 的瞬时变化率等于梯度与 u 的点积,称为方向导数。
| 单位方向 u | 移动距离0.1后的位置 | 新函数值 | 变化量 | 方向导数 |
|---|---|---|---|---|
[1,0] | [1.1,1] | 7.3 | +0.3 | 3 |
[0,1] | [1,1.1] | 7.4 | +0.4 | 4 |
[0.6,0.8] | [1.06,1.08] | 7.5 | +0.5 | 5 |
[-0.6,-0.8] | [0.94,0.92] | 6.5 | −0.5 | −5 |
[0.8,-0.6] | [1.08,0.94] | 7 | 0 | 0 |
这个函数是线性的,因此即使位移有限,变化量 = 方向导数 × 距离 也精确成立。对于一般的曲线函数,这只是小位移下的近似。
两个输入的变化相互抵消¶
方向 [0.8,-0.6] 的长度为 √(0.8²+(-0.6)²)=1。沿此方向移动,x 增加带来的 3×0.8=2.4,与 y 减少带来的 4×(-0.6)=−2.4 相互抵消。两个偏导数都不为0,但这个方向的变化率为0。
等高线连接函数值相同的点。本例中,满足 3x+4y=7 的直线经过当前点。绿色的零变化率方向沿着这条线,而梯度方向垂直穿过等高线,指向更大的函数值。
梯度 [3,4] 的长度为5,因此同方向的单位向量为 [0.6,0.8]。比较所有单位方向时,这个方向的瞬时增加率5最大。这里按 √(Δx²+Δy²) 度量坐标距离。
一个点的向量与向量场¶
F=3x+4y 的梯度处处为 [3,4]。但换一个函数,梯度可能随位置变化。下面的函数可以直接计算这种变化。
| 位置 | 函数值 L | 梯度 |
|---|---|---|
[1,0] | 1 | [2,0] |
[0,1] | 2 | [0,4] |
[1,1] | 3 | [2,4] |
[-1,1] | 3 | [-2,4] |
[0,0] | 0 | [0,0] |
为空间中每个位置赋予一个数值的函数称为标量场。在标量场 L 的各位置放置它的梯度向量,就得到向量场。一个梯度描述一个位置,梯度向量场则同时展示多个位置的信息。
箭头指向各点函数值增加的方向。所有箭头按同一比例缩短,长度仍与梯度大小成比例,因此不同于比较方向时使用的单位向量。原点的梯度为0,没有方向箭头。这个函数在原点取得最小值,但其他函数中梯度为0并不总意味着最小值。
零变化率与保持数值不变的区别¶
上述函数在 [1,1] 处的梯度为 [2,4]。方向 [2/√5,-1/√5] 的长度为1,与梯度的点积为0。这个方向的瞬时变化率为0,但沿该方向直行并不能使函数值精确保持不变。
移动距离 h=0.1,函数值从3增加到3.012。因为在瞬时变化率中消失的平方项,在有限位移中仍然存在。前面的线性函数等高线是直线,所以沿抵消方向一直直行也能保持数值不变;这个函数的等高线是曲线,要保持数值相同,就必须沿线不断改变方向。
参数位移与损失变化¶
学习更新式中的 −η∇L 是参数空间中的位移。若把它与损失图上的斜向箭头当成同一件事,就容易混淆移动的坐标轴。单变量损失 Q(w)=(w−3)² 可以清楚地区分两者。
w=4 时导数为2。以学习率0.1更新,Δw=−0.1×2=−0.2,新参数为3.8。损失从1下降到0.64,所以损失变化 ΔQ=−0.36 与参数变化 Δw=−0.2 是不同的数值。
下方的水平箭头表示实际参数位移,曲线上的两点表示更新前后的损失。新位置的斜率不同,因此下次移动前要重新计算。反复更新和学习率选择与前一节的计算相连接。
练习:计算方向与位移¶
第一,求 F=3x+4y 沿方向 [-0.8,0.6] 的变化率。第二,在 L=x²+2y² 的 [-1,1] 处,以学习率0.1更新一次,计算新位置和损失。第三,检查第二个计算是否把两个参数都减小了。
计算与解释
第一题为 3×(-0.8)+4×0.6=0。第二题梯度为 [-2,4],新位置是 [-1,1]−0.1×[-2,4]=[-0.8,0.6]。损失从3降到 0.8²+2×0.6²=1.36。x增大、y减小,因此下降并不意味着把每个坐标的数值都减小。
检查清单¶
- 能否把坐标轴方向的偏导数与任意方向的方向导数联系起来?
- 能否在比较方向时统一移动距离?
- 能否用点积确认两个输入的影响相互抵消的方向?
- 能否区分一个点的梯度与各位置组成的向量场?
- 能否说明瞬时变化率为0为什么不保证有限位移后数值不变?
- 能否区分参数变化量与损失变化量?
来源与参考资料¶
- OpenStax, Calculus Volume 3, 4.6 Directional Derivatives and the Gradient. 偏导数、方向导数、梯度与等高线的关系。确认日期:2026-09-15。函数示例与坐标图均为自行构建。