1. 引言
深度学习背景:
模型参数越多,模型的复杂度就越高,其"容量"(capacity)就越大,从而能完成更复杂的学习任务。然而,复杂的模型通常训练效率低,且容易陷入过拟合。
发展契机:
随着云计算、大数据时代的到来,计算能力的大幅提升可缓解训练效率低的问题,训练数据的大幅增加可降低过拟合风险,因此,以"深度学习"(deep learning)为代表的复杂模型开始受到关注。
2. 深度神经网络
2.1 基本概念
典型模型:
典型的深度学习模型是深度神经网络(deep neural network),即具有很多隐层的神经网络。
增加模型容量的方式:
增加隐层的数目比增加隐层神经元的数目更有效,因为增加隐层数不仅增加了拥有更多参数的机会,而且增加了模型抽象的层次。
参数增加:
增加隐层数会带来更多的参数(连接权、阈值),从而增加模型的复杂度。
2.2 训练挑战
经典算法的困难:
多隐层神经网络难以直接用经典算法(如标准BP算法)进行训练,因为误差在多隐层内逆传播时,往往会"发散"(diverge)而不能收敛到稳定状态。
问题根源:
- 梯度消失或梯度爆炸问题
- 深层网络的优化困难
- 初始化不当导致训练失败
3. 无监督逐层训练
3.1 基本思想
逐层训练:
无监督逐层训练(unsupervised layer-wise training)是训练多隐层神经网络的有效手段。
训练过程:
其基本思想是每次训练一层隐结点,训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为下一层隐结点的输入,这称为"预训练"(pre-training)。
微调:
全部预训练完成后,再对整个网络进行"微调"(fine-tuning)训练。
3.2 深度信念网络(DBN)
网络结构:
深度信念网络 (Deep Belief Network,DBN)[Hinton et al., 2006] 是典型的逐层训练模型,其每层都是一个受限Boltzmann机(Restricted Boltzmann Machine,RBM)。
训练步骤:
- 第一层预训练:基于训练样本对第一层RBM进行预训练
- 逐层预训练:将第一层预训练好的隐结点的输出作为第二层的输入,对第二层RBM进行预训练
- 继续预训练:依此类推,逐层预训练所有RBM层
- 整体微调:预训练完成后,使用BP算法对整个网络进行训练
优势:
- 逐层预训练为整个网络提供了良好的初始参数
- 避免了深层网络直接训练的困难
- 提高了训练效率和稳定性
4. 参数分组与优化
4.1 策略思想
参数分组:
"预训练+微调"可视为将大量参数分组,对每组先找到局部看来比较好的设置,然后再基于这些局部较优的结果联合起来进行全局寻优。
优势:
- 利用了模型大量参数所提供的自由度的同时,有效节省了训练开销
- 将复杂的全局优化问题分解为多个相对简单的局部优化问题
- 为深层网络提供了更好的初始化策略
4.2 训练效率
计算成本:
逐层预训练虽然增加了训练步骤,但相比直接训练深层网络,总体计算成本更低,且训练更稳定。
收敛性:
通过预训练得到的初始参数通常位于损失函数的良好区域,使得后续的微调过程更容易收敛到全局最优或接近全局最优的解。
5. 权共享
5.1 基本概念
定义:
权共享(weight sharing)是另一种节省训练开销的策略,它让一组神经元使用相同的连接权。
作用:
- 显著减少需要训练的参数数量
- 降低模型复杂度
- 提高训练效率
5.2 卷积神经网络(CNN)
网络特点:
卷积神经网络(Convolutional Neural Network,CNN)[LeCun and Bengio, 1995; LeCun et al., 1998] 是权共享策略发挥重要作用的重要代表。
网络结构:
CNN通过卷积层、采样层(池化层)和全连接层的组合,能够有效处理图像等具有空间结构的数据。
5.3 CNN用于手写数字识别
网络架构:
以LeCun等人 [LeCun et al., 1998] 用于手写数字识别的CNN为例,网络结构如下:
输入层:
- 输入为
32×32的手写数字图像
卷积层C1:
- 6个特征映射(feature map),每个
28×28 - 通过卷积操作提取局部特征
采样层S2:
- 6个特征映射,每个
14×14 - 通过下采样(池化)操作降低特征图尺寸
卷积层C3:
- 16个特征映射,每个
10×10 - 进一步提取更高层的特征
采样层S4:
- 16个特征映射,每个
5×5 - 再次进行下采样
卷积层C5:
- 120个单元
- 将特征图展平为特征向量
全连接层F6:
- 84个神经元
- 进行特征整合
输出层:
- 10个输出单元
- 对应10个数字类别(0-9)
特征提取过程:
CNN将原始图像逐层映射为 120 维特征向量,再经过 84 个神经元的连接层,最后由 10 个输出神经元完成识别任务。
权共享的优势:
- 卷积层中,同一个卷积核(filter)在图像的不同位置共享相同的权重
- 大大减少了需要训练的参数数量
- 使网络对图像的平移、旋转等变换具有更好的鲁棒性
6. 特征学习
6.1 传统特征工程
人工设计特征:
在传统机器学习中,特征的设计往往需要领域专家的知识和经验,好的特征对模型性能有至关重要的影响。
设计困难:
人类专家设计出好特征也并非易事,需要深入理解问题领域和数据的本质特征。
6.2 自动特征学习
特征学习:
特征学习(feature learning)通过机器学习技术自身来产生好特征,这使机器学习向"全自动数据分析"又前进一步。
深度学习的作用:
- 深度学习模型能够自动从原始数据中学习层次化的特征表示
- 低层特征(如边缘、纹理)到高层特征(如形状、对象)的自动提取
- 无需人工设计特征,模型能够自动发现数据中的有用模式
优势:
- 减少了对领域专家的依赖
- 能够发现人类难以设计的高维复杂特征
- 提高了机器学习的自动化程度
7. 总结
深度学习的核心:
深度学习通过构建具有多个隐层的神经网络,能够学习数据的层次化表示,从而完成复杂的机器学习任务。
训练策略:
- 无监督逐层训练:通过预训练+微调的方式,有效训练深层网络
- 权共享:通过共享连接权,减少参数数量,提高训练效率
典型模型:
- 深度信念网络(DBN):基于RBM的逐层训练模型
- 卷积神经网络(CNN):基于权共享的图像处理模型
特征学习:
深度学习实现了从人工特征设计到自动特征学习的转变,使机器学习更加自动化,能够自动发现数据中的有用模式。
应用前景:
深度学习在图像识别、语音识别、自然语言处理等领域取得了突破性进展,成为当前机器学习领域最重要的研究方向之一。