学习笔记二十一:深度学习

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)。

训练步骤

  1. 第一层预训练:基于训练样本对第一层RBM进行预训练
  2. 逐层预训练:将第一层预训练好的隐结点的输出作为第二层的输入,对第二层RBM进行预训练
  3. 继续预训练:依此类推,逐层预训练所有RBM层
  4. 整体微调:预训练完成后,使用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):基于权共享的图像处理模型

特征学习

深度学习实现了从人工特征设计到自动特征学习的转变,使机器学习更加自动化,能够自动发现数据中的有用模式。

应用前景

深度学习在图像识别、语音识别、自然语言处理等领域取得了突破性进展,成为当前机器学习领域最重要的研究方向之一。

相关推荐
代码游侠2 小时前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
摇滚侠2 小时前
零基础小白自学 Git_Github 教程,发现工具寻找灵感,笔记04
笔记·github
玦尘、2 小时前
《统计学习方法》第4章——朴素贝叶斯法【学习笔记】
笔记·机器学习
风123456789~2 小时前
【健康管理】第4章 常见慢性病 4.7慢阻肺 2/2
笔记·考证·健康管理
遇到困难睡大觉哈哈2 小时前
Harmonny os——《从 TypeScript 到 ArkTS 的适配规则》精简笔记
笔记·typescript·harmonyos·鸿蒙
xwill*2 小时前
RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION
人工智能·pytorch·python·深度学习
程序猿追3 小时前
PyTorch算子模板库技术解读:无缝衔接PyTorch模型与Ascend硬件的桥梁
人工智能·pytorch·python·深度学习·机器学习
Ccjf酷儿3 小时前
操作系统 李治军 1 操作系统基础
笔记
Ghost-Silver3 小时前
《星火》——关于Deepseek的进化速度
笔记·算法