1 基本结构与原理
多层神经网络的基本结构由三个主要部分组成:输入层、隐藏层和输出层。输入层接收原始数据(如像素值、词语向量),隐藏层进行中间变换,输出层产生最终结果。每个层由若干神经元组成,神经元之间通过权重连接。隐藏层可以有一层或多层,层数越多,网络越“深”,这正是“深度神经网络”一词的由来。信号从输入层逐层向前传递至输出层,过程中不涉及循环或反馈,因此也被称为前馈神经网络。
1.1 神经元模型与激活函数
神经元的计算模型模仿生物神经元:接收多个输入信号,进行加权求和,再通过一个函数决定是否“激活”。数学上,一个神经元的输出可表示为 \(y = f(\sum_{i} w_i x_i + b)\),其中 \(w_i\) 是权重,\(b\) 是偏置,\(f\) 是激活函数。
1.1.1 线性加权求和与偏置
每个输入 \(x_i\) 乘以对应权重 \(w_i\) 后相加,再加上一个偏置项 \(b\),得到净输入 \(z = \sum w_i x_i + b\)。偏置的作用类似于线性方程中的截距,允许激活函数在输入为零时产生非零输出,增加模型的灵活性。
1.1.2 常见激活函数(Sigmoid、ReLU、Tanh等)
- Sigmoid:输出范围(0,1),形如S曲线,适合二分类输出层,但容易饱和导致梯度消失。
- Tanh:输出范围(-1,1),均值为0,比Sigmoid更有利于梯度流,但同样有饱和问题。
- ReLU(修正线性单元):\(f(x)=\max(0,x)\),简单高效,有效缓解梯度消失,是目前最常用的隐藏层激活函数。缺点是负半轴输出恒为0,可能导致神经元“死亡”。
- Leaky ReLU等变体:给负半轴一个很小的斜率,试图修复死亡问题。
1.2 前向传播(Forward Propagation)
前向传播是指数据从输入层开始,逐层计算到输出层的过程,每一步都进行线性变换和激活函数处理。
1.2.1 输入层到隐藏层的计算过程
假设输入向量 \(\mathbf{x}\),隐藏层权重矩阵 \(\mathbf{W}^{(1)}\) 和偏置向量 \(\mathbf{b}^{(1)}\),则隐藏层净输入为 \(\mathbf{z}^{(1)} = \mathbf{W}^{(1)} \mathbf{x} + \mathbf{b}^{(1)}\),再经过激活函数 \(f\) 得到隐藏层输出 \(\mathbf{a}^{(1)} = f(\mathbf{z}^{(1)})\)。
1.2.2 隐藏层到输出层的计算过程
与输入层到隐藏层类似,隐藏层输出 \(\mathbf{a}^{(1)}\) 作为下一层(可能是另一个隐藏层或输出层)的输入,同样进行加权求和与激活。对于输出层,激活函数需根据任务选择:回归任务常用线性或恒等函数,二分类用Sigmoid,多分类用Softmax。
1.3 层间连接方式
1.3.1 全连接层(Dense Layer)
全连接层是最基本的连接方式:当前层的每个神经元都与上一层的所有神经元相连。这种结构参数数量随神经元数量平方增长,在小规模网络中易于实现,但在图像等高维数据上会导致参数爆炸。
1.3.2 稀疏连接与参数共享(卷积、循环等变体简介)
为应对全连接层的局限,出现了稀疏连接和参数共享策略。卷积层使用局部感受野和共享权重,适合图像等具有空间结构的输入。循环层通过在时间步上共享权重处理序列数据。这些变体本质上仍是多层结构,但连接方式从“全连”变为“局部”或“时序共享”,大幅减少参数量,并引入先验知识。
2 训练方法
训练多层神经网络的核心是通过大量样本调整权重与偏置,使网络输出逼近真实标签。最经典的算法是反向传播配合梯度下降。
2.1 反向传播算法(Backpropagation)
反向传播利用链式法则从输出层向输入层逐层计算损失函数对各参数的梯度,然后沿梯度反方向更新参数。
2.1.1 链式法则与梯度计算
损失函数 \(L\) 对某层权重 \(w\) 的梯度可表示为 \(\frac{\partial L}{\partial w} = \frac{\partial L}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial w}\),其中 \(a\) 是激活输出,\(z\) 是线性加权和。通过层层求导,梯度从输出端向后传播到输入端。
2.1.2 梯度消失与梯度爆炸问题
在深层网络中,链式法则导致梯度经过多层激活函数的导数相乘。若导数(如Sigmoid的导数 \(<0.25\))多次相乘,梯度指数级衰减(消失);若权重初始值较大,则梯度可能指数级增长(爆炸)。ReLU等激活函数和权重初始化技巧(如Xavier、He初始化)部分缓解了这些问题。
2.2 优化器与学习率调整
反向传播仅给出梯度方向,如何沿着梯度更新参数由优化器决定。
2.2.1 随机梯度下降(SGD)
最基础的优化器:每次用一小批样本(mini-batch)计算梯度,按固定学习率 \(\eta\) 更新参数:\(w = w - \eta \cdot \nabla w\)。SGD简单,但易陷入局部最优或震荡,且学习率需手动调参。
2.2.2 自适应优化器(Adam、RMSprop等)
自适应优化器根据历史梯度信息动态调整学习率,例如Adam结合动量与RMSprop,具有自适应性、收敛快、超参数鲁棒性强,是目前最常用的优化器之一。
2.3 损失函数选择
损失函数衡量预测值与真实值的差距,是优化目标。
2.3.1 回归任务:均方误差(MSE)
MSE = \(\frac{1}{n}\sum_{i=1}^n (y_i - \hat{y}_i)^2\),对较大误差惩罚更重,适合连续值预测。
2.3.2 分类任务:交叉熵损失
交叉熵衡量两个概率分布的距离。对于二分类:\(L = -[y \log \hat{y} + (1-y) \log (1-\hat{y})]\)。交叉熵配合Softmax输出在多分类问题中效果优异,且梯度形式简洁,不易饱和。
3 核心特性与优势
3.1 非线性拟合能力
得益于隐藏层和激活函数,多层神经网络能够逼近任意复杂函数(通用近似定理),解决线性模型无法处理的异或问题等非线性分类边界。
3.2 多任务学习与特征复用
同一个网络可在输出层设置多个头(head),同时学习多个相关任务。隐藏层学习到的特征可被不同任务共享,提升数据利用效率。
3.3 深度带来的分层抽象
3.3.1 浅层特征与高层特征
以图像为例:浅层隐藏层常学习边缘、纹理等低级特征,中层学习形状、局部图案,深层学习完整物体或语义概念。这种分层抽象使网络能够从像素到概念逐级构建理解。
3.3.2 层级表示的“贫富差距”现象(即越深越抽象)
随着深度增加,特征越来越抽象,但也越来越远离原始输入。这种“贫富差距”导致深层网络对微小扰动可能忽略,但也使得它们更容易被对抗样本欺骗(见7.4)。通俗地说,越深的神经元越“见多识广”,但也容易“想当然”。
4 常见变体与扩展
4.1 卷积神经网络(CNN)中的多层结构
CNN通过堆叠卷积层、池化层和全连接层形成深度结构。卷积层负责提取局部特征,池化层下采样,多层堆叠实现从细节到全局的分层特征提取。
4.2 循环神经网络(RNN)与长短期记忆(LSTM)
RNN在时间步上共享隐藏状态,适合序列建模。但标准RNN易出现梯度消失,LSTM通过门控机制(遗忘门、输入门、输出门)和记忆单元缓解此问题,可捕捉长距离依赖。
4.3 生成对抗网络(GAN)中的多层设计
GAN由生成器和判别器两个多层网络组成。生成器从噪声中逐层上采样生成图像,判别器逐层下采样判断真伪。两者通过博弈训练,推动生成质量提升。
4.4 残差网络(ResNet)与跳跃连接
深层网络在训练时面临退化问题(层数增加导致准确率饱和甚至下降)。ResNet引入跳跃连接(skip connection),让输入直接跨过若干层叠加到输出,使梯度更容易回传,从而训练上百层甚至上千层网络。
5 历史发展与关键人物
5.1 从感知机到多层感知机(1957-1986)
1957年,Frank Rosenblatt提出感知机,一石激起千层浪。但1969年Minsky和Papert的《感知机》一书证明了单层感知机无法解决异或问题,导致神经网络进入寒冬。多层的概念虽已存在,但受限于训练算法,迟迟无法实用。
5.2 反向传播的推广(Rumelhart, Hinton, Williams, 1986)
1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams在《自然》杂志发表论文,正式推广了反向传播算法,使多层感知机(即多层神经网络)的训练成为可能。从此,神经网络迎来第一次复兴。
5.3 深度学习复兴(2006-2012)
5.3.1 Hinton的深度信念网络
2006年,Hinton等人提出深度信念网络,通过逐层无监督预训练初始化深度神经网络的权重,再微调,有效缓解了深层网络训练困难的问题,被视为深度学习新时代的开端。
5.3.2 AlexNet引爆ImageNet
2012年,Alex Krizhevsky等人设计的AlexNet在ImageNet图像分类竞赛中以远超第二名的成绩夺冠。AlexNet使用ReLU激活、Dropout正则化和GPU加速,验证了深度卷积网络的强大能力,从此深度学习席卷全球。
6 应用领域与经典案例
6.1 图像识别与分类
从手写数字识别到人脸识别、医学影像分析,多层卷积网络已成为标配。案例:残差网络在ImageNet上达到超越人类的分类准确率。
6.2 自然语言处理与机器翻译
基于Transformer的多层网络(其实也是一种前馈-自注意力结构)在机器翻译、文本生成中表现惊人。案例:BERT、GPT系列模型通过海量文本预训练,实现了接近人类的语言理解能力。
6.3 语音识别与合成
多层循环网络和卷积网络将语音信号映射为文本,或从文本生成自然语音。案例:DeepSpeech、WaveNet等系统显著降低了语音识别的错误率。
6.4 游戏与强化学习(AlphaGo等)
DeepMind的AlphaGo使用深度卷积网络评估棋盘局面,并通过强化学习自我对弈,击败了围棋世界冠军,展示了多层网络在复杂决策中的潜力。
7 局限性与挑战
7.1 过拟合与正则化技术
多层网络参数众多,容易将训练数据中的噪声也学进去,导致泛化能力差。为此发展出多种正则化手段。
7.1.1 Dropout、L1/L2正则化
- Dropout:训练时随机丢弃部分神经元,迫使网络学习冗余特征,类似集成学习。
- L1/L2正则化:在损失函数中加入权重的绝对值或平方和惩罚,鼓励权重稀疏或缩小。
7.1.2 数据增强与早停法
- 数据增强:通过旋转、裁剪、加噪等方式人工扩充训练集,增加多样性。
- 早停法:监控验证集性能,在开始过拟合时提前停止训练。
7.2 可解释性不足(“黑箱”问题)
多层神经网络的内部表示高度非线性、高维且互相纠缠,很难直观理解每个神经元或每层究竟学到了什么。尽管有可视化技术(如Grad-CAM),但距离完全可解释仍有距离。
7.3 计算资源与能耗
训练大规模深度网络需要大量GPU/TPU资源和电力,一次训练可能消耗数十万千瓦时。这也引发了“绿色AI”的呼吁,催生了模型压缩、蒸馏等技术。
7.4 对抗样本的脆弱性
在输入上添加微小的、人眼不可察觉的扰动,可以导致网络完全错误分类。对抗样本揭示了多层网络与人类认知之间的根本差异,是安全领域的重大挑战。
8 未来发展方向(非敏感展望)
8.1 更高效的网络结构与压缩
通过剪枝、量化、知识蒸馏等方法,在保持性能的前提下大幅缩小模型体积,使AI能运行在手机等边缘设备上。
8.2 自监督学习与少样本学习
利用海量无标注数据设计巧妙的预训练任务(如掩码预测、对比学习),使模型学到通用表示,再通过少量标注样本微调即可胜任新任务。
8.3 神经架构搜索(NAS)
让算法自动搜索最佳的网络结构(层数、连接方式、激活函数等),取代人工设计。NAS已发现若干超越人工设计的架构,但计算成本高昂。
8.4 量子神经网络与生物启发式模型(仅供娱乐,尚在幻境中)
量子神经网络尝试将量子计算的叠加态用于网络计算,理论上拥有指数级加速潜力,目前仍处于早期理论探索。生物启发式模型(如脉冲神经网络)试图更贴近生物神经元的工作方式,但实用化道路漫长。以上两者在当前阶段更像科幻设定,但谁又知道几十年后的故事呢?