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

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

设有一个多变量函数

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
类型 向量 数值(标量)
意义 函数在各方向的增长趋势汇总 沿某个方向的增长率
方向 指向增长最快方向 自定义
几何意义 垂直等高线;最大变化方向 该方向上的"坡度"
计算方式 各偏导组成向量 梯度与单位方向向量点积
相关推荐
测试员周周4 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
K姐研究社6 小时前
怎么用AI制作电商口播视频,开拍APP一键生成
人工智能·音视频
LaughingZhu6 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
传说故事7 小时前
【论文阅读】MotuBrain: An Advanced World Action Model for Robot Control
论文阅读·人工智能·具身智能·wam
北京耐用通信7 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
火山引擎开发者社区7 小时前
TRAE × 火山引擎 Supabase:为你的 AI 应用装上“数据引擎”
人工智能
weixin_446260858 小时前
[特殊字符] 视觉Transformer (ViT) 原理及性能突破:从CNN到大规模自注意力机制的迁移
深度学习·cnn·transformer
小a彤8 小时前
GE 在 CANN 五层架构中的位置
人工智能·深度学习·transformer
前端若水8 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
Upsy-Daisy8 小时前
AI Agent 项目学习笔记(八):Tool Calling 工具调用机制总览
人工智能·笔记·学习