第六章 深度前馈网络
原文关键点
- 深度前馈网络(Deep Feedforward Network):也称为前馈神经网络或多层感知机(MLP),其目标是近似某个目标函数 。模型定义映射 并通过学习参数 来使 尽可能逼近 。前馈网络没有反馈连接,信息从输入经隐藏层一路向前传播到输出(因此称“前馈”),与第十章介绍的循环神经网络相区别。
- 隐藏层与深度:前馈网络由多层函数复合构成,例如 。除了输入层和输出层,中间的层称为隐藏层,因为训练数据并未直接给出它们的期望输出。网络的深度指层的数量,宽度指每层隐向量的维度。更深的网络通过逐层抽象可表达更复杂的函数,但也更难训练。
- 线性模型的局限与非线性激活:仅有线性层的网络不管多深,都等价于线性模型,无法表达非线性关系。例如经典的 XOR 问题:线性模型无法学习异或函数(如 ),这是感知机模型的著名缺陷。为克服此局限,隐藏层需使用非线性激活函数(如Sigmoid、Tanh或ReLU)赋予网络逼近任意非线性函数的能力。
- XOR 问题实例:使用具有至少一层隐藏层的前馈网络可以学习实现 XOR。比如一个含2个隐藏单元的两层网络可拟合 XOR(参见图6.1、6.2)。梯度下降等算法能够找到XOR网络的全局最优解,并收敛于合适的参数,只是结果依赖于初始值。XOR实例说明了表示学习的威力:通过学习隐藏层表示,可以将原本线性不可分的数据映射到线性可分空间,再由线性输出层分类。
- 基于梯度的学习:前馈网络通常通过反向传播算法和梯度下降训练。定义适当的代价函数 ,例如均方误差或交叉熵,对于给定训练数据计算梯度 ,再用梯度下降更新参数 (为学习率)。反向传播利用链式法则高效地计算出每层参数的梯度。基于梯度的优化在深度学习中取得巨大成功,同时需要注意局部极值、梯度消失等问题(后续章节讨论)。
- 架构设计:设计前馈网络需要决定隐藏层数、每层单元数、激活函数类型等。万能近似定理表明,具有足够隐藏单元的单隐层网络即可逼近任意连续函数,但深层网络能够更高效地表示复杂函数(用较少参数逼近复杂关系)。实践中,层数和规模常需通过验证集调试选择。激活函数的选择很重要:历史上Sigmoid/Tanh常用,但容易引起梯度消失;ReLU及其变种如今更流行,因为它们缓解了梯度消失并训练更快速。
- 历史笔记:现代前馈网络的核心思想自80年代以来基本未变:仍然使用反向传播算法和梯度下降来训练。1986年Rumelhart等人在“并行分布处理”一书中首次成功应用反向传播训练多层网络,引发了研究热潮。之后神经网络热度在90年代初达到高峰,又在2000年代初一度低迷。2006年Hinton等引入逐层预训练引发深度学习复兴,计算能力和数据增长则是性能提升主因。1980s以来的重要改进包括:使用交叉熵损失替代均方误差解决饱和问题,使用ReLU等分段线性激活替代Sigmoid加速收敛和提高效果。
原创2025/7/28大约 126 分钟