要解决的问题
深度前馈网络(deep feedforward network)指在输入和输出之间堆叠了多个隐藏层的神经网络。这样的网络曾经无法训练成功:论文摘要指出,2006 年以前,深度多层神经网络没有被成功训练过;从 2006 年起,若干算法借助新的初始化方式或新的训练机制,才把这些网络训练了起来[1]。这篇文章追问的是一个更基础的问题——当权重随机取值、并使用常见的激活函数时,训练一开始究竟在哪一步出了问题[1]。
S 型激活函数为什么会饱和
论文把逻辑 S 型激活函数(logistic sigmoid)单独拿出来讨论:在随机初始化下,它不适合用于深度网络,因为它取值的均值可能把隐藏层(尤其是最上面那一层)推进饱和区[1]。饱和的意思是,单元的输出对输入的变化几乎不再敏感,响应曲线被压平,反传回来的误差信号变得很小,喂给它的权重也就更新得很慢。
作者还补上一个对读懂训练曲线很有用的细节:饱和的单元可以自己慢慢走出饱和区,只是速度很慢。他们认为,这正好解释了训练神经网络时有时会看到的平台期——进展在一段时间里几乎停住,之后才重新开始[1]。
每一层雅可比矩阵的性态
第二个因素与每一层所做的变换有关。论文指出,当每一层对应的雅可比矩阵(Jacobian)的奇异值(singular value)远离 1 时,训练可能更加困难[1]。一层的雅可比矩阵由这一层的输出对输入的偏导数组成,它的奇异值刻画这一层在不同方向上把输入放大或缩小的程度。奇异值远离 1,意味着信号每穿过一层就被系统性地放大或衰减一次;多层叠加之后,激活值以及由此产生的梯度的尺度,就可能偏离训练所需要的范围。
提出的初始化方案
基于上述考虑,作者提出了一种新的初始化方案,收敛速度明显更快[1]。方案是从前面两个观察推出来的:初始权重的尺度要顾及 S 型函数的饱和行为,也要顾及各层雅可比矩阵的性态[1]。
论文的出处
论文收录于第十三届人工智能与统计学国际会议(International Conference on Artificial Intelligence and Statistics)论文集,PMLR 第 9 卷,第 249–256 页,2010 年[1]。会议于 5 月 13 日至 15 日在意大利撒丁岛的 Chia Laguna Resort 举行,论文集由 Yee Whye Teh 与 Mike Titterington 编辑[1]。两位作者的单位均标为蒙特利尔大学 DIRO[2]。
为什么重要
这篇文章的贡献,是把一个实践中的麻烦拆成可以分析的部分。平台期和训练停滞不再被当作偶然现象,而是被归到一些可以命名、可以度量的性质上——激活函数的饱和行为,以及逐层雅可比矩阵的奇异值[1]。而且分析并没有停留在描述层面:它变成了一条设定初始权重的具体规则,论文报告的效果是收敛速度大幅加快[1]。
注释与来源
- Understanding the difficulty of training deep feedforward neural networkshttps://proceedings.mlr.press/v9/glorot10a
- AISTATS 2010 Glorot & Bengio paperhttps://www.cs.cmu.edu/%7Ebhiksha/courses/deeplearning/Fall.2016/pdfs/1111/AISTATS2010_Glorot.pdf
引用本页: 理解深度前馈神经网络训练的困难. TellWorld, https://www.tellworld.net/zh/papers/understanding-difficulty-training-deep-feedforward. 更新于 2026-11-07