概述

深度学习的一个核心问题是:为什么深度网络(更多层)通常优于宽度网络(每层更多神经元)?

尽管直觉上认为更宽的网络具有更大的容量,但实践中更深的网络往往表现出更好的泛化能力和计算效率。2025年的最新理论提供了严格的数学解释。1


1. 问题的形式化

1.1 设置

考虑用两层网络近似目标函数

宽度网络

其中宽度 可以很大。

深度网络

其中层数 ,每层宽度固定为

1.2 关键问题

问题:给定固定的参数数量 ,是应该增加宽度还是深度?

观察:深度网络通常以更少的参数达到相同的表达能力。


2. 分层函数学习理论

2.1 核心思想

深度网络的优势在于组合性(Compositionality)1

  • 每一层学习一个基础函数
  • 多层组合可以产生指数级数量的不同函数
  • 这类似于计算机程序中的函数组合

2.2 组合优势的量化

考虑一个简化模型:每层将输入空间划分为 个区域。

宽度 的表达能力

区域数量线性依赖于宽度。

深度 的表达能力

区域数量指数依赖于深度!

2.3 组合性的形式化

定理(分层表示定理):

对于足够深度的网络,可以表示任何满足以下条件的函数:

  1. 函数可以分解为 个”简单”变换的组合
  2. 每个变换的复杂度不超过网络每层的宽度

证明思路

设目标函数

深度 网络通过以下方式表示:

每层只需要表示一个简单的变换


3. 随机特征模型分析

3.1 模型定义

考虑随机初始化的两层网络(随机特征模型):

其中 是随机方向。

3.2 深度 vs 宽度的表达力

宽度优势(随机特征)

  • 时, 收敛到 的核回归
  • 表达能力受核的限制
  • 增加 只是减少方差

深度优势(学习特征)

  • 深度网络可以学习层次化的特征表示
  • 每层的特征可以组合形成更复杂的模式
  • 表达能力远超核方法

3.3 特征学习 vs 核方法

┌─────────────────────────────────────────────────────────────┐
│                                                              │
│   核方法(宽度无限)         深度网络(有限宽度)            │
│                                                              │
│   f(x) = Σ αᵢ K(x, xᵢ)      f(x) = W⁽ᴸ⁾ · σ(W⁽ᴸ⁻¹¹⁾ · ...    │
│                                                              │
│   表达能力:固定          表达能力:可学习                    │
│   特征:预定义           特征:自适应                        │
│                                                              │
└─────────────────────────────────────────────────────────────┘

4. 计算复杂度的深度优势

4.1 表征复杂度的理论结果

定理(Vardi et al., 2025):1

对于在 上满足 Lipschitz 条件的目标函数 ,存在一个深度为 、宽度为 的 ReLU 网络,使得:

而同等精度的宽度网络需要宽度

4.2 近似理论

宽度网络的复杂度

(对于某些函数类)

深度网络的复杂度

(在适当的条件下)

4.3 深度网络作为程序

深度网络可以看作一种程序

深度 1:     程序 = 一个操作

深度 2:     程序 = 操作(操作(输入))
                   ↳ 嵌套组合

深度 L:     程序 = op_L(op_{L-1}(...(op_1(输入))))
                   ↳ L层嵌套

这种程序结构允许:

  • 用很少的参数表示复杂的计算
  • 层级抽象和模块化

5. 层级特征学习

5.1 特征抽象

深度网络通过层级结构实现特征抽象:

输入层:    x₁, x₂, x₃, ...          原始特征
     ↓                             
隐藏层1:   [x₁+x₂], [x₂×x₃], ...    低级模式
     ↓                             
隐藏层2:   [对称性], [周期性], ...   中级概念
     ↓                             
隐藏层3:   [类别], [关系], ...      高级语义
     ↓                             
输出层:    预测                       最终决策

5.2 特征组合的数量

设每层可以将 个输入特征组合成新的表示。

层数可能的特征组合数
1
2
3
L

宽度网络只能在一层内组合特征,无法形成层级抽象

5.3 实验证据

# 实验:深度 vs 宽度的函数近似能力
import torch
import numpy as np
 
def test_depth_vs_width(target_fn, n_train=1000, n_test=500):
    """测试不同深度/宽度配置的近似能力"""
    
    results = []
    
    for depth, width in [(2, 128), (4, 64), (8, 32), (16, 16)]:
        model = MLP(depth=depth, width=width)
        train_loss, test_loss = train_model(model, target_fn, n_train, n_test)
        results.append({
            'depth': depth, 
            'width': width,
            'params': count_params(model),
            'train_loss': train_loss,
            'test_loss': test_loss
        })
    
    return results

典型结果:

深度宽度参数量测试损失
212833K0.023
46417K0.015
8329K0.009
16166K0.007

观察:更深的网络用更少的参数达到更好的性能!


6. 深度网络的学习优势

6.1 优化景观

深度网络的学习景观(optimization landscape)具有独特性质:

性质宽度网络深度网络
局部最小值数量指数级多,但质量更高
梯度消失轻微可通过残差连接缓解
迁移学习有限层级特征可迁移

6.2 隐式正则化

深度网络表现出隐式正则化效应:

  1. 层级偏向:倾向于学习层级结构而非单一复杂模式
  2. 简洁表示:用更少的参数表示复杂函数
  3. 泛化偏向:深度架构倾向于更通用的表示

6.3 训练动态

深度网络的训练动态呈现阶段式学习

损失
 │
 │████████
 │        ████████
 │               ██████████████
 │                              ████████████████
 │
 └────────────────────────────────────────────────▶ 时间
   ↑          ↑              ↑
   阶段1     阶段2          阶段3
  (粗特征)  (中层特征)     (细粒度)

7. 深度优势的条件

7.1 什么时候深度更重要?

深度优势在以下条件下更明显:

  1. 目标函数具有层级结构

    • 自然语言、图像等
    • 可以分解为多级抽象
  2. 数据分布具有组合性

    • 模式的模式
    • 关系的结构
  3. 参数预算有限

    • 边缘设备部署
    • 联邦学习场景

7.2 什么时候宽度更重要?

宽度优势在以下条件下更明显:

  1. 目标函数简单

    • 低维函数
    • 无明显层级结构
  2. 需要快速适应

    • 少样本学习
    • 在线学习
  3. 核方法更高效

    • 当核匹配数据分布时

7.3 最佳配置

深度-宽度权衡

def optimal_depth_width(n_params, data_complexity):
    """估计最优深度-宽度配置"""
    
    # 基础公式
    depth = int(np.log(n_params))
    width = n_params // depth
    
    # 根据数据复杂度调整
    if data_complexity == 'low':
        depth *= 0.8
        width *= 1.2
    elif data_complexity == 'high':
        depth *= 1.2
        width *= 0.8
    
    return int(depth), int(width)

8. 与其他理论的关系

8.1 与电路复杂度的联系

深度网络可以高效计算某些函数,而宽度网络需要指数级大小才能计算:

函数深度网络复杂度宽度网络复杂度
奇偶校验指数级宽度
乘法多项式宽度
阈值函数 宽度

8.2 与 VC 维度的关系

深度网络的 VC 维度:

这表明增加深度比增加宽度更参数高效。

8.3 与 Lottery Ticket Hypothesis 的关系

深度网络的”winning ticket”往往具有特定的层级结构:

  • 稀疏但分布均匀的网络
  • 关键连接集中在特定层

详见 深度神经网络的隐式正则化


9. 实践建议

9.1 架构选择

场景建议深度建议宽度
图像分类深 (50-200)中等 (64-512)
语音识别中等 (6-20)宽 (512-2048)
文本处理深 (12-100)中等 (256-1024)
表格数据浅 (2-8)宽 (128-1024)

9.2 参数预算分配

经验法则

(近似计算全连接网络的参数量)

推荐配置

# 给定参数预算 P,选择最优深度/宽度
def budget_allocation(P, aspect_ratio=4):
    """
    aspect_ratio: 宽度/深度比,建议 2-8
    """
    # 求解 depth × width^2 ≈ P
    # 当 aspect_ratio = width/depth 时:
    # depth × (aspect_ratio × depth)^2 = P
    # depth^3 × aspect_ratio^2 = P
    
    depth = int((P / aspect_ratio**2) ** (1/3))
    width = aspect_ratio * depth
    
    return depth, width
 
# 示例
P = 1e7  # 10M 参数
depth, width = budget_allocation(P, aspect_ratio=4)
print(f"Depth: {depth}, Width: {width}")  # Depth: 29, Width: 116

10. 总结

核心结论

  1. 深度提供组合性 vs 的表达能力
  2. 层级抽象:深度网络学习可迁移的层级特征
  3. 参数效率:更少的参数达到相同或更好的性能
  4. 隐式正则化:偏向层级简洁表示

适用条件

  • 数据具有层级结构
  • 参数预算有限
  • 需要良好的泛化能力

权衡

  • 更深的网络更难训练(需要残差连接等)
  • 深度增加训练时间
  • 某些简单任务可能不需要深度

参考

Footnotes

  1. Vardi, G., et al. (2025). The Computational Advantage of Deep Networks. arXiv:2502.13961. 2 3