跳转至

专题 8.1:神经网络逼近理论

第八批导读:第八批共六个专题,覆盖深度学习与具身智能的数学基础。推荐学习顺序为 8.1(逼近理论)→ 8.2(泛化理论)→ 8.3(Transformer 数学)→ 8.4(Diffusion Models)→ 8.5(VLA 框架),专题 8.6(等变网络) 可与 8.3-8.5 并行学习。逻辑关系:8.1 提供表达力基础,8.2 回答有限样本问题,8.3-8.4 给出两大主力架构的数学,8.5 将前述架构集成为机器人策略,8.6 提供对称性约束的统一语言。

定位:本专题是第八批"深度学习与具身智能数学"的地基层。它不教你调超参数,而是回答一个根本问题——神经网络凭什么能逼近几乎任何函数?逼近得有多好?深度和宽度各自扮演什么角色? 这是理解后续泛化理论(专题 8.2)、Transformer 数学(专题 8.3)、Diffusion Models(专题 8.4)以及 VLA 框架(专题 8.5)的共同数学起点。

与机器人的关系:◉ 全方向核心——无论你做 RL 策略逼近、神经 Lyapunov/CBF 证书、Koopman 算子学习还是 VLA 端到端策略,你都需要知道"这个网络理论上能不能逼近目标函数,以及需要多少参数"。逼近理论是回答这些问题的唯一严格工具。

性质标注:◉ 全方向核心 / ○ 推荐选修 / △ 了解即可——用于标注每个子节对机器人不同方向的重要性。

难度标注:⭐ 必学 / ⭐⭐ 核心 / ⭐⭐⭐ 进阶 / ⭐⭐⭐⭐ 研究级——标注在每个小节标题之后。


前置自测 ⭐

📋 答不出 ≥ 2 题 → 先回第零批 B1/B2/B3 复习,否则本专题的证明对你只是符号游戏。

编号 问题 答不出 → 回顾
1 Hahn-Banach 定理(解析形式)说的是什么?给定一个子空间上的有界线性泛函,它保证了什么样的延拓? 第零批 B3 #72
2 Riesz 表示定理在 \(C(K)^*\)(紧集上连续函数空间的对偶)上给出怎样的表示?对偶元素长什么样? 第零批 B3 #78
3 Stone-Weierstrass 定理要求被逼近的函数族满足哪三个条件?它和经典 Weierstrass 多项式逼近定理是什么关系? 第零批 B1 #33
4 什么是 Fourier 变换?Fourier 逆变换公式怎么写?为什么"Fourier 幅度衰减快"对应"函数光滑"? 第零批 B2
5 在 Hilbert 空间里,凸集上的最近点投影定理是什么?它为什么保证投影方向与残差的内积有符号控制? 第零批 B3 #83

自测说明:本专题与一般工科教材最大的不同是——它**真的要用泛函分析**。第 1、2 题是 Cybenko 定理的两块基石,第 3 题是 Hornik 定理的基石,第 4 题是 Barron 定理的基石,第 5 题是贪心引理的基石。如果这五道题里有两道你只能"听过名字但说不清",请务必先回第零批。这不是客套——下文每一个证明都会在某一步直接调用它们,你会清楚地看到"补课比硬啃更高效"这句话不是吓唬人。


本章目标

学完本专题后,你应该能够:

  1. 精确陈述三个经典万能逼近定理(Cybenko / Hornik-Stinchcombe-White / Leshno-Lin-Pinkus-Schocken)的定理条件和结论,并清楚说出它们**不**告诉我们什么(没有速率、没有构造、没有有限宽度推广、没有泛化保证)。
  2. 完整复现 Barron 定理的证明链:从 Fourier 积分表示 → Jones-Barron-Maurey 贪心引理 → \(O(1/\sqrt{n})\) 维度无关速率,并解释为什么这"破解"了某些函数类的维度灾难,而又为什么这种破解是有代价、有边界的。
  3. 陈述并理解 Yarotsky 2017 的 ReLU 逼近率:Sobolev 空间 \(W^{n,\infty}\) 上的上下界,以及"近似乘法"和"位提取"两个核心构造技巧的原理。
  4. 理解深度分离定理的几何直觉:为什么深度网络能用指数级更少的参数表示高频振荡函数(仿射区域计数),以及为什么深度 \(>4\) 的分离遇到了电路复杂度障碍。
  5. **理解 Kolmogorov-Arnold 表示定理**及其与现代 KAN 网络的关系,说清楚它为什么长期"不实用"又为什么 2024 年重新受到关注。
  6. 将逼近理论映射到机器人应用:策略逼近(RL)、值函数逼近(TD 学习)、Lyapunov/CBF 证书网络、Koopman 算子、动力学模型——每个场景的目标函数属于哪个函数类?需要多少参数?哪里会失效?
  7. **建立"逼近 vs 泛化 vs 优化"三角关系**的概念框架,理解为什么"网络足够大"远不等于"能学好"。

本章知识导航

在深入推导之前,先用一张地图说清楚"本章一共要学什么、它们之间什么关系、推荐怎么走"。

神经网络逼近理论的发展可以浓缩成一条主线——从"能不能"到"好不好"到"深度为何重要"再到"具体结构能利用什么"。这条主线对应四个历史阶段,也对应本章的四个核心知识块:

阶段 年代 回答的问题 本章对应节 一句话核心
G1 存在性 1989-1993 网络**能不能**逼近任意连续函数? §8.1.1 能,单隐层就够(但不告诉你要多少神经元)
G2 定量速率 1993-1999 逼近**有多快**?能否避开维度灾难? §8.1.2-§8.1.3 对特定函数类(Barron)可以做到维度无关 \(O(1/\sqrt{n})\)
G3 深度分离 2016-2022 **深度**为什么重要? §8.1.4 深度是"免费倍增器",浅层需指数级更多神经元
G4 结构特化 1957/2017-2025 网络能利用目标函数的什么**结构**? §8.1.5-§8.1.6 组合结构、对称性、Kolmogorov 分解都能降维

这四个块不是平行罗列,而是层层递进、彼此回答上一层留下的问题:

  • G1(§8.1.1)建立地基:证明"存在一个网络足够好"。但它留下三个巨大的问号——要多少神经元?怎么找到权重?有限样本下能泛化吗?
  • G2(§8.1.2-§8.1.3)回答第一个问号:给出逼近误差关于神经元数 \(n\) 的衰减速率。这里出现本章最深刻的正面结果——Barron 定理的维度无关速率(§8.1.2),以及 ReLU 网络的最优 Sobolev 速率(§8.1.3)。
  • G3(§8.1.4)从另一个维度切入:前两块只关心"宽度/神经元总数",G3 问"同样的参数预算,深一点和宽一点有区别吗"。答案是有,而且是指数级的区别。
  • G4(§8.1.5-§8.1.6)回到本质:为什么有些函数能避开维度灾难?因为它们有**结构**——组合稀疏(§8.1.5)、对称不变、或可被一维函数叠加表示(Kolmogorov-Arnold,§8.1.5)。§8.1.6 把这一切落到机器人的具体目标函数上。
  • §8.1.7 收口:把逼近放回"逼近-泛化-优化"三角里,说清楚逼近理论的边界——它只回答三个问题中的一个。

推荐阅读路径

  • 主干路径(必走):§8.1.1 → §8.1.2 → §8.1.3 → §8.1.4 → §8.1.6。这条线让你掌握"网络能逼近什么、多快、深度为何重要、机器人里怎么用"。
  • 进阶分支(按需):§8.1.5(组合函数与 Kolmogorov-Arnold)适合关心"为什么深度网络在物理系统上特别好"的读者;§8.1.7(三角关系)适合想建立全局图景、准备读综述的读者。
  • 如果时间极紧:至少读 §8.1.1 的三定理陈述 + §8.1.2 的 Barron 定理 + §8.1.6 的机器人应用表。这三处构成"够用的最小集"。

导航提醒:这张地图只展示**结构**,不展开具体内容。每一节内部都会按"动机 → 反面 → 历史 → 理论 → 陷阱 → 练习"的顺序重新铺开。读的时候不妨经常回到这张表,问自己:"我现在在哪个阶段?这个定理回答的是上一阶段留下的哪个问号?"

前置知识桥接

本专题坐落在两类前置知识之上:第零批的分析学工具(提供证明的语言)和**后续批次的应用场景**(提供动机的来源)。这里把它们逐一激活,让你不必翻回去也能跟上。

来自第零批 B3(泛函分析)——Cybenko 定理的两块基石

回顾 Hahn-Banach 定理(解析形式):如果在一个赋范空间 \(X\) 的子空间 \(M\) 上有一个有界线性泛函 \(f\),那么它可以**延拓**到整个 \(X\) 上而不增大范数。这个定理的威力在于它的一个推论——分离形式:如果 \(M\)\(X\) 的真闭子空间(\(M \neq X\)),那么存在一个非零的有界线性泛函 \(L \in X^*\),使得 \(L\) 在整个 \(M\) 上恒为零。这正是 Cybenko 反证法的入口:假设网络函数张成的空间不是全空间,就一定存在一个"看不见网络函数"的泛函。

回顾 Riesz 表示定理(在 \(C(K)^*\) 上的版本):紧集 \(K\) 上连续函数空间 \(C(K)\) 的对偶空间,恰好是 \(K\) 上的有限带符号正则 Borel 测度空间。也就是说,每个有界线性泛函 \(L\) 都能写成对某个测度 \(\mu\) 的积分 \(L(h) = \int_K h \, d\mu\)。Cybenko 用它把"抽象的泛函为零"翻译成"具体的测度对所有网络函数积分为零",从而可以动用 Fourier 分析。

来自第零批 B1(实分析)——Hornik 定理的基石

回顾 Stone-Weierstrass 定理:设 \(K\) 是紧 Hausdorff 空间,\(\mathcal{A} \subset C(K)\) 是一个**子代数**(对加法、数乘、乘法**封闭),如果 \(\mathcal{A}\) **分离点(任意两个不同的点都有 \(\mathcal{A}\) 中函数取不同值)且**包含非零常数**,那么 \(\mathcal{A}\)\(C(K)\) 中稠密。它是经典 Weierstrass 多项式逼近定理的巨大推广——多项式恰好是分离点、含常数的子代数。下文我们会看到一个微妙之处:神经网络的有限线性组合**对乘法不封闭**,所以不能直接套用,这正是 Hornik 原始证明要绕的弯。

来自第零批 B2(测度论/Fourier)——Barron 定理的基石

回顾 Fourier 逆变换:在合适条件下,\(f(x) = \int_{\mathbb{R}^d} e^{i\xi \cdot x} \hat{f}(\xi) \, d\xi\),其中 \(\hat{f}\)\(f\) 的 Fourier 变换。这把"\(f\) 是什么"翻译成"\(f\) 是各种频率 \(\xi\) 的复指数 \(e^{i\xi\cdot x}\) 的叠加"。Barron 定理的第一步就是把这个积分看成"无穷多个神经元的加权平均",然后用贪心引理把无穷多个压缩成有限个。

来自后续批次——动机的来源

来源 提供什么动机 在本专题哪里用到
第六批 RL 数学 策略 \(\pi(s)\)、值函数 \(V(s)\) 都用网络逼近——它们属于哪个函数类? §8.1.6 策略/值函数逼近
第三批 最优控制 神经 Lyapunov 函数 \(V(x)\)、CBF 证书需要被网络表示 §8.1.6 神经 Lyapunov/CBF
第四批 动力学 刚体动力学 \(F(q,v,u)\) 是 SE(3) 上的光滑映射,可被网络学习 §8.1.6 动力学模型逼近

桥接提醒:本专题是少数"前置硬依赖"非常重的专题。如果你在前置自测里发现 B3 的两块基石(Hahn-Banach、Riesz)记不清,强烈建议先回去把那两个定理的**陈述**和**一个应用例子**过一遍——不需要重新证明它们,但需要能在看到"由 Hahn-Banach"时立刻知道这一步在干什么。

如果跳过本章会怎样

不学逼近理论,你在后续会撞上两类具体的墙:

场景一:调网络规模时全靠玄学。 你在训练一个 7-DOF 机械臂的动力学模型,MLP 用了三层各 256 维,效果不好。你会问:"是该加宽到 512,还是加深到五层?还是换激活函数?"没有逼近理论,你只能盲目试错。有了它,你会知道:动力学是高阶光滑的(Yarotsky 速率适用),参数量大致应在 \(O(\varepsilon^{-d/n})\) 量级;而"加深"对组合结构的物理系统(Poggio-Mhaskar)比"加宽"更划算。逼近理论把"玄学调参"变成"有依据的估算"。

场景二:误判网络的能力边界,做安全关键系统时栽跟头。 你想用神经网络学一个 bang-bang 最优控制策略(碰到边界就全速反向),训练误差怎么都降不下去。如果不懂逼近理论,你可能怀疑是优化器或数据问题。但真正的原因是——bang-bang 策略在切换面上**不连续**,根本不属于经典万能逼近定理所覆盖的 \(C(K)\),sup 范数逼近在数学上就不可能。懂逼近理论的人会立刻换用 \(L^p\) 逼近或随机化策略,而不是徒劳地调超参数。

预计阅读时间

阅读方式 时间 适合谁
精读(含全部推导与练习) 18-25 小时(分散在 3-4 周) 准备深耕深度学习理论、做相关博士课题的读者
速读(跳过证明细节,抓定理陈述 + 直觉 + 机器人应用) 5-7 小时 已有 ML 背景、想建立全局图景的读者
速查(只看定理速查表 + 维度灾难对比表 + 故障排查手册) 40 分钟 遇到具体"网络够不够大"问题时回来查

§8.1.0 为什么机器人工程师必须懂逼近理论 ⭐

动机:一个看似简单却暗藏深渊的问题

让我们从一个你很可能已经做过的事情开始:用神经网络拟合一个函数

你写了一个 MLP,喂进去状态 \(s\),吐出来动作 \(a\),用监督学习或强化学习训练它去模仿一个专家策略。它工作了。于是你自然地相信——"神经网络是万能函数逼近器,给足参数和数据,它能学会任何东西"。

这句话你大概听过无数次。它甚至被印在各种教科书和博客里,仿佛是一条不需要证明的公理。但请停下来想三个问题:

  1. "能逼近任何东西"——这个"任何"到底有多大? 是任何连续函数?任何可测函数?任何函数(包括处处不连续的)?这三者的差别是天壤之别。
  2. "给足参数"——到底要多少? 是 100 个?\(10^6\) 个?还是 \(10^{100}\) 个(即理论上存在但宇宙里装不下)?如果某个函数需要的神经元数随维度指数增长,那"万能"在工程上就是一句空话。
  3. "它能学会"——"能表示"和"能学会"是一回事吗? 一个网络在参数空间里**存在**一组完美的权重,和你的 SGD **能找到**这组权重,完全是两件事。

这三个问题,恰好对应逼近理论的三个层次:存在性、速率、可学性。而这三个问题的答案,往往与直觉相悖。

反面:如果把"万能逼近"当成"什么都能学",会犯什么错

假设你不学逼近理论,把"神经网络是万能逼近器"当成一句可以无限套用的咒语。会发生什么?

考虑一个真实的机器人场景。你在做一个高维(比如 \(d = 100\) 维状态)的操纵任务,最优值函数 \(V^*(s)\) 你一无所知,只知道它"应该是个挺复杂的函数"。你的直觉告诉你:"反正网络万能,我堆够参数就行。"于是你不断加大网络。但如果 \(V^*\) 恰好是一个一般的 \(C^2\) 光滑函数(没有任何特殊结构),那么经典逼近论的下界告诉你:要达到误差 \(\varepsilon\),你需要的参数量是 \(O(\varepsilon^{-d/2}) = O(\varepsilon^{-50})\) 量级。取 \(\varepsilon = 0.1\),这个数大约是 \(10^{50}\)——比可观测宇宙的原子总数还多。你的网络永远不可能"堆够"。

这就是**维度灾难(curse of dimensionality)**。它不是工程难题,而是数学下界——再好的优化器、再多的数据都无法绕过。如果你不知道它的存在,你会以为是自己调参不行,浪费几个月在一个数学上注定失败的方向上。

反过来,如果同一个 \(V^*\) 恰好属于 Barron 类(Fourier 谱衰减足够快),那么 Barron 定理告诉你:误差 \(O(1/\sqrt{n})\)与维度 \(d\) 完全无关\(n = 10^4\) 个神经元就能把误差压到 \(0.01\)。同样是 \(d = 100\),一个函数需要 \(10^{50}\) 个参数,另一个只需要 \(10^4\)——差别完全取决于目标函数的结构,而不取决于网络有多"万能"。

本质洞察:神经网络的"万能"是一个**存在性陈述**,它不承诺任何效率。决定一个函数"好不好逼近"的,从来不是网络本身,而是**目标函数的内在结构**——Fourier 谱衰减、组合稀疏性、对称不变性。逼近理论的全部精髓,可以归结为一句话:"网络能利用目标函数的哪些结构来对抗维度灾难。" 不理解这一点,你对神经网络的全部直觉都建立在沙子上。

历史:从一个哲学猜想到一门严格学科

逼近理论的"史前史"可以追溯到 1900 年。希尔伯特(David Hilbert)在巴黎国际数学家大会上提出了著名的 23 个问题,其中**第 13 问题**问的是:能否把一般的七次方程的根(一个三变量函数)表示成两变量连续函数的叠加?这个问题表面上关于代数方程,实质上是在问——多变量函数能否被少数几个低变量函数"组装"出来?

1957 年,年轻的苏联数学家阿诺德(Vladimir Arnold,当时还是柯尔莫哥洛夫的学生)和他的导师柯尔莫哥洛夫(Andrey Kolmogorov)给出了一个惊人的肯定回答——任何多元连续函数都可以表示成有限多个一元连续函数和加法的叠加(Kolmogorov-Arnold 表示定理,详见 §8.1.5)。这是逼近理论史上第一个"用简单部件组装任意复杂函数"的严格定理,也是神经网络"万能性"思想的最早源头之一。

但 Kolmogorov-Arnold 定理的一元函数极其病态(处处不可导、依赖目标函数),长期被认为"理论优美、毫无实用价值"。真正点燃神经网络逼近理论的,是 1989 年——**三组人几乎同时、独立地**证明了万能逼近定理:Cybenko 用泛函分析(Hahn-Banach + Riesz),Hornik-Stinchcombe-White 用 Stone-Weierstrass,Funahashi 用 Fourier 分析。这一年被公认为神经网络逼近理论的"奠基年"。

此后三十多年,这门学科沿着"能不能 → 好不好 → 深度为何重要 → 结构如何利用"的主线层层深入,直到 2024 年 KAN 网络的出现,又把 1957 年的 Kolmogorov-Arnold 定理重新拉回舞台中央。这是一条罕见的、横跨整个二十世纪后半叶和二十一世纪初的连贯故事线,而你正站在它的最新一页。

理论:本专题的核心问题与组织方式

把上面的动机收拢,本专题要严格回答的核心问题是:

\[ \boxed{\text{给定函数类 } \mathcal{F} \text{ 和网络结构 } \mathcal{N},\ \inf_{g \in \mathcal{N}} \sup_{f \in \mathcal{F}} \|f - g\| \text{ 有多大?}} \]

这个量叫做网络结构 \(\mathcal{N}\) 在函数类 \(\mathcal{F}\) 上的**逼近误差**(approximation error)。它依赖三个东西:

  1. 目标函数类 \(\mathcal{F}\):连续函数?Sobolev 光滑函数?Barron 类?组合函数?——这是决定能否避开维度灾难的关键。
  2. 网络结构 \(\mathcal{N}\):激活函数(sigmoid / ReLU / ...)、宽度、深度。
  3. 度量 \(\|\cdot\|\):sup 范数(最严格,要求处处接近)还是 \(L^p\) 范数(允许小集合上偏差大)。

整个专题就是在不同的 \((\mathcal{F}, \mathcal{N}, \|\cdot\|)\) 组合下计算或估计这个逼近误差。下面这张核心定理总览表是你的"作战地图",涉及 13 个核心定理/结果,按证明掌握深度标注:[完] = 完整证明掌握、[骨] = 证明骨架掌握、[陈] = 仅陈述掌握。

# 定理 深度 对应节 机器人应用关键词
1 Cybenko 万能逼近定理 (sigmoid) §8.1.1 策略/值函数表达力的理论保证
2 Hornik-Stinchcombe-White UAT §8.1.1 架构(而非激活)赋予万能性
3 Leshno-Lin-Pinkus-Schocken 充要条件 §8.1.1 非多项式 ⟺ 万能逼近
4 Barron 定理 \(O(1/\sqrt{n})\) 维度无关率 §8.1.2 RL 策略逼近维度可行性
5 Jones-Barron-Maurey 贪心引理 §8.1.2 Frank-Wolfe 对偶、变差范数优化
6 Yarotsky ReLU Sobolev 逼近率 §8.1.3 动力学模型逼近参数量估算
7 Yarotsky 近似乘法构造 §8.1.3 ReLU 深度的表达力来源
8 Telgarsky 深度分离 §8.1.4 深度网络 vs 浅层网络指数差
9 Eldan-Shamir 3 层 vs 2 层分离 §8.1.4 径向函数的维度指数下界
10 Kolmogorov-Arnold 表示定理 §8.1.5 KAN 网络、可解释性
11 Poggio-Mhaskar 组合函数 curse-breaking §8.1.5 物理系统的组合结构优势
12 Yun et al. Transformer UAT §8.1.6 序列策略的表达力保证
13 Chen-Chen / DeepONet 算子逼近 §8.1.6 PDE 代理/动力学算子学习

必完证清单(建议达到闭卷独立书写):#1, #4, #5, #7——即 Cybenko 定理、Barron 定理、贪心引理、近似乘法构造。这四个是本专题的"硬核",其余以理解陈述和直觉为主。

过渡到 §8.1.1:动机已经铺好——我们知道了"为什么要问逼近能力",也知道了"答案取决于函数类结构"。现在从最基础的问题开始:网络到底能不能逼近任意连续函数? 这是 1989 年三组人回答的"存在性"问题。下一节我们将完整走一遍 Cybenko 的证明,看泛函分析如何被精确地用在这里。


§8.1.1 经典万能逼近定理——存在性结果 ◉ ⭐⭐

本节定位:整个逼近理论的起点,回答"能不能"的问题。档位 3 必学。这是后续一切定量结果的逻辑前提——如果连"能逼近"都不成立,谈"逼近多快"就毫无意义。

动机:我们到底想证明什么

回到上一节的核心问题。我们想要的,是一个尽可能强的保证,形如:

"只要网络足够大,它就能任意精确地逼近**任何**目标函数。"

但这句话里每一个词都需要被精确化,否则它要么是错的,要么是空洞的。让我们逐个钉死:

  • "网络":先考虑最简单的——单隐层前馈网络。它的形式是 $$ G(x) = \sum_{j=1}^{N} \alpha_j \, \sigma(w_j \cdot x + \theta_j), $$ 其中 \(x \in \mathbb{R}^n\) 是输入,\(w_j \in \mathbb{R}^n\) 是第 \(j\) 个神经元的权重向量,\(\theta_j \in \mathbb{R}\) 是偏置,\(\alpha_j \in \mathbb{R}\) 是输出层权重,\(\sigma\) 是激活函数,\(N\) 是神经元个数(隐层宽度)。为什么先考虑单隐层?因为如果连最简单的单隐层都已经万能,那"深度"的价值就不在"能不能逼近",而在"逼近效率"——这恰好把 §8.1.1(存在性)和 §8.1.4(深度分离)的分工划清了。

  • "任何目标函数":先限定为**紧集上的连续函数** \(f \in C(I^n)\),其中 \(I^n = [0,1]^n\) 是单位超立方体。为什么是连续?因为连续函数已经覆盖了绝大多数工程目标,而且它有良好的逼近论性质(Stone-Weierstrass 的舞台)。为什么是紧集?因为在无界域上"任意精确逼近"通常不可能(网络在无穷远处的行为受激活函数限制)。

  • "任意精确逼近":在 sup 范数(一致范数)意义下,即 \(\|f - G\|_\infty = \sup_{x \in I^n} |f(x) - G(x)| < \varepsilon\)。sup 范数是最严格的——它要求网络在**每一个点**都接近目标,不允许"大部分点很准、个别点离谱"。

  • "足够大":神经元个数 \(N\) 可以任意大(但有限)。

钉死之后,我们要证的命题变成一句干净的数学陈述:

\[ \boxed{\text{单隐层 } \sigma\text{-网络的集合 } \mathcal{G} \text{ 在 } (C(I^n), \|\cdot\|_\infty) \text{ 中稠密。}} \]

"稠密"是这里的关键词。它的严格含义是:\(\mathcal{G}\) 的闭包等于整个 \(C(I^n)\)。等价地——任给目标 \(f\) 和精度 \(\varepsilon\),都能在 \(\mathcal{G}\) 里找到一个 \(G\) 落在 \(f\)\(\varepsilon\)-邻域内。这正是我们想要的"足够大就够准"。

反面:如果不用泛函分析,会卡在哪里

一个自然的念头是:能不能"直接构造"出逼近 \(f\) 的网络?比如把 \([0,1]^n\) 切成小格子,每个格子上用一个神经元去拟合 \(f\) 的局部值?

这个思路对 ReLU 这种分段线性激活、且维度低时勉强可行(本质上是在做分片线性插值),但对 sigmoid 激活、高维情形会立刻失控:sigmoid 是**全局的**(每个神经元的输出在整个空间都非零),你无法用它干净地"只影响一个格子"。更要命的是,"构造法"需要你对每个 \(f\) 都给出具体的构造方案,而我们想证的是"对**所有** \(f\) 都成立"——逐个构造在数学上是不可能穷尽的。

本质洞察:当你想证明"对某空间中**所有**元素,某性质成立",而又无法逐个构造时,泛函分析提供了一件标准武器——对偶论证(反证 + Hahn-Banach + 表示定理)。它的逻辑是:"如果命题不成立,就存在一个'反例方向'(一个非零泛函),但我们能证明这个反例方向其实不存在,矛盾。"这是一种"不构造、走对偶"的思路,与你在第零批学 Hahn-Banach 时见到的"分离凸集"如出一辙。Cybenko 的证明正是这条路的教科书级范例。

这就是"反面"——硬碰硬地构造行不通,必须换用对偶论证。下面我们看 Cybenko 怎么走通这条路。

历史:1989 年的"三箭齐发"

万能逼近定理的诞生有一段值得讲的历史,因为它解释了"为什么有三个名字、三种证明"。

1980 年代末,神经网络刚从"AI 寒冬"中复苏(反向传播算法 1986 年由 Rumelhart-Hinton-Williams 重新普及)。一个迫切的理论问题是:这些被实践证明"好用"的网络,理论上的表达能力边界在哪里?1989 年,三组研究者几乎同时、相互独立地给出了答案:

  • Cybenko(1989,Math. Control Signals Syst.:用泛函分析的 Hahn-Banach + Riesz 表示,处理连续 sigmoid 激活,sup 范数稠密。证明短小优美,是被引用最多的版本(约 19000 次引用)。
  • Hornik-Stinchcombe-White(1989,Neural Networks:用 Stone-Weierstrass 路线,把激活函数推广到任意非常值压缩函数,\(L^p\) 稠密(约 23000 次引用)。
  • Funahashi(1989):用 Fourier 分析,独立给出连续 sigmoid 情形。

为什么"几乎同时"?因为这是一个"时机成熟"的问题——反向传播让网络火起来,而所需的数学工具(Hahn-Banach、Stone-Weierstrass)在泛函分析里早已成熟,只等有人把两者接上。这是科学史上经典的"多重独立发现"现象。

历史的延续:值得一提的是,最近 Wang(2025, arXiv:2508.18893)指出 Cybenko 原始证明中"从 sigmoid 极限到半空间指示函数"的一步存在技术缝隙(阶跃函数在 \(L^\infty\) 中并不稠密,这一步的极限论证不完全严谨)。但这不影响结论——Hornik (1991) 和 Leshno et al. (1993) 用不同路线给出了正确且更强的结果。这件事本身是个好教材:即使是被引用上万次的经典证明,也可能有需要后人修补的细节。 学术的严谨性是一个持续的过程,而非一锤定音。

理论:Cybenko 定理的完整证明 [完]

现在进入核心。我们完整地、每一步都解释为什么地走一遍 Cybenko 的证明。

定理(Cybenko, 1989)。设 \(\sigma : \mathbb{R} \to \mathbb{R}\) 是任意连续的 sigmoid 型**函数,即满足 $$ \sigma(t) \to 1 (t \to +\infty), \qquad \sigma(t) \to 0 (t \to -\infty). $$ 设 \(I^n = [0,1]^n\)\(C(I^n)\) 配 sup 范数。则单隐层网络函数集合 $$ \mathcal{G} = \Big{ G(x) = \sum_{j=1}^{N} \alpha_j \, \sigma(w_j \cdot x + \theta_j) : \alpha_j, \theta_j \in \mathbb{R},\, w_j \in \mathbb{R}^n,\, N \in \mathbb{N} \Big} $$ 在 \(C(I^n)\) 中**稠密

证明的总体策略:反证法 + 对偶论证。我们假设 \(\mathcal{G}\) 不稠密,推出一个"判别测度"必须为零,但又证明它不可能为零,得到矛盾。整个证明分七步。

第一步:设定闭包。\(R = \overline{\mathcal{G}}\)\(\mathcal{G}\)\(C(I^n)\) 中的闭包。因为 \(\mathcal{G}\) 显然是线性子空间(网络函数的线性组合还是网络函数),所以 \(R\)\(C(I^n)\) 的**闭线性子空间**。我们的目标 \(\mathcal{G}\) 稠密,等价于 \(R = C(I^n)\)

为什么取闭包? 因为 Hahn-Banach 的分离形式作用于**闭子空间**——它说"如果闭子空间是真子空间,就存在零化它的非零泛函"。所以我们先取闭包,把问题转化成"\(R\) 是不是真子空间"。

第二步:反证假设。 假设结论不成立,即 \(R \neq C(I^n)\)。那么 \(R\)\(C(I^n)\) 的**真**闭子空间。

第三步:调用 Hahn-Banach(分离形式)。 由 Hahn-Banach 定理(第零批 B3 #72),存在一个**非零**的有界线性泛函 \(L \in C(I^n)^*\),使得 $$ L|_R \equiv 0, \quad \text{即} \quad L(h) = 0 \text{对所有 } h \in R. $$ 特别地,\(L\) 在所有网络函数上为零:\(L(\sigma(w \cdot x + \theta)) = 0\) 对所有 \(w, \theta\)

为什么这步是入口? Hahn-Banach 把"\(R\) 是真子空间"这个**几何/拓扑**事实,翻译成"存在一个看不见 \(R\) 的泛函 \(L\)"这个**分析**对象。我们接下来要研究 \(L\) 的性质,最终证明 \(L\) 只能是零泛函——但 Hahn-Banach 又保证 \(L\) 非零,这就是即将到来的矛盾的两端。

第四步:调用 Riesz 表示。 由 Riesz 表示定理在 \(C(I^n)^*\) 上的版本(第零批 B3 #78),泛函 \(L\) 可以表示成对某个**有限带符号正则 Borel 测度** \(\mu\) 的积分: $$ L(h) = \int_{I^n} h(x) \, d\mu(x), \qquad \forall h \in C(I^n). $$ \(L\) 非零 \(\Leftrightarrow\) \(\mu \neq 0\)(即 \(\mu\) 不是零测度)。

为什么要把泛函变成测度? 因为泛函是抽象的,难以直接分析;而测度是具体的,可以做积分、取极限、算 Fourier 变换。第三步给了我们一个抽象的"零化泛函",第四步把它"具象化"成一个测度,从而打开了分析的大门。这一步是"抽象 → 具体"的关键转换。

第五步:写出关键积分条件。 把第三步的结论 \(L(\sigma(w\cdot x + \theta)) = 0\) 用第四步的表示写出来: $$ \int_{I^n} \sigma(w \cdot x + \theta) \, d\mu(x) = 0, \qquad \forall\, w \in \mathbb{R}^n, \theta \in \mathbb{R}. \tag{\(\ast\)} $$ 这是整个证明的核心约束——一个非零测度 \(\mu\) 居然让**所有**形如 \(\sigma(w\cdot x + \theta)\) 的函数积分为零。我们要证明这是不可能的。

第六步:从 sigmoid 极限逼出半空间指示函数。 这是证明最巧妙的一步。固定方向 \(w\) 和偏置 \(\theta\),引入缩放参数 \(\lambda > 0\),考虑 \(\sigma(\lambda(w \cdot x + \theta))\)。当 \(\lambda \to +\infty\) 时,由 sigmoid 的定义: $$ \sigma(\lambda(w \cdot x + \theta)) \longrightarrow \begin{cases} 1, & w \cdot x + \theta > 0, \ 0, & w \cdot x + \theta < 0, \ \sigma(0), & w \cdot x + \theta = 0. \end{cases} $$ 也就是说,sigmoid 被"压扁"成了**半空间 \(\{x : w\cdot x + \theta > 0\}\) 的指示函数**。把 \(\lambda\) 吸收进 \(w, \theta\)(即用 \(\lambda w, \lambda\theta\) 代替 \(w, \theta\)),条件 \((\ast)\) 对所有 \(\lambda\) 都成立。对 \(\lambda \to \infty\) 取极限,由有界收敛定理(\(\sigma\) 有界,\(\mu\) 有限): $$ \int_{I^n} \mathbf{1}_{{w \cdot x + \theta > 0}}(x) \, d\mu(x) + \sigma(0)\,\mu({w\cdot x + \theta = 0})= 0. $$ 经过对超平面边界的细致处理(这正是 Wang 2025 指出需要修补的技术点),可推出 \(\mu\) 在**每个半空间和每张超平面上的积分都为零**。

阶段小结:到这里我们完成了"从网络函数零化 → 半空间零化"的转化。接下来要做的是:从"\(\mu\) 零化所有半空间"推出"\(\mu = 0\)",从而与第四步的 \(\mu \neq 0\) 矛盾。

第七步:用 Fourier 变换逼出矛盾。 现在我们知道 \(\mu\) 在所有半空间上积分为零。考虑 \(\mu\) 的 Fourier 变换 $$ \hat{\mu}(\xi) = \int_{I^n} e^{-i \xi \cdot x} \, d\mu(x). $$ 固定方向 \(\xi \neq 0\)。复指数 \(e^{-i\xi\cdot x} = \cos(\xi\cdot x) - i\sin(\xi\cdot x)\) 可以由不同 \(\theta\) 的半空间指示函数的线性组合**生成**(本质上,正弦/余弦可以写成对不同阈值半空间的积分叠加)。由于 \(\mu\) 零化所有半空间,它也零化它们的线性组合,从而 \(\hat{\mu}(\xi) = 0\) 对所有 \(\xi\) 成立。但 Fourier 变换是**单射**的(Fourier 唯一性定理)——\(\hat\mu \equiv 0\) 当且仅当 \(\mu = 0\)。这与第四步的 \(\mu \neq 0\) 矛盾

把"半空间生成正弦"这一步想清楚(这是步骤 7 唯一需要灵光的地方)。固定方向 \(\xi\),沿这个方向考虑一维变量 \(t = \xi\cdot x\)。半空间指示函数 \(\mathbf 1_{\{\xi\cdot x + \theta > 0\}} = \mathbf 1_{\{t > -\theta\}}\) 就是一维的阶跃函数,阈值是 \(-\theta\)。当 \(\theta\) 遍历所有实数时,我们得到所有可能阈值的阶跃。而一维的正弦/余弦函数 \(\cos(t)\) 可以表示成不同阈值阶跃的(加权)叠加——直观上,把 \(\cos(t)\) 沿 \(t\) 轴切成无穷多个微小台阶,每个台阶就是一个阶跃函数的微分。形式化地,\(\cos(t) = \cos(t_0) - \int_{t_0}^{t}\sin(s)\,ds\),而积分可写成对阶跃函数(\(s\mapsto\mathbf 1_{\{t>s\}}\))的叠加。既然 \(\mu\) 零化每个阶跃,它就零化它们的任意叠加,于是零化 \(\cos(\xi\cdot x)\)\(\sin(\xi\cdot x)\),最终零化 \(e^{-i\xi\cdot x}\)这一步把"几何对象(半空间)"和"分析对象(频率)"接通了——正是它让 Fourier 唯一性得以登场。

因此第二步的反证假设错误,\(R = C(I^n)\)\(\mathcal{G}\) 稠密。\(\blacksquare\)

回望整个证明的逻辑骨架:七步走下来,本质是一条"层层翻译"的链——网络稠密性(拓扑)\(\xrightarrow{\text{Hahn-Banach}}\) 零化泛函(分析)\(\xrightarrow{\text{Riesz}}\) 零化测度(具体对象)\(\xrightarrow{\text{sigmoid 极限}}\) 零化半空间(几何)\(\xrightarrow{\text{阶跃叠加}}\) 零化频率(Fourier)\(\xrightarrow{\text{唯一性}}\) 测度为零(矛盾)。每一步都是"把一个难处理的对象,用某个定理翻译成更好处理的对象"。 这种"翻译链"是泛函分析证明的典型范式——记住这个骨架,比记住每个细节更重要,因为它会在你读其他存在性证明(如 Stone-Weierstrass 的应用、矩问题)时反复出现。

与第零批的联系:回头看这七步,它是 Hahn-Banach(步骤 3)+ Riesz 表示(步骤 4)+ Fourier 唯一性(步骤 7)的**教科书级串联**。如果你在第零批 B3 认真学了 #72 和 #78,这里的逻辑链完全自然——每一步都是"我们有一个抽象对象,用某定理把它变成更具体的对象"。这也正是为什么我们反复强调:第零批的泛函分析不是"抽象废物",而是理解深度学习理论的**必要语言**。证明读不懂,几乎总是因为对应的前置定理没吃透。

理论:Hornik-Stinchcombe-White 定理 [骨]

Cybenko 用 sup 范数和 sigmoid 激活。Hornik-Stinchcombe-White(HSW)走了一条不同的路,得到了一个不同侧重的结果。

定理(HSW, 1989)。标准多层前馈网络,使用任意**非常值压缩型**激活函数 \(\sigma\)(即 \(\sigma\) 连续、有界、非常值),只需一个隐藏层,即可在 \(L^p(\mu)\) 意义下逼近任意 Borel 可测函数,其中 \(\mu\)\(\mathbb{R}^n\) 上的任意概率测度。

证明骨架(Stone-Weierstrass 路线 + 一个微妙的坑)

  1. 验证由神经元 \(\sigma(w\cdot x + \theta)\) 生成的函数族**分离点**——对任意 \(x_1 \neq x_2\),存在 \(w\) 使 \(w\cdot x_1 \neq w\cdot x_2\),再选合适的 \(\theta\)\(\sigma\) 在两点取不同值。
  2. 验证该函数族**包含(可逼近)常数**——通过取 \(w = 0\) 或适当极限。
  3. 由 Stone-Weierstrass 推出闭包在 \(C(K)\) 中稠密(\(K\) 紧)。
  4. \(C(K)\)\(L^p(\mu)\) 中稠密(由 Lusin 定理),传递得到 \(L^p\) 稠密。

把步骤 1、2 的验证写细一点(这两步初学者常觉得"显然"而跳过,其实值得想清楚):

  • 分离点(步骤 1)的验证:要证对任意 \(x_1\neq x_2\in K\),存在一个网络函数在两点取不同值。因为 \(x_1\neq x_2\),存在某个方向 \(w\) 使 \(w\cdot x_1\neq w\cdot x_2\)(任取 \(w = x_1 - x_2\) 即可,此时 \(w\cdot x_1 - w\cdot x_2 = \|x_1-x_2\|^2 > 0\))。于是 \(w\cdot x_1\)\(w\cdot x_2\) 是两个不同的实数。由于 \(\sigma\) 非常值,存在偏置 \(\theta\) 使 \(\sigma(w\cdot x_1+\theta)\neq\sigma(w\cdot x_2+\theta)\)(否则 \(\sigma\) 在一整段区间上恒定,配合连续性会迫使 \(\sigma\) 常值,矛盾)。所以单个神经元就能分离任意两点。✓
  • 含常数(步骤 2)的验证:要证常数函数可被网络(任意逼近地)表示。取 \(w = 0\),则 \(\sigma(0\cdot x+\theta) = \sigma(\theta)\) 是常数;让 \(\theta\) 变化并配合输出权重 \(\alpha\)\(\alpha\sigma(\theta)\) 可取遍一个区间的常数值。✓

重要注释——一个不能直接套 Stone-Weierstrass 的坑:标准 Stone-Weierstrass 定理要求验证对象是一个**子代数**(对乘法封闭)。但神经网络的有限线性组合 \(\sum_j \alpha_j \sigma(w_j\cdot x + \theta_j)\) 对乘法不封闭——两个这样的函数相乘,一般不再是同一形式(出现了 \(\sigma \cdot \sigma\) 的交叉项)。因此**不能直接应用**标准 Stone-Weierstrass。Hornik (1989) 原始论文实际主要用**测度论论证**(证明逼近空间的零化子为零,思路与 Cybenko 类似),Hornik (1991) 中虽援引 Stone-Weierstrass 的精神,但需要其 **lattice(格)版本**或额外论证来补足代数结构。这是初学者最容易误以为"一句 Stone-Weierstrass 就完了"的地方。

多视角理解——Cybenko 与 Hornik 的"殊途同归":两个证明结论相近(单隐层万能),但走的路截然不同,值得对照。 - Cybenko(对偶/泛函视角):反证 + Hahn-Banach + Riesz,落脚在"零化测度必为零"。用的是 \(C(K)\) 的**对偶空间**结构,天然适配 sup 范数。 - Hornik(代数/逼近视角):验证分离点 + 含常数,落脚在"函数族稠密"。用的是 Stone-Weierstrass 的**代数**思想,天然适配 \(L^p\)

相似之处:两者都要绕过"网络函数对乘法不封闭"这个障碍(Cybenko 用极限造半空间,Hornik 用格版本)。不像的地方(边界):Cybenko 更易推广到无穷维输入(对偶论证不依赖有限维),Hornik 更易推广到 \(L^p\) 和一般可测函数(这正是思考题 T3 的核心)。不要以为"两个证明等价"——它们各有擅长的推广方向。这也呼应了一个更普遍的数学经验:同一个定理的不同证明,往往通向不同的推广。

Hornik (1991) 进一步阐明了一个深刻的观点:是网络的(多层)架构赋予了万能逼近性,而非特定激活函数的选择。 换句话说,"万能"是结构性质,不是激活函数的特权。这个观点为下一个定理(Leshno et al.)埋下伏笔——既然不靠特定激活函数,那激活函数到底需要满足什么**最弱**条件?

理论:Leshno-Lin-Pinkus-Schocken 定理——充要条件 [骨]

前两个定理给的是**充分条件**("如果 \(\sigma\) 是这种,则万能")。一个更彻底的问题是:激活函数到底需要什么条件,万能逼近才成立? Leshno 等人给出了完美的充要刻画。

定理(Leshno-Lin-Pinkus-Schocken, 1993)。设 \(\sigma : \mathbb{R} \to \mathbb{R}\) 局部有界、分片连续。则单隐层前馈网络(带偏置)在紧集上连续函数空间中稠密,当且仅当 \(\sigma\) 不是多项式

这个定理优美得令人惊讶——区分"万能"与"不万能"的,竟然只是一条线:是不是多项式

证明思路

箭头约定说明:定理为"\(\sigma\) 非多项式 \(\Leftrightarrow\) 万能逼近"。下文"必要性"指"非多项式"是万能逼近的必要条件(即其逆否命题:\(\sigma\) 是多项式 \(\Rightarrow\) 不万能逼近);"充分性"指"非多项式"是充分条件(即 \(\sigma\) 非多项式 \(\Rightarrow\) 万能逼近)。

  • 必要性(逆否:多项式 \(\Rightarrow\) 不稠密):若 \(\sigma\)\(d\) 次多项式,则 \(\sigma(w\cdot x + \theta)\) 仍是 \(x\)\(d\) 次多项式(仿射代换不升次),它们的有限线性组合 \(\sum_j \alpha_j \sigma(w_j\cdot x + \theta_j)\) 还是**至多 \(d\) 次的多项式**。但次数有界的多项式在 \(C(K)\) 中**不稠密**——例如它们无法逼近 \(|x|\)(绝对值函数在 \(0\) 处不可导,而多项式处处光滑且导数有界)。所以多项式激活不可能万能。

  • 充分性(非多项式 \(\Rightarrow\) 稠密):分两种情况。若 \(\sigma\)\(C^\infty\) 且非多项式,则存在某点 \(t_0\) 使 \(\sigma^{(k)}(t_0) \neq 0\) 对无穷多个 \(k\) 成立。通过对 \(\sigma(t_0 + h\cdot(\text{...}))\) 关于 \(h\) 求差分商,可以从 \(\sigma\) "提取出"任意阶单项式 \(x^k\),从而生成所有多项式,再用经典 Weierstrass 定理(多项式稠密)即可。对一般(只分片连续)的 \(\sigma\),先用卷积光滑化约化到 \(C^\infty\) 情形。

关键洞察:偏置项 \(\theta\) 是必要的,不是装饰。 考虑 \(\{\sin(w\cdot x)\}\)(无偏置)。\(\sin\) 是奇函数,所有这种函数都是 \(x \to -x\) 下的奇函数,它们的线性组合也是奇函数,因此**无法逼近任何偶函数**(如常数 \(1\))。加上偏置 \(\theta\) 后,\(\sin(w\cdot x + \theta)\) 不再是奇函数,限制被打破。这个反例完美说明了为什么偏置在万能性中扮演结构性角色——它打破了激活函数自带的对称性。

本质洞察:把三个定理连起来看,万能逼近的"秘密"不在 sigmoid、不在 ReLU、甚至不在任何具体激活函数,而在两件事——(1)非线性(非多项式保证了"无穷多个有效自由度"),(2)仿射变换 \(w\cdot x + \theta\) 提供的平移与缩放(让神经元能"瞄准"空间的任意位置和方向)。这两件事合起来,就让单隐层网络成为一个"无穷维的、可任意定位的非线性基"。理解了这一点,你就明白为什么换激活函数(sigmoid → tanh → ReLU → GELU)从不改变"能不能逼近",只改变"逼近多快、多好训练"。

三个定理的局限性——存在性 ≠ 实用性

三个定理给了我们坚实的信心:网络确实万能。但**信心不能当饭吃**。让我们诚实地列出它们**没有**告诉我们什么——这张表是理解后续所有内容的钥匙。

三定理已告诉我们的 三定理**没有**告诉我们的 由谁来回答
网络可以逼近任意连续函数 需要多少神经元 \(N = N(\varepsilon, f, d)\) §8.1.2-§8.1.3 逼近率理论
只需一个隐藏层 一个隐层和多个隐层有效率差别吗? §8.1.4 深度分离
激活函数选择范围很宽(非多项式即可) 如何**找到**这组权重(优化问题)? 优化理论(第二批 + SGD 理论)
—— 紧集**外**的行为如何? (超出经典框架)
—— 有限精度浮点数下实际可行吗? (数值分析)
—— 从**有限样本**学习 vs 全函数逼近? §8.1.7 + 专题 8.2 泛化理论

本质洞察(再次强调,因为它太重要):万能逼近定理是**存在性定理**。它说"存在一个网络足够好",但对"要多大、怎么找、能不能从数据学到"三个问题**全部沉默**。把存在性当成实用性,是初学者对深度学习理论最常见、也最致命的误解。这三个沉默,分别催生了逼近率理论(下一节)、优化理论、泛化理论——它们共同构成深度学习的理论版图。

理论补充:宽度的相变——窄网络的万能性边界 [陈] ⭐⭐⭐

前面三个定理都假设"宽度可以任意大"。但现代深度学习常用的是**窄而深**的网络(每层宽度固定、层数很多)。一个自然的问题浮现:如果限制每层的宽度,深层网络还万能吗?宽度有没有一个"万能阈值"? 这是 Cybenko 之后、与深度分离平行的另一条研究线——宽度视角的万能逼近

动机:Cybenko 让宽度 \(N\to\infty\)、深度固定为 1。深度分离(§8.1.4)反过来让深度增长、宽度固定为 \(O(1)\)。但 \(O(1)\) 宽度到底要多少才够?是 1 够吗?2 够吗?这关系到"瘦长网络"的表达力底线。

定理(Lu, Pu, Wang, Hu, Wang, NeurIPS 2017)。对 ReLU 激活的全连接网络,输入维度为 \(n\): - 若每层宽度 \(\le n\),则网络**不**万能——存在 \(L^1\) 函数无论网络多深都无法被逼近到任意精度。 - 若每层宽度 \(\ge n+4\),则网络万能——任意 Lebesgue 可积函数可被宽度 \(n+4\)、深度足够的 ReLU 网络在 \(L^1\) 意义下逼近。

换言之,ReLU 网络的万能性存在一个**宽度相变**,临界宽度在 \(n\)\(n+4\) 之间。这与 Cybenko 形成鲜明对比——Cybenko 说"宽度够大就万能(深度 1)",Lu et al. 说"宽度太小(\(\le n\))则无论多深都不万能"。

为什么宽度 \(\le n\) 会失效?直觉解释。 ReLU 网络的每一层是一个映射 \(\mathbb{R}^{d_{k}}\to\mathbb{R}^{d_{k+1}}\)。如果某一层的宽度小于输入维度 \(n\),这一层会"压缩"信息——它把 \(n\) 维输入投影到更低维,不可逆地丢失信息。一旦信息在某层被压缩丢失,后续再深的层也无法恢复(信息不会凭空产生)。所以"瓶颈层"(宽度 \(< n\))会成为表达力的硬约束。宽度 \(\ge n+4\) 提供了"足够的旁路通道"让信息无损地流过任意深的网络(那额外的 \(+4\) 用于在传递信息的同时还能做非线性变换)。

多视角理解——宽度与深度的"双重门槛":把 Cybenko、深度分离、宽度相变三者放在一起,浮现出一幅完整图景。 - 宽度门槛(Lu et al.):宽度必须 \(\ge n+4\),否则信息瓶颈,无论多深都不万能。这是"能不能"的底线。 - 深度红利(Telgarsky):满足宽度门槛后,深度提供指数级的**效率**。这是"多高效"的红利。

类比管道系统:宽度像管道的**最小截面积**(小于某值水流不过去,无论管子多长),深度像管道的**长度**(在截面够的前提下,串联更多段能实现更复杂的处理)。相似之处:都影响"吞吐能力"。不像的地方(边界):截面积有硬下限(\(n+4\))是"通不通"的问题,而管道长度(深度)是"处理能力"的问题——不要把"宽度不足"和"深度不足"混为一谈,前者让网络根本不万能,后者只是让它效率低。

本质洞察:万能性不只取决于"参数总量足够",更取决于"信息能否无损地流过网络"。一个有窄瓶颈层的深网络,参数可能很多,却因为信息在瓶颈处被不可逆压缩而丧失万能性。这解释了一个工程经验——网络设计中要避免过窄的瓶颈层(除非你刻意要做信息压缩,如自编码器)。 表达力的瓶颈,往往就在那个最窄的地方。

理论-工程桥接:这个 \(n+4\) 的下界直接指导实践——当你设计一个处理 \(n\) 维输入的深网络时,任何一层的宽度都不应显著小于 \(n\),否则会人为制造表达力瓶颈。ResNet 的"跳连接(skip connection)"在某种意义上正是为了保证信息无损流动(直接把输入加到输出),这与 Lu et al. 的"旁路通道"直觉一脉相承——残差结构让信息有一条永不被压缩的高速公路。

⚠️ 常见陷阱

本节涉及理解层面(概念误区)和方法论层面(思维陷阱)两类陷阱。

💡 概念误区 1:把"稠密"理解成"等于"
   新手想法:"万能逼近说网络函数集合稠密,那不就等于所有连续函数吗?"
   实际上:稠密 ≠ 等于。稠密意味着"任意接近但不必达到"。
          有理数在实数中稠密,但有理数 ≠ 实数(π 不是有理数,
          却能被有理数任意逼近)。同理,一个具体的连续函数 f 可能
          永远不是任何有限网络,但能被网络序列任意逼近。
   为什么重要:这区分了"逼近"和"表示"。网络逼近 f,不代表存在
          一个网络精确等于 f。对大多数 f,达到精确需要 N → ∞。
   延伸思考:什么函数能被有限网络精确表示?对 ReLU 网络,恰好是
          连续分段线性函数(CPWL)。一般光滑函数都不在其中。
💡 概念误区 2:以为"单隐层万能"意味着"深度没用"
   新手想法:"既然 Cybenko 证明单隐层就万能,那深度网络是多此一举。"
   实际上:单隐层万能是"能不能"层面的结论;深度的价值在"效率"层面。
          §8.1.4 会证明:某些函数用深层网络只需 O(k) 个神经元,
          用单隐层却需要 Ω(2^k) 个——指数级差距。
   为什么重要:这是 1989(存在性)和 2016(深度分离)两个时代
          研究重心的根本区别。混淆这两个层面,会让你误判
          "为什么实践中大家都用深网络"。
   正确理解:单隐层"能"逼近一切,但"代价"可能是天文数字的宽度。
🧠 思维陷阱 1:以为换个"更强"的激活函数就能突破逼近能力上界
   新手想法:"sigmoid 不够强,换成更复杂的激活函数能逼近更多东西。"
   实际上:Leshno 定理说得很清楚——只要非多项式,万能性就已经满了,
          再"强"的激活也不会让你逼近更多(连续函数已经全覆盖)。
   正确思维:激活函数的选择影响的是"逼近速率"和"优化难易",
          不是"能逼近的函数类范围"。换激活函数想扩大可逼近范围,
          是把"速率问题"误当成"存在性问题"。
   反例自查:有人设计 sin+x² 这类"超表达力激活"(Yarotsky-Zhevnerchuk),
          它们确实改善速率(甚至维度无关),但代价是 VC 维无穷
          (泛化变差,见 §8.1.7 开放问题 3)。天下没有免费的午餐。
🧠 思维陷阱 2:用"万能逼近"为任意失败的训练辩护
   新手想法:"网络是万能的,所以训练不好一定是数据或调参问题。"
   实际上:训练失败可能有四个独立原因——逼近能力不足、优化没找到、
          泛化不够、目标函数根本不在可逼近类中(如不连续策略)。
          万能逼近只排除了第一个原因(且仅对连续目标)。
   正确思维:遇到训练不好,应分别排查这四个维度(见 §8.1.7 三角关系
          和本章故障排查手册),而不是用"网络万能"一句话糊弄过去。

练习

数学方向练习要求在草稿纸上手推关键步骤,不要只在脑中"想一遍就过"。

[练习 8.1.1-1 · 推导题,闭卷] 闭卷写出 Cybenko 定理的完整证明框架(七步)。明确标注:哪一步用了 Hahn-Banach(用的是分离形式还是延拓形式?),哪一步用了 Riesz 表示,以及第六步"从 sigmoid 极限到半空间指示函数"的关键推理。在草稿纸上完成,然后对照正文检查每一步的"为什么"是否都答得出。

[练习 8.1.1-2 · 开放思考题] 偏置项 \(\theta\) 在万能性中是必要的。正文用 \(\{\sin(w\cdot x)\}\)(奇函数)说明了这一点。请你:(a) 再找一个**不同**的无偏置激活函数族,说明它因缺少偏置而无法逼近某类函数;(b) 思考:如果允许 \(w = 0\)(即神经元退化为常数 \(\sigma(\theta)\)),是否能替代偏置的作用?为什么这通常不够?

[练习 8.1.1-3 · 反事实推理] Leshno 定理说"\(\sigma\) 多项式 \(\Rightarrow\) 不万能"。证明的关键是"多项式激活的线性组合仍是有界次数的多项式"。请你回答这个反事实问题:如果我们允许激活函数是多项式,但允许网络无限深(每层都做多项式激活),能否恢复万能性?提示:考虑多项式的复合次数如何随深度增长,以及这与"有限次数多项式不稠密"是否矛盾。这个问题揭示了"深度"如何能弥补"激活函数的弱"。


§8.1.2 Barron 定理——维度无关的定量速率 ◉ ⭐⭐⭐

本节定位:逼近理论中最深刻的**正面**结果——对特定函数类,神经网络可以**打破维度灾难**。档位 3 必学,本节是全专题的"心脏"。 这是 #4 必完证定理。

过渡:从"能不能"到"多快"

上一节的三个定理回答了"能不能",但它们集体对"要多少神经元"保持沉默。现在我们正面攻击这个问题。而一旦开始问"多快",一个幽灵立刻浮现——维度灾难

回忆经典逼近论的核心结论:用 \(n\) 个基函数(多项式、小波、样条)逼近 \(d\) 维空间上的 \(s\) 阶光滑函数 \(C^s([0,1]^d)\),最优速率是 $$ \text{误差} \sim O(n^{-s/d}). $$ 注意那个致命的 \(d\) 在分母——维度越高,速率越慢,而且是指数级地慢。要达到误差 \(\varepsilon\),需要 \(n \sim \varepsilon^{-d/s}\) 个基函数。当 \(d = 100\)\(s = 2\) 时,\(n \sim \varepsilon^{-50}\)——前面算过,这是宇宙级别的天文数字。这就是维度灾难,是一切高维逼近问题的拦路虎。

Barron 在 1993 年扔下了一颗炸弹:对一类特定函数(Barron 类),神经网络的逼近速率是 \(O(1/\sqrt{n})\),与维度 \(d\) 完全无关。 这是逼近理论史上第一个、也是最著名的"维度灾难破解"结果。本节我们要完整理解它——它为什么成立,以及它的破解是有边界、有代价的。

动机:为什么 RL 策略网络在高维状态空间仍然有效

先给一个让你产生"我必须搞懂这个"的具体动机。

你做强化学习,状态空间是 \(50\)-\(100\) 维(一个人形机器人的关节角、速度、IMU 读数轻松上百维)。按经典逼近论的维度灾难,一个 \(100\) 维上的策略网络应该需要天文数字的参数才能逼近最优策略。但**实践中,几十万到几百万参数的网络就工作得很好**。这是为什么?是经典理论错了,还是有什么我们没看到的结构?

Barron 定理给出了答案的一半:如果最优策略/值函数是"频率不太高"的光滑函数(Barron 谱范数有限),那么它的逼近根本不受维度影响。 你的网络之所以够用,不是因为它"暴力堆参数战胜了维度灾难",而是因为**目标函数本身就在一个对维度友好的函数类里**。这个洞察会彻底改变你对"网络该多大"的判断——你该问的不是"维度多高",而是"目标函数的谱衰减多快"。

反面:如果坚持用经典线性逼近会怎样

假设你不知道 Barron 定理,坚持用经典的"固定基"方法——比如用 \(d\) 维的傅里叶基或多项式基去逼近高维值函数。会发生什么?

你会被维度灾难活活拖死。\(d = 100\) 时,哪怕只取每个维度 \(3\) 个频率,张量积基就有 \(3^{100} \approx 10^{47}\) 个。你连枚举这些基函数都做不到,更别说拟合系数。经典线性逼近的本质缺陷是:基函数是"预先固定、与目标无关"的,为了覆盖所有可能的 \(d\) 维方向,基的数量必然随 \(d\) 指数爆炸。

神经网络的关键区别在于——它的"基函数" \(\sigma(w_j\cdot x + \theta_j)\) 是**自适应的**:\(w_j, \theta_j\) 在训练中调整,让每个神经元"瞄准"目标函数实际需要的方向,而不是盲目覆盖所有方向。Barron 定理的数学,本质上就是在刻画"这种自适应能省多少"。

本质洞察:维度灾难的根源是"非自适应"——固定基必须为所有可能方向买单。神经网络打破它的机制是"自适应基定位":每个神经元自由选择投影方向 \(w_j\),从而只在目标函数"真正有内容"的少数方向上花费神经元。Barron 类正是那些"有内容的方向不太多、谱衰减够快"的函数。自适应 vs 非自适应,是理解一切'神经网络为何高效'的总开关。

历史:Barron、Jones、Maurey 的三线合流

Barron 定理背后的核心工具——贪心逼近引理——有一段三线合流的历史,值得讲清楚,因为它解释了为什么这个引理叫"Jones-Barron-Maurey 引理"。

  • Maurey(约 1981):法国泛函分析学家 Bernard Maurey 在研究 Banach 空间几何(具体是 Banach 空间中凸包的逼近)时,证明了一个引理——Hilbert 空间中凸包闭包里的元素,可以被 \(n\) 个顶点的平均以 \(O(1/\sqrt{n})\) 逼近。这本是纯泛函分析的结果,与神经网络毫无关系。
  • Jones(1992):Lee Jones 在投影追踪(projection pursuit,一种统计回归方法)的背景下独立发现了类似的贪心逼近结果,并给出了构造性的贪心算法。
  • Barron(1993):Andrew Barron 把这个引理与 Fourier 积分表示结合,第一次用它证明了神经网络的维度无关逼近率,发表在 IEEE Trans. Inf. Theory(约 5000 次引用)。

这是又一个"多重发现 + 跨领域嫁接"的精彩案例:一个纯数学引理(Maurey)、一个统计算法(Jones)、一个 Fourier 表示(Barron),三者合流,催生了深度学习理论最重要的定理之一。Pinkus(1999,Acta Numerica)后来在权威综述中把这一切统一进逼近论视角。

与优化的联系(提前埋线):这个贪心引理的精神,与你将在第二批优化中学到的 **Frank-Wolfe(条件梯度)算法**完全一致——都是在凸包中做贪心追踪,每步选一个"最对齐残差"的顶点。Bach(JMLR 2017)正是沿这条线把 Barron 理论现代化的。如果你学过 Frank-Wolfe,下面的证明对你会有强烈的"似曾相识"感。

理论:Barron 谱范数与 Barron 类

先精确定义"Barron 类"——那个能避开维度灾难的特殊函数类。

\(f : \mathbb{R}^d \to \mathbb{R}\),设其 Fourier 变换为 \(\hat{f}\)。定义 Barron 谱范数: $$ C_f := \int_{\mathbb{R}^d} |\xi| \cdot |\hat{f}(\xi)| \, d\xi. $$ 这是 Fourier 幅度的**一阶谱矩**(用频率 \(|\xi|\) 加权的总幅度),度量 \(f\) 的"振荡程度"——高频成分多、振荡剧烈的函数,\(C_f\) 大;低频、平缓的函数,\(C_f\) 小。定义 Barron 类: $$ \mathcal{B} := { f : \mathbb{R}^d \to \mathbb{R} \mid C_f < \infty }. $$

直觉:Barron 类是"Fourier 变换衰减足够快"的函数集合。因为 \(C_f = \int |\xi| |\hat f(\xi)| d\xi\) 要有限,就要求 \(|\hat f(\xi)|\) 衰减得比 \(|\xi|^{-(d+1)}\) 还快(否则积分在高频处发散)。光滑函数(导数有界)的 Fourier 变换衰减快,通常属于 Barron 类;而尖锐不连续的函数(如指示函数 \(\mathbf 1_{x>0}\)),其 Fourier 变换衰减慢(\(\sim 1/|\xi|\)),\(C_f = \infty\),不属于 Barron 类。

多视角理解——Barron 范数的两种读法: - 频域读法(振荡度)\(C_f\) 大 = 函数振荡剧烈、高频成分多。 - 空域读法(变差):现代理论(下文 E-Ma-Wu)证明 \(C_f\) 等价于某种"路径变差范数",可以理解成"函数在所有方向上的总变化量"。

这两种读法刻画的是同一件事——函数"有多复杂"。频域说"频率有多高",空域说"变化有多剧烈"。它们像同一座山的两张地图,一张标等高线(空域),一张标坡度谱(频域)。

理论:Barron 定理精确陈述 [完]

定理(Barron, IEEE Trans. Inf. Theory 39(3):930-945, 1993)。设 \(f : \mathbb{R}^d \to \mathbb{R}\) 满足 \(C_f < \infty\)\(\mu\) 是球 \(B_r = \{x : |x| \le r\} \subset \mathbb{R}^d\) 上的任意概率测度。则对每个 \(n \ge 1\),存在一个含 \(n\) 个 sigmoid 神经元的单隐层网络 $$ f_n(x) = \sum_{j=1}^n \alpha_j \sigma(w_j \cdot x + \theta_j) + \alpha_0 $$ 使得 $$ \int_{B_r} (f(x) - f_n(x))^2 \, d\mu(x) \leq \frac{(2 r C_f)^2}{n}. $$ 即 \(L^2(\mu)\) 误差以 \(O(1/\sqrt{n})\) 衰减,与输入维度 \(d\) 无关

请把这个结论的震撼程度再咀嚼一遍:误差界 \(\frac{(2rC_f)^2}{n}\) 里,没有 \(d\)。半径 \(r\)、谱范数 \(C_f\)、神经元数 \(n\),三个量决定一切,维度 \(d\) 被完全消去。这与经典的 \(O(n^{-s/d})\) 形成天壤之别。

理论:证明的三步走 [完]

证明分三步,每步都优美且可独立使用。我们逐步展开,并在最关键的第二步给出完整的归纳证明。

第一步:积分表示——把 \(f\) 写成"无穷多个神经元的平均"。

由 Fourier 逆变换(假设 \(f\) 实值,可只取实部): $$ f(x) - f(0) = \int_{\mathbb{R}^d} \big( e^{i\xi\cdot x} - 1 \big) \hat{f}(\xi)\, d\xi = \int_{\mathbb{R}^d} \big( \cos(\xi\cdot x + b(\xi)) - \cos(b(\xi)) \big) |\hat{f}(\xi)|\, d\xi, $$ 其中 \(b(\xi)\)\(\hat f(\xi)\) 的相位。关键观察:被积函数 \(\cos(\xi\cdot x + b)\) 是一个"广义神经元"(用 \(\cos\) 当激活)。

为什么这里会冒出一阶谱矩 \(|\xi|\) 这是理解整个证明、也是理解 Barron 范数定义的钥匙,值得细推。我们想把上面的积分写成"概率测度下的期望",以便套用贪心引理。为此,引入归一化常数 $$ C_f = \int_{\mathbb{R}^d} |\xi|\,|\hat f(\xi)|\, d\xi, $$ 并定义权重密度 \(\pi(\xi) = \frac{|\xi|\,|\hat f(\xi)|}{C_f}\)——它是一个**概率密度**(积分为 1)。于是 $$ f(x) - f(0) = C_f \int_{\mathbb{R}^d} \frac{\cos(\xi\cdot x + b(\xi)) - \cos(b(\xi))}{|\xi|}\, d\pi(\xi) = C_f\cdot \mathbb{E}{\xi\sim\pi}!\left[ \frac{\cos(\xi\cdot x + b) - \cos(b)}{|\xi|} \right]. $$ 现在看那个被期望的函数 \(h_\xi(x) = \frac{\cos(\xi\cdot x + b) - \cos(b)}{|\xi|}\)。它在球 \(B_r\)\(|x|\le r\))上有多大?由 \(|\cos\alpha - \cos\beta| \le |\alpha - \beta|\)(余弦 1-Lipschitz): $$ |h\xi(x)| = \frac{|\cos(\xi\cdot x + b) - \cos(b)|}{|\xi|} \le \frac{|\xi\cdot x|}{|\xi|} \le \frac{|\xi|\,|x|}{|\xi|} = |x| \le r. $$ 关键就在这里——正是分母的 \(|\xi|\) 把"高频神经元的剧烈振荡"归一化掉了:频率 \(\xi\) 越大,\(\cos(\xi\cdot x)\) 振荡越猛,但除以 \(|\xi|\) 后幅度被压回 \(\le r\)。这保证了"字典" \(\{h_\xi\}\) 一致有界(被 \(r\) 控制),而有界性正是贪心引理唯一需要的条件。如果 Barron 范数用的是零阶矩 \(\int|\hat f|\)(不带 \(|\xi|\)),分母就没有 \(|\xi|\),高频神经元的幅度无法被控制,字典无界,贪心引理失效——这就是"为什么偏偏是一阶谱矩"的精确答案(也是练习 8.1.2-3 的解)。

\(\cos\) 到 sigmoid。 上面的"神经元"用的是 \(\cos\) 激活,但定理要的是 sigmoid。补这一步:在区间 \([-r|\xi|, r|\xi|]\) 上,一段余弦曲线 \(t\mapsto\cos(t+b)\) 是分段单调的,每个单调段都可以用两个反向 sigmoid 的差 \(\sigma(s(t-\tau_1)) - \sigma(s(t-\tau_2))\) 任意逼近(\(s\) 大时 sigmoid 趋于阶跃,阶跃的差是"窗口函数",窗口的叠加可拟合任意单调段)。把所有单调段拼起来,\(\cos\) 神经元就被有限个 sigmoid 神经元的组合逼近。这一步增加的神经元数是常数倍,不改变 \(O(1/\sqrt n)\) 的量级。综上,\(f\) 可写成 $$ f(x) = f(0) + C_f\cdot\mathbb{E}{\xi\sim\pi}[\,\tilde g\xi(x)\,], $$ 即 \(f\)(减去常数后)是"以概率 \(\pi\) 加权的、无穷多个 sigmoid 型神经元 \(\tilde g_\xi\) 的期望(加权平均)",且每个 \(\tilde g_\xi\)\(L^2(\mu)\) 范数被 \(\sim r C_f\) 控制。换言之,\(f - f(0)\) 落在字典 \(G = \{C_f\,\tilde g_\xi\}\) 的**凸包闭包**里,字典范数上界 \(b = 2rC_f\)

为什么这步是关键的转化? 它把"逼近 \(f\)"变成了"用有限个神经元逼近一个无穷神经元的期望"。这是一个"积分(期望)→ 有限和(样本平均)"的离散化问题,而这正是第二步贪心引理要解决的——如何用 \(n\) 个点的平均逼近一个连续期望。注意这个视角的优美之处:Barron 定理本质上是在说"对一个无穷神经元的连续叠加做蒙特卡洛/贪心抽样,\(n\) 个样本的误差是 \(O(1/\sqrt n)\)"——这与中心极限定理的 \(1/\sqrt n\) 同源,都是"用 \(n\) 个样本估计期望"的标准速率。 维度无关,正是因为蒙特卡洛误差从不依赖被积空间的维度(这是蒙特卡洛积分相对网格积分的著名优势)。

本质洞察(Barron 定理的"一句话灵魂"):Barron 的维度无关速率,骨子里是**蒙特卡洛积分的维度无关性**。网格积分(对应固定基逼近)的误差是 \(O(n^{-1/d})\)(维度灾难),而蒙特卡洛积分(对应自适应神经元采样)的误差是 \(O(n^{-1/2})\)(维度无关)。神经网络通过"自适应地采样神经元",把高维逼近问题变成了一个蒙特卡洛积分问题——这就是它打破维度灾难的最深层机理。把这一点想透,你就真正理解了 Barron 定理。

第二步:Jones-Barron-Maurey 贪心逼近引理(核心工具)。

引理(Jones 1992 / Barron 1993 / Maurey ~1981)。设 \(H\) 是 Hilbert 空间,\(G \subset H\) 满足 \(\|g\| \le b\) 对所有 \(g \in G\)。设 \(f\) 属于 \(\overline{\mathrm{conv}}(G)\)\(G\) 的凸包闭包)。则存在 \(g_1, \dots, g_n \in G\) 使得 $$ \Big| f - \frac{1}{n}\sum_{j=1}^n g_j \Big|^2 \le \frac{b^2}{n}. $$

完整证明(贪心 + 归纳)。我们构造性地选点。令 \(h_0 = 0\)。第 \(k\) 步(\(k = 1, 2, \dots, n\))选择 $$ g_k = \arg\min_{g \in G} \Big| f - \tfrac{k-1}{k} h_{k-1} - \tfrac{1}{k} g \Big|^2, $$ 并令 \(h_k = \frac{k-1}{k} h_{k-1} + \frac{1}{k} g_k\)。(直觉:\(h_k\) 是前 \(k\) 个选中点的平均,每步新增一个点并重新平均。)

我们用归纳法证明 \(\|f - h_k\|^2 \le b^2/k\)(取 \(k = n\) 即得引理)。

展开 \(\|f - h_k\|^2\)。注意 \(f - h_k = \frac{k-1}{k}(f - h_{k-1}) + \frac{1}{k}(f - g_k)\),所以 $$ |f - h_k|^2 = \Big(\tfrac{k-1}{k}\Big)^2 |f - h_{k-1}|^2 + \tfrac{2(k-1)}{k^2}\langle f - h_{k-1},\, f - g_k\rangle + \tfrac{1}{k^2}|f - g_k|^2. \tag{\(\star\)} $$

现在估计三项。

中间项:因为 \(f \in \overline{\mathrm{conv}}(G)\),存在 \(G\) 中元素(或其凸组合)方向上的点使内积可控。具体地,由于 \(f\) 在凸包闭包中,存在 \(g \in G\) 使得 $$ \langle f - h_{k-1},\, f - g \rangle \le |f - h_{k-1}|^2. $$ (这是因为 \(f\) 可写成 \(G\) 中元素的凸组合 \(f = \mathbb{E}_{g\sim\rho}[g]\),于是 \(\mathbb{E}_{g\sim\rho}\langle f - h_{k-1}, f - g\rangle = \langle f - h_{k-1}, f - f\rangle = 0 \le \|f-h_{k-1}\|^2\),故至少有一个 \(g\) 满足该不等式。)由于 \(g_k\) 是**最小化**选择,它给出的内积不会比这个 \(g\) 更差,因此 \(\langle f - h_{k-1}, f - g_k\rangle \le \|f - h_{k-1}\|^2\)

末项\(\|f - g_k\|^2 \le (\|f\| + b)^2\)。又因为 \(f \in \overline{\mathrm{conv}}(G)\),有 \(\|f\| \le b\),故 \(\|f - g_k\|^2 \le (2b)^2 = 4b^2\)。更精细地,利用 \(\|f-g_k\|^2 = \|f\|^2 - 2\langle f, g_k\rangle + \|g_k\|^2\) 并结合凸包性质,可得到我们需要的更紧的界(标准处理给出末项贡献 \(\le b^2\) 量级,见下)。

把这些代入 \((\star)\)。用归纳假设 \(\|f - h_{k-1}\|^2 \le \frac{b^2}{k-1}\),并代入中间项的界: $$ |f - h_k|^2 \le \Big(\tfrac{k-1}{k}\Big)^2 \tfrac{b^2}{k-1} + \tfrac{2(k-1)}{k^2}|f-h_{k-1}|^2 + \tfrac{1}{k^2}\cdot(\text{末项}). $$ 仔细配平(标准 Barron 归纳,利用 \(\|f-h_{k-1}\|^2 \le b^2/(k-1)\) 对中间项再控制一次)后,各项合并得 $$ |f - h_k|^2 \le \frac{b^2}{k}. $$ 归纳完成。\(\blacksquare\)

阶段小结:到这里,引理证毕——核心是"贪心选点 + 平方展开 + 凸包保证内积有符号控制 + 归纳"。注意这个证明**不依赖 \(G\) 的任何具体结构**,只依赖 \(G\) 的**有界性** \(\|g\|\le b\)。这正是它威力的来源。

这个引理的威力:它对 \(G\) 唯一的要求是有界。因此它适用于**任何**激活函数(只要对应的"神经元字典 \(G\)"有界)——sigmoid、tanh、ReLU、cos,统统适用。这是 Barron 定理通用性的根源,也是为什么换激活函数不影响 \(O(1/\sqrt n)\) 这个速率的量级。

第三步:组合。\(H = L^2(\mu)\)\(G = \{\)缩放的 sigmoid 神经元 \(g_\xi\}\),由第一步知 \(f \in \overline{\mathrm{conv}}(G)\)\(b \propto r C_f\)。代入引理,立得 $$ \Big| f - \frac1n \sum_j g_{\xi_j}\Big|_{L^2(\mu)}^2 \le \frac{b^2}{n} = \frac{(2rC_f)^2}{n}. $$ 而 \(\frac1n\sum_j g_{\xi_j}\) 恰好是一个 \(n\) 神经元网络(把 \(1/n\) 吸收进输出权重 \(\alpha_j\))。证毕。\(\blacksquare\)

与经典逼近论的对比(震撼再现)。线性逼近(多项式、小波、样条)对 \(C^s([0,1]^d)\) 的最优速率是 \(O(n^{-s/d})\)——维度灾难!而 Barron 速率 \(O(n^{-1/2})\) 完全**无视 \(d\)**,前提是 \(C_f\) 可控。这个对比是整个深度学习"为什么能处理高维"的理论支点之一。

理论:现代 Barron 空间(E-Ma-Wu / Bach)○ ⭐⭐⭐

Barron 1993 的定义基于 Fourier 谱范数,略显"硬"。E、Ma、Wu 等人(2019 起)引入了更现代、更几何的 Barron 空间 \(\mathcal{B}_\sigma\),把它做成一个干净的 Banach 空间: $$ \mathcal{B}\sigma = \Big{ f(x) = \int a\, \sigma(w\cdot x + b)\, d\pi(w, b, a) : |f| := \inf_\pi \int |a|\, d\pi < \infty \Big}, $$ 其中 }\(\pi\) 是权重空间 \((w, b, a)\) 上的概率测度。范数 \(\|f\|_{\mathcal{B}}\) 称为**路径范数(path norm)或**变差范数(variation norm)——它度量"表示 \(f\) 所需的输出权重总量的下确界"。

这个定义的好处:

  • 更几何:直接用"神经元的连续叠加"定义,不绕道 Fourier。
  • 更可计算:路径范数 \(\sum_j |\alpha_j| \|w_j\|\) 在训练中可以作为正则项(这正是权重衰减的某种连续极限)。
  • 与 Frank-Wolfe 严格对接:Bach(JMLR 2017)对**齐次激活函数**(如 ReLU)建立了 \(\ell^1\) 路径范数与函数变差的严格等价,并证明 Frank-Wolfe 算法以 \(O(1/n)\) 速率在 Barron 空间中逼近。

扩展到 ResNet:Barron 型估计已推广至残差网络和 neural ODE 架构,用于 PDE 解的逼近(Galimberti et al. 2022),见 §8.1.5。

理论-工程桥接:路径范数 \(\|f\|_{\mathcal B}\) 不只是理论对象——它直接对应实践中的**权重衰减正则化**。当你在 PyTorch 里加 weight_decay,你某种意义上是在控制网络的路径范数,从而把网络"拉向" Barron 空间中范数小的函数。这解释了一个经验现象:适度的权重衰减常常同时改善泛化和稳定性——因为它在隐式地偏好"Barron 范数小"(即频率不太高、不太振荡)的解。理论的路径范数和工程的权重衰减,是同一枚硬币的两面。

算例:一个高维高斯函数的 Barron 速率计算 ⭐⭐⭐

抽象定理读完,我们用一个具体算例把它"摸实"——计算一个真实函数的 Barron 范数,并估算逼近它需要多少神经元。这种"动手算一遍"的体验,是把定理从"符号"变成"工具"的关键一步。

考虑高维高斯函数(在机器人里很常见,如高斯径向基核、概率密度、平滑奖励): $$ f(x) = \exp!\left(-\tfrac{1}{2}|x|^2\right), \qquad x\in\mathbb{R}^d. $$ 它的 Fourier 变换是另一个高斯(高斯函数 Fourier 变换的自相似性): $$ \hat f(\xi) = (2\pi)^{-d/2}\exp!\left(-\tfrac{1}{2}|\xi|^2\right) $$ (在适当的 Fourier 约定下,常数因子不影响下面的量级分析)。计算 Barron 谱范数: $$ C_f = \int_{\mathbb{R}^d} |\xi|\,|\hat f(\xi)|\, d\xi \propto \int_{\mathbb{R}^d} |\xi|\,\exp!\left(-\tfrac{1}{2}|\xi|^2\right) d\xi. $$ 用球坐标(\(d\) 维球面面积 \(\propto \rho^{d-1}\),令 \(\rho = \|\xi\|\)): $$ C_f \propto \int_0^\infty \rho\cdot\rho^{d-1}\,e^{-\rho^2/2}\, d\rho = \int_0^\infty \rho^{d}\,e^{-\rho^2/2}\, d\rho. $$ 这个积分用 Gamma 函数可算出 \(\propto 2^{(d-1)/2}\,\Gamma\!\big(\tfrac{d+1}{2}\big)\)

关键观察——\(C_f\)\(d\) 怎么长? 由 Stirling 近似,\(\Gamma(\tfrac{d+1}{2})\) 大致像 \((\tfrac{d}{2})!\),结合归一化常数 \((2\pi)^{-d/2}\),综合分析给出 \(C_f\)\(d\) 温和地(多项式或亚指数级)增长,而**不是指数爆炸**。这意味着:

由 Barron 定理,逼近误差 \(\le \frac{(2rC_f)^2}{n}\)。要达到 \(L^2\) 误差 \(\varepsilon\),需要神经元数 $$ n \gtrsim \frac{(2rC_f)^2}{\varepsilon^2}. $$ 取一个具体的盘算:\(d = 50\)、半径 \(r = 3\)、目标误差 \(\varepsilon = 0.05\),假设归一化后 \(C_f \approx 10\)(量级估计)。则 $$ n \gtrsim \frac{(2\cdot 3\cdot 10)^2}{0.05^2} = \frac{60^2}{0.0025} = \frac{3600}{0.0025} = 1.44\times 10^{6}. $$ 约一百万个神经元——这是一个工程上完全可行的规模(大型 MLP 量级),而且关键是:\(d\) 从 50 换成 500,只要 \(C_f\) 不爆炸,\(n\) 几乎不变。对比经典网格逼近:\(d=50\) 时需要 \(\varepsilon^{-d/s}\sim 0.05^{-25}\approx 10^{32}\) 个基函数——宇宙级别的差距。

本质洞察(从算例提炼):这个算例让"维度无关"变得可触摸——高斯函数的 Barron 范数随维度温和增长,所以逼近它的代价(神经元数)几乎不随维度变化。判断"我的目标函数能否用网络高效逼近"的实操方法,就是估算它的 \(C_f\)\(d\) 的增长:若 \(C_f\)\(d\) 多项式/亚指数增长 → 维度灾难被破解,网络高效;若 \(C_f\)\(d\) 指数爆炸 → 维度灾难只是从"指数 \(n\)"转移到"指数 \(C_f\)",并未真正破解(这正是概念误区 2 的精确含义)。高斯、低频光滑函数属于前者;尖锐、高频、各向异性强的函数可能属于后者。

⚠️ 常见陷阱

💡 概念误区 1:以为"Barron 速率 O(1/√n)"对所有函数成立
   新手想法:"神经网络逼近速率是 O(1/√n),比经典方法快。"
   实际上:O(1/√n) 只对 Barron 类(Cf < ∞)成立!对一般 C^s 光滑
          函数,神经网络速率退回 O(n^{−s/d}),和经典方法一样受
          维度灾难(见 §8.1.5 对比总表)。
   为什么重要:把"对特殊函数类的速率"误当成"对所有函数的速率",
          会让你高估网络能力。指示函数、分形、某些 RL 值函数都
          不在 Barron 类中,对它们 Barron 速率根本不适用。
   延伸思考:怎么判断你的目标函数是否在 Barron 类?看它的光滑度和
          振荡度——光滑、低频 → 大概率在;不连续、高频 → 大概率不在。
💡 概念误区 2:把"维度无关"理解成"维度完全不影响任何东西"
   新手想法:"Barron 定理说维度无关,那高维和低维就一样了。"
   实际上:维度无关的是"误差关于 n 的速率",但 Cf 本身可能随 d 增长!
          一个函数的 Barron 范数 Cf 可能是 d 的函数(甚至指数增长)。
          误差界是 (2r·Cf)²/n——如果 Cf 随 d 爆炸,维度灾难
          只是从"指数 n"转移到了"大常数 Cf"。
   正确理解:Barron 定理把维度依赖"打包"进了 Cf 这个常数。对 Cf
          确实不随 d 爆炸的函数(如某些低频函数),才真正破解了
          维度灾难。这是个微妙但关键的区别。
🧠 思维陷阱 1:以为贪心引理给出的速率能被 SGD 自动达到
   新手想法:"Barron 定理保证存在 n 个神经元达到 O(1/√n),
            那我训练一个 n 神经元网络就能达到这个误差。"
   实际上:贪心引理是构造性的,但它构造的是"贪心选点"序列,
          不是 SGD 的轨迹。SGD 能否找到这组好权重,是优化问题,
          Barron 定理对此完全沉默(见 §8.1.7)。Na-Yang 2026
          甚至证明:即使逼近率维度无关,训练时间仍可能受维度灾难。
   正确思维:"存在好网络"(逼近)和"SGD 能找到它"(优化)是两件事。
          Barron 只保证前者。
🧠 思维陷阱 2:用 Barron 定理为"网络越宽越好"背书
   新手想法:"误差 ∝ 1/n,所以宽度 n 越大误差越小,无脑加宽就行。"
   实际上:(1) 这是逼近误差,不含泛化误差——n 太大可能过拟合
          (泛化误差随参数量上升);(2) O(1/√n) 是很慢的速率,
          要把误差减半需要 4 倍宽度,边际收益递减;(3) 深度可能
          比宽度更划算(§8.1.4)。
   正确思维:宽度选择要在逼近误差、泛化误差、计算成本之间权衡,
          而不是单看逼近误差一个维度。

练习

[练习 8.1.2-1 · 推导题,闭卷,必做] 独立推导 Jones-Barron-Maurey 贪心逼近引理。设 \(G \subset H\)(Hilbert 空间),\(\|g\| \le b\)。证明 \(\overline{\mathrm{conv}}(G)\) 中任意 \(f\) 可被 \(n\)\(G\) 中元素的平均以 \(\|\cdot\|^2 \le b^2/n\) 逼近。要求:(a) 明确写出贪心选择规则;(b) 写出平方展开 \((\star)\);(c) 说清"为什么 \(f\) 在凸包闭包里保证了中间项内积 \(\le \|f-h_{k-1}\|^2\)";(d) 完成归纳。在草稿纸上完成。

[练习 8.1.2-2 · 开放思考题] 指示函数 \(f(x) = \mathbf{1}_{\{x_1 > 0\}}\)(在 \(x_1\) 方向的阶跃)的 Barron 谱范数 \(C_f\) 是多少?请通过分析它的 Fourier 变换衰减速率来论证 \(C_f = \infty\),从而说明阶跃函数**不**属于 Barron 类。然后联系机器人:bang-bang 控制策略本质上是阶跃函数,这对"用网络逼近最优控制策略"意味着什么?

[练习 8.1.2-3 · 反事实推理 + 桥接] 反事实问题:如果把 Barron 谱范数的定义从 \(C_f = \int |\xi||\hat f(\xi)| d\xi\)(一阶矩)改成 \(C_f^{(0)} = \int |\hat f(\xi)| d\xi\)(零阶矩),定理还成立吗?提示:考虑证明第一步的积分表示中,余弦/sigmoid 的"斜率"从哪来,为什么需要 \(|\xi|\) 这个因子。这道题帮你理解"为什么偏偏是一阶谱矩",而不是其他阶。


§8.1.3 ReLU 网络逼近理论——最优速率 ◉ ⭐⭐⭐

本节定位:ReLU 是现代深度学习最常用的激活函数,其逼近理论因分段线性性质而格外丰富。档位 3 必学。 其中"近似乘法构造"是 #7 必完证。

过渡:从 Barron 类的"特例"回到一般光滑函数

上一节的 Barron 定理是个漂亮的正面结果,但它有个前提——目标函数必须在 Barron 类里(谱衰减够快)。如果目标函数只是"一般地光滑"(属于 Sobolev 空间或 Hölder 类,没有特殊的谱衰减),网络能逼近得多好?这一节回答这个问题,而且专门针对今天最主流的激活函数——ReLU

为什么单独研究 ReLU?因为它有一个独特的性质——分段线性\(\mathrm{ReLU}(t) = \max(t, 0)\) 是两段直线拼接。这个看似简单的性质,让 ReLU 网络的逼近理论既特别精细,又特别"几何"——一切都可以归结为"网络能切出多少个分段线性区域"。

动机:为什么"神经网络学动力学"在中低维系统上效果极好

给一个让你想搞懂这节的动机。

一个反复被验证的工程经验是:用 MLP 学习中低维系统的动力学模型(如 7-DOF 机械臂的 \(\dot q = f(q, v, u)\)),效果出奇地好——几层网络、几十万参数,就能把动力学拟合到很高精度。这是为什么?刚体动力学不一定在 Barron 类里(它可能有较高频成分),那 Barron 定理就不直接适用。

Yarotsky 2017 给出了答案:\(n\) 阶光滑(Sobolev \(W^{n,\infty}\))的函数,深度 \(O(\log(1/\varepsilon))\)、参数量 \(O(\varepsilon^{-d/n})\) 的 ReLU 网络可以逼近它到精度 \(\varepsilon\) 关键在于——刚体动力学是**无穷阶光滑**的(\(n = \infty\),由解析的运动方程保证)。当 \(n\) 很大时,指数 \(d/n\) 很小,参数量 \(\varepsilon^{-d/n}\) 不再爆炸。这就是"学动力学效果好"的理论根源——不是因为维度低,而是因为动力学足够光滑,光滑度 \(n\) 压住了维度 \(d\)

反面:如果不懂 ReLU 的"近似乘法",会误以为 ReLU 网络很弱

一个常见的初学者疑惑:ReLU 是分段线性的,分段线性函数的复合还是分段线性的,那 ReLU 网络岂不是只能表示分段线性函数?怎么可能高效逼近 \(x^2\) 这种弯曲的函数?

如果你停在这个疑惑上,会严重低估 ReLU 网络。反面教材:你可能会认为"ReLU 网络逼近 \(x^2\) 需要把 \([0,1]\) 切成 \(N\) 段、每段一个线性片,要 \(N\) 个神经元才能到精度 \(1/N^2\)"——这是 \(O(1/\varepsilon^{1/2})\) 的宽度,看起来很差。

Yarotsky 的"近似乘法构造"打破了这个直觉——深度可以指数级地放大分段线性的精度:用 \(O(\log(1/\varepsilon))\) 的**深度**(而非 \(O(1/\sqrt\varepsilon)\) 的宽度)就能逼近 \(x^2\)。这个构造是理解"深度为什么强大"的微观样本,也是 §8.1.4 深度分离的技术核心。下面我们完整地走一遍。

历史:Yarotsky 与 ReLU 时代的逼近论

2010 年代,ReLU(Nair-Hinton 2010,Glorot-Bordes-Bengio 2011)取代 sigmoid 成为深度学习的默认激活函数——它缓解了梯度消失、计算便宜。但 ReLU 的逼近理论一开始落后于实践:Cybenko/Barron 都基于 sigmoid。

Dmitry Yarotsky 在 2017 年(Neural Networks 94:103-114)填补了这个空白,给出了 ReLU 网络逼近 Sobolev 函数的**最优速率**(上下界匹配),并发明了两个影响深远的构造技巧——"近似乘法"和"位提取"。这两个技巧后来成为 ReLU 逼近论的标准工具,被 Shen-Yang-Zhang(2022)等推向"宽度×深度联合最优"。这条线代表了逼近论从 sigmoid 时代向 ReLU 时代的迁移。

理论:Yarotsky 2017 的逼近率 [骨]

定理(Yarotsky, 2017)。设 \(F_{d,n}\) 是 Sobolev 空间 \(W^{n,\infty}([0,1]^d)\) 的单位球(即 \(n\) 阶以内的弱导数一致有界的函数)。则对任意 \(\varepsilon \in (0,1)\),存在深度 \(O(\log(1/\varepsilon))\)、权重数 \(O(\varepsilon^{-d/n}\cdot \log(1/\varepsilon))\) 的 ReLU 网络,可以逼近 \(F_{d,n}\) 中**任意** \(f\) 到 sup 范数精度 \(\varepsilon\)

匹配下界:利用 VC 维(Bartlett-Harvey-Liaw-Mehrabian 2019 证明 ReLU 网络的 VC 维为 \(O(WL\log W)\)\(W\) 为权重数、\(L\) 为层数),由度量熵/覆盖数下界可推出:任何达到精度 \(\varepsilon\) 的 ReLU 网络必须有至少 \(\Omega(\varepsilon^{-d/n}/\mathrm{polylog}(1/\varepsilon))\) 个权重。因此上下界匹配(差一个 log 因子)。这是"最优"二字的含义——你不可能用本质上更少的参数做到。

注意这个速率 \(O(\varepsilon^{-d/n})\) 仍含维度灾难\(d\) 在指数上)。这与 Barron 的维度无关速率形成对比——区别在于函数类:Sobolev 类只假设光滑度,没有 Barron 类的谱衰减结构,所以无法避开维度灾难。函数类的结构,再一次决定了能否破解维度灾难。

理论:Yarotsky 工具箱之一——近似乘法 [完]

这是本节最精彩、也是 #7 必完证的构造。我们要证明:ReLU 网络可以用 \(O(\log(1/\varepsilon))\) 的深度和大小,逼近平方函数 \(x^2\)\([0,1]\) 上到精度 \(\varepsilon\)

第一步:构造锯齿函数。 定义"帽子/锯齿函数" $$ T(x) = 2\,\mathrm{ReLU}(x) - 4\,\mathrm{ReLU}(x - \tfrac12) + 2\,\mathrm{ReLU}(x - 1). $$ 验证:在 \([0, 1/2]\)\(T(x) = 2x\)(只有第一项激活),在 \([1/2, 1]\)\(T(x) = 2 - 2x\)(前两项激活)。所以 \(T\) 是一个"三角波"——从 \((0,0)\) 升到 \((1/2, 1)\) 再降到 \((1, 0)\)\(T\) 只用了 3 个 ReLU 神经元、1 层

第二步:自合成翻倍。 考虑 \(T\)\(k\) 次自合成 \(T^{\circ k} = T \circ T \circ \dots \circ T\)。关键性质:每次合成把三角波的"齿数"翻倍\(T\) 有 1 个齿(2 段),\(T^{\circ 2}\) 有 2 个齿(4 段),\(T^{\circ k}\)\(2^{k-1}\) 个齿(\(2^k\) 段),每个齿宽 \(2^{-k}\)、高 \(1\)

为什么自合成能翻倍? 因为 \(T\)\([0,1]\) 映射回 \([0,1]\),且在 \([0,1/2]\)\([1/2,1]\) 上各"铺满"一次 \([0,1]\)(一个上升、一个下降)。所以 \(T^{\circ k}\) 在每个子区间上重复 \(T^{\circ(k-1)}\) 的图样,齿数翻倍。这就是深度(合成次数 \(k\))如何指数级 \(2^k\) 地放大复杂度——它是 §8.1.4 深度分离的微观引擎。

第三步:用锯齿逼近 \(x^2\) 这是神来之笔。定义 $$ g_m(x) = x - \sum_{k=1}^{m} \frac{T^{\circ k}(x)}{2^{2k}} = x - \sum_{k=1}^m 4^{-k}\, T^{\circ k}(x). $$ 可以证明 \(g_m\)\(x^2\)\([0,1]\) 上的**分段线性插值**,节点为 \(\{j/2^m\}\),且 $$ \sup_{x\in[0,1]} |g_m(x) - x^2| \le 2^{-2m-2} = \frac14 \cdot 4^{-m}. $$ 即误差以 \(O(4^{-m})\) 指数衰减。要达到精度 \(\varepsilon\),取 \(m = O(\log(1/\varepsilon))\) 即可。

直觉:为什么这个级数收敛到 \(x^2\) \(x^2\) 的分段线性插值误差,在每个尺度上恰好是一个缩放的三角波——抛物线和它的弦之间的"间隙"是抛物线形的,可以用更细的三角波继续逼近。系数 \(4^{-k}\) 正好匹配"齿宽减半、误差减为 1/4"的尺度律。这是一个自相似的多尺度逼近,本质上是 \(x^2\) 的 Faber-Schauder(小波型)展开。

第四步:网络规模核算。 \(g_m\) 需要计算 \(T, T^{\circ 2}, \dots, T^{\circ m}\)。把它们串成一条深度 \(\sim m\) 的链(每层算一次 \(T\),并把中间结果累加),总深度 \(O(m) = O(\log(1/\varepsilon))\),总神经元 \(O(m) = O(\log(1/\varepsilon))\)。证毕——ReLU 网络用对数深度逼近 \(x^2\) \(\blacksquare\)

第五步:由平方得乘法。 一旦有了平方,乘法就是平方的线性组合,靠极化恒等式: $$ xy = \frac{(x+y)^2 - x^2 - y^2}{2}. $$ 所以 ReLU 网络可以用 \(O(\log(1/\varepsilon))\) 深度近似**任意两数的乘积**。

本质洞察:ReLU 网络的表达力来源,浓缩在"深度 = 自合成 = 指数级复杂度放大"这一句话里。一个 1 层、3 神经元的三角波 \(T\),自合成 \(m\) 次就有 \(2^m\) 个分段。深度把'加法'变成了'乘法'——线性堆叠的层,产生了指数增长的分段线性区域。 这是深度网络一切"指数表达力"的微观机理,也是 ReLU 能高效逼近 \(x^2\)(乃至任意光滑函数)的根本原因。理解了三角波自合成,你就理解了"深度为什么强大"的一半。

理论:Yarotsky 工具箱之二——局部 Taylor + 划分函数 [骨]

有了"近似乘法"这个基石,逼近一般 Sobolev 函数 \(f \in W^{n,\infty}\) 就水到渠成:

  1. 划分定义域:把 \([0,1]^d\)\((N+1)^d\) 个"凸起函数(bump)" \(\varphi_m\) 覆盖(每个 \(\varphi_m\) 用 ReLU 斜坡拼出,在格点 \(m\) 附近为 \(1\)、远处为 \(0\),构成单位分解 \(\sum_m \varphi_m \equiv 1\))。
  2. 局部 Taylor 逼近:在每个格点 \(m\),用 \(f\)\((n-1)\) 阶局部 Taylor 多项式 \(P_m(x)\) 逼近 \(f\),局部误差 \(\sim h^n \sim N^{-n}\)\(h = 1/N\) 是格距,由 Taylor 余项定理保证)。
  3. 用近似乘法组装:网络输出 \(\sum_m P_m(x)\cdot\varphi_m(x)\)。这里的乘积 \(P_m\cdot\varphi_m\) 用第一个工具(近似乘法)实现。
  4. 核算总量:总精度 \(\varepsilon \sim N^{-n} \Rightarrow N \sim \varepsilon^{-1/n} \Rightarrow\) 总参数 \(\sim N^d = \varepsilon^{-d/n}\)(再乘 log 因子来自乘法小工具的深度)。

bump 函数怎么用 ReLU 拼? 这一步初学者常觉得"凭空冒出来",值得点破。一维的"三角帽"函数 \(\psi(t)\)(在 \(0\) 处为 1、在 \(\pm h\) 处降到 0、之外为 0)可以用三个 ReLU 拼出: $$ \psi(t) = \tfrac{1}{h}\big[\mathrm{ReLU}(t+h) - 2\,\mathrm{ReLU}(t) + \mathrm{ReLU}(t-h)\big]. $$ (验证:这是一个底宽 \(2h\)、峰高 1 的三角形。)\(d\) 维的 bump \(\varphi_m(x)\) 取各维三角帽的乘积 \(\prod_{i=1}^d \psi(x_i - m_i)\)——但乘积要用近似乘法(工具 1)实现!这就是为什么"近似乘法"是地基:没有它,连 bump 函数的多维版本都拼不出来。这些 bump 满足近似的单位分解 \(\sum_m\varphi_m\approx 1\),从而 \(f\approx\sum_m f(m)\varphi_m\)(粗糙的零阶逼近),再叠加局部 Taylor 高阶项提升精度。

阶段小结:到这里 Yarotsky 的两个工具就咬合成一台完整的"逼近机器"——工具 1(近似乘法)是齿轮,工具 2(局部 Taylor + bump)是用这些齿轮搭起的传动系统。整条链是:ReLU → 三角波 \(T\) → 自合成造 \(x^2\) → 极化得乘法 → 乘法拼多维 bump → bump × 局部 Taylor → 逼近任意 Sobolev 函数。每一环都依赖前一环,缺一不可。

机器人直觉:如果你的动力学模型 \(F(q, v, u)\)\(n\) 次可微的(对刚体动力学通常 \(n = \infty\)),那么一个深度 \(O(\log(1/\varepsilon))\)、参数量 \(O(\varepsilon^{-d/n})\) 的 ReLU 网络可以逼近它。当 \(n\) 大时 \(\varepsilon^{-d/n}\) 不爆炸——这正是"神经网络学动力学"在中低维系统上效果极好的严格解释。 我们会在 §8.1.6 用这个公式给 7-DOF 机械臂做一个真实的参数量估算,结果与实践惊人吻合。

算例:光滑度如何"压住"维度。 用 Yarotsky 公式 \(n_{\text{params}}\sim\varepsilon^{-d/n}\) 做一组对照盘算,目标精度 \(\varepsilon = 0.01\)(即 \(\varepsilon^{-1} = 100\)):

维度 \(d\) 光滑度 \(n\) 指数 \(d/n\) 参数量 \(\sim 100^{d/n}\) 可行性
10 2 5 \(100^5 = 10^{10}\) 太大
10 10 1 \(100^1 = 10^2\) 轻松
50 2 25 \(100^{25} = 10^{50}\) 宇宙级,不可能
50 25 2 \(100^2 = 10^4\) 轻松
50 5 10 \(100^{10} = 10^{20}\) 不可行

这张表把"光滑度压住维度"讲得明明白白:同样 \(d=50\),光滑度 \(n=2\) 时要 \(10^{50}\) 个参数(绝望),\(n=25\) 时只要 \(10^4\) 个(轻松)。指数 \(d/n\) 才是命门——它同时取决于维度和光滑度。刚体动力学 \(n=\infty\)(解析),所以 \(d/n\to 0\),参数量趋于常数级,这就是它好学的根本原因。反过来,接触动力学因为不光滑(\(n\) 小甚至无定义),\(d/n\) 大,理论上就难学——这与实践中"接触丰富的操纵任务难"完全吻合。

理论:Shen-Yang-Zhang 2022——宽度×深度联合最优 ○ ⭐⭐⭐⭐

Yarotsky 给的是"深度 \(\sim\log(1/\varepsilon)\)、宽度吸收剩余"的一种配置。更精细的问题是:给定宽度 \(W\) 和深度 \(L\),最优速率是什么?

定理(Shen, Yang, Zhang, J. Math. Pures Appl. 157, 2022)。ReLU 网络,宽度 \(O(\max\{d\lfloor N^{1/d}\rfloor, N+2\})\)、深度 \(O(L)\),逼近 \(\alpha\)-Hölder 函数在 \([0,1]^d\) 上的误差为 $$ O!\left(\lambda\sqrt{d}\cdot (N^2 L^2 \ln N)^{-\alpha/d}\right). $$ 此速率对 \(N\)\(L\) 分别最优(匹配 VC 维下界)。

惊人推论(超收敛):固定深度 \(31\)、宽度 \(O(N)\) 时,一维 Lipschitz 函数(\(\alpha = 1\), \(d = 1\))的逼近率为 \(O(\lambda/(W\log W))\)——优于**朴素分段线性速率 \(O(\lambda/W)\)。这个"额外的 \(\log W\)"是"超收敛"现象,源自 Yarotsky 的第三个工具——**位提取(bit extraction):用深度 ReLU 网络从一个实数的二进制编码中"读取"单独的位,从而把信息压缩得比朴素方法更密。

⚠️ 常见陷阱

💡 概念误区 1:以为 ReLU 网络只能表示分段线性函数所以很弱
   新手想法:"ReLU 是分段线性,复合还是分段线性,逼不了 x²。"
   实际上:ReLU 网络确实只表示连续分段线性函数(CPWL),但通过
          深度自合成,分段数可达 2^L(指数级)。逼近 x² 的本质是
          "用足够多的分段线性片做插值",O(log 1/ε) 深度就够。
   为什么重要:这是低估深度网络最常见的错误。分段线性 ≠ 弱——
          关键是有多少段,而深度让段数指数增长。
💡 概念误区 2:把 Yarotsky 速率 O(ε^{−d/n}) 误读成"维度无关"
   新手想法:"Yarotsky 也是神经网络逼近,应该像 Barron 一样维度无关。"
   实际上:Yarotsky 速率 O(ε^{−d/n}) 的 d 明明白白在指数上——
          它是有维度灾难的!只是当光滑度 n 很大时,指数 d/n 小,
          灾难被光滑度"压住"。这与 Barron 的真·维度无关不同。
   正确理解:维度灾难破不破解,取决于函数类。Sobolev 类(只有光滑度)
          破不了;Barron 类(有谱衰减)破得了;组合类(有结构)破得了。
🧠 思维陷阱 1:既然 x² 激活一层就能算乘法,就该用 x² 当激活函数
   新手想法:"ReLU 算乘法要 O(log 1/ε) 深度,x² 激活一层精确算乘法,
            那 x² 是更好的激活函数。"
   实际上:x²(多项式)激活有两个致命问题——(1) Leshno 定理:多项式
          激活的网络不万能(§8.1.1)!(2) x² 无界,梯度 2x 在大输入处
          爆炸,优化极不稳定。ReLU 的"算乘法慢"换来的是万能性 + 优化稳定。
   正确思维:激活函数是逼近能力、优化稳定性、泛化的综合权衡,
          不能只看"算某个特定操作快不快"。(这正是思考题 T4。)
🧠 思维陷阱 2:以为"位提取超收敛"是免费午餐
   新手想法:"Shen-Yang-Zhang 用位提取得到比朴素更快的速率,太好了,
            应该到处用。"
   实际上:位提取依赖把信息编码进实数的二进制位,这需要权重达到
          指数级精度(如 2^{−L})。有限浮点精度下根本无法实现,
          且这类网络 VC 维可能爆炸,泛化堪忧(见 §8.1.7 开放问题 3)。
   正确思维:超收敛是"理论上存在但实践脆弱"的典型——逼近论的
          最优率和工程可用性之间有鸿沟。

练习

[练习 8.1.3-1 · 推导题,闭卷,必做] 用 ReLU 函数 \(\max(x,0)\) 构造锯齿函数 \(T(x)\)(写出三项 ReLU 组合)。证明 \(T\)\(k\) 次自合成 \(T^{\circ k}\)\(2^k\) 个线性段。由此构造 \(x^2\)\(O(\log(1/\varepsilon))\) 深度近似 \(g_m\),并估计 \(\sup|g_m(x) - x^2|\) 的衰减阶。在草稿纸上画出 \(T\)\(T^{\circ 2}\)\(g_1, g_2\) 的图像,直观验证"齿数翻倍"和"误差 1/4 缩减"。

[练习 8.1.3-2 · 开放思考题] Yarotsky 速率 \(O(\varepsilon^{-d/n})\)\(n = \infty\)(解析函数)退化成什么?严格来说 \(n = \infty\) 时指数 \(d/n \to 0\),是否意味着"解析函数逼近完全不受维度影响"?这与 Barron 定理是什么关系?提示:对解析函数,更精细的分析(指数收敛)给出 \(O(\log^d(1/\varepsilon))\) 量级,仍有 \(d\) 的痕迹(在 log 的指数上)。讨论这个"残余维度依赖"的意义。

[练习 8.1.3-3 · 桥接 + 估算] 对一个 \(7\)-DOF 机械臂,动力学输入是 \((q, v, u)\),维度 \(d \approx 21\)。假设动力学是 \(C^\infty\) 的,但实际用有限阶 Taylor 截断,取等效光滑度 \(n = 4\)。用 Yarotsky 速率估算:要达到精度 \(\varepsilon = 0.01\),大约需要多少参数?把结果与实际机器人控制中常用的 MLP 规模(\(10^5\)-\(10^6\) 参数)对比,讨论吻合程度说明了什么。


§8.1.4 深度分离定理——为什么深度重要 ◉ ⭐⭐⭐

本节定位:前几节关心"宽度/神经元总数",本节从全新维度切入——同样的参数预算,深一点和宽一点有本质区别吗? 答案是有,而且是指数级的。档位 3 核心概念,档位 4 证明细节。

过渡:从"够不够大"到"该深还是该宽"

到目前为止,我们衡量网络规模都用一个量——神经元总数 \(n\)(Barron)或参数总数(Yarotsky)。但实践中你面对的是一个更具体的选择:给定参数预算,我该把网络做深还是做宽?

§8.1.1 的 Cybenko 定理似乎暗示"单隐层就万能,深度无所谓"。但这只是"能不能"层面的结论。本节要证明一个截然不同的"效率"层面的结论——有些函数,深层网络只需 \(O(k)\) 个神经元,浅层网络却需要 \(\Omega(2^k)\)。这个指数级的差距,就是"深度学习"里"深度"二字的理论正当性。

动机:为什么实践中大家都用深网络而非超宽单隐层

一个无法回避的经验事实:现代深度学习用的是"深"网络——ResNet 上百层,Transformer 几十层。几乎没有人用"单隐层 + 超大宽度",尽管 Cybenko 定理说后者也万能。为什么?

如果你只懂 §8.1.1,你无法解释这个现象——既然单隐层万能,为什么不用?深度分离定理给出了答案:对某些函数(尤其是高频振荡、需要层级组合的函数),深度提供指数级的参数效率。 一个深层网络用 1000 个参数能表示的函数,单隐层可能需要 \(2^{30}\) 个。深度不是"锦上添花",而是"指数级的必需"。

反面:如果只靠加宽来提升表达力会怎样

假设你迷信"宽度万能",想用单隐层网络去拟合一个高频振荡函数——比如 \(f(x) = \sin(2^k \pi x)\)(在 \([0,1]\) 上有 \(2^k\) 个振荡周期)。会怎样?

ReLU 单隐层网络是分段线性的,\(n\) 个神经元最多产生 \(n+1\) 个线性段。要逼近一个有 \(2^k\) 个振荡的函数,你至少需要 \(\sim 2^k\) 个线性段,即 \(\sim 2^k\) 个神经元。\(k = 30\) 时,这是 \(10^9\) 个神经元——单隐层被高频函数活活撑爆。

而深层网络呢?回忆 §8.1.3 的三角波自合成——\(T^{\circ k}\)\(O(k)\) 层、\(O(k)\) 个神经元就产生了 \(2^k\) 个分段。深层网络用 \(O(k)\) 个参数表示的高频函数,浅层需要 \(\Omega(2^k)\) 个。 这就是 Telgarsky 定理的内容。

历史:深度分离的黄金三年(2016)与随后的障碍

深度网络在 2012 年(AlexNet)后席卷工业界,但"深度为何重要"的理论一直缺失。2016 年成了"深度分离"研究的爆发年:

  • Telgarsky(COLT 2016,arXiv 2015):用一维锯齿函数给出深度 \(\Theta(k^3)\) vs \(O(k)\) 的指数分离。构造极简(就是三角波自合成),证明优美(仿射区域计数)。
  • Eldan & Shamir(COLT 2016):用径向函数给出 3 层 vs 2 层的指数分离,证明用 Fourier 分析。

这两篇几乎同时出现,从两个不同角度(一维构造 vs 高维径向)确立了"深度提供指数效率"。但故事有个意味深长的转折——2020 年后,Vardi-Shamir 等人证明:想把分离结果推广到深度 \(>4\)(对"自然"函数),将等价于解决电路复杂度的经典开放问题。深度分离撞上了理论计算机科学最硬的墙之一。

理论:Telgarsky 2016 指数级分离 [骨]

定理(Telgarsky, COLT 2016)。对每个整数 \(k\),存在一个可以被深度 \(\Theta(k^3)\)、每层 \(O(1)\) 节点的 ReLU 网络**精确表示**的函数 \(f_k : [0,1] \to [0,1]\),使得任何深度 \(O(k)\) 的网络要 \(\varepsilon\)-逼近它,必须有 \(\Omega(2^k)\) 个节点。

证明核心——仿射区域计数

整个证明建立在一个简洁的计数原理上。

引理(仿射区域上界):深度 \(L\)、每层宽度 \(\le W\) 的 ReLU 网络 \(f : \mathbb{R} \to \mathbb{R}\),最多有 \(O(W^L)\) 个仿射线性段(连续分段线性区域)。

为什么是 \(W^L\) 每个 ReLU 神经元在输入空间切一刀(一个"折点"),把现有区域数最多翻倍。一层 \(W\) 个神经元,把区域数乘以最多 \(\sim W\)\(L\) 层叠加,区域数最多 \(\sim W^L\)这是关键的不对称——宽度让区域数线性增长(每层 \(\times W\)),深度让区域数指数增长(\(L\) 次方)。

构造目标函数:取 \(f_k = T^{\circ k}\)(三角波 \(k\) 次自合成,见 §8.1.3)。它恰好有 \(2^k\) 个仿射段,且可被深度 \(O(k)\)、宽度 \(O(1)\) 的网络精确表示(每层算一次 \(T\))。

下界论证:假设一个深度 \(L = O(k)\) 的网络 \(g\) 想逼近 \(f_k\)。由引理,\(g\) 最多有 \(O(W^L)\) 个仿射段。若 \(W = o(2^{k/L})\),则 \(W^L = o(2^k)\)——\(g\) 的仿射段数远少于 \(f_k\)\(2^k\) 个,无法逼近一个振荡 \(2^k\) 次的函数(一个仿射段最多穿过函数的一个单调片,段数不够就漏掉振荡)。所以 \(g\) 必须有 \(W = \Omega(2^{k/L})\),对 \(L = O(k)\)\(W = \Omega(2^{\Omega(1)})\),总节点 \(\Omega(2^k)\) 量级。\(\blacksquare\)

本质洞察:深度是 ReLU 网络的"免费倍增器"——每多一层就可能把分段线性区域数翻倍(指数增长),而每加宽一层只能让区域数线性增加。 表达高频振荡 = 需要很多分段,于是深度以指数优势碾压宽度。这是深度网络表达力的几何本质,也把 §8.1.3 的"三角波自合成"提升为一条普适的分离原理。深度学习之所以"深",这个仿射区域计数就是最干净的数学解释。

一个具体的区域数对照,让分离变得可触摸。 假设我们有 1000 个神经元的预算,想最大化分段线性区域数(即表达力)。两种极端配置:

配置 结构 分段区域数(一维输入,量级) 解读
极宽浅层 1 层 × 1000 神经元 \(\sim 1000\)(线性于神经元数) 区域数 = 折点数 + 1,每神经元贡献 1 个折点
中等深度 10 层 × 100 神经元 \(\sim 100^{10} = 10^{20}\)\(W^L\) 每层把区域数乘以 \(\sim W=100\)
极深窄层 100 层 × 10 神经元 \(\sim 10^{100}\)(理论上界 \(W^L\) 但实际受"区域如何嵌套"限制,且优化困难

同样 1000 个神经元,浅层只能造 \(10^3\) 个区域,中等深度能造 \(10^{20}\) 个——相差 17 个数量级。这就是 Telgarsky 分离的数值直观:要表达一个有 \(10^{20}\) 个振荡的函数,深网络游刃有余,浅网络需要 \(10^{20}\) 个神经元(不可能)。

思维陷阱预警(呼应本节陷阱 1):但请注意上表的"理论上界"陷阱——极深窄层的 \(10^{100}\) 是**上界**,实际能否达到取决于区域如何分布。而且 §8.1.4 的深度 \(>4\) 障碍告诉我们:对"自然"函数,这种区域数优势能否转化为真实的逼近优势,理论上仍未证实。区域数多 \(\ne\) 逼近误差小——区域还要"用在刀刃上"(对齐目标函数的复杂结构)。这就是为什么实践中是"中等深度"最优,而非"越深越好"——极深网络既有优化困难(梯度消失),其表达力优势对自然函数又无理论保证。Telgarsky 的人造锯齿函数恰好能"用满"所有区域,但你的机器人任务通常不是锯齿。

关于 \(\Theta(k^3)\) 深度的说明。 定理陈述里"深度 \(\Theta(k^3)\) 表示、深度 \(O(k)\) 逼近需 \(\Omega(2^k)\)"中的 \(k^3\) 看起来奇怪。它来自 Telgarsky 的精细构造——为了让"被深网络精确表示"和"被浅网络逼近"两端的论证都干净,他用了一个比单纯 \(T^{\circ k}\) 更精心设计的函数,其深度是 \(k\) 的多项式(具体 \(k^3\))。核心思想不变:存在一个深度多项式于 \(k\) 的网络能精确表示的函数,任何深度线性于 \(k\) 的网络都需指数宽度\(k^3\) 只是构造的技术常数,不影响"多项式深度 vs 指数宽度"这个本质对立。

理论:Eldan-Shamir 2016 三层 vs 两层 [陈]

Telgarsky 的分离是"\(O(k)\) 层 vs \(\Theta(k^3)\) 层",跨度较大。Eldan-Shamir 给出了更尖锐的"近邻"分离——3 层 vs 2 层

定理(Eldan & Shamir, COLT 2016)。存在一个近似径向函数 \(g : \mathbb{R}^d \to \mathbb{R}\),可以被 \(\mathrm{poly}(d)\) 大小的 **3 层**网络表示,但任何 **2 层**网络要达到常数精度的 \(L^2\) 逼近,宽度必须至少 \(c\cdot\exp(cd)\)(关于维度 \(d\) 指数级)。

构造直觉\(g(x) = g'(\|x\|^2)\),其中 \(g'\) 是一个高度振荡的一维函数。

  • 3 层网络可以:第一层 + 第二层先计算 \(\|x\|^2 = \sum_i x_i^2\)(每个 \(x_i^2\) 用近似乘法逼近后求和),第三层对结果应用振荡函数 \(g'\)。两步分工,各自高效。
  • 2 层网络不行:它必须"一步到位"地同时完成"计算范数"和"应用振荡函数",而这两件事的复合无法被浅层高效表示。

下界证明(Fourier/调和分析):2 层网络的输出,其 Fourier 能量集中在低维"管道"(tube)上——因为每个神经元 \(\sigma(w\cdot x)\) 的 Fourier 变换支撑在方向 \(w\) 的射线上。而径向函数 \(g\) 的频谱是"球面分散"的(各向同性)。能量分布的根本不匹配,迫使 2 层网络需要指数多个神经元才能"拼出"分散的频谱。

多视角理解——Telgarsky 与 Eldan-Shamir 的互补:两个定理都证明"深 > 浅",但视角不同。 - Telgarsky(一维 + 区域计数):分离来自"高频振荡需要很多分段,深度指数造段"。是**几何/组合**视角。 - Eldan-Shamir(高维 + Fourier):分离来自"径向函数的分散频谱,浅层 Fourier 能量太集中"。是**频谱/分析**视角。

它们像从两个方向爬同一座山——一个数台阶(分段),一个看坡度分布(频谱)。两者都指向"深度能表达浅层表达不了的复杂性",但相似之处仅限于"结论都是指数分离";**不要**把两者的机制混为一谈——Telgarsky 的分离来自振荡频率,Eldan-Shamir 的来自径向结构,是不同的复杂性来源。

理论:深度分离的障碍 ○ ⭐⭐⭐⭐

一个自然的追问:既然 \(O(k)\) vs \(\Theta(k^3)\)、2 层 vs 3 层都有指数分离,那是不是"越深越好"可以一直推下去——深度 5 严格强于深度 4,深度 100 强于深度 99?

令人沮丧的答案:目前的数学工具做不到。

定理(Vardi & Shamir, NeurIPS 2020; Vardi-Reichman-Pitassi-Shamir, COLT 2021)。证明深度 \(k \ge 4\)\(k' > k\) 之间的分离结果(对"自然"的多项式 Lipschitz、多项式可计算函数),将**等价于解决电路复杂度中的经典开放问题**(如 \(\mathrm{TC}^0\) vs \(\mathrm{NC}^1\))。

这是 Razborov-Rudich "自然证明障碍(natural proofs barrier)"的类比——某些下界证明如果存在,会同时打破密码学假设,因此"太强而不可能用现有方法得到"。

含义与诚实:当前的数学无法证明"深度 5 比深度 4 严格更好"(对"好"的函数)。这是理论计算机科学最深层的困难之一。这提醒我们对"深度分离"保持清醒——已有的分离结果(Telgarsky/Eldan-Shamir)依赖精心构造的"人造"高频/径向函数;对你在机器人里真正遇到的"自然"函数,深度 \(>4\) 的优势在理论上仍是悬而未决的开放问题。 实践中深网络好用,可能更多来自优化和泛化的原因,而非纯粹的表达力分离。

⚠️ 常见陷阱

💡 概念误区 1:把"深度分离"理解成"深度网络总是优于浅层"
   新手想法:"深度分离证明深 > 浅,所以网络越深表达力越强。"
   实际上:分离结果是"存在某些函数,深层指数级优于浅层"——是
          "存在性"。对另一些函数(如本身就低频、简单的),浅层
          完全够用,加深无益甚至有害(梯度消失、过拟合)。
   为什么重要:深度分离说的是"深度的潜力上界",不是"任何任务都该加深"。
          盲目加深是对分离定理的过度解读。
💡 概念误区 2:以为 Telgarsky 的人造锯齿函数代表实际任务
   新手想法:"Telgarsky 证明高频锯齿需要深度,那我的任务也该用深网络。"
   实际上:锯齿函数是为了"最大化分离"而精心构造的极端例子,现实中
          很少有目标函数是 2^k 振荡的纯锯齿。深度 >4 障碍恰恰说明
          对"自然"函数,分离优势可能根本不存在。
   正确理解:分离定理是"理论可能性的证明",不是"实际任务的刻画"。
🧠 思维陷阱 1:用仿射区域计数推断"深度永远指数优于宽度"
   新手想法:"深度让区域数 W^L 指数增长,所以深度永远碾压宽度。"
   实际上:区域数多 ≠ 逼近误差小。区域如何分布、是否对齐目标函数的
          复杂结构才是关键。而且深度 >4 障碍说明对自然函数无法证明
          持续分离。极深网络还有优化障碍(梯度消失/爆炸)。
   正确思维:仿射区域计数给的是"表达力上界的潜力",能否兑现取决于
          目标函数结构 + 优化能否找到好权重。
🧠 思维陷阱 2:忽视"分离的下界是对所有浅层网络"这个全称量词
   新手想法:"深度分离说浅层需要 2^k 神经元,那随便哪个浅层网络都这么大。"
   实际上:方向反了。下界说的是"任何能逼近 f_k 的浅层网络都需 ≥ 2^k"——
          是对"想逼近这个特定难函数"的浅层网络的下界。它不说"所有浅层
          网络都很大",而说"想干这件难事的浅层网络都很大"。
   正确思维:分离是"对特定难函数,浅层无论怎么设计都需指数宽度",
          全称量词作用在"所有逼近方案"上,不是"所有函数"上。

练习

[练习 8.1.4-1 · 推导题,闭卷,必做] 证明:深度 \(L\)、每层宽度 \(\le W\) 的 ReLU 网络 \(f : \mathbb{R} \to \mathbb{R}\) 最多有 \(O(W^L)\) 个仿射线性段。提示:归纳——一层 \(W\) 个神经元把现有区域数最多乘以多少?由此推出 Telgarsky 深度分离定理的下界部分(即"深度 \(O(k)\)、宽度 \(o(2^{k/L})\) 的网络无法逼近 \(T^{\circ k}\)")。在草稿纸上完成。

[练习 8.1.4-2 · 开放思考题] 深度 \(>4\) 分离的障碍说"无法证明深度 5 严格优于深度 4(对自然函数)"。请讨论:这个障碍是说"深度 5 不优于深度 4",还是说"我们证明不了它优于"?这两种解读在哲学和工程上有什么不同含义?联系实践——既然理论上分离悬而未决,为什么工程中仍普遍用很深的网络?(提示:优化、泛化、归纳偏置等表达力之外的因素。)

[练习 8.1.4-3 · 综合 + 跨节] 综合 §8.1.3 和 §8.1.4:三角波自合成 \(T^{\circ k}\) 在 §8.1.3 用来逼近 \(x^2\),在 §8.1.4 用来做深度分离的难函数。请解释这"一物两用"背后的统一原理——为什么同一个构造既能"高效逼近光滑函数"又能"成为浅层逼近不了的难函数"?提示:关键都在"\(2^k\) 个分段线性区域",区别在于把它当"逼近工具"还是"逼近目标"。


§8.1.5 结构化函数与维度灾难的破解 ○ ⭐⭐⭐

本节定位:回到本质——为什么有些函数能避开维度灾难?因为它们有结构。 本节讲三种结构:Kolmogorov-Arnold 分解(一维叠加)、组合稀疏(树结构)、以及与之相关的 NTK、ResNet/Neural ODE 视角。档位 3 理解概念,档位 4 读原始论文。

过渡:维度灾难的"破解者"们的共同秘密

§8.1.2 的 Barron 类靠"谱衰减"破解维度灾难,§8.1.3 的 Sobolev 类破不了。这引出一个更深的问题:到底是什么结构,让一个函数能避开维度灾难? 本节系统回答——结构有很多种,但它们共享一个本质:"把高维问题分解成低维子问题的组合"。我们从最古老、最惊人的一种结构讲起——Kolmogorov-Arnold 分解。

动机:希尔伯特第 13 问题——多元函数能否被一元函数组装

回到 1900 年希尔伯特的第 13 问题。它的现代表述是:任意多元连续函数,能否表示成有限多个一元连续函数的叠加(加上加法)?

这个问题的动机是深刻的——如果答案是"能",那意味着"多变量的复杂性"在某种意义上可以被"还原"为"一元函数 + 加法"这种最简单的部件。这正是神经网络"用简单神经元组装复杂函数"思想的数学先声。而且它直击维度灾难的要害:如果高维函数真能被一元函数组装,那处理它就不需要"覆盖所有 \(d\) 维方向",维度灾难也许就能绕过。

反面:如果多元函数无法被一元函数组装会怎样

希尔伯特本人猜测答案是"不能"——他认为存在某些三元函数,无法用二元函数叠加表示(这是第 13 问题的原始形式)。如果希尔伯特对了,那意味着"多变量复杂性是不可约的",高维函数有本质上无法被低维部件捕捉的结构,维度灾难就是函数本身的内禀属性,无法靠"分解"绕过。

这个"反面"假设直到 1957 年才被推翻——而推翻它的方式,开启了一整条"用一维部件表达高维函数"的研究线,最终在 2024 年以 KAN 网络的形式回到深度学习的中心。

历史:Kolmogorov-Arnold 的惊人定理与它的"沉睡与苏醒"

1957 年,柯尔莫哥洛夫(Andrey Kolmogorov)和他年仅 19 岁的学生阿诺德(Vladimir Arnold)给出了与希尔伯特猜测**相反**的答案——多元连续函数**确实**可以表示成一元连续函数的叠加。这是 20 世纪数学的一个里程碑。

但这个定理随后"沉睡"了半个多世纪。原因是它的一元函数极其病态(下文详述)——处处不可导、依赖于目标函数本身、无法用有限参数表示。逼近论界长期认为它"理论优美但毫无实用价值",Girosi-Poggio 在 1989 年甚至专门撰文论证"Kolmogorov 定理与神经网络无关"。

转机出现在 2024 年——Liu 等人(MIT/Caltech)发表 "KAN: Kolmogorov-Arnold Networks",把这个沉睡的定理重新唤醒:他们不追求精确实现 Kolmogorov 的病态一元函数,而是**用可学习的样条函数(B-spline)替代固定的线性权重**,把"边上的可学习一维函数 + 节点上的求和"作为新的网络范式。这让 1957 年的定理第一次以"工程可用"的形式回到深度学习舞台中央,引发了 2024-2025 年的研究热潮。这是一个罕见的"理论沉睡 67 年后被重新激活"的故事。

理论:Kolmogorov-Arnold 表示定理 [骨]

定理(Kolmogorov 1957, Arnold 1957)。任意连续函数 \(f : [0,1]^d \to \mathbb{R}\) 可以表示为 $$ f(x_1, \dots, x_d) = \sum_{q=0}^{2d} \Phi_q!\left( \sum_{p=1}^{d} \phi_{q,p}(x_p) \right), $$ 其中 \(\phi_{q,p} : [0,1] \to \mathbb{R}\)\(\Phi_q : \mathbb{R} \to \mathbb{R}\) 都是**一元连续函数**。

请仔细看这个结构:外层 \(2d+1\) 个一元函数 \(\Phi_q\),内层 \(d(2d+1)\) 个一元函数 \(\phi_{q,p}\),全部一元,靠加法连接。 没有任何多元函数!一个 \(d\) 元函数被彻底分解为 \(O(d^2)\) 个一元函数的叠加。这就是希尔伯特第 13 问题的答案——多元复杂性**可以**被一元部件组装。

多视角理解——把它读成"两层网络":Kolmogorov-Arnold 公式有一个惊人的"神经网络解读"。 - 内层 \(\sum_p \phi_{q,p}(x_p)\):像第一层,但激活函数 \(\phi_{q,p}\) 是"可学习的、逐输入维度不同的"一维函数(而不是固定的 sigmoid)。 - 外层 \(\Phi_q(\cdot)\) 求和:像第二层,激活函数 \(\Phi_q\) 也是可学习一维函数。

这正是 KAN 网络的设计蓝图——把激活函数从"固定在节点上"挪到"可学习在边上"。与标准 MLP 的相似之处:都是"线性/求和 + 非线性"的两层结构;不像的地方(边界):MLP 的非线性是固定激活函数、权重是线性标量;KAN 的"权重"本身是可学习的一维函数。不要把这个类比推得太远——Kolmogorov 定理保证的一元函数是病态的,KAN 用光滑样条只是"受其启发",并不真正实现定理本身。

关键的"反面"——为什么它沉睡了 67 年:Kolmogorov 定理虽然成立,但有三个致命的实用障碍: 1. 一元函数病态\(\phi_{q,p}\) 通常处处不可导(只能保证连续),无法用有限参数光滑表示。 2. 依赖目标函数:内层函数 \(\phi_{q,p}\) 依赖于 \(f\)(虽然 Sprecher 等人后来证明内层可取与 \(f\) 无关的"通用"版本,但外层 \(\Phi_q\) 仍依赖 \(f\) 且病态)。 3. 非构造性:定理是存在性的,不告诉你怎么找这些函数。

这就是为什么半个世纪里它被当成"理论珍品、实用废物"。KAN 的贡献正是绕开这些障碍——不追求精确实现,而用光滑样条近似,换来可训练性。

理论:KAN 网络与 2024-2025 的复兴 ○ ⭐⭐⭐

KAN(Kolmogorov-Arnold Networks, Liu et al. 2024)的核心思想:

\[ \text{标准 MLP:} \quad x \mapsto \sigma(Wx + b) \quad (\text{固定激活 } \sigma\text{,可学权重 } W) $$ $$ \text{KAN:} \quad x \mapsto \sum_i \phi_i(x_i) \quad (\text{可学习一维函数 } \phi_i \text{ 在边上,节点只求和}) \]

每个 \(\phi_i\) 用 B-spline 参数化(可学习的样条系数)。多个 KAN 层堆叠,形成深度 KAN。

KAN 的卖点与争议

  • 可解释性:每条边是一个可视化的一维函数,可以直接"看"网络学到了什么关系(如发现某个变量是 \(\sin\) 关系)。这对科学发现(符号回归)很有吸引力。
  • 参数效率(部分场景):对有"加性/组合结构"的函数,KAN 可能用更少参数达到同等精度。
  • 争议:后续工作(如 arXiv:2407.11075 综述)指出 KAN 在很多标准任务上并不优于 MLP,训练更慢,且 Kolmogorov 定理本身的 \(2d+1\) 宽度对高维并不"省"(一元函数的复杂度可能很高)。逼近理论上,Kolmogorov 定理**不直接给出维度无关的速率**——它保证"存在表示",但一元函数的逼近复杂度仍可能随 \(d\) 增长。

本质洞察:Kolmogorov-Arnold 定理的深层意义,不在于它直接破解维度灾难(它并不直接破解),而在于它揭示了一种**可能性**——多元复杂性原则上可以被一维部件 + 组合结构捕捉。它和 Barron 类、组合函数一样,都属于"用结构对抗维度"的家族,只是它用的结构是"一维叠加"。这个家族的统一主题是:维度灾难不是高维的宿命,而是'没有利用结构'的代价。 KAN 的复兴,本质上是这个老主题在可学习样条时代的新表达。

理论:Poggio-Mhaskar 组合函数 [骨]

如果说 Kolmogorov 用的是"一维叠加"结构,Poggio-Mhaskar 用的是另一种极其重要的结构——组合稀疏(compositional sparsity),即树状的计算结构。

**组合函数**是这样一类函数:它的计算可以表示成一个 DAG(有向无环图),其中每个节点的入度有界(比如每个节点只依赖 \(\le 2\) 个子节点)。

定理(Poggio, Mhaskar, Rosasco et al. 2016/2017, IJAC)。若 \(f\) 的计算图是二叉树,每个"组成单元(constituent)"(从某些叶到一个内部节点的局部函数)属于 \(W^{n,\infty}\)\(n\) 阶光滑),则**镜像该 DAG 结构的深度 ReLU 网络**以精度 \(\varepsilon\) 逼近 \(f\) 只需要 $$ O(d\cdot\varepsilon^{-2/n}) $$ 个参数——**线性**于 \(d\) 而非指数!而浅层网络无法利用组合结构,仍需 \(O(\varepsilon^{-d/n})\) 个参数(维度灾难)。

为什么组合结构能降维? 因为二叉树的每个节点只是一个**二元**函数(依赖两个子节点),逼近一个二元光滑函数只需 \(O(\varepsilon^{-2/n})\) 参数(维度是 2,不是 \(d\)!)。整棵树有 \(O(d)\) 个节点,总参数 \(O(d\cdot\varepsilon^{-2/n})\)关键是:网络的结构镜像了函数的组合结构,把"逼近一个 \(d\) 元函数"分解成"逼近 \(O(d)\) 个二元函数",每个二元函数都不受维度灾难影响。

机器人直觉:物理系统天然是组合的。例如双臂机器人的动力学 = 左臂动力学 \(\circ\) 耦合力 \(\circ\) 右臂动力学,每个子系统的维度 \(\le 7\)。多体系统的动力学是各连杆通过关节耦合的链式/树状结构。Poggio 的定理解释了为什么深度网络学物理动力学效果好——它能利用物理系统的组合稀疏性,把高维动力学分解成低维子系统的组合,从而把参数量从指数级降到线性级。 这是"深度网络 + 物理系统"这对组合特别成功的理论根源,也是 §8.1.4 深度分离在"自然函数"上的一个正面体现。

为什么浅层网络利用不了组合结构? 这是定理"正面"的对偶——理解它才算真懂。一个浅层(单隐层)网络 \(\sum_j\alpha_j\sigma(w_j\cdot x+\theta_j)\) 的每个神经元都"一次性看全部 \(d\) 个输入"(\(w_j\in\mathbb{R}^d\)),它**无法表达"先算局部、再组合"的层级结构**——它没有"中间变量"的概念,所有计算被压平成一层。所以浅层网络面对组合函数时,只能把它当成一个普通的 \(d\) 元函数硬逼近,落入 \(O(\varepsilon^{-d/n})\) 的维度灾难。深度恰恰提供了"中间变量"——每一层的输出是下一层的输入,这正好对应组合函数计算图里的中间节点。 网络的层级结构与函数的组合结构同构,才是降维的真正机制。

一个 \(d=256\) 的对照盘算。 设目标函数是一棵满二叉树结构,叶子是 \(256\) 个输入,每个内部节点是一个二元光滑函数(\(n=2\)),树高 \(\log_2 256 = 8\)

方法 参数量估算 数值(\(\varepsilon=0.01\)
浅层(当作一般 \(C^2\) 的 256 元函数) \(\varepsilon^{-d/n} = \varepsilon^{-128}\) \(10^{256}\)(彻底不可能)
深度网络(镜像二叉树,Poggio-Mhaskar) \(O(d\cdot\varepsilon^{-2/n}) = O(256\cdot\varepsilon^{-1})\) \(\sim 256\times 100 \approx 2.6\times 10^4\)

\(10^{256}\) vs \(10^{4.4}\)——相差 250 多个数量级。这不是夸张,而是组合稀疏性的真实威力:把"逼近一个 256 元函数"分解成"逼近 255 个二元函数",每个二元函数的维度永远是 2,与总维度 256 无关。这就是为什么处理高维但有组合结构的系统(如多关节机器人、分子动力学、图结构数据),深度/结构化网络是唯一可行的路。

Kolmogorov-Arnold 内层函数的"通用化"——一个值得知道的精细结果:回到 §8.1.5 开头的 Kolmogorov-Arnold 定理。原始定理的内层函数 \(\phi_{q,p}\) 依赖目标 \(f\),这是它"不实用"的原因之一。但 Sprecher(1965)、Lorentz、以及后来的 Kůrková 等人证明了一个更强的版本——内层函数 \(\phi_{q,p}\) 可以取成与 \(f\) 无关的"通用"函数(只有外层 \(\Phi_q\) 依赖 \(f\))。这意味着内层是一组固定的、所有函数共享的"特征提取器",只有外层需要针对具体 \(f\) 调整。这个精细结果是 KAN 网络设计的另一个理论支点——它暗示了"固定基 + 可学习组合"的可能性。但即便内层通用,外层 \(\Phi_q\) 仍可能病态(连续但不光滑),所以这没有完全消除 Kolmogorov 定理的实用障碍,只是部分缓解。这也是为什么 KAN 选择用光滑样条"近似"而非"精确实现"的深层原因。

理论:Neural Tangent Kernel(NTK)视角 ○ ⭐⭐⭐

前面所有结果都是"逼近"层面的——"存在好网络"。但有个幽灵一直没散:SGD 能不能找到它?NTK 是连接"逼近"和"优化"的第一座桥。

Jacot-Gabriel-Hongler(NeurIPS 2018)证明:在**无穷宽极限**下,梯度下降训练的神经网络等价于一个固定核(NTK)的核回归。逼近理论含义:

  • NTK 的再生核 Hilbert 空间(RKHS)刻画了"梯度下降实际能学到"的函数类。
  • RKHS 中的函数享受 \(O(n^{-1/2})\) 速率。
  • NTK 体制是"懒惰(lazy)"的——参数几乎不动,没有特征学习(feature learning)。
  • 因此 NTK 可学的函数类**严格小于** Barron/组合类。

本质洞察:NTK 在逼近理论中的价值,不是"扩大可逼近函数类",而是**桥接逼近与优化**——它给出了过参数化网络上梯度下降的首个**全局收敛**保证。但它也揭示了一个深刻的局限:"懒惰训练"学不到特征。真实的深度学习处在 NTK(懒惰、无特征学习)和 Barron(有特征学习但不知如何优化)之间的灰色地带,这个"正确的函数类"至今未被完全刻画(见 §8.1.7 开放问题 2)。NTK 是一面镜子,照出了"能逼近"和"能学到"之间那道至今未完全填平的鸿沟。

理论:ResNet 与 Neural ODE 的逼近 ○ ⭐⭐⭐

残差网络 \(x_{k+1} = x_k + h\cdot f(x_k, \theta_k)\) 可视为常微分方程 \(\dot x = f(x, \theta(t))\) 的 Euler 离散化。Chen et al.(NeurIPS 2018)的 Neural ODE 把这一联系形式化。逼近理论含义有几个微妙之处:

  • 同胚约束:Neural ODE 在 \(\mathbb{R}^d\) 上**无法逼近非同胚映射**——因为 ODE 的解轨迹不能相交(解的唯一性),所以流映射必然是同胚(连续可逆)。这意味着 Neural ODE 不能直接表示"多对一"的映射。
  • 加倍维度的修复:把维度加倍到 \(\mathbb{R}^{2d}\) 后,Neural ODE 在"与恒等映射同伦的同胚群"中稠密(Zhang-Gao-Unterman-Arodz, ICML 2020)。这是"增广 Neural ODE"的理论依据。
  • 几何控制视角:Tabuada-Gharesifard、Agrachev-Sarychev 证明,当向量场库满足 Lie 括号条件(可控性条件)时,Neural ODE 在流形上万能逼近。

与第四批的联系:刚体动力学本身就是 SE(3) 上的 ODE(Newton-Euler 方程)。Neural ODE 的逼近理论直接告诉我们:用残差网络学刚体动力学时,拓扑约束(如能量守恒对应的辛结构)可能限制逼近能力——除非显式加入这些结构。这正是 Hamiltonian Neural Networks、Lagrangian Neural Networks 的动机——它们把物理守恒律作为结构先验嵌入网络,既改善逼近又保证物理合理性。这是"结构对抗维度/病态"主题在动力学学习中的又一体现。

系统性分类:维度灾难对比总表 ◉ ⭐⭐

把本专题前五节关于维度灾难的结论汇成一张穷举式分类表——这是全章最该记住的一张表。它按"目标函数的结构类型"系统分类,而非随意罗列:

函数类 结构来源 经典线性逼近速率 神经网络逼近速率 是否破解维度灾难
\(C^s([0,1]^d)\) 一般光滑 无特殊结构 \(O(n^{-s/d})\) 多项式/小波 \(O(n^{-s/d})\) 浅层 ReLU (Yarotsky)
Barron 类\(C_f<\infty\) Fourier 谱衰减 \(O(n^{-s/d})\) \(O(1/\sqrt{n})\)\(d\) 无关
组合函数(二叉树) 组合稀疏 \(O(n^{-s/d})\) \(O(d\cdot\varepsilon^{-2/s})\) 深度网络
Kolmogorov-Arnold 可表示 一维叠加 —— 存在表示,但一元函数复杂度可能随 \(d\) 部分/不直接
Sobolev \(W^{s,\infty}([0,1]^d)\) 仅光滑度 \(O(n^{-s/d})\) \(O(\varepsilon^{-d/s}\log)\) 深度 ReLU ✗(但 log 因子更优)
带对称性的函数 群不变/等变 \(O(n^{-s/d})\) 等变网络可利用对称性降维 部分(专题 8.6)

核心洞察(全章最重要的结论之一):神经网络破解维度灾难的**必要条件**是目标函数具有额外结构——Barron 谱衰减、组合稀疏、一维可分解、对称不变性等。对**一般**光滑函数(无结构),神经网络**不比**经典方法更好(除常数因子和 log 因子)。"网络万能"从不意味着"网络高效";高效永远来自目标函数的结构,以及网络结构与之的匹配。 这句话值得你抄在笔记本第一页——它是判断"我的任务能不能用网络高效解决"的总纲。

⚠️ 常见陷阱

💡 概念误区 1:以为 Kolmogorov-Arnold 定理破解了维度灾难
   新手想法:"Kolmogorov 把 d 元函数写成 O(d²) 个一元函数,
            这不就破解维度灾难了吗?"
   实际上:定理保证"存在一维表示",但没说一维函数 φ、Φ 的逼近
          复杂度。这些一元函数可能极其病态(处处不可导),
          用有限参数逼近它们的代价可能仍随 d 增长。
   为什么重要:把"存在表示"误当成"高效表示",是对 Kolmogorov
          定理和 KAN 网络最常见的过度乐观。表示存在 ≠ 逼近高效。
💡 概念误区 2:以为 NTK 理论说明"过参数化网络等价于核方法所以没意思"
   新手想法:"NTK 证明无穷宽网络 = 核回归,那深度学习不过是核方法。"
   实际上:NTK 只刻画"懒惰训练"体制(参数几乎不动)。实际训练中
          网络有特征学习,能学到 NTK-RKHS 之外的函数。NTK 可学类
          严格小于真实深度学习能学的类。
   正确理解:NTK 是分析工具(首个全局收敛保证),不是深度学习的
          完整理论。用 NTK 否定深度学习的价值是误用。
🧠 思维陷阱 1:以为"组合函数降维"对任意分组都成立
   新手想法:"Poggio 说组合结构降维,那我随便把输入分组就能享受 poly(d)。"
   实际上:降维要求网络结构镜像函数的真实组合结构。如果目标函数
          根本没有组合稀疏性(变量全耦合),强行分组的网络逼近不了它。
          降维红利来自"函数本身可分解",不是"网络声称可分解"。
   正确思维:先判断目标函数是否真有组合/树结构(物理系统通常有),
          再设计镜像该结构的网络。结构匹配是前提。
🧠 思维陷阱 2:把 Neural ODE 当成万能动力学逼近器
   新手想法:"Neural ODE 学动力学,理论上能逼近任意 ODE 流。"
   实际上:标准 Neural ODE 的流是同胚(轨迹不交),无法表示
          非同胚映射(如多对一、维度坍缩)。需要加倍维度或显式
          结构(Hamiltonian/Lagrangian)才能扩展。
   正确思维:Neural ODE 的逼近能力受拓扑约束。学物理动力学时,
          守恒律等结构应显式嵌入,而非指望网络自动学到。

练习

[练习 8.1.5-1 · 开放思考题,必做] Kolmogorov-Arnold 定理把任意 \(d\) 元连续函数写成 \(2d+1\) 个外层一元函数 + \(d(2d+1)\) 个内层一元函数。请论证:为什么这**不**直接给出维度无关的逼近速率?提示:考虑内层一元函数 \(\phi_{q,p}\) 的"病态程度"(连续但可能处处不可导)如何影响"用有限参数逼近它"的代价。再讨论:KAN 用光滑样条替代病态一元函数,付出了什么代价、换来了什么?

[练习 8.1.5-2 · 桥接 + 构造] 构造一个组合函数 \(f(x_1,\dots,x_8) = h(g_1(x_1,x_2), g_2(x_3,x_4), g_3(x_5,x_6), g_4(x_7,x_8))\),其中 \(g_i\)\(h\) 都是简单光滑二元函数。用 Poggio-Mhaskar 定理估算"镜像树结构的深度网络"所需参数量,并与"全连接浅层网络"(按 \(C^s([0,1]^8)\) 估算)对比。验证 \(\mathrm{poly}(d)\) vs \(\exp(d)\) 的预测。把这个 8 维例子类比到一个真实机器人系统(如四足机器人四条腿的动力学)。

[练习 8.1.5-3 · 反事实推理] NTK 理论说无穷宽网络的梯度下降 = 核回归(懒惰训练,无特征学习)。反事实问题:如果真实网络都处于 NTK 体制,深度学习相比传统核方法(如 SVM + RBF 核)还有优势吗?为什么实践中有限宽网络能学到 NTK 学不到的东西?提示:特征学习意味着隐层表示在训练中改变,而 NTK 假设它们冻结。这个差异如何对应到"网络能否发现数据的低维结构"?


§8.1.6 面向机器人的逼近理论应用 ◉ ⭐⭐⭐

本节定位:把前五节的抽象理论,全部落到机器人的具体目标函数上。档位 3 必学。 逼近理论在机器人中不是装饰——它直接回答"我的网络够不够大、会不会失效"。

过渡:从抽象函数类到机器人的真实目标函数

前五节我们建立了一整套"函数类 → 逼近速率"的对应关系。现在到了兑现承诺的时候——把机器人里真实出现的目标函数(策略、值函数、Lyapunov 证书、动力学、算子)逐一归类,看每个属于哪个函数类、需要多少参数、哪里会失效。这一节是全专题"理论-工程桥接"最密集的地方。

策略与值函数逼近(RL)◉

强化学习的核心是逼近两个函数:策略 \(\pi(s)\) 和值函数 \(V(s)\)。它们属于哪个函数类,直接决定网络该多大。

  • 值函数光滑性:对线性系统 + 二次代价(LQR),最优值函数 \(V^*(s)\) 是**二次函数**——它的 Fourier 变换是有限阶的,\(C_f\) 有限,属于 Barron 类。所以 \(O(1/\sqrt n)\) 逼近,维度无关。这解释了为什么 LQR-like 任务的值函数网络很好训练。
  • 策略不连续性:最优策略可能在**切换面(switching surface)上不连续**——典型如 bang-bang 控制("未达目标全速,达到立即停")。这种策略**不属于 \(C(K)\)(不连续),经典 UAT(sup 范数稠密性)**不直接适用!此时必须改用 \(L^p\) 逼近(允许在零测集上偏差大)或随机化策略(用连续的概率分布逼近不连续的确定性策略)。
  • 有限时间收敛:Neural TD/Q-learning 在 NTK 体制下的收敛由 Cai-Yang-Lee-Wang(2019)给出 \(O(1/\sqrt T)\) 有限时间界。

本质洞察:RL 里"网络训练不好"常被归咎于调参,但很多时候根本原因是**目标函数不在网络能逼近的类里**。bang-bang 策略在切换面不连续,你用 sup 范数损失训练永远降不下去——不是优化的错,是数学上 sup 范数逼近不连续函数本就不可能。懂逼近理论的工程师,会先判断目标函数的连续性/光滑性,再选损失函数和网络。 这是逼近理论给 RL 实践最直接的指导。

一个最小可算例:为什么 sup 范数逼近阶跃必然失败,而 \(L^p\) 成功。 把上面的抽象论断钉死在一个一维例子上。考虑最简单的 bang-bang 策略——阶跃函数 $$ \pi^*(s) = \begin{cases} +1, & s \ge 0, \ -1, & s < 0. \end{cases} $$ ("状态过零就全速反向",倒立摆、开关控制里随处可见。)

sup 范数下为什么注定失败? 网络输出 \(\pi_\theta\) 是连续函数(ReLU/sigmoid 网络都连续)。连续函数在 \(s=0\) 处取某个值 \(\pi_\theta(0) = c\)。无论 \(c\) 取多少: - 若 \(c < 0\),则在 \(s = 0^+\) 附近 \(\pi_\theta \approx c < 0\),而 \(\pi^*(0^+) = +1\),误差 \(\ge |1 - c| > 1\); - 若 \(c \ge 0\),则在 \(s = 0^-\) 附近 \(\pi^*(0^-) = -1\),误差 \(\ge |{-1} - c| \ge 1\)

所以 \(\sup_s|\pi_\theta(s) - \pi^*(s)| \ge 1\) 恒成立,无论网络多大、训练多久。这不是优化没收敛——是连续函数与阶跃函数的 sup 距离有一个 \(\ge 1\) 的硬下界。这就是"训练损失卡在某个正值降不下去"的数学根源(呼应故障 1)。

\(L^p\) 下为什么成功? 换成 \(L^2\) 误差 \(\int|\pi_\theta(s) - \pi^*(s)|^2\,ds\)。现在网络可以用一个"陡峭但连续"的过渡(如 \(\tanh(s/\delta)\)\(\delta\) 小)逼近阶跃。误差只来自宽度 \(\sim\delta\) 的过渡带,且过渡带上误差有界,所以 $$ \int|\pi_\theta - \pi^|^2\,ds \sim O(\delta) \xrightarrow{\delta\to 0} 0. $$ *\(L^2\) 误差可以任意小**——因为 \(L^p\) 范数"看不见"零测集(单个点 \(s=0\))上的偏差,只在乎"过渡带的总面积",而面积可以压到任意小。这就是为什么 HSW 定理用的是 \(L^p\) 而非 sup 范数——它让网络能逼近不连续函数。

第三条路:随机化策略。 还可以把确定性的不连续策略 \(\pi^*(s)\) 换成**连续的随机策略** \(\pi_\theta(a|s)\)(输出动作的概率分布)。在 \(s=0\) 附近,策略平滑地从"几乎确定选 \(-1\)"过渡到"几乎确定选 \(+1\)",中间是"五五开"的分布。这个从状态到分布的映射 \(s\mapsto \pi_\theta(\cdot|s)\) 是**连续的**(尽管它编码的确定性行为不连续),经典 UAT 重新适用。这正是为什么策略梯度方法(PPO、SAC)普遍用随机策略——除了探索的需要,随机化还在数学上把"逼近不连续确定性策略"转化为"逼近连续的分布值映射",绕开了 sup 范数的不可能性。

系统性分类——处理不连续目标的三条路:把上面三条路整理成一个决策框架(这是 R6E 系统分类的体现,而非随意罗列): 1. 换度量:sup 范数 → \(L^p\) 范数。代价:放弃逐点保证,接受零测集上的偏差。适用:监督学习、行为克隆。 2. 换输出:确定性策略 → 随机策略(分布值)。代价:引入随机性、需采样。适用:策略梯度 RL。 3. 换表示:显式建模不连续性(如学习切换面 + 分段策略)。代价:结构更复杂。适用:已知切换结构的混合系统控制。

遇到不连续目标函数,先问"我能接受哪条路的代价",而不是盲目加大网络——后者对 sup 范数下的不连续目标**永远无效**。

神经 Lyapunov 函数与 CBF ◉

控制理论里,证明系统稳定/安全需要找到 Lyapunov 函数 \(V(x)\)(满足 \(V > 0\), \(\dot V < 0\))或控制屏障函数(CBF)。用网络表示它们,逼近理论扮演什么角色?

  • 表示 vs 寻找:万能逼近定理保证网络**能表示**任意 Lyapunov 函数。但这只是必要条件——**找到**正确的 \(V\) 是另一回事,需要求解 Zubov PDE \(\nabla V\cdot f = -\Psi(V)\)(PINN 方法,Meng & Liu 2025)。
  • 验证:更要命的是,找到一个"看起来像 Lyapunov"的网络后,还需**验证**它真的满足 \(\dot V < 0\) 处处成立——这是个验证问题(SMT/SOS/区间传播),逼近能力对此无能为力。
  • Dawson et al.(2021)提出鲁棒神经 CLF-CBF 框架:学习 + 凸优化 + 验证三位一体。

逼近-优化-验证三角(安全关键控制的铁律):对安全关键系统,只有逼近能力远远不够。你需要三者齐备:(1) 逼近定理**保证网络能表示证书;(2) **训练算法**找到它;(3) **验证器**证明它确实满足 Lyapunov 条件。这三者的交集——"可逼近、可训练、可验证"的证书网络类——目前仍是开放问题。**这是逼近理论与形式化验证的交叉前沿,也是"AI for 安全控制"最硬的骨头。

动力学模型的逼近 ◉

物理动力学 \(F : S\times A \to S\) 的逼近,是 model-based RL 和 MPC 的基础。按结构分类:

目标函数 适用理论 速率 关键条件
光滑刚体动力学 \(f(q,v,u)\) Yarotsky (\(W^{n,\infty}\)) \(O(\varepsilon^{-d/n}\log)\) \(d=\dim(q,v,u)\);刚体 \(n=\infty\)
组合动力学(多体系统) Poggio-Mhaskar \(O(d\cdot\varepsilon^{-2/n})\) 利用链式/树结构
对称动力学(SE(3)-不变) 等变 UAT (Yarotsky 2022) 降维后速率 利用群不变性(专题 8.6)
接触动力学(非光滑) 无标准理论 —— 不连续性破坏经典假设
PDE 解算子(软体/流体) FNO/DeepONet \(\mathrm{poly}(\log 1/\varepsilon)\) 需要算子框架

工程含义(一个惊人的吻合):对 7-DOF 机械臂(\(d\approx 21\),含 \(q, v, u\)),用 Yarotsky 速率估算,精度 \(\varepsilon = 0.01\)、等效光滑度 \(n\approx 4\) 时,所需参数 \(\sim\varepsilon^{-d/n} = 0.01^{-21/4} \approx 10^{10.5}\)——这看起来太大。但刚体动力学实际是 \(n=\infty\) 光滑的,且有强组合结构(Poggio-Mhaskar 适用),真实所需参数降到 \(10^5\)-\(10^6\) 量级——这与实际机器人控制中常用的 MLP 大小惊人吻合! 这不是巧合,而是逼近理论对实际网络设计的指导意义:动力学的高光滑度 + 组合结构,共同把参数量从"灾难"压到"可行"。

Koopman 算子逼近 ○

Koopman 算子 \(\mathcal K : g\mapsto g\circ F\) 把非线性动力学 \(x_{k+1} = F(x_k)\) 线性化到无穷维函数空间。找有限维不变子空间 = 找一组"好的"observable 函数 \(\phi_1,\dots,\phi_m\) 使 \(\mathcal K\)\(\mathrm{span}\{\phi_i\}\) 上封闭。

为什么与逼近理论相关:

  • 自编码器的编码器 \(\Phi : \mathbb{R}^n\to\mathbb{R}^m\) 是一个**坐标变换**——它要逼近 Koopman 本征函数。
  • 万能逼近定理保证 \(\Phi\) 能表示任意连续坐标变换。
  • 但**本征函数的数量** \(m\) 取决于系统谱性质——对混沌系统可能需要无穷多个。

代表工作:Lusch-Kutz-Brunton(Nature Comm. 2018,自编码器学本征函数)、Yeung et al.(2017,神经网络字典)、Otto-Rowley(2019,连续时间 Koopman 的稳定性保证)。

与第四批的深度联系:刚体动力学的 Koopman 算子有**离散谱**(对应固有频率),意味着有限维 Koopman 嵌入是精确的——理论上几个本征函数就够。但对接触动力学(第七批),谱可能变为连续/混合的,有限维嵌入只能近似。逼近能否精确,又一次取决于目标对象的结构(谱的离散性)。

算子逼近(DeepONet / FNO)○

当目标不是函数而是**算子**(函数到函数的映射,如 PDE 解算子)时,需要算子逼近理论:

  • DeepONet(Lu et al., Nat. Mach. Intell. 2021):branch-trunk 结构逼近非线性连续算子 \(G : C(K)\to C(K')\)
  • FNO(Li et al., ICLR 2021):频域参数化积分核算子。
  • 理论保证(Kovachki-Lanthaler-Mishra, JMLR 2021/2023):FNO 在 \(H^s(\mathbb T^d)\to H^{s'}(\mathbb T^d)\) 上稠密;对 Darcy 流和不可压 Navier-Stokes 的解算子,FNO 大小仅需 \(\mathrm{poly}(\log(1/\varepsilon))\) 增长。
  • 机器人应用:软体操纵、流体交互的快速 PDE 代理。

Transformer 万能逼近 ○

定理(Yun et al., ICLR 2020)。带位置编码的 Transformer 是**序列到序列连续映射的万能逼近器**(\(L^p\) 意义)。无位置编码时,仅能逼近置换等变(permutation equivariant)的子类。

证明三要素:(1) 量化输入到 \(\varepsilon\)-网格;(2) 自注意力层构造 contextual mapping(把量化序列注入不同实数编码);(3) 逐 token 的 FFN 实现"查表"。

桥接到专题 8.3/8.5:这个定理是 VLA(视觉-语言-动作)端到端策略的理论底气——它说明一个 Transformer 原则上**能**表示任意"序列输入 → 动作序列输出"的连续映射。但同样地,它是存在性结论,不保证速率和可学性。位置编码的必要性(否则只能逼近置换等变映射)也解释了为什么 VLA 模型必须显式编码 token 位置/时序。

本节系统总结:机器人目标函数的逼近"诊断表"

把 §8.1.6 讨论的所有机器人目标函数,按"属于哪个函数类 → 适用哪个定理 → 关键风险"汇成一张诊断表。这是你做任何"用网络解决机器人任务"项目时的第一张该查的表——它把全章理论压缩成一个可操作的查询接口:

机器人目标函数 典型函数类 适用定理/速率 维度灾难? 关键失效风险 应对
LQR 值函数 \(V^*(s)\) Barron(二次) Barron \(O(1/\sqrt n)\) 几乎无风险 直接用 MLP
一般 RL 值函数 可能不连续 \(L^p\) 逼近 视情况 切换面不连续 \(L^p\) 损失
bang-bang 策略 不连续(阶跃) 经典 UAT 失效 —— sup 范数不可能 随机化策略
平滑策略 \(\pi(s)\) Sobolev/Barron Yarotsky/Barron 视光滑度 高频→\(C_f\) 爆炸 傅里叶特征
刚体动力学 \(f(q,v,u)\) \(W^{\infty,\infty}\) + 组合 Yarotsky + Poggio 否(\(n=\infty\) 几乎无 中等 MLP 即可
接触动力学 非光滑 无标准理论 是(\(n\) 小) 不连续破坏假设 混合/分段模型
神经 Lyapunov \(V(x)\) 可表示 UAT(仅表示) —— **验证**最难 SMT/SOS 验证
Koopman 嵌入 取决于谱 UAT(坐标变换) 取决于谱 连续谱→无穷维 离散谱系统才精确
PDE 解算子(软体) 算子 FNO/DeepONet 否(\(\mathrm{poly}\log\) 粗糙系数 算子网络
VLA 端到端策略 序列映射 Transformer UAT —— 仅存在性 大模型 + 数据

本质洞察(全章应用的总纲):这张表的每一行都在重复同一个主题——逼近的成败,由目标函数的结构(连续性、光滑度、谱、组合性、对称性)决定,而非由网络的"万能性"决定。 拿到一个新任务,先在这张表里给你的目标函数定位,你就立刻知道:它好不好逼近、用什么定理估参数、会在哪里失效、该怎么应对。这比"先搭个网络试试"高效得多——这正是逼近理论作为"工程诊断工具"的全部价值所在。

练习

[练习 8.1.6-1 · 桥接 + 估算,必做] 对你熟悉或感兴趣的一个机器人系统(如四足机器人、机械臂、无人机),选定一个要用网络逼近的目标函数(策略 / 值函数 / 动力学三选一)。回答:(a) 它属于本章哪个函数类(Barron / Sobolev / 组合 / 不连续)?依据是什么?(b) 用对应的逼近速率公式估算所需参数量级。(c) 它是否可能在某处失效(如不连续、高频、接触)?如何应对?

[练习 8.1.6-2 · 开放思考题] 神经 Lyapunov 函数需要"可逼近、可训练、可验证"三者齐备。请讨论:为什么"可验证"是最难的一环?万能逼近定理保证了网络能表示 Lyapunov 函数,但为什么这对安全保证几乎没有直接帮助?设计一个思路:如何把"验证 \(\dot V < 0\) 处处成立"与逼近过程结合(提示:考虑在训练损失中加入对违反约束的惩罚,但讨论这为什么仍不等于形式化验证)。

[练习 8.1.6-3 · 综合 + 跨章] 综合 §8.1.2(Barron)、§8.1.5(组合)、§8.1.6(动力学):解释 7-DOF 机械臂动力学逼近"参数量从理论估算的 \(10^{10}\) 降到实践的 \(10^6\)"这一吻合背后,Yarotsky 速率、刚体高光滑度、Poggio-Mhaskar 组合结构三者各自贡献了什么。这道题要求你把三个定理串成一条"为什么实践可行"的完整论证链。


§8.1.7 逼近-泛化-优化三角:概念框架 ○ ⭐⭐⭐

本节定位:全专题的收口。把"逼近"放回它所属的更大图景里,说清楚逼近理论的**边界**——它只回答三个问题中的一个。档位 3 理解框架,档位 4 读 DeVore-Hanin-Petrova 综述全文。

过渡:逼近理论的"傲慢"与"谦卑"

读完前六节,你可能产生一种"逼近理论无所不能"的错觉——它告诉我们网络能逼近什么、多快、深度为何重要、机器人里怎么用。但本节要泼一盆清醒的冷水:逼近理论只回答了一个问题,而真实的深度学习依赖三个问题的协同。 这一节让你建立全局图景,明白"网络足够大"距离"模型真正好用"还差多远。

理论:三角关系

整个深度学习理论的核心,是三个问题的交互:

              逼近 (Approximation)
             ╱        ↕        ╲
            ╱      本专题 8.1     ╲
           ╱                      ╲
   泛化 (Generalization)  ←──→  优化 (Optimization)
      专题 8.2                第二批 + SGD 理论
维度 核心问题 代表结果 本项目对应
逼近 给定网络架构,最佳可达误差是多少? Barron \(O(1/\sqrt n)\)、Yarotsky \(O(\varepsilon^{-d/n})\) 本专题 8.1
泛化 从有限样本学到的逼近,在新数据上多好? VC 维、Rademacher 复杂度、PAC-Bayes 专题 8.2
优化 SGD 能否在合理时间找到好的逼近? NTK 全局收敛、mean-field 收敛 第二批 + SGD 理论

这三者**缺一不可**,且彼此制约:

  • 逼近 ↔ 泛化的张力:增大网络改善逼近(误差 \(\downarrow\)),但增加参数量可能恶化泛化(过拟合)。这是经典的"偏差-方差权衡"在深度学习里的化身。
  • 逼近 ↔ 优化的鸿沟:逼近理论保证"存在好网络",优化理论问"SGD 能否找到"。两者之间有真实的鸿沟(见下面两个不可能定理)。
  • 三者的总误差分解\(\text{总误差} = \underbrace{\text{逼近误差}}_{\text{本专题}} + \underbrace{\text{估计误差}}_{\text{泛化,8.2}} + \underbrace{\text{优化误差}}_{\text{SGD}}\)

用一个 scaling 论证看清"网络该多大"。 总误差分解不只是哲学,它能给出"最优网络规模"的定量判据。考虑一个 Barron 类目标,用宽度 \(n\) 的网络、\(m\) 个样本训练(假设优化误差可忽略,只看逼近 vs 泛化):

  • 逼近误差(随 \(n\) 增大而减小):由 Barron 定理 \(\sim \dfrac{C}{\sqrt n}\)(这里取 \(L^2\) 误差的平方根量级 \(n^{-1/2}\) 的根,即 \(\sim n^{-1/2}\) 量级;不同文献常数不同,我们只看 scaling)。
  • 估计误差/泛化误差(随 \(n\) 增大而增大,随 \(m\) 增大而减小):参数越多越容易过拟合,由复杂度论证 \(\sim\sqrt{\dfrac{n}{m}}\)(参数量 \(\sim n\),样本 \(m\),Rademacher 复杂度量级)。

总误差 \(\sim \dfrac{C}{\sqrt n} + \sqrt{\dfrac{n}{m}}\)。对 \(n\) 求最优(两项平衡,即令导数为零或令两项同阶): $$ \frac{C}{\sqrt n} \sim \sqrt{\frac{n}{m}} \Longrightarrow \frac{C^2}{n}\sim\frac{n}{m} \Longrightarrow n^* \sim C\sqrt{m}. $$ 即**最优网络宽度 \(n^*\) 大约是样本量 \(m\) 的平方根量级**(乘以 Barron 范数 \(C\))。代入得最优总误差 \(\sim C^{1/2} m^{-1/4}\)

本质洞察(把三角变成可操作的判据):这个 \(n^*\sim\sqrt m\) 的 scaling,把抽象的"逼近-泛化权衡"变成了一条**实操经验法则**——数据翻 4 倍,最优网络宽度才翻 2 倍。这解释了一个常见的工程困惑:"我加了一倍数据,为什么网络只需要略微变大?"因为逼近误差和泛化误差必须平衡,盲目把网络做得远大于 \(\sqrt m\),泛化误差会反超逼近误差的收益,总误差不降反升(这正是本节陷阱 2 的定量版)。下次决定网络规模时,先看你有多少数据——\(n\sim\sqrt m\) 是个比"凭感觉"靠谱得多的起点。当然这忽略了优化误差和深度学习的"双下降"等精细现象,但作为一阶判据足够有用。

理论:两个"泼冷水"的不可能定理

逼近理论的边界,由两个深刻的负面结果清晰划出。

Grohs-Voigtlaender (2021) 的不可能定理:对某些神经网络逼近空间,**不存在**任何确定性或随机化的点采样算法能实现理论最优逼近率。这形式化了"理论上网络够好,但没有算法能找到那个好网络"的困境——逼近论的最优率是"存在性的天花板",但通往它的"算法之路"可能根本不存在。

Na-Yang (2026) 的优化维度灾难:对浅层网络逼近 \(C^r([0,1]^d)\) 函数,梯度流的群体风险衰减率不可能快于 \(t^{-4r/(d-2r)}\)。即使逼近率是维度无关的(Barron),训练时间可能仍受维度灾难约束。换句话说,维度灾难可能从"逼近"被赶到"优化"——你逼得起,但训不起。

本质洞察:这两个定理揭示了逼近理论最深刻的谦卑——"能逼近"和"能学到"之间,横亘着"优化"和"泛化"两道可能无法逾越的墙。 Barron 定理说"存在 \(n\) 个神经元达到 \(O(1/\sqrt n)\)",但 Grohs-Voigtlaender 说"可能没有算法找到它们",Na-Yang 说"即使找得到也可能训练时间爆炸"。逼近理论是必要条件,绝非充分条件。 把"网络万能"当成"什么都能学好",正是忽视了这两道墙。

机器人工程师的要点(全章实践总纲):逼近理论告诉你"网络够大就行",但在实践中你还需要四件事齐备——(1) 足够的**逼近**能力(本专题);(2) 足够的**数据**(泛化,专题 8.2);(3) 足够的**训练时间和好的优化**(优化);(4) 安全关键场景下的**可验证性**。这四者缺一不可。下次你的网络训练不好,请按这四个维度逐一排查,而不是只调超参数。

全章一图流:把八节串成一条逻辑链

读到这里,你已经走完了从"能不能"到"逼近-泛化-优化三角"的全程。最后用一条逻辑链把全章串起来,作为你脑中那棵"知识树"的主干——每一节都是回答上一节留下的问题:

  1. §8.1.0:为什么学?因为决定逼近成败的是**目标函数结构**,不是网络万能性。
  2. §8.1.1:网络能逼近任意连续函数吗?(三定理)。但留下三个问号:要多大?怎么找?能泛化吗?
  3. §8.1.2:要多大(速率)?对 Barron 类\(O(1/\sqrt n)\) 维度无关——本质是蒙特卡洛积分的维度无关性。但 Barron 类是特例。
  4. §8.1.3:一般光滑函数呢?Yarotsky \(O(\varepsilon^{-d/n})\),有维度灾难,被光滑度压住。核心构造是"深度自合成造分段"。
  5. §8.1.4:深度为什么重要?仿射区域计数——深度指数造分段,浅层线性。但深度 \(>4\) 撞上电路复杂度障碍。
  6. §8.1.5:哪些结构能破维度灾难?组合稀疏(树)、一维叠加(Kolmogorov-Arnold)、对称性。统一主题:结构对抗维度。
  7. §8.1.6:机器人里怎么用?把每个目标函数**归类 → 估参数 → 判风险**(诊断表)。
  8. §8.1.7:逼近就够了吗?。逼近只是"逼近-泛化-优化"三角的一角,"能逼近"≠"能学到"。

本质洞察(全章最高层的一句话):如果让你用一句话概括整个神经网络逼近理论,那就是——"神经网络的力量不在于它能逼近一切(那只是存在性),而在于它能通过自适应地利用目标函数的结构(谱衰减、组合性、对称性),在那些结构存在的地方高效地避开维度灾难;但能否把这种'潜在的高效'兑现为'实际的好模型',还要看优化和泛化是否配合。" 这句话是你读完本章应该刻进脑子的东西。它既是对"网络万能"这个流行口号的祛魅,也是对"该怎么用网络"的正面回答。带着它去读后续的泛化(8.2)、Transformer(8.3)、VLA(8.5),你会发现它们都是这条主线的延伸。

⚠️ 常见陷阱

💡 概念误区 1:把总误差等同于逼近误差
   新手想法:"Barron 定理保证逼近误差 O(1/√n),那我的模型误差就是 O(1/√n)。"
   实际上:总误差 = 逼近误差 + 估计误差(泛化)+ 优化误差。逼近误差小
          只是三个分量之一小。数据不够(泛化差)或 SGD 没收敛(优化差),
          总误差照样大。
   为什么重要:这是"理论上网络够好但实际效果差"的根本解释。
          只盯逼近误差会严重高估模型性能。

🧠 思维陷阱 1:用 NTK 全局收敛保证"SGD 总能找到好网络"
   新手想法:"NTK 证明了过参数化网络梯度下降全局收敛,那 SGD 没问题。"
   实际上:NTK 收敛保证仅在"懒惰训练"体制(极宽、特定初始化、小学习率)
          成立,且它收敛到的是 NTK-RKHS 内的解,可能不是真正最优的逼近。
          Grohs-Voigtlaender/Na-Yang 说明一般情形下优化可能根本达不到
          逼近论最优率。
   正确思维:NTK 是一个理想化体制的收敛保证,不是"SGD 万能"的证据。
🧠 思维陷阱 2:以为加大网络能同时改善逼近和泛化
   新手想法:"网络越大逼近越好,那就一直加大。"
   实际上:逼近误差随规模下降,但泛化误差(在有限数据下)可能随参数量
          上升(虽然深度学习有"双下降"等反常现象,但需要足够数据和正则)。
          盲目加大可能逼近变好、泛化变差,总误差不降反升。
   正确思维:网络规模要在逼近-泛化之间权衡,并配合数据量和正则化。

🧠 思维陷阱 3:用"双下降"现象否定整个偏差-方差权衡
   新手想法:"深度学习有双下降(参数过了插值点后测试误差又降),
            说明经典偏差-方差权衡和本章的 n*~√m 都过时了。"
   实际上:双下降是真实现象,但它不推翻三角关系——它说明在
          "过参数化 + 隐式正则(SGD 偏好小范数解)"下,泛化误差
          关于参数量是非单调的。这恰恰是"逼近、泛化、优化三者
          交互"的复杂体现,而非"权衡不存在"。
   正确思维:n*~√m 是忽略优化隐式正则的一阶判据,适合中小规模、
          数据有限的机器人场景;超大过参数化 + 强隐式正则时需用
          更精细的双下降分析。两者不矛盾,是不同体制下的近似。
   为什么重要:把双下降当成"可以无脑堆参数"的许可证,会在数据少、
          无强正则的实际机器人任务上栽跟头——那里经典权衡仍主导。

练习

[练习 8.1.7-1 · 开放思考题,必做] Barron 定理给出 \(O(1/\sqrt n)\) 逼近率,但没说如何找到那 \(n\) 个神经元的权重。请综合讨论:(a) 如果用 SGD 训练,Barron 率能否被实现?(b) NTK 理论对此说了什么(它保证收敛,但收敛到的函数类有何限制)?(c) Na-Yang 2026 的结果暗示了什么(即使逼近维度无关,优化是否仍受灾)?把这三点串成一个"逼近 vs 优化鸿沟"的完整论述。

[练习 8.1.7-2 · 综合 + 跨章综合题] 这是本章的跨章综合题,需综合第零批(泛函分析)、本专题、专题 8.2(泛化,可前瞻)三处知识。设你要用网络逼近一个 \(d=20\) 维的 RL 值函数,已知它是 Barron 类(\(C_f\) 已知有限)。请完整论证:(a) 用 Barron 定理给出逼近误差关于宽度 \(n\) 的界;(b) 定性说明泛化误差关于样本量 \(m\) 和参数量的依赖(用 VC 维或 Rademacher 复杂度的量级);(c) 把两者相加,讨论"最优网络规模 \(n^*\)"如何在逼近误差(随 \(n\) 降)和泛化误差(随 \(n\) 升)之间取得平衡。给出 \(n^*\) 关于 \(m\) 的大致 scaling。

[练习 8.1.7-3 · 反事实推理 + 本质] 反事实问题:假设 Grohs-Voigtlaender 不可能定理**不成立**(即总存在算法实现逼近论最优率),深度学习理论会变成什么样?这个假想世界与真实世界的关键区别是什么?通过这个反事实,阐明"为什么'存在好网络'远不等于'能得到好网络'"这一本专题的核心教训。


科研发展脉络与学者地图

本节梳理神经网络逼近理论的历史演进与关键学者,帮助你把前面学到的定理放进"谁、何时、解决了什么、又留下什么"的历史坐标系中。这不是可有可无的背景——理解一个定理"解决了上一代什么局限",往往比单纯记住定理陈述更能帮你抓住它的本质。

神经网络逼近理论经历了四个阶段,从"能不能"到"好不好"到"深度为何重要"再到"具体架构的逼近能力":

(引用计数截至 2025 年中,仅供量级参考。)

阶段 年代 代表工作 Venue 引用 核心贡献
G1 存在性(万能逼近) 1989-1993 Cybenko (1989) Math. Control Signals Syst. ~19,000 首个万能逼近定理:单隐层 sigmoid 网络在 \(C(I^n)\) 上稠密;证明武器为 Hahn-Banach + Riesz 表示
Hornik, Stinchcombe, White (1989) Neural Networks ~23,000 推广至任意非常值压缩激活函数;证明武器为 Stone-Weierstrass / 测度论
Leshno, Lin, Pinkus, Schocken (1993) Neural Networks ~3,000 充要条件:激活函数非多项式 ⟺ 单隐层网络万能逼近
G2 定量速率(Barron 空间) 1993-1999 Barron (1993) IEEE Trans. Inf. Theory ~5,000 维度无关速率 \(O(1/\sqrt n)\):Barron 谱范数有限的函数类避免维度灾难
Pinkus (1999) Acta Numerica ~2,500 权威综述:统一 G1 全部结果并给出逼近论视角
G3 深度分离 2016-2022 Telgarsky (2016) COLT ~633 深度 \(\Theta(k^3)\) vs \(O(k)\):指数级分离;锯齿函数构造 + 仿射区域计数
Eldan & Shamir (2016) COLT ~714 3 层 vs 2 层指数分离:径向函数 + Fourier 分析
Lu, Pu, Wang, Hu, Wang (2017) NeurIPS ~917 宽度视角:ReLU 宽度 \(\ge n+4\) 才万能逼近;宽度相变
Yarotsky (2017) Neural Networks ~1,500 ReLU 网络的**最优 Sobolev 逼近率** \(O(\varepsilon^{-d/n}\log\varepsilon^{-1})\);位提取技术
Shen, Yang, Zhang (2022) J. Math. Pures Appl. ~200 ReLU 宽度×深度的**联合最优率**,匹配 VC 维下界
G4 架构特化 1957/2017-2025 Kolmogorov (1957) / Arnold (1957) Dokl. Akad. Nauk SSSR 经典 多元连续函数 = 一元函数叠加;KAN 网络(2024)的理论源头
Poggio, Mhaskar, Rosasco (2017) IJAC ~1,200 组合函数 curse-breaking:深度网络利用组合结构实现 poly(d) 参数
Jacot, Gabriel, Hongler (2018) NeurIPS ~2,800 Neural Tangent Kernel:无穷宽极限下梯度下降 = 核回归
Yun, Bhojanapalli et al. (2020) ICLR ~500 Transformer 万能逼近:序列到序列连续映射的稠密性
Lu, Jin et al. (DeepONet, 2021) Nat. Mach. Intell. ~2,000 算子逼近:branch-trunk 网络逼近非线性连续算子
Li et al. (FNO, 2021) ICLR ~3,500 Fourier 神经算子:频域参数化积分核算子
Liu et al. (KAN, 2024) arXiv:2404.19756 快速增长 用可学习样条复活 Kolmogorov-Arnold 表示;可解释网络新范式

关键实验室/学者谱系:Princeton(Barron 原创)→ Hebrew Univ.(Pinkus、Leshno 逼近论学派)→ UIUC(Telgarsky 深度理论)→ Weizmann/Hebrew Univ.(Eldan-Shamir-Safran-Vardi 深度分离与障碍)→ MIT CBMM(Poggio-Mhaskar 组合理论)→ EPFL(Jacot NTK)→ ETH(Bölcskei-Grohs 信号处理视角)→ Peking/HKUST(Shen-Yang-Zhang 最优率)→ Brown(Karniadakis DeepONet)→ Caltech(Kovachki-Stuart FNO 理论;Liu KAN)。


前沿工作与开放问题

近期进展(2024-2025)

方向 代表工作 核心贡献
Transformer 破解维度灾难 Hu, Zhang, Zhang (2025, arXiv:2504.13558) 基于 Kolmogorov-Arnold 分解构造 Transformer,避免维度指数依赖
KAN 网络与样条逼近 Liu et al. (2024); 综述 arXiv:2407.11075 复活 Kolmogorov-Arnold 定理为可训练架构;争议与局限
等变网络定量速率 Huang, Vardi, Maron (2025+, arXiv:2602.20370) 首次给出 DeepSets 等等变 MLP 的 \(\alpha\)-Hölder 逼近**定量速率**
训练时间的维度灾难 Na & Yang (2026, Inform. Inference) 证明浅层网络梯度流的收敛率受维度灾难约束
理论-实践不可能定理 Grohs & Voigtlaender (2021+) 无算法可从点采样实现逼近论的理论最优率
谱 Barron 空间统一理论 Siegel & Xu (2020-2023) 对 ReLU\(^k\) 和正弦激活函数建立统一的谱 Barron 速率
神经算子逼近理论扩展 Kovachki et al. (JMLR 2023) 统一 DeepONet/FNO/Graph NO 的逼近框架

开放问题(2024-2025 前沿)

  1. 深度 \(>4\) 分离:证明任何"自然"函数需要深度 5(而非 4)将解决电路复杂度经典开放问题(\(\mathrm{TC}^0\) vs \(\mathrm{NC}^1\))。
  2. 实际训练网络所在的函数类是什么? 经验表明 SGD 训练的网络处于比 NTK-RKHS 更丰富、但比 Barron 类更受限的中间地带——这个"正确"的函数类尚未确定。
  3. 超表达力激活函数的泛化代价:如 Yarotsky-Zhevnerchuk 的 \(\sin + x^2\) 激活实现维度无关速率,但 VC 维无穷——如何在逼近与泛化间取舍?
  4. 不连续目标函数的系统理论:RL 值函数和最优策略在切换面上不连续;标准理论假设连续性,需要新框架。
  5. 安全关键场景的可验证逼近:确定哪些 Lyapunov/CBF 逼近器类可以在**多项式时间**内验证——逼近理论与形式化验证的交叉。
  6. 粗糙系数下的算子逼近速率:FNO/DeepONet 的理论保证依赖强光滑性假设;接触力学和软体机器人中的粗糙/不连续系数情形是开放的。
  7. KAN 的逼近论地位:KAN 相比 MLP 在何种函数类上有可证明的参数效率优势?目前缺乏严格的分离结果。
  8. 自适应/非线性逼近:当网络架构可以适应目标函数时(如 NAS),最优速率是什么?

本章常见误解汇总

把全章散落的概念误区集中成一张表,便于复习时快速自查。读完本章,你应该能对每一条都说出"为什么错、正确是什么"。

# 常见误解 正确理解 出处
1 万能逼近 = 什么都能学 UAT 只是存在性,不含速率、优化、泛化保证 §8.1.1
2 "稠密"= "等于" 稠密是"任意接近不必达到",如有理数稠密但 ≠ 实数 §8.1.1
3 单隐层万能 ⟹ 深度无用 单隐层"能"逼近,但深度提供指数级效率(§8.1.4) §8.1.1/8.1.4
4 换更强激活函数能逼近更多函数 非多项式即已万能,激活只影响速率与优化,不扩大可逼近类 §8.1.1
5 神经网络逼近率都是 \(O(1/\sqrt n)\) 只对 Barron 类;一般光滑函数退回 \(O(n^{-s/d})\) 维度灾难 §8.1.2
6 "维度无关"= 维度不影响任何东西 维度依赖被打包进 \(C_f\)\(C_f\) 可能随 \(d\) 增长 §8.1.2
7 ReLU 分段线性所以很弱 深度自合成产生 \(2^L\) 分段,可高效逼近 \(x^2\) §8.1.3
8 Yarotsky 速率维度无关 \(O(\varepsilon^{-d/n})\)\(d\) 在指数上,有维度灾难(被光滑度压住) §8.1.3
9 \(x^2\) 一层算乘法 ⟹ 该用 \(x^2\) 激活 多项式激活不万能(Leshno)且梯度爆炸,优化差 §8.1.3
10 深度分离 ⟹ 网络越深越好 分离是"存在难函数",对简单/低频函数浅层够用 §8.1.4
11 Kolmogorov-Arnold ⟹ 破解维度灾难 保证存在一维表示,但一元函数复杂度可能随 \(d\) §8.1.5
12 NTK ⟹ 深度学习就是核方法 NTK 只刻画懒惰训练;真实训练有特征学习,超出 NTK §8.1.5
13 组合降维对任意分组成立 需网络结构镜像函数真实组合结构;函数须本身可分解 §8.1.5
14 bang-bang 策略可被 sup 范数逼近 不连续策略不在 \(C(K)\),须用 \(L^p\) 或随机化策略 §8.1.6
15 总误差 = 逼近误差 总误差 = 逼近 + 泛化 + 优化,三者缺一不可 §8.1.7

本章小结

符号表

本章新引入的数学符号及其含义:

符号 含义 首次出现
\(C(I^n)\) 单位超立方体 \([0,1]^n\) 上连续函数空间(配 sup 范数) §8.1.1
\(\mathcal{G}\) 单隐层 \(\sigma\)-网络函数集合 §8.1.1
\(\sigma\) 激活函数 §8.1.1
\(\|\cdot\|_\infty\) sup 范数(一致范数) §8.1.1
\(L\) 泛函(Cybenko 证明)/ 网络深度(Yarotsky 起) §8.1.1/8.1.3
\(\mu\) 有限带符号正则 Borel 测度 / 概率测度 §8.1.1
\(\hat{f}(\xi)\) \(f\) 的 Fourier 变换 §8.1.2
\(C_f\) Barron 谱范数 $\int \xi
\(\mathcal{B}\) Barron 类 \(\{f : C_f < \infty\}\) §8.1.2
\(\mathcal{B}_\sigma\) 现代 Barron 空间(Banach 空间) §8.1.2
\(\|f\|_{\mathcal B}\) 路径范数 / 变差范数 §8.1.2
\(\overline{\mathrm{conv}}(G)\) 集合 \(G\) 的凸包闭包 §8.1.2
\(b\) 字典 \(G\) 中元素的范数上界 §8.1.2
\(W^{n,\infty}\) Sobolev 空间(\(n\) 阶弱导数一致有界) §8.1.3
\(T(x)\) 锯齿/三角波函数 \(2\mathrm{ReLU}(x)-4\mathrm{ReLU}(x-\tfrac12)+2\mathrm{ReLU}(x-1)\) §8.1.3
\(T^{\circ k}\) \(T\)\(k\) 次自合成(\(2^k\) 段) §8.1.3
\(\alpha\)(Hölder) Hölder 连续指数 §8.1.3
\(W\) 网络宽度(每层节点数上界) §8.1.4
\(\Phi_q, \phi_{q,p}\) Kolmogorov-Arnold 外层/内层一元函数 §8.1.5
\(\mathcal{K}\) Koopman 算子 \(g\mapsto g\circ F\) §8.1.6
\(V(x)\) 值函数 / Lyapunov 函数 §8.1.6

定理速查表

本章核心定理/结果及一句话说明:

定理/公式 一句话说明 对应节
Cybenko UAT 单隐层 sigmoid 网络在 \(C(I^n)\) 稠密;用 Hahn-Banach + Riesz + Fourier 唯一性 §8.1.1
Hornik-Stinchcombe-White UAT 任意非常值压缩激活,\(L^p\) 稠密;是架构而非激活赋予万能性 §8.1.1
Leshno et al. 充要条件 单隐层万能 ⟺ 激活函数非多项式;偏置必要 §8.1.1
Barron 定理 Barron 类函数可被 \(n\) 神经元以 \(O(1/\sqrt n)\) 逼近,\(d\) 无关 §8.1.2
Jones-Barron-Maurey 贪心引理 Hilbert 空间凸包闭包中元素可被 \(n\) 个有界字典元平均以 \(b^2/n\) 逼近 §8.1.2
Yarotsky 逼近率 \(W^{n,\infty}\) 函数可被深度 \(O(\log\frac1\varepsilon)\)、参数 \(O(\varepsilon^{-d/n})\) 的 ReLU 网逼近 §8.1.3
Yarotsky 近似乘法 锯齿自合成 + 系数 \(4^{-k}\),ReLU 用 \(O(\log\frac1\varepsilon)\) 深度逼近 \(x^2\) §8.1.3
仿射区域上界 深度 \(L\)、宽 \(W\) 的 ReLU 网最多 \(O(W^L)\) 个线性段 §8.1.4
Telgarsky 深度分离 \(O(k)\) 表示的函数,浅层需 \(\Omega(2^k)\) 节点 §8.1.4
Eldan-Shamir 分离 径向函数 3 层 poly(d)、2 层需 \(\exp(d)\) 宽度 §8.1.4
深度 \(>4\) 障碍 证明深 5 > 深 4(自然函数)等价于解电路复杂度开放问题 §8.1.4
Kolmogorov-Arnold 任意 \(d\) 元连续函数 = \(2d+1\) 外层 + \(d(2d+1)\) 内层一元函数叠加 §8.1.5
Poggio-Mhaskar 组合(树)函数被镜像结构深度网络以 \(O(d\cdot\varepsilon^{-2/n})\) 逼近 §8.1.5
NTK 无穷宽极限下梯度下降 = 核回归;桥接逼近与优化 §8.1.5
Yun et al. Transformer UAT 带位置编码 Transformer 是序列到序列连续映射的 \(L^p\) 万能逼近器 §8.1.6
Grohs-Voigtlaender 无算法可从点采样实现逼近论最优率(不可能定理) §8.1.7
Na-Yang 浅层网络梯度流收敛率受维度灾难(优化维度灾难) §8.1.7

知识点总表

编号 知识点 核心要点 对应节 难度
1 为什么学逼近理论 决定逼近能力的是目标函数结构,不是网络万能性 §8.1.0
2 经典万能逼近 存在性结论:能逼近,但不说速率/优化/泛化 §8.1.1 ⭐⭐
3 Cybenko 证明 Hahn-Banach + Riesz + Fourier 唯一性的对偶论证 §8.1.1 ⭐⭐⭐
4 Barron 定理 Barron 类 \(O(1/\sqrt n)\) 维度无关速率 §8.1.2 ⭐⭐⭐
5 贪心引理 只依赖字典有界性;与 Frank-Wolfe 同构 §8.1.2 ⭐⭐⭐
6 Yarotsky ReLU 率 \(O(\varepsilon^{-d/n})\) 最优 Sobolev 率(有维度灾难) §8.1.3 ⭐⭐⭐
7 近似乘法构造 三角波自合成:深度指数放大分段数 §8.1.3 ⭐⭐⭐
8 深度分离 仿射区域计数:深度是免费倍增器 §8.1.4 ⭐⭐⭐
9 深度 \(>4\) 障碍 与电路复杂度开放问题挂钩 §8.1.4 ⭐⭐⭐⭐
10 Kolmogorov-Arnold 一维叠加表示;KAN 网络源头 §8.1.5 ⭐⭐⭐
11 组合函数 树结构 curse-breaking:poly(d) 参数 §8.1.5 ⭐⭐⭐
12 NTK 懒惰训练 = 核回归;桥接逼近-优化 §8.1.5 ⭐⭐⭐
13 维度灾难对比总表 破解维度灾难的必要条件是函数有结构 §8.1.5 ⭐⭐
14 机器人应用映射 策略/值/Lyapunov/动力学各属哪类、需多少参数 §8.1.6 ⭐⭐⭐
15 逼近-泛化-优化三角 逼近只是总误差的一个分量 §8.1.7 ⭐⭐⭐

累积项目:本章新增模块

项目主线:本批次(第八批)的累积项目是搭建一个"具身智能数学诊断器"——一组能对"用网络解决某个机器人学习任务"做理论可行性分析的工具。每个专题给它增加一个分析模块。

本章(8.1)新增模块:逼近可行性分析器(Approximation Feasibility Analyzer)

输入:一个机器人学习任务的目标函数描述(类型 + 维度 + 光滑性 + 是否有结构)。 输出:理论可行性报告。

模块应实现以下分析逻辑(伪代码框架,可用 Python 实现为一个决策函数):

def approximation_feasibility(target):
    """
    target: dict,含 'type'(policy/value/dynamics/...)、
            'dim' d、'smoothness' n(或 'inf')、
            'structure'('barron'/'compositional'/'none'/'discontinuous')、
            'target_error' eps
    返回:函数类归类 + 速率公式 + 参数量估算 + 风险提示
    """
    # 1. 连续性检查:不连续目标 → sup 范数逼近不可能,警告改用 L^p
    if target['structure'] == 'discontinuous':
        return warn("目标不连续(如 bang-bang),经典 UAT 不适用;"
                    "改用 L^p 逼近或随机化策略(§8.1.6)")
    # 2. 按结构归类并选速率公式
    if target['structure'] == 'barron':
        rate = "O(1/sqrt(n)) 维度无关 (Barron, §8.1.2)"
        n_est = ceil((2 * r * Cf)**2 / target['target_error']**2)
    elif target['structure'] == 'compositional':
        rate = "O(d * eps^{-2/n}) 深度网络 (Poggio-Mhaskar, §8.1.5)"
        n_est = d * target['target_error']**(-2/n)
    else:  # 'none' 一般光滑 → Yarotsky,有维度灾难
        rate = "O(eps^{-d/n} log) (Yarotsky, §8.1.3) — 警告维度灾难"
        n_est = target['target_error']**(-d/n)
    # 3. 三角关系提示:逼近只是总误差一部分
    note = ("提醒:这是逼近误差估算。还需评估泛化(数据量)与优化"
            "(SGD 能否找到)——见 §8.1.7 三角关系。")
    return report(rate, n_est, note)

验收标准:用它分析至少三个不同任务(如 LQR 值函数、7-DOF 动力学、bang-bang 策略),输出的归类和参数量级应与 §8.1.6 的讨论一致。后续专题(8.2 泛化、8.6 等变)会给这个诊断器增加"泛化分析模块"和"对称性降维模块"。


延伸阅读

论文精读(按优先级排序)

优先级 论文 精读重点
★★★★★ Barron (1993), IEEE TIT 39(3):930-945 必读。完整推导 Jones-Barron-Maurey 贪心引理;理解 Fourier 积分表示如何给出维度无关速率
★★★★★ Yarotsky (2017), Neural Networks 94:103-114, arXiv:1610.01145 必读。近似乘法构造 + 局部 Taylor 策略;理解深度 \(O(\log\frac1\varepsilon)\) 的来源
★★★★★ DeVore, Hanin, Petrova (2021), Acta Numerica 30:87-201, arXiv:2012.14501 必读。100 页综述,建立逼近论视角完整框架;特别关注 §3-5
★★★★☆ Telgarsky (2016), COLT, arXiv:1509.08101 理解仿射区域计数论证;掌握"深度 = 免费倍增器"的直觉
★★★★☆ Poggio, Mhaskar et al. (2017), IJAC 组合函数 curse-breaking;理解物理系统的组合结构为何有利
★★★★☆ Cybenko (1989) + Leshno et al. (1993) 理解 Hahn-Banach 与 Stone-Weierstrass 路线的区别和互补
★★★★☆ Liu et al. (2024), KAN, arXiv:2404.19756 理解 Kolmogorov-Arnold 如何被复活为可训练架构;批判性看待其优缺点
★★★☆☆ Eldan & Shamir (2016), COLT 3 vs 2 层分离的 Fourier 论证
★★★☆☆ Shen, Yang, Zhang (2022), J. Math. Pures Appl. 宽度×深度联合最优率的最新结果
★★★☆☆ Jacot, Gabriel, Hongler (2018), NeurIPS NTK 基础;理解"逼近 ≠ 可学"的关键
★★☆☆☆ Kovachki et al. (JMLR 2023) 神经算子框架——若你的博士方向涉及 PDE
★★☆☆☆ Vardi & Shamir (NeurIPS 2020) 深度分离障碍——若你对复杂度理论感兴趣

教材精读

教材 风格 精读章节
Grohs & Kutyniok eds., Mathematical Aspects of Deep Learning, Cambridge 2023 研究前沿汇编 Ch.1(Berner-Grohs-Kutyniok-Petersen 百页综述)、Ch.3(Gühring-Raslan-Kutyniok 逼近论)
Anthony & Bartlett, Neural Network Learning, Cambridge 1999 经典学习论 Ch.3-6 VC 维与伪维度(衔接专题 8.2)
Shalev-Shwartz & Ben-David, Understanding ML, Cambridge 2014 PhD 标准教材 Ch.18-20 神经网络可学性
Vershynin, High-Dimensional Probability, Cambridge 2018 概率工具箱 Ch.1-5 次高斯/集中不等式(Barron 证明工具)
E, Ma, Wojtowytsch, Wu (2020), CSIAM Trans. Barron 空间综述 全文——Barron 空间与 mean-field 视角的最佳入口
Telgarsky lecture notes (UIUC) 讲义 在线免费——混合逼近+优化+泛化的最可读 PhD 讲义

本章与后续章节的关系

后续章节 与本章的关系 本章哪个知识点为其铺垫
专题 8.2 泛化理论 逼近误差是**总误差的一部分**;VC 维同时约束逼近和泛化 §8.1.3(VC 维下界)、§8.1.7(三角关系)
专题 8.3 Transformer 数学 Yun et al. 2020 的 Transformer UAT 直接建在本专题框架上 §8.1.6(Transformer UAT)
专题 8.4 Diffusion Models Score function 的逼近保证(收敛依赖网络能否逼近 \(\nabla\log p\) §8.1.2-§8.1.3(光滑函数逼近率)
专题 8.5 VLA 框架 端到端策略网络的表达能力:为什么一个网络能同时处理视觉-语言-动作 §8.1.6(Transformer UAT)、§8.1.1(万能性)
专题 8.6 等变网络 Yarotsky 2022 等变 UAT 是本专题的对称性扩展 §8.1.5(维度灾难对比表"带对称性"行)

前置依赖回顾(本章建立在以下之上):

前置 来源 需要掌握的内容 必要性
泛函分析 第零批 B3 Hahn-Banach、Riesz 表示、Banach 空间、Hilbert 投影 硬依赖——Cybenko/贪心引理直接使用
实分析 第零批 B1 一致收敛、Weierstrass 逼近、Stone-Weierstrass、Arzelà-Ascoli 硬依赖——Hornik/Leshno 证明基础
测度论 第零批 B2 Fourier 变换、\(L^p\) 空间、Borel 测度、Radon-Nikodym 硬依赖——Barron 定理证明核心
点集拓扑 第零批 A3 紧致性、可分性、稠密性 中等——理解"稠密"的严格含义
高等线性代数 第零批 A2 算子范数、谱定理、SVD 中等——NTK 理论需要
优化基础 第二批 凸优化、梯度下降收敛性、Frank-Wolfe 软依赖——贪心引理对照、三角关系
RL 数学 第六批 Bellman 算子、值函数逼近 软依赖——应用映射需要
最优控制 第三批 Lyapunov 函数、CBF 软依赖——应用映射需要

🔧 故障排查手册

逼近理论是"诊断工具"。下面把它做成一张结构化的故障排查表——当你在实践中遇到"网络学不好"的症状时,对照症状定位根因,而不是盲目调参。每个场景给出**症状 → 可能原因 → 排查步骤 → 相关章节**。

故障 1:网络训练损失降不下去,怎么加宽加深都不行

内容
症状 训练损失(不是验证损失)卡在一个不为零的值,增大网络规模、延长训练都无改善。
可能原因 (a) 目标函数**不连续**(如 bang-bang 策略、碰撞即停),不在 \(C(K)\) 中,sup 范数逼近数学上不可能;(b) 目标函数高频振荡,Barron 范数 \(C_f\) 极大或无穷,所需神经元天文数字;(c) 损失函数选错(对不连续目标用了 sup 范数型损失)。
排查步骤 1. 画出目标函数(或采样点),检查是否有跳变/不连续。2. 若不连续 → 改用 \(L^p\) 损失(如 MSE,允许零测集偏差)或改逼近随机化策略 $\pi(a
相关章节 §8.1.1(连续性要求)、§8.1.2(Barron 范数)、§8.1.6(不连续策略)

故障 2:低维任务网络很好,高维同类任务突然需要海量参数

内容
症状 同样的网络结构,在低维(如 \(d=5\))任务上几万参数就够,换到高维(\(d=50\))任务需要几百倍参数仍效果差。
可能原因 撞上**维度灾难**——目标函数没有可利用的结构(不是 Barron 类、无组合稀疏),落入 Yarotsky 的 \(O(\varepsilon^{-d/n})\) 区间,参数量随 \(d\) 指数增长。
排查步骤 1. 用"维度灾难对比总表"(§8.1.5)判断目标函数属于哪类。2. 检查是否有**未被利用的结构**:物理系统是否有组合/树结构(Poggio-Mhaskar)?是否有对称性(等变网络)?是否实际是低频(Barron)?3. 若有结构 → 改用镜像该结构的网络(深度网络利用组合性、等变网络利用对称性)。4. 若确实无结构 → 接受维度灾难,考虑降维预处理或换问题表述。
相关章节 §8.1.3(Yarotsky 维度灾难)、§8.1.5(组合结构破解、对比总表)

故障 3:理论估算说网络够大,但实际怎么训都达不到预期精度

内容
症状 按 Barron/Yarotsky 公式估算,当前网络规模应该能到误差 \(\varepsilon\),但实际训练后误差远大于 \(\varepsilon\)
可能原因 逼近 ≠ 优化——逼近理论保证"存在"达到 \(\varepsilon\) 的权重,但 SGD 不一定能找到。Grohs-Voigtlaender:可能无算法实现最优率;Na-Yang:即使逼近维度无关,优化时间可能受维度灾难。
排查步骤 1. 区分这是逼近、优化还是泛化问题:训练损失也大 → 优化(或逼近);训练损失小但验证损失大 → 泛化。2. 若优化问题:检查学习率、初始化(NTK 体制需特定初始化)、是否陷入坏的局部极小。3. 尝试过参数化(NTK 理论:足够宽时梯度下降有全局收敛保证)。4. 接受"逼近论最优率可能无法被 SGD 达到"这一理论现实,调整预期。
相关章节 §8.1.5(NTK)、§8.1.7(三角关系、两个不可能定理)

故障 4:换了"更强"的激活函数,逼近能力没变好反而泛化变差

内容
症状 把 ReLU 换成某种"超表达力"激活(如 \(\sin + x^2\) 之类),训练误差降得更快,但验证/测试误差反而上升。
可能原因 超表达力激活函数(Yarotsky-Zhevnerchuk 型)虽实现更快甚至维度无关的逼近率,但代价是 VC 维爆炸(甚至无穷),泛化能力急剧恶化。这是"逼近 ↔ 泛化"权衡的直接体现。
排查步骤 1. 确认是泛化问题(训练误差小、测试误差大)。2. 回顾:逼近能力的提升是否以模型复杂度(VC 维/Rademacher 复杂度)的爆炸为代价?3. 换回标准激活(ReLU/GELU),或对超表达力激活加强正则化(权重衰减 = 控制路径范数,见 §8.1.2)。4. 记住 Leshno 定理:只要非多项式就已万能,"更强激活"不扩大可逼近类,只可能损害泛化。
相关章节 §8.1.1(Leshno 充要条件)、§8.1.3(超收敛代价)、§8.1.7(开放问题 3)

故障 5:神经 Lyapunov/CBF 网络训练出来了,但系统仍不稳定/不安全

内容
症状 训练了一个神经 Lyapunov 函数,训练损失(违反 \(\dot V<0\) 的惩罚)很小,但部署后系统仍出现不稳定/越界行为。
可能原因 逼近 + 训练 ≠ 验证。网络在**训练采样点**上满足 \(\dot V<0\),但在**未采样的点**上可能违反。万能逼近只保证"能表示"Lyapunov 函数,训练只在有限点上拟合,都不等于"处处满足"的形式化保证。
排查步骤 1. 认识到这是"逼近-优化-验证三角"里的**验证**缺失。2. 引入形式化验证器:SMT 求解器、SOS 规划、或区间传播,证明 \(\dot V<0\) 在整个状态空间(或紧致工作域)成立。3. 若验证失败,把反例加入训练集(counterexample-guided)重新训练,迭代。4. 采用 Dawson et al. 的"学习 + 凸优化 + 验证"三位一体框架。
相关章节 §8.1.6(逼近-优化-验证三角、神经 Lyapunov/CBF)

故障 6:用网络学动力学,开环预测短期准但长期发散

内容
症状 学到的动力学模型 \(\hat F(x,u)\) 单步预测误差很小,但用它做多步 rollout(开环长期预测)时轨迹很快发散或违反物理(如能量莫名增长)。
可能原因 (a) 单步误差在 rollout 中**累积放大**(复合误差,与逼近误差量级相关);(b) 网络未保持动力学的**拓扑/守恒结构**——标准 MLP/Neural ODE 不保证辛结构、能量守恒,长期行为偏离物理。
排查步骤 1. 区分是单步逼近误差大(→ 加大网络/改善数据)还是结构不守恒(→ 单步误差小但长期发散,更可能是结构问题)。2. 若结构问题:改用嵌入物理结构的网络——Hamiltonian/Lagrangian Neural Networks、辛积分器、能量守恒约束。3. 回顾 Neural ODE 的拓扑约束(§8.1.5):流必须是同胚,且守恒律需显式加入。4. 用组合结构(Poggio-Mhaskar)匹配多体系统的物理分解,减少所需参数同时改善结构保持。
相关章节 §8.1.5(Neural ODE 拓扑约束、组合函数)、§8.1.6(动力学逼近)

研究实践建议

逼近理论是一门"既要会算又要知道边界"的学科。下面按读者层次给出建议。

给初学者(第一次接触逼近理论)

  • 先抓三个定理 + 一张表:Cybenko(能不能)、Barron(多快、维度无关的条件)、Yarotsky(一般光滑函数的率),加上"维度灾难对比总表"。这四样构成"够用的最小集",足以让你对"网络该多大"有靠谱直觉。
  • 务必亲手推一遍贪心引理和近似乘法:这两个是本章的"手感"所在。读懂和能闭卷写出之间差着一整个理解层级。在草稿纸上推,不要只在脑中过。
  • 把每个定理都问一句"它没说什么":万能逼近没说速率,Barron 没说优化,Yarotsky 没说怎么找权重。养成这个习惯,你就不会犯"把存在性当实用性"的通病。
  • 不要跳过第零批:如果 Cybenko 证明读起来像天书,几乎一定是 Hahn-Banach/Riesz 没吃透。回去补课比硬啃高效得多——这不是客套,是本章反复验证的经验。

给有经验者(已做过深度学习项目)

  • 用逼近理论反思你的调参经验:你过去"加宽 vs 加深"的经验性选择,能否用深度分离(§8.1.4)和组合结构(§8.1.5)解释?你遇到过的"高维任务难训",是不是维度灾难?把经验和理论对上号,理论才真正变成你的工具。
  • 关注"逼近-优化-泛化"的张力:实践中的很多 trade-off(网络规模、正则化强度)本质是这三者的平衡。§8.1.7 的框架能帮你把零散的调参直觉组织成系统。
  • 对"超表达力"保持警惕:见到声称"维度无关、超快收敛"的新激活/新架构,先问它的泛化代价(VC 维)和数值可实现性。逼近论最优率常常以泛化或数值稳定性为代价(故障 4、开放问题 3)。
  • 若做安全关键系统,把"可验证"放在"可逼近"之上:神经 Lyapunov/CBF 的瓶颈从来不是表示能力(万能逼近早就保证了),而是验证(故障 5)。把精力投在"可验证的逼近器类"上。

给准备深耕逼近理论的研究者

  • 从 DeVore-Hanin-Petrova(2021)综述入手建立全景,再读 Barron/Yarotsky/Telgarsky 原始论文,最后追 2024-2025 前沿(KAN、等变定量速率、优化维度灾难)。
  • 开放问题 2(实际训练网络的函数类)和开放问题 5(可验证逼近) 是与机器人最相关、也最有空间的方向。前者关乎"我们到底在学什么类的函数",后者关乎"AI 能否进入安全关键控制"。

实战练习(综合题库)

本节汇总更系统的练习,分推导(闭卷手推)、编程验证、思考题三类。各小节末尾已有针对性练习,这里是跨节综合训练。

A 型 · 推导练习(闭卷手推)

[A1 · Hahn-Banach 路线] 闭卷写出 Cybenko 定理的完整证明框架(七步)。明确标注哪一步用了 Hahn-Banach、哪一步用了 Riesz 表示、哪一步用了 Fourier 唯一性,以及从 sigmoid 极限到半空间的关键推理及其技术缝隙。

[A2 · Barron 贪心引理] 独立推导 Jones-Barron-Maurey 贪心逼近引理:设 \(G\subset H\)(Hilbert 空间),\(\|g\|\le b\)。证明 \(\overline{\mathrm{conv}}(G)\) 中任意元素 \(f\) 可被 \(n\)\(G\) 中元素的平均以 \(\|\cdot\|^2\le b^2/n\) 逼近。给出贪心选择规则、平方展开和归纳步骤。

[A3 · 近似乘法] 用 ReLU 函数 \(\max(x,0)\) 构造锯齿函数 \(T(x)\)。证明 \(T\)\(k\) 次自合成 \(T^{\circ k}\)\(2^k\) 个线性段。由此构造 \(x^2\)\(O(\log(1/\varepsilon))\) 深度近似,并估计逼近误差。

[A4 · 仿射区域计数] 证明:深度 \(L\)、每层宽度 \(\le W\) 的 ReLU 网络 \(f:\mathbb{R}\to\mathbb{R}\) 最多有 \(O(W^L)\) 个仿射线性段。由此推出 Telgarsky 深度分离定理的下界部分。

B 型 · 编程验证

[B1 · 万能逼近实验] 用 PyTorch 训练单隐层 sigmoid/ReLU 网络逼近 \(f(x)=\sin(5x)\exp(-x^2)\) on \([-3,3]\)。绘制 \(n=5,20,100,500\) 时的逼近误差曲线。验证误差是否大致符合 \(O(1/\sqrt n)\)(Barron 率)或 \(O(n^{-2})\)(Yarotsky \(f\in W^{2,\infty}\) 率)。

[B2 · 深度 vs 宽度] 固定总参数量 \(P=1000\),比较以下配置逼近 \(f(x_1,x_2)=\sin(5x_1)\cos(3x_2)\) 的效果:(a) 1 层 × 500 宽;(b) 3 层 × 18 宽;(c) 10 层 × 10 宽;(d) 30 层 × 6 宽。记录训练后 sup 范数误差,验证"中等深度优于极浅或极深"的经验规律。

[B3 · Barron 类 vs 非 Barron 类] 比较网络逼近两类函数的速率:(a) \(f_1(x)=\sin(\|x\|^2)\)(Barron 类,\(C_f\) 有限);(b) \(f_2(x)=|x_1-0.5|\cdot|x_2-0.5|\)(非光滑,\(C_f\) 可能无穷)。\(d=10,20,50\)。绘制误差 vs 宽度曲线,观察维度灾难是否在 \(f_2\) 上出现而 \(f_1\) 上不出现。

[B4 · 组合结构] 构造组合函数 \(f(x_1,\dots,x_8)=h(g_1(x_1,x_2),g_2(x_3,x_4),g_3(x_5,x_6),g_4(x_7,x_8))\),其中 \(g_i\)\(h\) 都是简单光滑函数。比较"镜像树结构的深度网络"与"全连接浅层网络"的参数效率,验证 Poggio-Mhaskar 的 poly(d) vs exp(d) 预测。

[B5 · KAN vs MLP] (进阶)用 pykan 或自己实现一个简单 KAN,与同参数量的 MLP 比较:(a) 逼近一个有明显加性结构的函数 \(f(x,y)=\sin(x)+y^2\);(b) 逼近一个变量强耦合的函数 \(f(x,y)=\sin(xy)\)。观察 KAN 在哪类函数上更有优势,验证 §8.1.5 关于"结构匹配"的讨论。

思考题

[T1] Barron 定理给出 \(O(1/\sqrt n)\) 逼近率,但没说如何找到那 \(n\) 个神经元的权重。如果用 SGD 训练,Barron 率能否被实现?NTK 理论对此说了什么?Na-Yang 2026 的结果又暗示了什么?

[T2] 机器人 RL 中的最优策略 \(\pi^*(s)\) 在碰撞/接触边界上通常不连续(如"碰到障碍就停")。这意味着 \(\pi^*\) 不在 \(C(K)\) 中,经典 UAT 不直接适用。如何用 \(L^p\) 逼近或随机化策略处理这个问题?

[T3] 从泛函分析视角看,Cybenko 用 Hahn-Banach + Riesz 表示,Hornik 用 Stone-Weierstrass。这两条路线的本质区别是什么?哪条更容易推广到 \(L^p\)?哪条更容易推广到无穷维输入(算子逼近)?

[T4] Yarotsky 的近似乘法需要深度 \(O(\log(1/\varepsilon))\)。如果激活函数是 \(x^2\) 而不是 ReLU,乘法可以用一层精确实现。为什么实际中不用 \(x^2\) 作为激活函数?从优化和泛化角度分析。

[T5] 将逼近理论与最优控制联系:HJB 方程的解(值函数)\(V(x)\) 满足 \(\min_u[L(x,u)+\nabla V\cdot f(x,u)]=0\)。若 \(V\) 属于 Barron 类,用宽度 \(n\) 的网络逼近 \(V\) 的误差是 \(O(1/\sqrt n)\)。这个逼近误差如何传播到策略 \(u^*(x)=\arg\min_u[\dots]\) 的误差中?提示:考虑 \(\nabla V\) 的逼近。

[T6] KAN 网络把激活函数从节点挪到边上,宣称更可解释、更高效。从本章逼近理论视角批判性分析:KAN 真的有"维度无关"或"参数高效"的理论保证吗?Kolmogorov-Arnold 定理本身能否支撑这些宣称?在什么函数类上 KAN 可能真有优势?


预计学习时间

总计:3-4 周(35-50 小时)

阶段 内容 时间 节奏建议
动机建立 §8.1.0 为什么学 + §8.1.1 三个 UAT 6-8h 第 1 周前半:重点连接第零批 B3 泛函分析
核心定理 §8.1.2 Barron 定理完整推导 8-10h 第 1 周后半至第 2 周前半:本专题最重要的定理
深度理论 §8.1.3 Yarotsky 工具箱 + §8.1.4 深度分离 8-10h 第 2 周后半:理解"近似乘法"和"仿射区域计数"
结构与应用 §8.1.5 组合/Kolmogorov-Arnold + §8.1.6 机器人应用 6-8h 第 3 周前半:将理论连接到你的方向
综合框架 §8.1.7 三角关系 + 精读 DeVore-Hanin-Petrova 5-8h 第 3 周后半:建立全景视角
实战巩固 A 型推导 + B 型编程 + 思考题 5-8h 第 4 周:通过练习固化理解

关键里程碑

  • 第 1 周末:能闭卷陈述 Cybenko/Barron 定理并写出 Barron 证明的完整骨架。
  • 第 2 周末:能解释"为什么 ReLU 网络深度 \(O(\log\frac1\varepsilon)\) 可以近似乘法"以及"为什么浅层网络无法高效表示高频振荡"。
  • 第 3 周末:能将逼近理论映射到至少两个机器人应用场景(如 RL 策略逼近 + 神经 Lyapunov),并用"维度灾难对比总表"判断任意目标函数的可行性。
  • 第 4 周末:能读懂 DeVore-Hanin-Petrova 2021 综述的主要结论,建立"逼近-泛化-优化"三角概念图。

附录 A:术语对照表

英文术语 中文译名 首次出现章节 简释
Universal Approximation Theorem (UAT) 万能逼近定理 §8.1.1 网络可逼近任意连续函数的存在性定理
Sigmoid function sigmoid 型函数 §8.1.1 两端趋于常数的 S 形激活函数
Dense (subspace) 稠密(子空间) §8.1.1 闭包等于全空间;任意接近
Hahn-Banach theorem Hahn-Banach 定理 §8.1.1 有界泛函的延拓 / 闭子空间的分离
Riesz representation Riesz 表示定理 §8.1.1 \(C(K)^*\) = 有限带符号正则 Borel 测度
Stone-Weierstrass theorem Stone-Weierstrass 定理 §8.1.1 分离点 + 含常数的子代数稠密
Barron space / class Barron 空间 / 类 §8.1.2 Fourier 谱范数有限的函数类
Spectral norm (Barron) 谱范数 (Barron) §8.1.2 $C_f=\int
Path norm / Variation norm 路径范数 / 变差范数 §8.1.2 现代 Barron 空间中的范数
Greedy approximation 贪心逼近 §8.1.2 逐步选取最对齐残差的字典元
Convex hull closure 凸包闭包 §8.1.2 \(\overline{\mathrm{conv}}(G)\)
Curse of dimensionality 维度灾难 §8.1.2 逼近复杂度随维度指数增长
Sobolev space \(W^{n,\infty}\) Sobolev 空间 §8.1.3 \(n\) 阶导数有界的函数类
Hölder class Hölder 类 §8.1.3 \(\alpha\) 阶 Hölder 连续函数类
Sawtooth / tent function 锯齿 / 三角波函数 §8.1.3 自合成产生指数级分段的 ReLU 构造
Bit extraction 位提取 §8.1.3 用深度 ReLU 读取实数编码中单独"位"
Depth separation 深度分离 §8.1.4 深层网络比浅层指数级更高效的定理
Affine / Linear region 仿射 / 线性区域 §8.1.4 ReLU 网络分段线性结构的每一段
Kolmogorov-Arnold representation Kolmogorov-Arnold 表示 §8.1.5 多元连续函数 = 一元函数叠加
KAN (Kolmogorov-Arnold Network) Kolmogorov-Arnold 网络 §8.1.5 可学习样条在边上的网络范式
Compositional function 组合函数 §8.1.5 DAG 入度有界的函数
Neural Tangent Kernel (NTK) 神经正切核 §8.1.5 无穷宽极限下梯度下降等价的核函数
Lazy training 懒惰训练 §8.1.5 参数几乎不动、无特征学习的体制
Neural ODE 神经常微分方程 §8.1.5 ResNet 的连续极限
DeepONet 深度算子网络 §8.1.6 branch-trunk 结构的非线性算子逼近器
FNO (Fourier Neural Operator) Fourier 神经算子 §8.1.6 频域参数化的算子学习架构
Koopman operator Koopman 算子 §8.1.6 将非线性动力学提升为线性的无穷维算子
Lyapunov function Lyapunov 函数 §8.1.6 证明系统稳定性的正定能量型函数
Control Barrier Function (CBF) 控制屏障函数 §8.1.6 保证安全集前向不变的证书函数

附录 B:与第零批定理的精确对应

本专题的证明直接调用第零批的以下定理。如果你发现读本专题的某个证明卡住了,大概率是对应的第零批定理没吃透——回去补课比硬啃更高效。

本专题使用处 调用的第零批定理 第零批编号
Cybenko 证明步骤 3(分离) Hahn-Banach 定理(解析/分离形式) B3 #72
Cybenko 证明步骤 4(表示) Riesz 表示定理(\(C(K)^*\) = 带符号测度) B3 #78
Cybenko 证明步骤 7(唯一性) Fourier 唯一性 / 逆变换定理 B2 测度论/Fourier
Hornik 证明核心 Stone-Weierstrass 定理(及格版本) B1 #33 / A3 拓扑版
Barron 证明步骤 1(积分表示) Fourier 逆变换定理 B2 测度论/Fourier
Barron 贪心引理(投影) Hilbert 空间凸集投影定理 B3 #83
Yarotsky 下界 VC 维度论证(源于 Vapnik-Chervonenkis) 专题 8.2
深度分离证明 分段线性函数的仿射区域拓扑论证 A3 点集拓扑
NTK 理论 谱定理(自伴算子) A2 #13 / B3 #81

致谢

本专题的科研脉络梳理参考了以下核心文献:DeVore-Hanin-Petrova (Acta Numerica 2021)、Berner-Grohs-Kutyniok-Petersen (2021 综述)、Telgarsky 讲义 (UIUC)、E-Ma-Wu Barron 空间系列论文、Poggio CBMM Memos、Kovachki-Stuart 神经算子理论系列、以及 Liu et al. (2024) KAN 论文。万能逼近定理的历史与 Cybenko 证明的技术细节参考了 Wang (2025, arXiv:2508.18893) 的勘误分析。所有引用计数截至 2025 年中,仅供量级参考。


版本历史

版本 日期 变更
v0.1 2026-04-24 初版大纲:八段式结构 + 12 核心定理 + 7 开放问题 + 附录 A-B
v1.0 2026-06-02 全面扩写为理论教学合规文档:重构为"前置自测 → 本章目标 → 知识导航 → 前置桥接"开篇结构;新增 §8.1.0(学习动机)与 §8.1.5 中 Kolmogorov-Arnold/KAN 内容;每节按"动机→反面→历史→理论→陷阱→练习"展开;补全 Cybenko/Barron 贪心引理/近似乘法/仿射区域计数的完整推导链;新增本章常见误解汇总、符号表、定理速查表、知识点总表、累积项目、6 个故障排查场景、研究实践建议;认知工具(类比标边界、反事实、本质洞察)贯穿全文

全文完。


从逼近到泛化:专题 8.1 回答了"网络能不能表示目标函数"的逼近问题。然而实际中我们只有有限样本,训练出的网络在未见数据上表现如何?这正是泛化理论的核心关切。下面的专题 8.2 将从 PAC 学习框架出发,建立从逼近能力到统计泛化保证的桥梁——把本章 §8.1.7 三角关系中"泛化"那一角,展开成一个完整的专题。