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

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

设有一个多变量函数

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
类型 向量 数值(标量)
意义 函数在各方向的增长趋势汇总 沿某个方向的增长率
方向 指向增长最快方向 自定义
几何意义 垂直等高线;最大变化方向 该方向上的"坡度"
计算方式 各偏导组成向量 梯度与单位方向向量点积
相关推荐
工藤学编程3 小时前
零基础学AI大模型之LangChain智能体之initialize_agent开发实战
人工智能·langchain
king王一帅4 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
泰迪智能科技6 小时前
分享|职业技术培训|数字技术应用工程师快问快答
人工智能
Dxy12393102168 小时前
如何给AI提问:让机器高效理解你的需求
人工智能
少林码僧8 小时前
2.31 机器学习神器项目实战:如何在真实项目中应用XGBoost等算法
人工智能·python·算法·机器学习·ai·数据挖掘
钱彬 (Qian Bin)8 小时前
项目实践15—全球证件智能识别系统(切换为Qwen3-VL-8B-Instruct图文多模态大模型)
人工智能·算法·机器学习·多模态·全球证件识别
没学上了9 小时前
CNNMNIST
人工智能·深度学习
宝贝儿好9 小时前
【强化学习】第六章:无模型控制:在轨MC控制、在轨时序差分学习(Sarsa)、离轨学习(Q-learning)
人工智能·python·深度学习·学习·机器学习·机器人
智驱力人工智能9 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算
AI产品备案9 小时前
生成式人工智能大模型备案制度与发展要求
人工智能·深度学习·大模型备案·算法备案·大模型登记