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

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

设有一个多变量函数

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
类型 向量 数值(标量)
意义 函数在各方向的增长趋势汇总 沿某个方向的增长率
方向 指向增长最快方向 自定义
几何意义 垂直等高线;最大变化方向 该方向上的"坡度"
计算方式 各偏导组成向量 梯度与单位方向向量点积
相关推荐
初恋叫萱萱5 小时前
构建高性能生成式AI应用:基于Rust Axum与蓝耘DeepSeek-V3.2大模型服务的全栈开发实战
开发语言·人工智能·rust
水如烟12 小时前
孤能子视角:“组织行为学–组织文化“
人工智能
大山同学12 小时前
图片补全-Context Encoder
人工智能·机器学习·计算机视觉
薛定谔的猫198212 小时前
十七、用 GPT2 中文对联模型实现经典上联自动对下联:
人工智能·深度学习·gpt2·大模型 训练 调优
壮Sir不壮12 小时前
2026年奇点:Clawdbot引爆个人AI代理
人工智能·ai·大模型·claude·clawdbot·moltbot·openclaw
PaperRed ai写作降重助手12 小时前
高性价比 AI 论文写作软件推荐:2026 年预算友好型
人工智能·aigc·论文·写作·ai写作·智能降重
玉梅小洋12 小时前
Claude Code 从入门到精通(七):Sub Agent 与 Skill 终极PK
人工智能·ai·大模型·ai编程·claude·ai工具
-嘟囔着拯救世界-13 小时前
【保姆级教程】Win11 下从零部署 Claude Code:本地环境配置 + VSCode 可视化界面全流程指南
人工智能·vscode·ai·编辑器·html5·ai编程·claude code
正见TrueView13 小时前
程一笑的价值选择:AI金玉其外,“收割”老人败絮其中
人工智能
Imm77713 小时前
中国知名的车膜品牌推荐几家
人工智能·python