当前位置: 首页 > news >正文

深度学习 必然用到的 微积分知识

带你看懂 微积分 如何驱动深度学习,让模型在海量数据中迭代进化、越练越强

1 导数与微分——深度学习的调音旋钮

导数 衡量函数输出随输入瞬时变化的速度,是“斜率”的推广。训练神经网络时,我们将 损失函数 视作待“调音”曲线:对每个参数 wiw_iwi 加/减一个无穷小扰动 hhh,就能用

∂L∂wi=lim⁡h→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} wiL=h0limhL(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} wiL

它描述在 高维空间 中沿坐标轴方向的坡度。拿 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 在多维空间,它就是一个复杂地形梯度的方向 = 当下点上升最快的方向下山(最小化损失),就沿着负梯度方向走。

常用优化器:

  • SGDw←w−η∇L\mathbf w \leftarrow \mathbf w-\eta\nabla\mathcal Lwwη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=dudfdxdu

反向传播正是把输出到输入的梯度逐层“链式”传递,既节省内存又避免重复计算。明白这一点后,残差连接梯度消失/爆炸 的原理便一目了然:梯度在链中连续相乘,若每步 <1 会迅速衰减,>1 则指数放大。使用 BatchNorm、Skip Connection 等手段,就是在修改链上的“传动比”以保持信号稳定。

概念数学定义/公式深度学习作用
导数dydx\dfrac{dy}{dx}dxdy单参数敏感度
偏导数∂f∂xi\dfrac{\partial f}{\partial x_i}xif高维坐标方向梯度
梯度∇f\nabla ff指向最快上升/下降
链式法则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 LwwηL更新参数

📊 表格浓缩了微积分四大核心概念及其在深度学习流程中的位置。先理解导数与偏导的局部含义,再把梯度看作整体“方向场”,最后用链式法则把多层网络串联,就能从数学上看清训练过程为何奏效🔥。实践里,通过监控梯度范数与分布,我们能够迅速定位学习率不合适、梯度爆炸等常见坑。

输入数据
损失
模型参数
导数/偏导
梯度 ∇𝓛
优化器SGD/Adam
参数更新

📊 框图展示从数据到梯度再到参数更新的完整闭环。损失函数 像一座地形复杂的山,梯度 是指北针,优化器 决定你以怎样的步幅和惯性下山。调好学习率、批大小等“行走策略”,才能让模型在未见数据上同样表现亮眼 🙂。

新的完整闭环。损失函数 像一座地形复杂的山,梯度 是指北针,优化器 决定你以怎样的步幅和惯性下山。调好学习率、批大小等“行走策略”,才能让模型在未见数据上同样表现亮眼 🙂。

http://www.lryc.cn/news/583375.html

相关文章:

  • RAG实战之dify源码文件解析-pdf文件解析流程
  • 【Oracle报错】[INS-13001] 环境不满足最低要求。
  • 什么是幂等
  • 【03】MFC入门到精通——MFC 添加控件 设置属性 按钮 文本框
  • 第四节 chatPDF
  • 神经网络基础及API使用详解
  • 机器学习(西瓜书) 第四章 决策树
  • 通用游戏前端架构设计思考
  • 自动化测试报告优化:jenkins+jmeter定制化HTML报告生成
  • skywalking-agent-docker镜像
  • 方差、协方差和协方差矩阵
  • Windows 10/11新系统跳过强制联网激活和注册微软账户
  • JavaScript数组键值去重方法
  • 【C++】容器适配器 + stack/queue/deque详解
  • EFK9.0.3 windows搭建
  • Ubuntu连接不上网络问题(Network is unreachable)
  • ubuntu环境下调试 RT-Thread
  • windows部署多实例filebeat监控相同路径下文件
  • 【Kafka】登录日志处理的三次阶梯式优化实践:从同步写入到Kafka多分区批处理
  • SAP-ABAP:SAP中DELECT语句用法详解实例总结
  • Go语言Gin框架实战:开发技巧
  • 2024 睿抗编程技能赛——省赛真题解析(含C++源码)
  • 【Python】遇到 “non-integer arg 1 for randrange() ” 问题的解决方法
  • 技术开发栈中 URL地址末尾加不加 “/“ 有什么区别?
  • 闲庭信步使用图像验证平台加速FPGA的开发:第六课——测试图案的FPGA实现
  • 解决IDEA缺少Add Framework Support选项的可行性方案
  • java中list.remove(item); // 直接移除会导致ConcurrentModificationException
  • 图像自动化处理初探:从拖拽上传到参数设置
  • 基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(5)失败用例截图与重试
  • 制作MikTex本地包可用于离线安装包