Skip to content

Nerual Network

为什么使用 sigmoid 函数

博客

inductive bias

归纳偏置, 表示模型在训练前做出的一些偏好(假设), 方便模型搜索出有特征的解

可以加快模型收敛, 并增强小数据集上的泛化能力

CNN

CNN 的 inductive bias:

  1. locality

    因为卷积这个操作本身就是对某个局部内的像素计算, 所以 CNN 能更好地注意到局部特征

  2. translation equivariance

    即一个特征无论出现在图像的哪个部位, 都能被同一卷积核注意到

RNN

相对于 CNN 的空间, RNN 是时间上的归纳偏置

GNN

就是图拓扑结构上的归纳偏置

alt text

具体见 [1]


CNN

pooling

一个 CNN 层一般分为三步

  1. 卷积
  2. 激活函数
  3. 池化

池化可以让输出对输入上的微小变化不做反应

alt text

如图, 可以看到输入全变, 但是本质上是修改了右边的元素, 在整体向右循环平移

而输出只变化了两个

同时如果对不同参数的卷积结果做池化, 可以学习对某一种变换变得无反应

例如下图的例子中, 池化单元对于旋转操作无反应:

alt text

假设图中每个卷积核对于与自己方向相同并且形状重合的输入反应很大

那么最后的池化单元能够识别旋转后的 \(5\)

同时池化还可以用于降采样, 降低计算复杂度, 或者用于适应模型维数

RNN

structure

一个 RNN 使用共享参数矩阵 \(W_h, W_x, W_y\)

每一步接受一个输入 \(x_t\), 维数为 \(d\)

这个输入可以是 embedding 后的单词

使用如下公式迭代处理整个单词序列:

\[h_t=\sigma(W_h\cdot h_{t-1}+W_x\cdot x_t+b_h)\]
\[y_t=W_y\cdot h_t + b_y\]

其中 \(b_h,b_y\) 是偏置项

LSTM

为了处理 RNN 长序列导致的梯度消失 / 爆炸问题

使用三个门控单元:

  1. 遗忘门

    决定保留多少上一时刻细胞状态的信息

    \[f_t=\sigma(W_f\cdot [h_{t-1}, x_t]+b_f)\]
  2. 输入门

    决定有多少输入信息要进入细胞状态

    \[i_t=\sigma(W_i\cdot [h_{t-1}, x_t]+b_i)\]
  3. 输出门

    决定当前细胞状态有多少输出给隐藏状态

    \[o_t=\sigma(W_o\cdot [h_{t-1}, x_t]+b_o)\]

同时维护一个细胞状态 \(C_t\):

\[\tilde C_t=\tanh(W_C\cdot [h_{t-1},x_t]+b_C)\]

这里 \(\tilde C_t\) 表示候选值, 是从上一步隐藏值 \(h_{t-1}\) 和当前输入 \(x_t\) 中提取的新信息, 由 \(i_t\) 决定有多少流入当前细胞状态

所以更新细胞状态:

\[C_t=f_t\cdot C_{t-1}+i_t\cdot \tilde C_t\]

最后更新隐藏状态:

\[h_t=o_t\cdot \tanh(C_t)\]

这里面 \(C_t\) 相当于一个传送有效信息的线性链

链式法则里会出现多个 \(\frac{\partial C_t}{\partial C_{t-1} }\), 而这个梯度为

\[\frac{\partial C_t}{\partial C_{t-1} }=f_t+[C_{t-1}\cdot \frac{\partial f_t}{\partial C_{t-1} }+i_t\cdot \frac{\partial \tilde C_t}{\partial C_{t-1} }+\tilde C_t \cdot \frac{\partial i_t}{\partial C_{t-1} }]\]

后面一项是低阶项

如果我们希望不遗忘, 那么学习到的 \(f_t\approx 1\), 可以解决梯度消失

GRU

与 LSTM 类似

使用两个门控单元:

  1. 更新门

    决定当前时间步的隐藏状态需要保留多少前一时间步的信息以及加入多少新信息

    \[u_t=\sigma(W_u\cdot [h_{t-1},x_t]+b_u)\]
  2. 重置门

    决定前一时间步的隐藏状态对当前候选隐藏状态的影响程度, 越接近 \(0\), 表示忘记更多历史信息

    \[r_t=\sigma(W_r\cdot [h_{t-1},x_t]+b_r)\]

随后更新隐藏状态:

\[\tilde h_t=\tanh(W_h\cdot [r_t\cdot h_{t-1},x_t]+b_h)\]
\[h_t=(1-u_t)\cdot h_{t-1}+u_t\cdot \tilde h_t\]

同样对隐藏状态求导有

\[\frac{\partial h_t}{\partial h_{t-1} }=(1-u_t)+u_t\cdot \frac{\partial \tilde h_t}{\partial h_{t-1} } + \tilde h_t \cdot \frac{\partial u_t}{\partial h_{t-1} }\]

后面也是低阶项

前面令 \(u_t\approx 0\), 即表示不忘记, 记住信息, 可以解决梯度消失

GNN

这篇文章 [2] 讲得好

Transformer

博客


Optimizer

Normalization

Residual Connection

ResNet的理论优势:从恒等映射到优化景观的深层解析

ResNet作为深度学习领域的里程碑式架构,自2015年提出以来已获得超过10万次引用,成为现代神经网络设计的基础范式。尽管原始论文《Deep Residual Learning for Image Recognition》主要从实践角度论证了其有效性,但后续研究已从多个理论视角提供了严格的数学证明,揭示了残差连接如何解决深层网络的梯度消失问题、提升优化效率并增强泛化能力。这些理论分析不仅解释了ResNet的成功原因,还为后续深度神经网络设计提供了理论指导,使其成为连接经验性成功与理论理解的桥梁。

一、梯度流动的数学本质:恒等映射与加法梯度传递

ResNet的核心创新在于引入恒等映射作为跳跃连接的基础,这彻底改变了梯度在深层网络中的流动方式。传统深层神经网络在反向传播时,梯度需要经过每层权重矩阵的乘积传递,即梯度表达式为:

\[ \frac{\partial \varepsilon}{\partial W_1} = \frac{\partial \varepsilon}{\partial x_L} \cdot \prod_{i=1}^{L-1} \frac{\partial y_i}{\partial y_{i-1}} \]

当网络深度增加时,若每层的权重矩阵条件数大于1,梯度会呈指数级增长(梯度爆炸);若小于1,则会呈指数级衰减(梯度消失)。即使加入批归一化(Batch Normalization)等技术缓解这一问题,深层网络(如超过50层)仍会出现难以训练的现象。

相比之下,ResNet的残差块通过恒等映射构建了一个"干净"的梯度传递通道。其数学表达式为:

\[ y_l = h(x_l) + F(x_l, W_l) \\ x_{l+1} = f(y_l) \]

当选择恒等映射(即 \( h(x_l) = x_l \)\( f(y_l) = y_l \))时,反向传播梯度分解为:

\[ \frac{\partial \varepsilon}{\partial x_l} = \frac{\partial \varepsilon}{\partial x_L} \cdot \left(1 + \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1} F(x_i) \right) \]

这一表达式的关键在于,梯度不再以乘积形式传递,而是以加法形式存在。即使残差函数 \( F(x) \) 的梯度趋近于零,梯度传递项至少保持为1,从而避免了梯度消失。《Identity Mappings in Deep Residual Networks》(2016)通过严格的数学推导证明了这一点,并通过反例验证了若跳跃连接采用缩放映射(\( h(x) = \lambda x \)),当 \( \lambda \neq 1 \) 时,梯度会因 \( \lambda \) 的连乘而指数级衰减或爆炸。

梯度传递的加法机制还具有另一重要特性:任何两层间的梯度传递项至少为1。这意味着即使网络非常深,浅层参数也能接收到足够大的梯度信号,确保所有层的权重都能有效更新。相比之下,传统网络中浅层梯度可能因权重矩阵的乘积而趋近于零,导致"负优化"——增加层数不仅没有提升性能,反而恶化了模型表现。

二、优化难度的理论解释:嵌套函数类与训练稳定性

ResNet的另一个关键理论优势在于其构建了"嵌套函数类"(Nested Function Class),确保网络深度增加时性能不会退化。在《Identity Mappings in Deep Residual Networks》中,作者通过理论分析和实验验证了这一观点。

嵌套函数类的构建原理是:假设网络已包含 \( l \) 层,当添加更多层时,这些新增层可以退化为恒等映射(即 \( F(x) \approx 0 \)),此时网络的性能至少与原有 \( l \) 层网络相当。数学上,若网络包含 \( L \) 层,第 \( l \) 层到第 \( L \) 层的输出可表示为:

\[ x_L = x_l + \sum_{i=l}^{L-1} F(x_i) \]

这意味着深层网络的解空间包含浅层网络的解,为优化提供了"安全通道"。即使某些层未能有效学习,网络仍能保持原有性能,避免了退化现象。相比之下,传统网络的解空间是非嵌套的,增加层数可能导致解空间偏离原有最优解,陷入性能下降的困境。

此外,残差网络的预激活结构(将BN和ReLU置于残差块前)进一步简化了优化过程。这种设计确保了残差函数的输入分布稳定,避免了因ReLU截断负值或权重初始化不当导致的梯度问题。实验表明,预激活结构使网络训练速度更快,收敛更稳定,并减少了过拟合现象。

从动态系统视角看,残差网络的优化过程类似于在参数空间中寻找"平坦盆地"。由于跳跃连接提供了直接的梯度传递路径,优化器能够更有效地探索参数空间,避免陷入尖锐的局部最小值。《Hessian Analysis of Deep Residual Networks》等后续研究表明,ResNet的Hessian矩阵在训练末期呈现低秩特性(大量特征值接近零),这与损失曲面平坦区域的形成直接相关,解释了为什么ResNet能够训练出超过1000层的网络而不出现梯度问题。

三、泛化能力的理论框架:函数表达与统计学习

ResNet的泛化能力优势可通过统计学习理论和函数表达能力两个视角进行解释。

从统计学习理论看,ResNet的嵌套函数类设计使网络在深层时仍能保持较低的泛化误差。根据VC维理论,模型的泛化误差与模型复杂度(如VC维)相关。ResNet通过残差连接构建的嵌套函数类,确保了模型复杂度随深度增加而合理增长,而非指数级膨胀。具体来说,若网络的第 \( L \) 层可表示为第 \( l \) 层的输出加上残差函数之和(\( x_L = x_l + \sum_{i=l}^{L-1} F(x_i) \)),则模型的表示能力随深度线性扩展,而非指数级增长,从而避免了过高的泛化误差。

从函数表达能力看,ResNet通过残差块的加法结构显著增强了网络的表达能力。传统神经网络学习完整的映射函数 \( H(x) \),而ResNet学习残差函数 \( F(x) = H(x) - x \)。这种设计使网络能够更灵活地逼近复杂函数,因为残差函数往往比完整的映射函数更简单。例如,当目标函数接近恒等映射时(如 \( H(x) = x + \delta \),其中 \( \delta \) 是微小扰动),ResNet只需学习 \( F(x) = \delta \),而传统网络需要学习整个 \( H(x) \)。这种设计使ResNet能够更有效地利用参数,提升表达效率。

《Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising》(2017)等研究进一步证明,ResNet的残差学习机制能够捕获图像数据中的高频细节,这些细节对于分类和识别任务至关重要。此外,预激活结构通过规范化输入分布,使网络能够更稳定地学习这些细节,从而提升泛化能力。

四、深度增加的理论收益:函数逼近与特征表达

ResNet的另一个理论优势是深度增加带来的性能提升。传统观点认为,网络越深,表达能力越强,但实验表明,超过一定深度后,网络性能会退化。ResNet通过残差结构解决了这一问题,证明了"更深确实更好"。

从函数逼近理论看,ResNet的深层网络能够逼近更复杂的函数。根据《Deep Residual Learning for Image Recognition》的分析,残差网络的输出可表示为:

\[ H(x) = F(x) + x \]

若将 \( F(x) \) 视为一个可学习的函数,则 \( H(x) \) 的表达能力是 \( F(x) \)\( x \) 的线性组合。随着网络深度增加,\( F(x) \) 可以由更多层的网络构成,其表达能力随深度线性扩展,而非因梯度问题而受限。

从特征表达角度看,ResNet的深层网络能够提取更抽象的特征。例如,浅层网络主要学习边缘和纹理等低级特征,中层网络学习形状和部件等中级特征,深层网络则学习物体类别等高级特征。残差结构使这些特征能够逐层叠加,而非因梯度消失而被破坏。

实验数据(如在CIFAR-10数据集上的对比)验证了这一理论。《Identity Mappings in Deep Residual Networks》显示,ResNet-152的训练误差仅为VGG-19的一半,且随着深度增加,测试误差持续降低,证明了深度增加带来的性能提升。

五、理论视角的综合:从数学推导到实验验证

ResNet的理论优势可通过以下关键点进行综合:

首先,恒等映射的数学机制是ResNet成功的基础。通过跳跃连接实现的恒等映射确保了梯度在反向传播中的稳定传递,避免了传统网络的梯度消失/爆炸问题。这一机制不仅解决了梯度问题,还为网络提供了一个"安全退化"的通道,确保增加的层数不会恶化模型性能。

其次,预激活结构的优化作用进一步提升了ResNet的训练效率。将BN和ReLU置于残差块前,确保了残差函数的输入分布稳定,减少了因非线性激活函数导致的梯度问题。实验表明,预激活结构使ResNet的训练损失更低,收敛速度更快,且在1001层网络上仍能保持良好性能。

第三,嵌套函数类的设计理念使ResNet能够有效利用深度。这一设计确保了深层网络的解空间包含浅层解,避免了模型退化,并为网络提供了随深度增加而扩展的表达能力。统计学习理论证明,这种设计使网络能够更稳定地逼近目标函数,降低泛化误差。

最后,平坦损失曲面的形成解释了ResNet的泛化能力优势。残差结构通过低秩Hessian矩阵特性,引导优化器收敛到平坦的最小值区域。这些平坦区域对参数扰动不敏感,因此具有更好的泛化性能。实验显示,ResNet的测试误差随着深度增加而持续降低,验证了这一理论。

理论视角 核心机制 数学表达 实验验证
梯度流动 恒等映射的跳跃连接 \( \frac{\partial \varepsilon}{\partial x_l} = \frac{\partial \varepsilon}{\partial x_L} \cdot \left(1 + \frac{\partial}{\partial x_l} \sum_{i=l}^{L-1} F(x_i) \right) \) ResNet-152成功训练,梯度稳定
优化难度 嵌套函数类与预激活结构 \( x_L = x_l + \sum_{i=l}^{L-1} F(x_i) \) ResNet-1001在CIFAR-10上误差4.62%
泛化能力 扁平最小值与低秩Hessian \( \text{Hessian特征值分布集中} \) 测试误差随深度增加而持续降低
深度收益 动态特征叠加与参数效率 \( H(x) = F(x) + x \) ResNet-152性能优于VGG-19

六、后续研究与理论拓展

ResNet的理论优势研究已从多个角度得到拓展。《The Shattered Gradients Problem: If resnets are the answer, then what is the question?》(2018)提出,梯度相关性减弱是深层网络难以训练的根本原因,而ResNet的跳跃连接通过保持梯度相关性解决了这一问题。《Hessian Analysis of Deep Residual Networks》(2019)进一步分析了ResNet的Hessian矩阵特性,证实了其损失曲面的平坦性。

在优化景观方面,《Loss Surfaces of Deep and Wide Neural Networks》(2017)通过可视化研究发现,残差连接使损失曲面从混沌过渡到更平滑的状态,特别是在深层网络中。相比之下,相同深度的普通网络损失曲面具有更多的尖锐区域,导致优化困难。

在函数表达能力方面,《Expressive Power of Deep Neural Networks》(2017)证明,深层神经网络的表达能力随深度呈指数级增长。ResNet通过残差结构将这一潜力转化为实际性能提升,使网络能够有效利用深度带来的容量增加。

七、结论:ResNet的理论优势及其影响

ResNet的理论优势不仅解释了其成功原因,还为深度学习模型设计提供了指导原则。通过恒等映射解决梯度消失问题,通过嵌套函数类确保深度收益,通过平坦损失曲面提升泛化能力,ResNet的结构设计已成为现代神经网络的基础范式。

《Identity Mappings in Deep Residual Networks》等论文从数学角度证明了这些优势,而后续研究(如Hessian分析、优化景观可视化)进一步验证了其理论框架。这些理论成果不仅解释了ResNet的成功,还推动了后续网络架构(如DenseNet、Transformer)的设计,使深度学习能够突破传统网络的深度限制,实现更复杂的特征学习和更精确的模型预测。

ResNet的理论优势证明了,神经网络架构设计应关注信号传播的稳定性,而不仅仅是增加深度或宽度。这一设计理念已成为深度学习领域的共识,推动了从图像识别到自然语言处理等多领域模型的发展。

说明:报告内容由通义AI生成,仅供参考。


参考:

  1. Relational inductive biases, deep learning, and graph networks
  2. A Gentle Introduction to Graph Neural Networks
  3. Deep Learning (Ian Goodfellow and Yoshua Bengio and Aaron Courville)
  4. ADAPTIVE GRADIENT METHODS WITH DYNAMIC BOUND OF LEARNING RATE
  5. Adaptive Subgradient Methods for Online Learning and Stochastic Optimization
  6. ADAM: A METHOD FOR STOCHASTIC OPTIMIZATION
  7. ON THE CONVERGENCE OF ADAM AND BEYOND
  8. Online Convex Programming and Generalized Infinitesimal Gradient Ascent
  9. Layer Normalization
  10. Identity Mappings in Deep Residual Networks
  11. The Shattered Gradients Problem: If resnets are the answer, then what is the question?
  12. Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks