美文网首页
迷雾探险2 | 深度学习综述阅读笔记

迷雾探险2 | 深度学习综述阅读笔记

作者: 臻甄 | 来源:发表于2018-12-16 18:30 被阅读28次
    • 论文:The History Began from AlexNet: A Comprehensive Survey on Deep Learning Approaches
    • 作者:Md Zahangir Alom, Tarek M. Taha, Christopher Yakopcic, Stefan Westberg, Mahmudul Hasan, Brian C Van Esesn, Abdul A S. Awwal, Vijayan K. Asari
    • 提交日期:2018年3月3日
    • 参考文献:302篇(2012年以来的大多数研究文献)
    • 英文原文:https://arxiv.org/abs/1803.01164
    • 中文翻译:https://www.jianshu.com/p/fdd348db23fe

    摘要

    深度学习在过去几年已经在不同应用领域展现了巨大的成功。这个机器学习的新领域已经迅速成长并且以一些新的应用模式被应用于大多数应用领域,帮助开启了新的机会。在学习方法的不同类别中已经提出了不同的方法,包括监督式、半监督式和非监督式。实验结果显示了在图像处理、计算机视觉、语音识别、机器翻译、艺术、医学影像处理、机器人学和控制、生物信息学、自然语言处理(NLP)、网络安全和更多领域中基于传统机器学习方法的最新深度学习的表现。这篇报告提供了对于深度学习方法的简短的调研,包括深度神经网络(DNN)、卷积神经网络(CNN)、递归神经网络(RNN)——RNN又包含长短期记忆(LSTM)和门控递归单元(GRU)、自动编码器(AE)、深度信念网络(DBN)、生成对抗网络(GAN)和深度强化学习(DRL)。另外,我们总结了最近提出的基于提到的深度学习方法的各种各样先进机器学习技术的发展。值的注意的是我们我们已经考虑到了从深度学习历史开始到大多数在2012年以后发表的论文。此外,在不同应用领域探索和评估的深度学习方法也包含在这份调查当中。我们也囊括了最近发展的框架、软件开发工具包(SDK)和用于执行和评估深度学习方法的基准数据集。有一些已经发表的关于神经网络中的深度学习的调查[1, 38]和关于强化学习的调查[234]。但是,这些论文并没有讨论单独的用于训练大规模深度学习模型和最近发展的生成模型方法[1]的先进技术

    • 索引项:深度学习,卷积神经网络(CNN),递归神经网络(RNN),自动编码器(AE),受限玻尔兹曼机(RBM),深度信念网络(DBN),生成对抗网络(GAN),深度强化网络(DRL),迁移学习

    目录

    1. Introduction
      A. 深度学习方法的种类:
      (1) 监督式学习
      (2)半监督式学习
      (3)无监督式学习
      (4)深度强化学习(DRL)
      B. 特征学习
      C. 何时何处应用DL
      D. DL的最先进性能
      (1)图像分类和ImageNet数据集
      (2)自动语音识别
      E. 为什么是深度学习?
      (1)通用学习方法
      (2)健壮性
      (3)泛化性
      (4)可扩展性
      F. 深度学习的挑战
    2. 深度神经网络(DNN)
      A. DNN的历史
      B. 梯度下降
      C. 随机梯度下降(SGD)
      D. 反向传播
      E. 动量
      F. 学习率(η)
      G. 权重衰减
    3. 卷积神经网络(CNN)
      A. CNN概述
      (1)卷积层
      (2)子采样层
      (3)分类层
      (4)网络参数和CNN需要的内存
      B. 流行的CNN架构
      (1)LeNet(1998)
      (2)AlexNet (2012)
      (3) ZFNet / Clarifai (2013)
      (4) Network in Network (NiN)
      (5) VGGNET (2014)
      (6) GoogLeNet (2014)
      (7) Residual Network (ResNet in 2015)
      (8) Densely Connected Network (DenseNet)
      (9) FractalNet (2016)
      C. CapsuleNet
      D. 不同模型的比较
      E. 其他模型
      F. CNN的应用
      (1)用于解决图形问题的CNN
      (2)图像处理和计算机视觉
      (3)语音处理
      (4)用于医疗影像的CNN
    4. 高级的训练技术
      A. 准备数据集
      B. 网络初始化
      C. 批量归一化(Batch Normalization)
      D. 替代卷积方法
      E. 激活函数
      F. 子采样层和池化层
      H. DL的最优化方法
    5. 递归神经网络(RNN)
      A. 简介
      B. 长短期记忆(LSTM)
      C. 门控递归单元(GRU, Gated Recurrent Unit)
      D. 卷积长短期记忆(ConvLSTM, Convolutional LSTM)
      E. RNN架构的变体与其相应的应用
      F. RNN的基于注意力(attention based)的模型
      G. RNN应用
    6. 自动编码器(AE, AUTO-ENCODER)和受限玻尔兹曼机(RBM, RESTRICTEDBOLTZMANNMACHINE)
      A. 自动编码器回顾
      B. 变分自动编码器(VAEs, Variational auto encoders)
      C. Split-Brain Auto-encoder
      D. AE的应用
      E. RBM(受限玻尔兹曼机)回顾
    7. 生成对抗网络(GAN, Generative Adversarial Networks)
      A. GAN回顾
      B. GAN的应用
      (1) 用于图像处理的GAN
      (2)用于语音和音频处理的GAN
      (3)用于医疗信息处理的GAN
      (4)其他应用
    8. 深度强化学习(DRL)
      A. DRL回顾
      B. Q-Learning
      C. 具有应用的DRL的最近趋势
    9. 迁移学习(Transfer Learning)
      A. 什么是迁移学习?
      B. 什么是预训练模型?
      C. 为什么你会使用预训练模型?
      D. 你会如何使用预训练模型?
      E. 使用推理
      F. 关于深度学习的神话
    10. 用于深度学习的能源高效方法和硬件
      A. 概述
      B. 二元连接(BC)或三元连接(TC)神经网络
    11. 用于深度学习的硬件
    12. 框架和SDK
      A. 框架
      B. SDK
    13. 基准数据库
      A. 图像分类或检测或分割
      B. 文本分类
      C. 语言建模
      D. 图像字幕
      E. 机器翻译
      F. 问题回答
      G. 语音识别
      H. 文件摘要
      I. 情绪分析
    14. 期刊和会议
      A. 会议:NIPS、ICLR、ICML、CVPR、ICCV、ECCV、BMVC
      B. 期刊:JMLR、TPAMI、CVIU
      C. 深度学习教程
      D. 深度学习书籍
    15. 总结和未来的工作
    16. 参考文献

    阅读笔记

    • 深度学习所属分类


      图1 AI- 人工智能,机器学习,神经网络,深度学习和尖峰神经网络(SNN)根据[294].png
    • 监督式学习:拥有带标签的学习技术,给定了输入和输出,对于算法,计算算法输出值和期望输出值的差(损失值),迭代修改网络参数,以便更好的近似。
      a. 深度神经网络(DNN)
      b. 卷积神经网络(CNN)
      (1)长短期记忆(LSTM)的递归神经网络(RNN)
      (2)门控递归单元(GRN)

    • 半监督式学习:使用不便标记的数据集进行学习(通常称为强化学习)。

    • 无监督式学习:没有标签的学习方法。代理人学习内部表示特征以发现输入数据的未知关系或结构,通常有聚类、降维、生成技术
      (1)自动编码器(AE)
      (2)受限玻尔兹曼机(RBM)
      (3)GAN

    • 深度强化学习(DRL):在未知环境中使用的学习技术,始于2013年的Google Deep Mind。不像监督学习那样有直接的损失函数,而是要通过与环境交互获得一个有噪声的分数或反馈。


      图2 深度学习方法的分类.png
    • 传统的ML和DL之间的区别在于提取特征的方式不同,传统ML使用特征提取算法来使用手工特征。DL会自动学习特征并在多个级别中分层表示。目前几乎所有领域都在使用DL,


      表1 不同的特征学习方法.png
    • DL在图像分类的大规模视觉识别挑战赛(LSVRC)上的成就已经超过人类。


      图5 使用不同DL模型的ImageNet挑战的准确性.png
    • 最新开发的DL算法在流行的TIMIT数据集(通常用于评估的通用数据集,common data set are generally used for evaluation)的小规模识别任务表现良好


      图6 TIMIT数据集的电话错误率(PER).png
    • 传统ML方法的性能对于较少量的输入数据表现出更好的性能。随着数据量的增加超过一定量,传统机器学习方法的性能变得稳定。 相反,深度学习方法的性能随着数据量的增加而增加


      图7 不同数据量下深度学习的表现.png
    • 深度神经网络DNN试图模仿人类大脑行为的人工神经元是构建人工神经网络的基本组成部分,每个神经元有多个输入和一个输出。而人工神经网络由多层感知器(MLP)组成,包含一个或多个隐藏层,每个隐藏层里有多个隐藏单元(神经元)


      图9 神经元的基本模型.png

      图10 带有多层感知器的神经网络模型.png
    • 常用算法:
      a. 梯度下降法是一阶优化算法,用于寻找目标函数的局部最小值。
      b. 由于长训练时间是传统梯度下降法的主要缺点,因此SGD方法用于训练深度神经网络(DNN)
      c. DNN使用流行的反向传播(BP)算法和SGD 进行训练
      d. 动量是一种有助于通过SGD方法加速训练过程的方法。它背后的主要思想是使用梯度的动态平均值,而不是仅使用梯度的当前实际值。
      f. 学习率是训练DNN的重要组成部分,需要使用常数,因子和指数衰减这三种方法降低训练期间的学习率。

    • CNN基于梯度的算法训练整个网络以直接最小化误差标准,相比较DNN可以产生高度优化的权重。其架构包括两个部分:
      (1)特征提取器:特征提取层中,有卷积层(偶数层)和最大池层(奇数层),卷积层的每个节点通过输入节点上的卷积运算从输入图像中提取特征。池化层对输入映射执行采样操作,降低输出的维度与输入的维度相同。
      (2)分类器:CNN的最后一层,作为完全连接的网络的输入。选择期望数量的特征作为输入。


      图11 CNN的整体架构包括输入层,多个交替卷积和最大池层,一个完全连接层和一个分类层.png
    • RNN是递归神经网络,相比较DNN和CNN智能对固定大小事量的输入产生固定大小矢量的输出,RNN允许随着时间的推移在一系列向量上操作。

    • 在大多数情况下,RNN或递归神经网络用于语言理解[292]。在语言建模中,它试图根据先前的单词或某些案例句子预测下一个单词或一组单词[135]。RNN是具有环路的网络,允许信息持续存在。另一个例子:RNN能够将先前的信息连接到当前任务:使用先前的视频帧,理解现在并尝试生成未来的帧[142]。


      图31. 一个展开的RNN.png
    • RNN主要问题是体验消失的梯度问题。两种可能有效的解决方案:
      a. 剪切梯度并在标准(norm)太大时缩放梯度
      b. 创建更好的RNN模型——长期短期记忆(LSTM, Long Short Term Memory)
      (1)LSTM的核心思想是单元状态,水平线贯穿图32的顶部
      (2)LSTM将信息移除或添加到称为门的单元状态:输入门(𝑖𝑡),忘记门(𝑓𝑡)和输出门( 𝑜𝑡)
      (3)LSTM模型在时间信息处理中很受欢迎,在拓扑,计算成本和复杂性方面,GRU是比标准LSTM更轻量的RNN方法版本。
      (4)门控递归单元(GRU, Gated Recurrent Unit)也来自LSTMs
      (5)卷积长短期记忆(ConvLSTM, Convolutional LSTM)为视频数据集的时态数据分析提供了良好的性能。


      图32. 长短期记忆(LSTM)的示意图.png
    • 从应用的角度来看,需要不同架构的RNN的来解决不同类型的问题,如图35所示。在图35中,输入向量表示为绿色,RNN状态用蓝色表示,橙色表示输出向量。
      (1)一对一:没有RNN的分类标准模式(例如图像分类问题)。
      (2)多对一:输入序列和单个输出(例如情感分析,其中输入是一组句子或单词,输出是正或负表达),
      (3)一对多:系统接受一个输入并产生输出序列(图像字幕问题:输入是单个图像,输出是一组带有上下文的字)。
      (4)多对多:输入序列和输出序列(例如,机器翻译:机器从英语中获取单词序列并转换为法语单词序列)。
      (5)多对多*:序列到序列学习(例如,视频分类问题,其中我们将视频帧作为输入并且希望标记图35(e)所示的视频的每个帧。


      图35. RNN在应用方面的不同结构:(a)一对一 (b)多对一 (c)一对多 (d)多对多 (e)多对多*.png
    • 无监督深度学习方法之一的自动编码器(AE, AUTO-ENCODER):具有高效的数据编码和解码能力。自动编码器的主要目的是学习和表示(编码)数据,通常用于数据降维,压缩,融合等等。这种自动编码器技术由两部分组成:编码器和解码器。在编码阶段,输入样本通常在具有构造特征表示的较低维特征空间中映射。可以重复该方法,直到达到期望的特征维度空间。而在解码阶段,我们通过反向处理从较低维度特征重新生成实际特征。具有编码和解码阶段的自动编码器的概念图如图36所示。

    • AE应用于生物信息学[102,171]和网络安全[172,302]。我们可以将AE应用于无监督特征提取,然后应用Winner Take All(WTA)来聚类这些样本以生成标签[173]


      图36. 自动编码器的示意图.png
    • 另一种无监督的深度学习方法:受限玻尔兹曼机(RBM, RESTRICTEDBOLTZMANNMACHINE)

    • 生成对抗网络(GAN, Generative Adversarial Networks)
      (1)Yann LeCun的一句话开始,“GAN是过去十年在深度学习(神经网络)领域提出的最佳概念”
      (2)深度学习是一种数据驱动技术,随着输入样本数量的增加,该技术表现更好。由于这个原因,使用来自大量非标签数据集的可重用特征表示进行学习已经成为一个活跃的研究领域。我们在介绍中提到计算机视觉具有不同的任务,分割,分类和检测,这需要大量的标记数据。已经尝试通过生成具有生成模型的类似样本来解决该问题。
      (3)GAN领域的研究一直在进行,并提出了许多改进版本[​​181]。GAN能够为诸如内部或工业设计的可视化,鞋子,包和衣物等应用产生逼真的图像。GAN在游戏开发领域也有如此广泛的应用。 GAN已被用于在视频中生成运动以及生成人工视频[182]。
      (4)GAN有两个不同的深度学习领域,它们属于半监督和无监督。


      图40. 生成对抗网络(GAN)的概念图.png
    • GAN的应用:对图像进行文本描述,并根据输入产生逼真的图像
      (1) 用于图像处理的GAN:针对大多数时候,视觉系统都会遇到雨,雪和雾的问题
      (2)用于语音和音频处理的GAN,用于符号域和音乐生成,与Melody RNN相当
      (3)用于医疗信息处理的GAN:使用Wasserstein距离和感知损失进行医学图像去噪的GAN
      (4)其他应用:使用GAN进行姿势估计[227]。使用GAN的照片编辑网络[228]。异常检测[229]。用GAN单拍学习[231]。GAN用于响应生成和问答系统[232,233]。最后是WaveNet是一种用于生成音频波形的生成模型[286]。

    • 总结前面:监督和无监督的深度学习方法,包括DNN,CNN,RNN,包括LSTM和GRU,AE,RBM,GAN等。这些类型的深度学习方法用于预测,分类,编码,解码, 数据生成,以及更多应用领域。

    • 深度强化学习(DRL):学习从未知的真实环境中以常理行事,适用于经济效用或博弈论,以便做出更好的决策和投资选择。经典条件反射的心理学概念是动物如何学习的过程。强化学习是一种技术,用于做什么以及如何将情境与动作相匹配。包括:
      (1)传统的机器学习
      (2)统计模式识别
      (3)人工神经网络。
    • DRL是高级版的RL:为了观察环境,根据观察空间使用有前景的DL技术,包括CNN,RNN,LSTM和GRU。由于DL技术有效地编码数据,因此更准确地执行下面的动作步骤。根据行动,代理人分别获得适当的奖励。因此,整个RL方法在环境中以更好的性能学习和交互变得更加高效。
    图45. RL系统的概念图.png
    • 对于使用DRL而言,有一些基本策略是必不可少的。首先,RL学习方法具有计算状态-动作组合的质量的函数,其被称为Q学习(Q-函数,Q-Learning)。

    • 迁移学习(Transfer Learning):网络训练有大量数据,并且在训练期间模型学习权重和偏差。这些权重可以转移到其他网络,以测试或重新训练类似的新模型。网络可以从训练有素的重量开始,而不是从头开始训练。

    • 预训练模型:是已经在与预期域相同的域上训练过的模型。例如,对于图像识别任务,可以下载已经在ImageNet上训练的Inception模型。然后,可以将初始模型用于不同的识别任务,而不是从头开始训练

    总结和未来的工作

    在本报告中,我们讨论了深度学习方法的革命及其在过去几年中的应用。我们在不同类别的学习方法中审查了不同的最先进的深度学习模型,包括监督,非监督和强化学习(RL)及其在不同领域的应用。此外,我们已经详细解释了不同的有监督的深度学习技术,包括DNN,CNN和RNN。我们还审查了非监督深度学习技术,包括AE,RBM和GAN。在同一部分中,我们已经考虑并解释了基于LSTM和RL提出的无监督学习技术。在第8节中,我们使用称为QLearning的基本学习技术介绍了深度强化学习(DRL)的调查。此外,我们还开展了一项关于节能深度学习方法,DL传输学习以及DL硬件开发趋势的调查。此外,我们还讨论了一些DL框架和基准数据集,这些数据集通常用于深度学习方法的实施和评估。最后,我们已经收录了相关的期刊和会议,其中DL社区已经发布了他们有价值的研究文章。

    相关文章

      网友评论

          本文标题:迷雾探险2 | 深度学习综述阅读笔记

          本文链接:https://www.haomeiwen.com/subject/rtkxkqtx.html