深度学习

由于多层网络训练的困难,传统神经网络多数使用只含有一层隐藏层节点的浅层模型。「深度学习」即应用参数更多的复杂模型去完成更复杂的学习任务。

典型的深度学习模型就是深层次的神经网络,其他点主要包括

  • 深度学习的基础架构来自于前馈神经网络和 BP 算法,构造多层网络,通过最小化代价函数的方法来提高分类精度
  • 深度学习侧重于如何增加网络的深度,来减小每层需要拟合的特征个数,来提取出数据的高层特征信息,从而达到更好的测试性能与分类精度。
  • 深度学习对输入数据逐级提取从底层到高层的特征,从而能更好地建立从底层信号到高层语义的复杂映射关系。

深度学习的实质,是通过构建包含很多隐藏层的神经网络的神经网络模型,以更少的单层参数与更深的网络结构,通过海量训练数据,来学习特征的多层抽象表示,从而最终提升数据分类预测回归的准确性。换而言之“深度模型”是手段,”特征学习“是目的。

对比传统的浅层学习,深度学习的不同在于:

  • 强调了模型结构的深度,通常有 5 层以上,甚至 100 多层的隐藏层。
  • 明确突出了特征学习的重要性,通过逐层特征变换,将样本在原空间的特征表示变换到一个新的特征空间,使得分类或预测更加容易。

深度神经网络意味着更多神经元连接权、阈值等参数,因此深层神经网络存在计算量大、易导致过拟合,且误差在多隐藏层内逆传播时易发散等问题。

当神经网络有很多层时,会面临梯度消失导致不稳定的情况。因此,多层神经网络通通常不直接采用标准的 BP 算法进行训练。主要解决策略有无监督逐层训练权共享策略

有两种常见的深度神经网络:深度置信网络卷积神经网络

特点

在实际问题上深度神经网络的性能确实有效。但目前尚无法在理论上证明深度神经网络为何有效,没有形成系统的理论。尚待回答的问题包括

  • 各个 DL 模型为什么好用?
  • 原理本质是什么
  • 各个模型都适用什么场合?
  • 针对特定数据,特定问题,如何搭建组合模型,各个参数怎么选?
  • 如何特定模型,特定数据来训练模型?

优点:

  • 在计算机视觉和语音识别方面确实结果超过传统方法一大截

  • 具有较好的 transfer learning 性质,一个模型训练好了拿到另一个问题上做一些简单的 refinement 就可以用了

  • 只要层数够,可以学到足够好的特征
    缺点:

  • 训练耗时,模型正确性验证复杂且麻烦

  • 某些深度网络需要 GPU 支持

  • 某些模型难以诠释,学得的特征对人而言并不直观。

小结

  • 神经网络的生物学基础

  • 神经元模型:单个神经元的输入、输出及处理过程,激活函数

  • 多层感知机:感知机的结构和学习原理,多层网络的组成结构

  • 神经网络模型:神经网络的前向传播过程,如何训练神经网络

  • 深度学习简介:深度置信网络和卷积神经网络

  • 基础模型

  • Transformer

  • 图神经网络