神经网络之理解梯度和方向导数

🔹 一、背景:多变量函数的变化率问题

设有一个多变量函数

f(x,y)或更一般地 f(x1,x2,...,xn) f(x, y) \quad \text{或更一般地 } f(x_1, x_2, \dots, x_n) f(x,y)或更一般地 f(x1,x2,...,xn)

我们想知道:

  • 在点 a⃗=(x0,y0)\vec{a} = (x_0, y_0)a =(x0,y0) 处,沿任意方向 v⃗\vec{v}v 移动一点,函数值会怎么变化

这时,就引入了方向导数梯度这两个概念。


🔹 二、方向导数:函数在任意方向的变化率

✅ 定义:

设 f(x,y)f(x, y)f(x,y) 在某点 a⃗=(x0,y0)\vec{a} = (x_0, y_0)a =(x0,y0) 可微,单位向量为:

v⃗=(v1,v2),且 ∥v⃗∥=1 \vec{v} = (v_1, v_2), \quad \text{且 } \|\vec{v}\| = 1 v =(v1,v2),且 ∥v ∥=1

那么,沿方向 v⃗\vec{v}v 的方向导数定义为:

Dv⃗f(x0,y0)=lim⁡h→0f(x0+hv1,y0+hv2)−f(x0,y0)h D_{\vec{v}} f(x_0, y_0) = \lim_{h \to 0} \frac{f(x_0 + h v_1, y_0 + h v_2) - f(x_0, y_0)}{h} Dv f(x0,y0)=h→0limhf(x0+hv1,y0+hv2)−f(x0,y0)

这表示:如果你从 (x0,y0)(x_0, y_0)(x0,y0) 出发,朝 v⃗\vec{v}v 方向走一点点,函数的增长速率是多少。


🔹 三、梯度向量:函数增长最快的方向

✅ 定义:

梯度向量记为 ∇f(x,y)\nabla f(x, y)∇f(x,y),定义为所有偏导数组成的向量:

∇f(x,y)=(∂f∂x,∂f∂y) \nabla f(x, y) = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) ∇f(x,y)=(∂x∂f,∂y∂f)

几何上:

  • 它是一个向量
  • 指向函数增长最快的方向
  • 模长表示在该点的最大增长速率。

🔹 四、二者的数学联系:内积公式

方向导数其实就是梯度和方向向量的内积

Dv⃗f(x,y)=∇f(x,y)⋅v⃗=(∂f∂x,∂f∂y)⋅(v1,v2)=∂f∂xv1+∂f∂yv2 D_{\vec{v}} f(x, y) = \nabla f(x, y) \cdot \vec{v} = \left( \frac{\partial f}{\partial x}, \frac{\partial f}{\partial y} \right) \cdot (v_1, v_2) = \frac{\partial f}{\partial x} v_1 + \frac{\partial f}{\partial y} v_2 Dv f(x,y)=∇f(x,y)⋅v =(∂x∂f,∂y∂f)⋅(v1,v2)=∂x∂fv1+∂y∂fv2

📌 解释:

  • 梯度是向量;
  • v⃗\vec{v}v 是你关心的方向;
  • 二者内积(投影)给出在这个方向上的函数增长率。

🔹 五、几何直观图景

想象函数 f(x,y)f(x, y)f(x,y) 是一个地形高度图,比如山的高度:

  • 每个点 (x,y)(x, y)(x,y) 都有一个高度 f(x,y)f(x, y)f(x,y);
  • 梯度向量 ∇f(x,y)\nabla f(x, y)∇f(x,y) 指向"爬得最快"的方向;
  • 你朝任意方向走(比如东南方向),方向导数告诉你:坡度是多陡?

📌 梯度的特性:

  • 指向增长最快的方向;
  • 垂直于等高线(等值线)
  • 零梯度点 ⇒ 驻点(可能是极值或鞍点)。

🔹 六、物理解读

1. 温度场(Heat Field)例子:

  • f(x,y)f(x, y)f(x,y) 表示某区域的温度;
  • 梯度 ∇f\nabla f∇f 表示:温度升高最快的方向;
  • 方向导数表示:你朝某方向走,温度的变化速率是多少

🔹 七、例子:具体函数

设 f(x,y)=x2+y2f(x, y) = x^2 + y^2f(x,y)=x2+y2

  1. 梯度:

∇f(x,y)=(2x,2y) \nabla f(x, y) = (2x, 2y) ∇f(x,y)=(2x,2y)

在点 (1,1)(1, 1)(1,1):

∇f(1,1)=(2,2) \nabla f(1, 1) = (2, 2) ∇f(1,1)=(2,2)

表示函数增长最快的方向是向量 (2,2)(2, 2)(2,2),也就是从原点朝右上方。

  1. 方向导数:

设你想知道在点 (1,1)(1, 1)(1,1),朝单位向量 v⃗=12(1,1)\vec{v} = \frac{1}{\sqrt{2}}(1, 1)v =2 1(1,1) 方向的导数:

Dv⃗f(1,1)=∇f(1,1)⋅v⃗=(2,2)⋅12(1,1)=12(2+2)=42=22 D_{\vec{v}} f(1, 1) = \nabla f(1, 1) \cdot \vec{v} = (2, 2) \cdot \frac{1}{\sqrt{2}}(1, 1) = \frac{1}{\sqrt{2}} (2 + 2) = \frac{4}{\sqrt{2}} = 2\sqrt{2} Dv f(1,1)=∇f(1,1)⋅v =(2,2)⋅2 1(1,1)=2 1(2+2)=2 4=22

这表示:沿着 45∘45^\circ45∘ 方向,函数增长最陡(因为梯度方向就正是 45∘45^\circ45∘)。


🔹 八、总结:对比梳理

概念 梯度 ∇f\nabla f∇f 方向导数 Dv⃗fD_{\vec{v}} fDv f
类型 向量 数值(标量)
意义 函数在各方向的增长趋势汇总 沿某个方向的增长率
方向 指向增长最快方向 自定义
几何意义 垂直等高线;最大变化方向 该方向上的"坡度"
计算方式 各偏导组成向量 梯度与单位方向向量点积
相关推荐
FPGA-ADDA几秒前
第四篇:嵌入式系统常用通信接口详解(I2C、SPI、UART、RS232/485、CAN、USB)
人工智能·单片机·嵌入式硬件·fpga开发·信息与通信
智算菩萨4 分钟前
【How Far Are We From AGI】7 AGI的七重奏——从实验室到现实世界的应用图景与文明展望
论文阅读·人工智能·ai·agi·感知
一招定胜负13 分钟前
从 TXT 到 CSV 再到 Flask 部署:语音转写 AI 总结全流程实战
人工智能
梦醒过后说珍重14 分钟前
拒绝显存溢出!手把手教你写原生 4K 超分辨率数据集 (SurgiSR4K) 的 PyTorch DataLoader
深度学习
数字供应链安全产品选型23 分钟前
#AI原生安全,Gartner 点名之后:AIST 技术正在进入深水区
大数据·人工智能
liukuang11024 分钟前
阿里Q3财报:全栈AI驱动下的价值重构
人工智能·重构
landuochong20033 分钟前
claude增加自动化日历提醒功能,并同步到iphone日历
人工智能·iphone·claudecode
lcj09246661 小时前
机房U位资产智能化管理解决方案:破解传统运维痛点
人工智能
正宗咸豆花1 小时前
端到端AI决策架构如何重塑实时协作体验?
人工智能·架构
lally.1 小时前
Claude code agent由哪些东西组成
人工智能