很多人学习机器学习,只懂"调模型、跑训练",却不懂大模型训练背后的三层底层数学逻辑:递推负责运行、递归负责拆解、三明治定理负责收敛兜底。
三者各司其职,构成深度学习迭代优化的完整理论骨架。本文结合梯度下降训练逻辑,一次性彻底讲透三者区别与内在关联,帮你跳出"只会调参、不懂原理"的浅层认知。
一、 递推:梯度下降的真实运行逻辑(负责"怎么跑")
一句话定义递推:走一步、算一步,步步有确定值,向前推进,无回溯。
机器学习最核心的梯度下降,在数学本质上就是一个一阶递推公式(纯文本形式):
text
// 梯度下降的一阶递推公式
θ(k+1) = θ(k) - η * ∇L(θ(k))
// 参数说明:
// θ(k) : 第 k 步的模型参数
// η : 学习率
// ∇L : 损失函数 L 在 θ(k) 处的梯度
递推的特征非常纯粹:
-
不需要拆解子问题、不需要钻到最底层、不需要存栈回溯。
-
只要拿到当前第 k 步的参数,就能直接算出第 k+1 步的新参数。
-
训练全过程是典型的线性向前迭代:初始化参数 → 算梯度 → 更新参数 → 再算梯度 → 持续逼近最优解。
所有深度学习框架、所有大模型预训练,在工程层面的底层执行全部是递推迭代。递推的核心价值是「可落地、可循环、可数值计算」。GPU能跑模型,本质就是GPU极其擅长高速执行这种大规模并发的"递推循环"。
二、 递归:层层拆解到底,触底再返回(负责"怎么拆")
一句话定义递归:先向下拆解到最底层基线,拿到基础值,再逐层回溯计算。
递推和递归的最大区别在于:递推是向前走,递归是向下钻。
递归的逻辑是:
问题不能直接求解,必须拆成同结构的子问题,一直拆到最小基线条件出现,产生唯一确定值,再从底向上回代得到结果。
在机器学习中,递归极少用于梯度下降的训练主流程,它只用于特定结构:
· 递归神经网络**(RNN)
· 树模型
· 图网络
· 动态规划优化
为什么大模型主训练不用递归?
原因很简单:递归需要栈空间、需要回溯、计算链路太深,无法做大规模并行迭代。递归深度一旦过深,极易导致栈溢出**(Stack Overflow)。
📌 极简区分:
· 递推:一步一更新,持续向前跑(训练主逻辑)
· 递归:一拆再拆解,触底再回溯(结构拆解逻辑)
三、 三明治定理**:大模型收敛的隐形数学兜底(负责"收不收得住")
很多人不知道:梯度下降在工程上能收敛、大模型能在一定程度上拟合,其底层的理论证明高度依赖于三明治(夹逼)定理的思想。
三明治(夹逼)定理核心:
若 g(x) <= f(x) <= h(x),且上下界的极限相同,则中间函数 f(x) 必然收敛。
放到机器学习场景,逻辑完美契合:
我们无法直接精准求解损失函数迭代序列 L(θ(k)) 的极限。真实模型的损失曲线波动复杂、非线性、极难直接分析。
数学家和优化理论的通用做法就是"三明治夹逼":
-
构造一个可控下界序列 g(θ(k))
-
构造一个可控上界序列 h(θ(k))
-
证明上下界在迭代中持续收敛到同一数值(例如零)
-
推出:中间的真实损失序列 L(θ(k)) 必须跟着收敛。
换言之:
大模型看似自由拟合、梯度自由更新,但本质上是被上下界"夹住",被数学锁死在收敛区间内。
注:在非凸优化(如大模型训练)中,这通常用于证明梯度会趋近于零(到达局部极小值)或保证在特定约束下不会发生梯度爆炸**。它是收敛性分析的"数学保险丝"。
梯度下降是递推运行,三明治定理是收敛保障。
四、 三者完整闭环(机器学习终极底层逻辑)
- 递推:负责「怎么跑」
梯度下降迭代更新,是模型训练的工程本体,决定了模型更新的速度与方向。
- 递归:负责「怎么拆」
复杂结构问题拆解(如RNN、决策树),不参与主训练迭代,负责处理模型的局部子结构。
- 三明治定理:负责「收不收得住」
给递推迭代提供收敛理论兜底,保证无限迭代不会发散、不会失控。
结语
用最通俗的话总结:
递归是往下挖,递推是往前走,三明治是左右夹住、锁定终点。
大模型之所以能训练成功,绝不仅仅是靠算力暴力堆砌,而是三层数学逻辑的完美配合:
递推实现持续迭代优化,递归处理复杂子结构,三明治定理提供全局收敛稳定的理论支撑。
看懂这三层,才算真正看懂机器学习的底层骨架。尤其是当你遇到模型Loss不下降、梯度爆炸、或者网络结构设计瓶颈时,回头想想这三层,往往能帮你跳出思维死胡同。