深度学习 必然用到的 微积分知识
带你看懂 微积分 如何驱动深度学习,让模型在海量数据中迭代进化、越练越强
1 导数与微分——深度学习的调音旋钮
导数 衡量函数输出随输入瞬时变化的速度,是“斜率”的推广。训练神经网络时,我们将 损失函数 视作待“调音”曲线:对每个参数 wiw_iwi 加/减一个无穷小扰动 hhh,就能用
∂L∂wi=limh→0L(wi+h)−L(wi)h \frac{\partial \mathcal L}{\partial w_i}=\lim_{h\to0}\frac{\mathcal L(w_i+h)-\mathcal L(w_i)}{h} ∂wi∂L=h→0limhL(wi+h)−L(wi)
得到损失变化率。直观地说,导数告诉我们往哪边拧旋钮能把噪音变小。
深度学习框架(PyTorch、TensorFlow)的 自动微分 引擎正是批量把这一步做掉,生成反向传播图。实战中,只要保证损失关于参数 可微,梯度才存在
2 偏导数——抓住多变量的关键方向
真实网络包含上百万参数,损失 L(w)\mathcal L(\mathbf w)L(w) 是多元函数。固定其他维度,仅改变 wiw_iwi 时的导数就叫 偏导数:
∂L∂wi \frac{\partial \mathcal L}{\partial w_i} ∂wi∂L
它描述在 高维空间 中沿坐标轴方向的坡度。拿 CNN 卷积核举例,偏导决定了每个权重对输出特征图的单独影响;我们可以用热力图直观看到“哪些像素更敏感”。
理解偏导也帮我们调 学习率:若某一层梯度普遍过大/过小,可用 梯度裁剪 或 归一化 保持训练稳定。
3 梯度——损失山谷里的指南针
📊 多元函数的梯度向量。颜色渐变+黑箭头直观说明梯度永远指向上升最快。梯度的大小 = 坡度的陡峭程度。 梯度的方向 = 变化最快的方向。优化时沿 负梯度方向 更新参数,才能找到损失最小值。
连结一个多元函数对其所有变量的偏导数,以得到该函数的梯度向量。把所有偏导数拼成向量 ∇wL=[∂L/∂w1,… ]\nabla_{\mathbf w}\mathcal L=[\partial \mathcal L/\partial w_1,\dots]∇wL=[∂L/∂w1,…] 就得到 梯度,它总是指向函数增长最快的方向。
单变量函数 对于f(x)f(x)f(x),梯度就是导数f′(x)f'(x)f′(x)表示函数在当前位置的斜率,如果导数 > 0,函数上升,如果导数 < 0,函数下降
多元函数 对于L(w1,w2,...,wn)L(w_1,w_2,...,w_n)L(w1,w2,...,wn),梯度是对所有自变量求偏导,拼成的 向量。
想象 L(w)L(w)L(w) 是一座起伏的山,横轴是参数 www ,纵轴是损失值 LLL 在多维空间,它就是一个复杂地形梯度的方向 = 当下点上升最快的方向 想下山(最小化损失),就沿着负梯度方向走。
常用优化器:
- SGD:w←w−η∇L\mathbf w \leftarrow \mathbf w-\eta\nabla\mathcal Lw←w−η∇L 以固定步长沿负梯度方向更新
- Adam:使用一阶矩(梯度均值)与二阶矩(梯度方差)进行自适应学习率调整。其本质依旧沿负梯度方向,只是动态调整步幅以避免震荡或陷入局部最优。
📊 左右对照,将输入变量经过函数盒输出标量,再汇总成列向量,把所有偏导数拼成梯度。即对多元函数所有自变量求偏导,拼成的向量。
4 链式法则——搭起复杂模型的桥梁
深度网络是多层复合函数 f(g(h(x)))f(g(h(x)))f(g(h(x)))。链式法则 给出分层求导的公式:
dfdx=dfdu⋅dudx \frac{df}{dx}=\frac{df}{du}\cdot\frac{du}{dx} dxdf=dudf⋅dxdu
反向传播正是把输出到输入的梯度逐层“链式”传递,既节省内存又避免重复计算。明白这一点后,残差连接、梯度消失/爆炸 的原理便一目了然:梯度在链中连续相乘,若每步 <1 会迅速衰减,>1 则指数放大。使用 BatchNorm、Skip Connection 等手段,就是在修改链上的“传动比”以保持信号稳定。
概念 | 数学定义/公式 | 深度学习作用 |
---|---|---|
导数 | dydx\dfrac{dy}{dx}dxdy | 单参数敏感度 |
偏导数 | ∂f∂xi\dfrac{\partial f}{\partial x_i}∂xi∂f | 高维坐标方向梯度 |
梯度 | ∇f\nabla f∇f | 指向最快上升/下降 |
链式法则 | dfdx=dfdududx\dfrac{df}{dx}=\dfrac{df}{du}\dfrac{du}{dx}dxdf=dudfdxdu | 反向传播核心 |
损失函数 | L\mathcal LL | 评价模型好坏 |
优化器 | w←w−η∇L\mathbf w\leftarrow\mathbf w-\eta\nabla\mathcal Lw←w−η∇L | 更新参数 |
📊 表格浓缩了微积分四大核心概念及其在深度学习流程中的位置。先理解导数与偏导的局部含义,再把梯度看作整体“方向场”,最后用链式法则把多层网络串联,就能从数学上看清训练过程为何奏效🔥。实践里,通过监控梯度范数与分布,我们能够迅速定位学习率不合适、梯度爆炸等常见坑。
📊 框图展示从数据到梯度再到参数更新的完整闭环。损失函数 像一座地形复杂的山,梯度 是指北针,优化器 决定你以怎样的步幅和惯性下山。调好学习率、批大小等“行走策略”,才能让模型在未见数据上同样表现亮眼 🙂。
新的完整闭环。损失函数 像一座地形复杂的山,梯度 是指北针,优化器 决定你以怎样的步幅和惯性下山。调好学习率、批大小等“行走策略”,才能让模型在未见数据上同样表现亮眼 🙂。