精华内容
下载资源
问答
  • 计算机网络专业论文文献外文翻译
  • 计算机网络专业论文

    2011-10-04 00:03:36
    计算机网络专业论文文献外文翻译 计算机网络专业论文文献外文翻译.doc
  • 计算机专业毕业论文翻译,计算机网络方面的资料,字数大于5000字,
  • 网络工程师专业论文范文50套 需要写网络工程师专业方向的可以参考一下,大学老师整理的本专业毕业论文范文。
  • 计算机网络专业毕业论文选题,第一次上传资料,请各位指教。
  • 云计算时代网络工程专业教学改革研究 摘要云计算技术的快速发展对地方本科院校网络工程专业传统教学模式提出了挑战研究将云计算的学习和应用融入地方本科院校的网络工程专业本科教学实践中提高地方本科院校学生学习...
  • 计算机网络病毒与防范中英文翻译,适合计算机专业毕业论文翻译
  • 毕业设计外文资料翻译 题 目 虚拟磁带库 学 院 信息科学与工程学院 专 业 网络工程 班 级 网络0701 学 生 学 号 指导教师 二一一 年 三 月 十二 日 Patent Application Publication SLATER et al. ? US 2010/0180074...
  • 关于计算机方面,信息管理方面的 网络技术的专业英语论文
  • 脱机手写字符识别概述-计算机专业英语论文翻译 20000字 本人的翻译 大家可以私下收藏和参考,但是不要直接拿去向老师交差哦~
  • 计算机专业网络工程管理,毕业设计论文参考。文章是本人自己撰写,代码如有雷同,请作为参考。
  • 计算机专业毕业论文(网络).doc 计算机专业毕业论文(网络).doc
  • 最新网络技术毕业论文,最新2010年网络技术专业毕业论文,希望对大家有用,
  • 计算机专业网络新技术论文,软件工程新技术专题的课程设计,期末作业
  • 计算机专业的人工神经网络论文电子档 人工神经网络的定义不是统一的,T.Koholen对人工神经网络的定义:“人工神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界...
  • 非常喜欢VGG这篇论文,内容写的层层递进,逻辑严密。对多尺度及深度的探讨很经典。 奈何别人的翻译十分拗口,总是感觉理解不透。只好自己反复阅读,把最精彩的多尺度及实验部分翻译一下。 翻译过程尽量使用国人能...

    概述

    非常喜欢VGG这篇论文,内容写的层层递进,逻辑严密。对多尺度及深度的探讨很经典。

    奈何别人的翻译十分拗口,总是感觉理解不透。只好自己反复阅读,把最精彩的多尺度及实验部分翻译一下。

    翻译过程尽量使用国人能懂的方式,宁愿以中国人的思维重写也不使用机器翻译的结果,过程中反复推敲,修改了部分啰嗦的定语和不易懂的表达方式。不喜欢‘我亲爱的老伙计‘、’你这该死的’这种假翻译。翻译就应该让人感觉不出这是翻译的。

    由于我也不是专业的翻译,难免有纰漏。多包涵吧!

    2 网络配置

    在这里插入图片描述

    3 分类框架

    在上一节中,我们介绍了我们的网络结构的细节。在本节中,我们将介绍分类ConvNet训练和评估的细节。

    3.1 训练

    ConvNet训练过程基本上遵循Krizhevsky等人(2012)的做法(除了从多尺度训练图像中进行裁剪作为输入这点,后面将会详细说明)。也就是说,是通过使用具有动量的小批量梯度下降法(基于反向传播(LeCun等人,1989))优化多项式逻辑回归目标函数来进行训练。训练的批大小是256,动量为0.9。训练过程中用到了L2正则化(L2惩罚因子为5 · 10^−4),在头两层全连接中用到了dropout正则化(dropout因子为0.5)。初始学习率为 10^-2,每当验证数据集上的准确率饱和时降低10倍。实际上学习率总共降低三次,共经过了370K次迭代(74轮)。跟AlexNet相比,尽管我们的网的参数数量更多深度也更深,却需要更少的训练轮数就能收敛, 我们推测可能是以下原因:(a)更深的深度和更小的卷积核引起的隐式正则化;(b)对个别网络层进行预(训练)初始化。

    网络权重的初始化很重要,因为深度网络中梯度是不稳定的,不好的初始化可能会阻碍网络的学习。为了规避这个问题,我们先使用随机初始化训练了一个比较浅的网络:Table1中的配置A网络。然后当我们训练更深的网络结构的时候,使用网络A中已训练好的参数初始化网络的前4个卷积层和后三个全连接层,剩余的中间层采用随机初始化。我们没有因为有些层被预初始化就减小学习率,而是正常的在学习中递减。在随机初始化时,我们使用了均值为0方差为10 ^ -2的正态分布。所有的偏差值都被初始化为0。值得注意的是,在提交论文后,我们发现可以使用Glorot & Bengio(2010)的随机初始化过程,在不进行预训练的情况下初始化权重。

    为了获得固定大小(224×224)的图像,先对训练数据集进行尺度缩放,然后随机裁剪(每张图片在每次梯度下降迭代中被裁剪一次)。为了进一步增大训练数据集,裁剪下来的图片会被随机水平翻转和RDB颜色变换(参考AlexNet)。训练图片的尺度缩放在下方说明。

    训练图片尺寸。 训练图片各边被等比例缩放后,最小边的边长用字母S表示, 网络将会从被缩放后的图片中进行裁剪作为输入(我们也将S称为训练尺度)。裁剪的尺寸固定为224×224,理论上S可以是任何不小于224的值:如果S = 224,训练图片的最小边长将被完整的裁剪下来;如果S >> 224,裁剪图像将对应于图像的一小部分,仅仅包含一个小对象或对象的一部分。

    我们设想了两种设置训练尺度S的方案。一种是选定一个固定的S, 这种方法也就是单尺度训练( single-scale training)(注意,采样裁剪图像中的图像内容仍然可以反映多尺度图像的统计特征)。在我们的实验中,我们训练评估了两种固定的尺度:S=256 (之前已被广泛使用(AlexNet、ZFNet、OverFeat等))和S=384。

    第二种方案就是多尺度训练(multi-scale training),这种方案下每个图片都被独立的缩放和随机采样,缩放采用的S在一定范围[Smin, Smax] 内随机变化(我们的Smin = 256,Smax = 512 )。由于图像中的目标可能具有不同的大小,因此这种方法对训练效果是有正向效果的。这也可以看做是通过** 尺度抖动( scale jittering)**对训练集进行了增强,因为模型将被训练的能够在一系列不同尺寸上识别物体。为了加速多尺度模型的训练,我们先使用S=384单尺度训练,然后在此基础上 fine-tuning。

    3.2 测试

    在测试的时候,使用已训练的模型和输入图像,将按照下面的方式进行分类。首先,图像被等比例缩放,最小边长是一个预定义的值,后面用Q指代它(我们也把它称为测试尺度)。我们注意到测试尺度Q不一定非要等于训练尺度S(我们将在第四小节看到,对每个S值使用多个Q值可以改善模型性能); 然后,缩放后的图片上将会像OverFeat一样在网络上运行。也就是说,全连接层将被转换成卷积层(第一FC层用7×7卷积层实现,最后两个FC层用1×1卷积层实现)(译者注:这里说的是FCN技术,不清楚的读者可参考我前一篇介绍OverFeat的文章)。结果就是全连接层也可以应用在整张(未经过裁剪)的图片上。全连接层最终输出的结果的通道数和总类数相等,每个类的结果都是一个 class score map(不再是一个值),class socre map的形状大小是由输入图片尺寸决定的。最终,为了让每张图片都输出一个固定大小的class score向量,对每个分类的score map进行平均。我们还通过图像的水平翻转来增加测试集,将原始图像和翻转图像的soft-max值进行平均,以获得图像的最终分数。

    (译者注:论文将OverFeat(FCN)的评估方法称为密集(dense)评估, 将AlexNet的评估方法称为多次裁剪(multi-crop)评估)

    由于FCN网络可以应用在整张图片上,测试时就没必要再进行裁剪采样了(参考OverFeat),从而避免了为每个裁剪图片都重复计算的低效操作。但是与此同时,像GooGleNet那样的多次裁剪采样确实可以改善模型的性能,与全卷积网络相比,这种采样方法得到的结果更好。此外,由于卷积边界的不同,多次裁剪(multi-crop)评估方法和密集(dense)评估方法是互补的:对于裁剪图片,卷积特征图使用0填充边界,在密集评估中对相同尺寸的图像区域进行卷积和池化, 填充自然会来自于图像的相邻部分,这大大增加了整个网络的视野域,所以更多的上下文信息被保留住了。虽然我们认为在实践中多裁剪方法带来的潜在收益跟增加的计算时间比不划算,但是作为参考,我们对每个尺度裁剪了50次(5×5规则网格,2次翻转)、在3个尺度上总共150个裁剪图像在我们的网络上进行了测试,用来和GoogleNet的4个尺度上144次裁剪做比较。

    3.3 实现细节

    我们的实现来源于公开的C++ Caffe工具箱(Jia,2013)。略…

    4 分类实验

    数据集。 在本节中使用的就是前面描述卷积网络结构时提到的ILSVRC-2012数据集(ILSVRC-2012-2014三界挑战赛都是用的这个数据集)。数据集包括1000个类别的图像,并分为三组:训练(130万张图像),验证(5万张图像)和测试(10万张图)。使用两个指标评估分类的性能:top-1和top-5错误率。前者是多类分类误差,即被错误分类图像的比例;后者是ILSVRC中使用的主要评估标准,即图像真实类别在前5个预测类别之外的比例。

    对于大多数实验,我们使用验证集作为测试集。我们也在测试集上进行了实验,结果被我们以‘VGG’小组的名义提交到ILSVRC官方服务器上去参加ILSVRC-2014挑战赛。

    4.1 单尺度评估

    我们首先用2.2节中描述的网络配置在单个尺度上评估单个ConvNet模型的性能。测试的图像尺寸规则如下:对于固定的S, Q = S, 尺度抖动的时候S ∈ [Smin, Smax],那么Q = 0.5(Smin + Smax)。测试结果在Table3里。
    在这里插入图片描述

    首先,我们注意到使用LRN(也就是A-LRN这个网络)相比没使用LRN的网络A没啥优势,所以后面几个更深的网络(B-E)就不用LRN了(AlexNet脸红了吗…)。

    其次, 我们观察到分类误差随着深度的增加而减小:从11层的网络A到19层的网络E测试结果的变化就能看出来。特别要注意的是,尽管深度相同,带三层1x1卷积层的网络C要比带三层3x3卷积层的网络D表现差。这表明,虽然附加的非线性确实有帮助(C比B好),使用卷积核捕获空间上下文也很重要(D比C好)。当深度达到19层时,网络的错误率就会达到饱和(降不下去了),更深的模型可能要在更大的数据集上才能体现出优势。我们也考察了把网络B中的每一对3x3卷积层换成一个5x5的卷积层(就像2.3小结中所讲的,它们具有相同的视野域)。替换之后的top-1错误率比网络B(测试时使用中心裁剪)高了7%,这表明使用小卷积核的层数更深的网络要优于使用大卷积核的层数更浅的网络。

    最后,训练时采用尺度抖动( scale jittering)(S ∈ [256; 512])比训练时固定尺度 (S = 256 or S = 384)获得的测试结果要好的多,就算测试时采用单尺度也一样。这证实了通过尺度抖动增强训练集确实有助于网络学习多尺度的图像统计特征。

    4.2 多尺度评估

    上面已经在单尺度图片上评估了的模型的表现,现在一起来看看多尺度对测试结果的影响。也就是把同一张图片缩放成不同的尺寸大小(对应不同的Q值)在同一个网络上分别测试,对输出的结果求平均。由于担心训练和测试的尺寸差异太大会引起性能下降,使用固定尺度训练的模型评估的时候使用的3个测试尺度和训练尺度都很接近:Q = {S − 32, S, S + 32}。同时,训练时的尺度抖动使得网络在测试时可以适应更大范围的尺度变化,所以针对训练时采用尺度抖动的模型(S ∈ [Smin; Smax]
    ),评估时的3个尺度变化范围相对更大一些:Q = {Smin, 0.5(Smin + Smax), Smax}。

    结果在Table 4中。

    在这里插入图片描述

    结果表明,多尺度评估可以获得更好的性能(跟Tabel3 中同样模型的的单尺度评估结果比)。跟前面的结果类似,最深的两个网络(D和E)表现最好,尺度抖动训练出的模型要比单尺度训练的模型表现好。我们的单个模型在评估集上的最好表现是24.8%/7.5%(top-1/top-5)。在测试集上,网络E可以达到7.3%的top-5错误率。

    4.3 多次裁剪评估

    Table5中比较了密集评估(dense evaluation)和多次裁剪评估(mult-crop evaluation)(详情参考3.2节)。我们还通过平均两种评估方案的soft-max输出来评估它们的互补性。下面可以看到,多次裁剪评估表现的比密集评估略微好一些,而且两种方法确实是互补的,因为它们的组合优于它们中的任何一种。前面讨论过,我们推测这是由于卷积边界的不同处理方式造成的。
    在这里插入图片描述

    译者注:VGG训练采用的是多次裁剪,4.1、4.2节测试采用的是密集评估

    4.4 多网络融合

    前面都是针对单个网络的测试,本节讲多个网络的融合的效果。略…

    (译者注:比赛中最好的效果一般都是多个模型融合求平均的结果,虽然生产中不怎么用,但是比赛打榜好使,比赛又不考虑电费和响应时间)

    4.5 和其它E STATE OF THE ART网络的比较

    ILSVRC-2014挑战赛获得分类第二名。赛后又获得了更低的错误率。略…

    在这里插入图片描述

    结论

    在这项工作中,我们评估了用于大规模图像分类的深度卷积网络(最多19层)。结果表明,网络的深度有利于分类精度,在传统的卷积网络架构(LeNet、AlexNet)基础上大幅增加网络层数就可以在ImageNet挑战赛的数据集上达到state-of-the-art的表现。在附录中我们还展示了我们的模型对于其它任务和数据集的良好的泛化能力,能够达到甚至优于那些深度更浅但是结构更复杂的方案(pipelines)。我们的结果再次证实了深度在视觉领域的重要性。

    鸣谢

    This work was supported by ERC grant VisRec no. 228180. We gratefully acknowledge the support
    of NVIDIA Corporation with the donation of the GPUs used for this research.

    引用论文

    略…

    附录A:定位

    在本文的主体中我们讨论的是ILSVRC挑战赛的分类任务,对不同深度的卷积网络架构进行了全面的评估。在这一节中,我们将转向挑战的定位任务,在2014年的比赛中我们获得了25.3%的错误率。定位可以看作是对象检测的一种特殊情况,在定位的时候,无论实际对象数量如何,都应该为top-5的每个类预测一个对象边界框。我们参考了ILSVRC-2013定位任务冠军OverFeat的定位方法并做了少量修改。我们将在A.1小节介绍我们的方法,在A.2小节进行评估。

    A.1 定位卷积网络

    为了达到目标定位的目的,我们使用了一个非常深的卷积网络,它的最后一个全连接层可以预测边界框的位置,而不是类的得分。一个边界框由一个4-D向量表示,包括框的中心坐标、宽度和高度。有两种预测边界框的方法可选:每次预测一个边界框,所有类共享边界框预测网络(就像OverFeat一样,single-class regression,SCR);或者每个类预测一个单独的边界框(per-classregression,PCR)。第一个方法的最后一层输出一个4-D向量,后一个方法最后输出的是4000-D向量(因为数据集中有一千个类)。除了边框预测层之外的部分我们使用的是网络结构D,这个网络有16层并且在分类任务中表现最好(详情参考第4节)。

    训练。定位卷积网络的训练和分类非常像。最主要的区别是我们使用欧式距离作为损失函数,这个函数将会惩罚预测的边界框与真实值之间的偏差。我们分别在S=256和S=384的情况下训练了两个定位模型(因为时间的关系,我们在向ILSVRC-2014提交时没有采用尺度抖动来训练)。我们使用对应(相同的训练尺度)的分类模型的参数对定位模型参数进行了初始化,初始学习率是10^−3。参考OverFeat的方法,我们试过对所有层进行微调和只对前两个全层进行微调的表现。最后一层全连接层使用随机初始化并从头开始训练(译者:分类网络中没对应的部分,只能如此喽)

    测试。我们考虑了两种测试方式。第一种方式用来在验证集上比较对网络做各种修改之后的表现,此时只考虑对真实分类的边框预测(不考虑分类的错误)。边界框是对图片进行中心裁剪后在网络上预测得到的。

    第二种方法更全面(fully-fledged),卷积定位网络以密集评估(dense)的方式在整张图片上预测,跟分类任务的3.2节很像。不同之处在于全连接层输出的不再是score map而是边框的预测值。为了得到最终的预测值,我们像OverFeat一样使用了贪心合并算法,这种算法会把离得近的边界框合并(对他们的坐标进行平均),并根据分类网络输出的score对它们进行评价。当使用多个目标定位网络时,我们先获取边界预测框的并集然后执行合并算法。我们没有采用OverFeat中的multiple pooling offsets 池化技术,虽然这种方法提高了边界框预测的空间分辨率,并能进一步改善预测结果(译者:我猜计算代价可能高于收益,所以作者放弃了)。

    A.2 定位实验

    这一小节,我们将会使用第一种测试方式确定最适合定位的方案,然后用第二种方式做进一步的评估。根据ILSVRC比赛规则,预测的边界框与真实边界框的交并比(IOU)大于0.5才能认为是正确的预测。

    方案比较。从Table8可以看到,PCR比SCR表现更好,而OverFeat和我们的结论相反:SCR比PCR好。我们还注意到,与只对全连接层进行微调相比,对定位任务的所有层进行微调会得到明显更好的结果(这点和OverFeat的结论相同)。下面的所有实验中S都等于384,为了缩短文章我们没有呈现S = 256的结果。

    (译者:下表的结果是在VGG-16上修改之后测得的)

    在这里插入图片描述

    全面(Fully-fledged)评估。现在我们已经找到了最好的定位网络配置方案:使用PCR并在所有层上进行微调( fine-tuning),现在来进行更全面的测试。我们利用4.5小节中最好的分类方案得到top-5的分类结果,使用稠密计算(densely-computed)方式预测得到的多个边框使用OverFeat中的方法进行合并。与使用中心裁剪的Table8中的结果相比,Table 9中在整幅图片上进行稠密计算得到的结果更上一层楼。我们得到了和第4节测试分类任务时相似的结论:在多个尺度上测试或者在多个网络上测试都能大大改善性能。

    在这里插入图片描述

    (译者:上图注释又在吹深度的好,深即正义)

    附录B

    略…

    参考资料

    VGG: Very Deep Convolutional Networks for Large-Scale Image Recognition

    别人的VGG论文翻译——中文版

    总结

    翻译还是很费劲的,错误在所难免

    展开全文
  • 最终版本的网络工程毕业设计,另有开题报告,题目申报表,任务书。中期答辩,实习日记 目 录 摘 要 I Abstract II 第1章 概述 1 1.1报业大厦发展背景分析 1 1.2数字化报业 1 1.3锦州报业新闻大厦网络设计的意义 1...
  • 翻译人:CQUT 重理工实验室 Deep Learning Yann LeCun∗ Yoshua Bengio∗ Geoffrey Hinton 深度学习 Yann LeCun∗ Yoshua Bengio∗ Geoffrey Hinton Abstract Deep learning allows computational models tha

    论文题目:Deep Learning
    论文来源:Deep Learning_2015_Nature
    翻译人:BDML@CQUT实验室

    Deep Learning

    Yann LeCun∗ Yoshua Bengio∗ Geoffrey Hinton

    深度学习

    Yann LeCun∗ Yoshua Bengio∗ Geoffrey Hinton

    Abstract

    Deep learning allows computational models that are composed of multiple processing layers to learn representations of data with multiple levels of abstraction. These methods have dramatically improved the state-of-the-art in speech rec-ognition, visual object recognition, object detection and many other domains such as drug discovery and genomics. Deep learning discovers intricate structure in large data sets by using the backpropagation algorithm to indicate how a machine should change its internal parameters that are used to compute the representation in each layer from the representation in the previous layer. Deep convolutional nets have brought about breakthroughs in processing images, video, speech and audio, whereas recurrent nets have shone light on sequential data such as text and speech.

    摘要

    深度学习允许由多个处理层组成的计算模型学习具有多个抽象级别的数据表示。这些方法极大地提升了语音识别、视觉目标识别、目标检测以及许多其他领域的最新技术,例如药物发现和基因组学。深度学习通过使用反向传播算法来指示机器应如何更新其内部参数(从上一层的表示形式计算每一层的表示形式),从而发现大型数据集中的复杂结构。深层卷积网络在处理图像、视频、语音和音频方面带来了突破,而递归网络则对诸如文本和语音之类的顺序数据有所启发。

    正文

    Machine-learning technology powers many aspects of modern society: from web searches to content filtering on social networks to recommendations on e-commerce websites, and it is increasingly present in consumer products such as cameras and smartphones. Machine-learning systems are used to identify objects in images, transcribe speech into text, match news items, posts or products with users’ interests, and select relevant results of search. Increasingly, these applications make use of a class of techniques called deep learning.

    Conventional machine-learning techniques were limited in their ability to process natural data in their raw form. For decades, constructing a pattern-recognition or machine-learning system required careful engineering and considerable domain expertise to design a feature extractor that transformed the raw data (such as the pixel values of an image) into a suitable internal representation or feature vector from which the learning subsystem, often a classifier, could detect or classify patterns in the input.

    Representation learning is a set of methods that allows a machine to be fed with raw data and to automatically discover the representations needed for detection or classification. Deep-learning methods are representation-learning methods with multiple levels of representation, obtained by composing simple but non-linear modules that each transform the representation at one level (starting with the raw input) into a representation at a higher, slightly more abstract level. With the composition of enough such transformations, very complex functions can be learned. For classification tasks, higher layers of representation amplify aspects of the input that are important for discrimination and suppress irrelevant variations. An image, for example, comes in the form of an array of pixel values, and the learned features in the first layer of representation typically represent the presence or absence of edges at particular orientations and locations in the image. The second layer typically detects motifs by spotting particular arrangements of edges, regardless of small variations in the edge positions. The third layer may assemble motifs into larger combinations that correspond to parts of familiar objects, and subsequent layers would detect objects as combinations of these parts. The key aspect of deep learning is that these layers of features are not designed by human engineers: they are learned from data using a general-purpose learning procedure.

    Deep learning is making major advances in solving problems that have resisted the best attempts of the artificial intelligence community for many years. It has turned out to be very good at discovering intricate structures in high-dimensional data and is therefore applicable to many domains of science, business and government. In addition to beating records in image recognition and speech recognition, it has beaten other machine-learning techniques at predicting the activity of potential drug molecules, analysing particle accelerator data, reconstructing brain circuits, and predicting the effects of mutations in non-coding DNA on gene expression and disease. Perhaps more surprisingly, deep learning has produced extremely promising results for various tasks in natural language understanding, particularly topic classification, sentiment analysis, question answering and lan-guage translation.

    We think that deep learning will have many more successes in the near future because it requires very little engineering by hand, so it can easily take advantage of increases in the amount of available computation and data. New learning algorithms and architectures that are currently being developed for deep neural networks will only accelerate this progress.

    机器学习技术为现代社会的各个方面提供了强大的支持:从网络搜索到社交网络上的内容过滤再到电子商务网站上的推荐,并且它越来越多地出现在诸如相机和智能手机之类的消费产品中。机器学习系统用于识别图像中的目标,语音转录为文本,新闻标题、帖子或具有用户兴趣的产品匹配,以及选择相关的搜索结果。这些应用程序越来越多地使用一类称为深度学习的技术。

    传统的机器学习技术在处理原始格式的自然数据方面的能力受到限制。几十年来,构建模式识别或机器学习系统需要认真的工程设计和相当多的领域专业知识,才能设计特征提取器,以将原始数据(例如图像的像素值)转换为合适的内部表示或特征向量,学习子系统(通常是分类器)可以对输入的图片进行检测或分类。

    表示学习是一组方法,这些方法允许向机器提供原始数据并自动发现检测或分类所需的表示。深度学习方法是具有表示形式的多层次的表示学习方法,它是通过组合简单但非线性的模块而获得的,每个模块都将一个级别(从原始输入开始)的表示形式转换为更高、更抽象的级别的表示形式。有了足够多的此类转换,就可以学习非常复杂的功能。对于分类任务,较高的表示层会放大输入中对区分非常重要的方面,并抑制不相关的变化。例如,图像以像素值序列的形式出现,并且在表示的第一层中学习的特征通常表示图像中特定方向和位置上是否存在边缘。第二层通常通过发现边缘的特定布置来检测图案,而与边缘位置的微小变化无关。第三层可以将图案组装成与熟悉的对象的各个部分相对应的较大组合,并且随后的层将这些部分的组合作为目标进行检测。深度学习的关键在于每层的功能不是由人类工程师设计的,而是通用训练过程从数据中学习的。

    深度学习在解决多年来抵制人工智能界最大尝试的问题方面取得了重大进展。事实证明,它非常善于发现高维数据中的复杂结构,因此适用于科学、商业和政府的许多领域。除了打破图像识别和语音识别中的记录,它在预测潜在药物分子的活性、分析粒子加速器数据,重建脑回路和预测非编码DNA突变对基因表达和疾病的影响方面还优于其他机器学习技术。更令人惊讶的是,深度学习在自然语言理解中的各种任务上产生了非常有希望的结果,尤其是主题分类、情感分析、问答系统和语言翻译。

    由于深度学习只需要极少的人工操作,我们认为其在不久的将来会取得更多的成功,因此可以轻松地利用增加的可用计算量和数据量的优势。目前正在为深度神经网络开发的新学习算法和体系结构只会加速这一进展。
    总述:先叙述了机器学习的广泛应用,传统的机器学习局限与输入需要对原始数据加工,而加工是一个手艺活,需要很多的经验和算法知识,然后引入Representation learning 。

    Supervised learning

    The most common form of machine learning, deep or not, is supervised learning. Imagine that we want to build a system that can classify images as containing, say, a house, a car, a person or a pet. We first collect a large data set of images of houses, cars, people and pets, each labelled with its category. During training, the machine is shown an image and produces an output in the form of a vector of scores, one for each category. We want the desired category to have the highest score of all categories, but this is unlikely to happen before training. We compute an objective function that measures the error (or distance) between the output scores and the desired pattern of scores. The machine then modifies its internal adjustable parameters to reduce this error. These adjustable parameters, often called weights, are real numbers that can be seen as ‘knobs’ that define the input–output function of the machine. In a typical deep-learning system, there may be hundreds of millions of these adjustable weights, and hundreds of millions of labelled examples with which to train the machine.

    To properly adjust the weight vector, the learning algorithm computes a gradient vector that, for each weight, indicates by what amount the error would increase or decrease if the weight were increased by a tiny amount. The weight vector is then adjusted in the opposite direction to the gradient vector.

    The objective function, averaged over all the training examples, can be seen as a kind of hilly landscape in the high-dimensional space of weight values. The negative gradient vector indicates the direction of steepest descent in this landscape, taking it closer to a minimum, where the output error is low on average.

    In practice, most practitioners use a procedure called stochastic gradient descent (SGD). This consists of showing the input vector for a few examples, computing the outputs and the errors, computing the average gradient for those examples, and adjusting the weights accordingly. The process is repeated for many small sets of examples from the training set until the average of the objective function stops decreasing. It is called stochastic because each small set of examples gives a noisy estimate of the average gradient over all examples. This simple procedure usually finds a good set of weights surprisingly quickly when compared with far more elaborate optimization techniques. After training, the performance of the system is measured on a different set of examples called a test set. This serves to test the generalization ability of the machine — its ability to produce sensible answers on new inputs that it has never seen during training.

    Many of the current practical applications of machine learning use linear classifiers on top of hand-engineered features. A two-class linear classifier computes a weighted sum of the feature vector components. If the weighted sum is above a threshold, the input is classified as belonging to a particular category.

    Since the 1960s we have known that linear classifiers can only carve their input space into very simple regions, namely half-spaces separated by a hyperplane. But problems such as image and speech recognition require the input–output function to be insensitive to irrelevant variations of the input, such as variations in position, orientation or illumination of an object, or variations in the pitch or accent of speech, while being very sensitive to particular minute variations (for example, the difference between a white wolf and a breed of wolf-like white dog called a Samoyed). At the pixel level, images of two Samoyeds in different poses and in different environments may be very different from each other, whereas two images of a Samoyed and a wolf in the same position and on similar backgrounds may be very similar to each other. A linear classifier, or any other ‘shallow’ classifier operating on aw pixels could not possibly distinguish the latter two, while putting the former two in the same category. This is why shallow classifiers require a good feature extractor that solves the selectivity–invariance dilemma — one that produces representations that are selective to the aspects of the image that are important for discrimination, but that are invariant to irrelevant aspects such as the pose of the animal. To make classifiers more powerful, one can use generic non-linear features, as with kernel methods, but generic features such as those arising with the Gaussian kernel do not allow the learner to generalize well far from the training examples. The conventional option is to hand design good feature extractors, which requires a considerable amount of engineering skill and domain expertise. But this can all be avoided if good features can be learned automatically using a general-purpose learning procedure. This is the key advantage of deep learning.

    A deep-learning architecture is a multilayer stack of simple modules, all (or most) of which are subject to learning, and many of which compute non-linear input–output mappings. Each module in the stack transforms its input to increase both the selectivity and the invariance of the representation. With multiple non-linear layers, say a depth of 5 to 20, a system can implement extremely intricate functions of its inputs that are simultaneously sensitive to minute details-distinguishing Samoyeds from white wolves-and insensitive to large irrelevant variations such as the background, pose, lighting and surrounding objects.

    监督学习

    不论深度与否,机器学习最常见的形式都是监督学习。想象一下,我们想建立一个可以将图像分类为包含房屋、汽车、人或宠物的系统。我们首先收集大量的房屋、汽车、人和宠物的图像数据集,每个图像均标有类别。在训练过程中,机器将显示一张图像,并输出一个分数向量,每个类别一个。我们希望所需的类别在所有类别中得分最高,但这不太可能在训练之前发生。我们计算一个目标函数,该函数测量输出得分与期望得分模式之间的误差(或距离)。然后机器修改其内部可更新参数以减少此误差。这些可更新的参数(通常称为权重)是实数,可以看作是定义机器输入输出功能的“旋钮”。在典型的深度学习系统中,可能会有数以亿计的可更新权重,以及数亿个带有标签的实例,用于训练模型。

    为了适当地更新权重向量,学习算法计算一个梯度向量,针对每个权重,该梯度向量表明,如果权重增加很小的量,误差将增加或减少的相应的量。然后沿与梯度向量相反的方向更新权重向量。

    在所有训练示例中平均的目标函数可以在权重值的高维空间中被视为一种丘陵地形。负梯度矢量指示此地形中最陡下降的方向,使其更接近最小值,其中输出误差平均较低。

    在实践中,大多数从业者使用一种称为随机梯度下降(SGD)的算法。这包括显示几个示例的输入向量,计算输出和误差,计算这些示例的平均梯度以及相应地更新权重。对训练集中的许多小样本示例重复此过程,直到目标函数的平均值停止下降。之所以称其为随机的,是因为每个小的示例集都会给出所有示例中平均梯度的噪声估计。与更复杂的优化技术相比[18],这种简单的过程通常会出乎意料地快速找到一组良好的权重。训练后,系统的性能将在称为测试集的不同示例集上进行测量。这用于测试机器的泛化能力:机器在新的输入数据上产生好的效果的能力,这些输入数据在训练集上是没有的。

    机器学习的许多当前实际应用都在人工设计的基础上使用线性分类器。两类别线性分类器计算特征向量分量的加权和。如果加权和大于阈值,则将输入分为特定类别。

    自二十世纪六十年代以来,我们就知道线性分类器只能将其输入空间划分为非常简单的区域,即由超平面分隔的对半空间。但是,诸如图像和语音识别之类的问题要求输入输出功能对输入的不相关变化不敏感,例如目标的位置、方向或照明的变化,或语音的音高或口音的变化。对特定的微小变化敏感(例如,白狼与萨摩耶之间的差异,萨摩耶是很像狼的白狗)。在像素级别,两幅处于不同姿势和不同环境中的萨摩耶图像可能差别很大,而两幅位于相同位置且背景相似的萨摩耶和狼的图像可能非常相似。线性分类器或其他任何在其上运行的“浅”分类器无法区分后两幅图片,而将前两幅图像归为同一类别。这就是为什么浅分类器需要一个好的特征提取器来解决选择性不变性难题的原因。提取器可以产生对图像中对于辨别重要的方面具有选择性但对不相关方面(例如动物的姿态)不变的表示形式。为了使分类器更强大,可以使用通用的非线性特征,如核方法,但是诸如高斯核所产生的那些通用特征,使学习者无法从训练示例中很好地概括。传统的选择是人工设计好的特征提取器,这需要大量的工程技术和领域专业知识。但是,如果可以使用通用学习过程自动学习好的功能,则可以避免所有这些情况。这是深度学习的关键优势。

    深度学习架构是简单模块的多层堆叠,所有模块(或大多数模块)都需要学习,并且其中许多模块都会计算非线性的输入-输出映射。堆叠中的每个模块都会转换其输入,以增加表示的选择性和不变性。系统具有多个非线性层(例如深度为5到20),可以实现极为复杂的输入功能,这些功能同时对细小的细节敏感(区分萨摩耶犬与白狼),并且对不相关的大变化不敏感,例如背景功能、姿势、灯光和周围物体。
    2,叙述监督学习(supervised learning):就是给各种狗的图片(train dataset),提示网络架构这是狗(label),多次重复后再给一张狗的图片,训练好的网络能自动反应,给出结果,这是猫。那么到底是怎么train的呢?我们需要定义一个objective function,它的作用是计算预测值和label之间的distance,网络learning的任务就是缩小这个objective function的值,也就是让预测值不断接近真值,这个objective function是关于weight的函数,下面就粗略的提到一种优化的方法,叫随机梯度下降(SGD),就是每次在所有的样本中随机选一个样本,计算objective function关于weight的偏导(梯度),让weight往梯度的负方向(梯度的负方向就是objective function即误差减小的方向)变化,然后多次重复,最后发现objective function的值不变了或者变得很小了,就停止迭代,此时的参数weight,就是我们的网络学习到的。最后就可以训练处有自己理解的一个架构,从而可以判断新的物体是不是之前自己学习过的物体,给出结果

    Backpropagation to train multilayer architectures

    From the earliest days of pattern recognition, the aim of researchers has been to replace hand-engineered features with trainable multilayer networks, but despite its simplicity, the solution was not widely understood until the mid 1980s. As it turns out, multilayer architectures can be trained by simple stochastic gradient descent. As long as the modules are relatively smooth functions of their inputs and of their internal weights, one can compute gradients using the backpropagation procedure. The idea that this could be done, and that it worked, was discovered independently by several different groups during the 1970s and 1980s.

    The backpropagation procedure to compute the gradient of an objective function with respect to the weights of a multilayer stack of modules is nothing more than a practical application of the chain rule for derivatives. The key insight is that the derivative (or gradient) of the objective with respect to the input of a module can be computed by working backwards from the gradient with respect to the output of that module (or the input of the subsequent module) (Fig. 1). The backpropagation equation can be applied repeatedly to propagate gradients through all modules, starting from the output at the top (where the network produces its prediction) all the way to the bottom (where the external input is fed). Once these gradients have been computed, it is straightforward to compute the gradients with respect to the weights of each module.
    在这里插入图片描述Many applications of deep learning use feedforward neural network architectures (Fig. 1), which learn to map a fixed-size input (for example, an image) to a fixed-size output (for example, a prob-ability for each of several categories). To go from one layer to the next, a set of units compute a weighted sum of their inputs from the previous layer and pass the result through a non-linear function. At present, the most popular non-linear function is the rectified linear unit (ReLU), which is simply the half-wave rectifier f ( z ) = m a x ⁡ ( 0 , z ) f(z)=max⁡(0,z) f(z)=max(0,z). In past decades, neural nets used smoother non-linearities, such as t a n h ( z ) tanh(z) tanh(z) or 1 / ( 1 + e x p ⁡ ( − z ) ) 1/(1+exp⁡(-z)) 1/(1+exp(z)), but the ReLU typically learns much faster in networks with many layers, allowing training of a deep supervised network without unsupervised pre-training. Units that are not in the input or output layer are conventionally called hidden units. The hidden layers can be seen as distorting the input in a non-linear way so that categories become linearly separable by the last layer (Fig. 1).

    In the late 1990s, neural nets and backpropagation were largely forsaken by the machine-learning community and ignored by the computer-vision and speech-recognition communities. It was widely thought that learning useful, multistage, feature extractors with lit-tle prior knowledge was infeasible. In particular, it was commonly thought that simple gradient descent would get trapped in poor local minima-weight configurations for which no small change would reduce the average error.

    In practice, poor local minima are rarely a problem with large networks. Regardless of the initial conditions, the system nearly always reaches solutions of very similar quality. Recent theoretical and empirical results strongly suggest that local minima are not a serious issue in general. Instead, the landscape is packed with a combinatorially large number of saddle points where the gradient is zero, and the surface curves up in most dimensions and curves down in the remainder. The analysis seems to show that saddle points with only a few downward curving directions are present in very large numbers, but almost all of them have very similar values of the objec-tive function. Hence, it does not much matter which of these saddle points the algorithm gets stuck at.

    Interest in deep feedforward networks was revived around 2006 by a group of researchers brought together by the Canadian Institute for Advanced Research (CIFAR). The researchers intro-duced unsupervised learning procedures that could create layers of feature detectors without requiring labelled data. The objective in learning each layer of feature detectors was to be able to reconstruct or model the activities of feature detectors (or raw inputs) in the layer below. By ‘pre-training’ several layers of progressively more complex feature detectors using this reconstruction objective, the weights of a deep network could be initialized to sensible values. A final layer of output units could then be added to the top of the network and the whole deep system could be fine-tuned using standard backpropagation. This worked remarkably well for recognizing handwritten digits or for detecting pedestrians, especially when the amount of labelled data was very limited36.

    The first major application of this pre-training approach was in speech recognition, and it was made possible by the advent of fast graphics processing units (GPUs) that were convenient to program and allowed researchers to train networks 10 or 20 times faster. In 2009, the approach was used to map short temporal windows of coef-ficients extracted from a sound wave to a set of probabilities for the various fragments of speech that might be represented by the frame in the centre of the window. It achieved record-breaking results on a standard speech recognition benchmark that used a small vocabu-lary and was quickly developed to give record-breaking results on a large vocabulary task. By 2012, versions of the deep net from 2009 were being developed by many of the major speech groups and were already being deployed in Android phones. For smaller data sets, unsupervised pre-training helps to prevent overfitting, leading to significantly better generalization when the number of labelled examples is small, or in a transfer setting where we have lots of examples for some ‘source’ tasks but very few for some ‘target’ tasks. Once deep learning had been rehabilitated, it turned out that the pre-training stage was only needed for small data sets.

    There was, however, one particular type of deep, feedforward network that was much easier to train and generalized much better than networks with full connectivity between adjacent layers. This was the convolutional neural network (ConvNet). It achieved many practical successes during the period when neural networks were out of favour and it has recently been widely adopted by the computervision community

    反向传播训练多层架构

    从模式识别的早期开始,研究人员的目的一直是用可训练的多层网络代替手工设计的功能,但是尽管它很简单,但直到二十世纪八十年代中期才广泛了解该解决方案。事实证明,可以通过简单的随机梯度下降来训练多层体系结构。只要模块是其输入及其内部权重的相对平滑函数,就可以使用反向传播过程来计算梯度。 二十世纪七十年代和二十世纪八十年代,几个不同的小组独立地发现了可以做到这一点并且起作用的想法。

    反向传播程序用于计算目标函数相对于模块多层堆叠权重的梯度,无非是导数链规则的实际应用。关键的见解是,相对于模块输入的目标的导数(或梯度)可以通过相对于该模块的输出(或后续模块的输入)的梯度进行反运算来计算(图1)。反向传播方程式可以反复应用,以通过所有模块传播梯度,从顶部的输出(网络产生其预测)一直到底部的输出(外部输入被馈送)。一旦计算出这些梯度,就可以相对于每个模块的权重来计算梯度。
    在这里插入图片描述

    深度学习的许多应用都使用前馈神经网络体系结构(图1),该体系结构会将固定大小的输入(例如图像)映射到固定大小的输出(例如几个类别中的每一个的概率)。为了从一层到下一层,一组单元计算它们来自上一层的输入的加权和,并将结果传递给非线性函数。目前,最流行的非线性函数是整流线性单元(ReLU),即半波整流器 f ( z ) = m a x ⁡ ( 0 , z ) f(z)=max⁡(0,z) f(z)=max(0,z)。在过去的几十年中,神经网络使用了更平滑的非线性,例如 t a n h ( z ) ⁡ ⁡ tanh(z)⁡⁡ tanh(z) 1 / ( 1 + e x p ⁡ ( − z ) ) 1/(1+exp⁡(-z)) 1/(1+exp(z)),但ReLU通常在具有多个层的网络中学习得更快,从而可以在无需监督的情况下进行深度监督的网络训练。不在输入或输出层中的单元通常称为隐藏单元。隐藏的层可以被视为以非线性方式使输入失真,以便类别可以由最后一层实现线性分别(图1)。

    在二十世纪九十年代后期,神经网络和反向传播在很大程度上被机器学习领域抛弃,而被计算机视觉和语音识别领域所忽略。人们普遍认为,在没有先验知识的情况下学习有用的多阶段特征提取器是不可行的。特别是,通常认为简单的梯度下降会陷入不良的局部极小值——权重配置,对其进行很小的变化将减少平均误差。

    实际上,较差的局部最小值在大型网络中很少出现问题。不管初始条件如何,该系统几乎总是能获得效果非常相似的解决方案。最近的理论和经验结果强烈表明,局部极小值通常不是一个严重的问题。取而代之的是,景观中堆积了许多鞍点,其中梯度为零,并且曲面在大多数维度上都向上弯曲,而在其余维度上则向下弯曲。分析似乎表明,只有少数几个向下弯曲方向的鞍点存在很多,但几乎所有鞍点的目标函数值都非常相似。因此,算法陷入这些鞍点中的哪一个都没关系。

    加拿大高级研究所(CIFAR)召集的一组研究人员在2006年左右恢复了对深层前馈网络的兴趣。研究人员介绍了无需监督的学习程序,这些程序可以创建特征检测器层,而无需标记数据。学习特征检测器每一层的目的是能够在下一层中重建或建模特征检测器(或原始输入)的活动。通过使用此重建目标“预训练”几层逐渐复杂的特征检测器,可以将深度网络的权重初始化为合理的值。然后可以将输出单元的最后一层添加到网络的顶部,并且可以使用标准反向传播对整个深度系统进行微调。这对于识别手写数字或检测行人非常有效,特别是在标记数据量非常有限的情况下。

    这种预训练方法的第一个主要应用是语音识别,而快速图形处理单元(GPU)的出现使编程成为可能,并且使研究人员训练网络的速度提高了10或20倍,从而使之成为可能。在2009年,该方法用于将从声波提取的系数的短暂时间窗口映射到可能由窗口中心的帧表示的各种语音片段的一组概率。它在使用少量词汇的标准语音识别基准上取得了创纪录的结果,并迅速发展为大型词汇任上取得了创纪录的结果。到2012年,许多主要的语音组织都在开发2009年以来的深度网络版本,并且已经在Android手机中进行了部署。对于较小的数据集,无监督的预训练有助于防止过拟合,从而在标记的示例数量较少时或在转移设置中,对于一些“源”任务,我们有很多示例,而对于某些“源”任务却很少,这会导致泛化效果更好“目标”任务。恢复深度学习后,事实证明,仅对于小型数据集才需要进行预训练。

    但是,存在一种特定类型的深层前馈网络,它比相邻层之间具有完全连接的网络更容易训练和推广。这就是卷积神经网络(ConvNet)。在神经网络未受关注期间,它取得了许多实际的成功,并且最近被计算机视觉界广泛采用。
    3,叙述BP算法(Backpropagation to train multilayer architectures ):核心思想就是 chain rule for derivatives(链式求导),然后说神经网络和反向传播算法在机器学习里被遗忘,后来在2006年有个团队提出了 unsupervised learning procedures,又revive了, unsupervised learning procedure顾名思义就是无监督嘛,能够用没有标签的数据就创造网络,它的厉害之处就是做一个pre-training ,作用是能够把我们的参数weight初始化到一个合适的值,并且呢对一些小的数据集,unsupervised pre-training能够避免过拟合

    Convolutional neural networks

    ConvNets are designed to process data that come in the form of multiple arrays, for example a colour image composed of three 2D arrays containing pixel intensities in the three colour channels. Many data modalities are in the form of multiple arrays: 1D for signals and sequences, including language; 2D for images or audio spectrograms; and 3D for video or volumetric images. There are four key ideas behind ConvNets that take advantage of the properties of natural signals: local connections, shared weights, pooling and the use of many layers.
    在这里插入图片描述

    The architecture of a typical ConvNet (Fig. 2) is structured as a series of stages. The first few stages are composed of two types of layers: convolutional layers and pooling layers. Units in a convolutional layer are organized in feature maps, within which each unit is connected to local patches in the feature maps of the previous layer through a set of weights called a filter bank. The result of this local weighted sum is then passed through a non-linearity such as a ReLU. All units in a feature map share the same filter bank. Different feature maps in a layer use different filter banks. The reason for this architecture is twofold. First, in array data such as images, local groups of values are often highly correlated, forming distinctive local motifs that are easily detected. Second, the local statistics of images and other signals are invariant to location. In other words, if a motif can appear in one part of the image, it could appear anywhere, hence the idea of units at different locations sharing the same weights and detecting the same pattern in different parts of the array. Mathematically, the filtering operation performed by a feature map is a discrete convolution, hence the name.

    Although the role of the convolutional layer is to detect local conjunctions of features from the previous layer, the role of the pooling layer is to merge semantically similar features into one. Because the relative positions of the features forming a motif can vary somewhat, reliably detecting the motif can be done by coarse-graining the position of each feature. A typical pooling unit computes the maximum of a local patch of units in one feature map (or in a few feature maps). Neighbouring pooling units take input from patches that are shifted by more than one row or column, thereby reducing the dimension of the representation and creating an invariance to small shifts and distortions. Two or three stages of convolution, non-linearity and pooling are stacked, followed by more convolutional and fully-connected layers. Backpropagating gradients through a ConvNet is as simple as through a regular deep network, allowing all the weights in all the filter banks to be trained.

    Deep neural networks exploit the property that many natural signals are compositional hierarchies, in which higher-level features are obtained by composing lower-level ones. In images, local combinations of edges form motifs, motifs assemble into parts, and parts form objects. Similar hierarchies exist in speech and text from sounds to phones, phonemes, syllables, words and sentences. The pooling allows representations to vary very little when elements in the previous layer vary in position and appearance.

    The convolutional and pooling layers in ConvNets are directly inspired by the classic notions of simple cells and complex cells in visual neuroscience, and the overall architecture is reminiscent of the LGN–V1–V2–V4–IT hierarchy in the visual cortex ventral pathway. When ConvNet models and monkeys are shown the same picture, the activations of high-level units in the ConvNet explains half of the variance of random sets of 160 neurons in the monkey’s inferotemporal cortex. ConvNets have their roots in the neocognitron, the architecture of which was somewhat similar, but did not have an end-to-end supervised-learning algorithm such as backpropagation. A primitive 1D ConvNet called a time-delay neural net was used for the recognition of phonemes and simple words.

    There have been numerous applications of convolutional networks going back to the early 1990s, starting with time-delay neural networks for speech recognition and document reading. The document reading system used a ConvNet trained jointly with a probabilistic model that implemented language constraints. By the late 1990s this system was reading over 10% of all the cheques in the United States. A number of ConvNet-based optical character recognition and handwriting recognition systems were later deployed by Microsoft. ConvNets were also experimented with in the early 1990s for object detection in natural images, including faces and hands and for face recognition.

    卷积神经网络

    ConvNets被设计为处理以多个阵列形式出现的数据,例如,由三个二维通道组成的彩色图像,其中三个二维通道在三个彩色通道中包含像素强度。许多数据形式以多个数组的形式出现:一维用于信号和序列,包括语言;2D用于图像或音频频谱图;和3D视频或体积图像。ConvNets有四个利用自然信号属性的关键思想:局部连接,共享权重,池化和多层使用。

    在这里插入图片描述

    典型的ConvNet的体系结构(图2)由一系列阶段构成。前几个阶段由两种类型的层组成:卷积层和池化层。卷积层中的单元组织在特征图中,其中每个单元通过称为滤波器组的一组权重连接到上一层特征图中的局部块。然后,该局部加权和的结果将通过非线性(如ReLU)传递。特征图中的所有单元共享相同的过滤器组。图层中的不同要素图使用不同的滤镜库。这种体系结构的原因有两个。首先,在诸如图像的阵列数据中,局部的值通常高度相关,从而形成易于检测的独特局部图案。其次,图像和其他信号的局部统计量对于位置是不变的。换句话说,如果图形可以出现在图像的一部分中,则它可以出现在任何位置,因此,位于不同位置的单元在数组的不同部分共享相同的权重并检测相同的图案。在数学上,由特征图执行的过滤操作是离散卷积,因此得名。

    尽管卷积层的作用是检测上一层的特征的局部连接,但池化层的作用是将语义相似的要素合并为一个。由于形成图案的特征的相对位置可能会略有变化,因此可以通过对每个特征的位置进行粗粒度来可靠地检测图案。一个典型的池化单元计算一个特征图中(或几个特征图中)的局部块的最大值。相邻的池化单元从移动了不止一个行或一列的色块中获取输入,从而减小了表示的尺寸,并为小幅度的移位和失真创建了不变性。卷积、非线性和池化的两个或三个阶段被堆叠,随后是更多卷积和全连接的层。通过ConvNet进行反向传播的梯度与通过常规深度网络一样简单,从而可以训练所有滤波器组中的所有权重。

    深度神经网络利用了许多自然信号是成分层次结构的特性,其中通过组合较低层的特征获得较高层的特征。在图像中,边缘的局部组合形成图案,图案组装成零件,而零件形成对象。从声音到电话,音素,音节,单词和句子,语音和文本中也存在类似的层次结构。当上一层中的元素的位置和外观变化时,池化使表示形式的变化很小。

    卷积网络中的卷积和池化层直接受到视觉神经科学中简单细胞和复杂细胞的经典概念的启发,整个架构让人联想到视觉皮层腹侧通路中的LGN-V1-V2-V4-IT层次结构。当ConvNet模型和猴子显示相同的图片时,ConvNet中高层单元的激活解释了猴子下颞叶皮层中160个神经元随机集合的一半方差。 ConvNets的根源是新认知器,其架构有些相似,但没有反向传播等端到端监督学习算法。称为时延神经网络的原始一维ConvNet用于识别音素和简单单词。

    卷积网络的大量应用可以追溯到二十世纪九十年代初,首先是用于语音识别和文档阅读的时延神经网络。该文档阅读系统使用了一个ConvNet,并与一个实现语言约束的概率模型一起进行了培训。到二十世纪九十年代后期,该系统已读取了美国所有支票的10%以上。 Microsoft随后部署了许多基于ConvNet的光学字符识别和手写识别系统。在二十世纪九十年代初,还对ConvNets进行试验,以检测自然图像中的物体,包括面部和手部,以及面部识别。
    讲卷积神经网络(Convolutional neural networks) :ConvNets背后的四个关键思想:
    局部连接(local connections):每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息;
    权值共享(shared weights):权值共享(也就是卷积操作)减少了权值数量,降低了网络复杂度,可以看成是特征提取的方式。其中隐含的原理是:图像中的一部分的统计特性与其他部分是一样的。意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征;
    池化( pooling):在通过卷积获得了特征 (features) 之后,下一步我们希望利用这些特征去做分类。人们可以用所有提取得到的特征去训练分类器,例如 softmax 分类器,但这样做面临计算量的挑战,并且容易出现过拟合 (over-fitting),因此,为了描述大的图像,可以对不同位置的特征进行聚合统计,如计算平均值或者是最大值,即mean-pooling和max-pooling; 多层(the use of many layers)。
    接下来就讲到,典型 ConvNet的结构: convolution layers, non-linearity and pooling ,分别是卷积层,非线性操作,池化层,然后将这个结构多次堆叠就构成了ConvNet的隐藏层,然后讲了ConvNets中卷积层和池化层的设计灵感

    Image understanding with deep convolutional networks

    Since the early 2000s, ConvNets have been applied with great success to the detection, segmentation and recognition of objects and regions in images. These were all tasks in which labelled data was relatively abundant, such as traffic sign recognition, the segmentation of biological images particularly for connectomics, and the detection of faces, text, pedestrians and human bodies in natural images. A major recent practical success of ConvNets is face recognition.

    Importantly, images can be labelled at the pixel level, which will have applications in technology, including autonomous mobile robots and self-driving cars. Companies such as Mobileye and NVIDIA are using such ConvNet-based methods in their upcoming vision systems for cars. Other applications gaining importance involve natural language understanding and speech recognition.
    在这里插入图片描述

    Despite these successes, ConvNets were largely forsaken by the mainstream computer-vision and machine-learning communities until the ImageNet competition in 2012. When deep convolutional networks were applied to a data set of about a million images from the web that contained 1,000 different classes, they achieved spectacular results, almost halving the error rates of the best competing approaches. This success came from the efficient use of GPUs, ReLUs, a new regularization technique called dropout, and techniques to generate more training examples by deforming the existing ones. This success has brought about a revolution in computer vision; ConvNets are now the dominant approach for almost all recognition and detection tasks and approach human performance on some tasks. A recent stunning demonstration combines ConvNets and recurrent net modules for the generation of image captions (Fig. 3).

    Recent ConvNet architectures have 10 to 20 layers of ReLUs, hundreds of millions of weights, and billions of connections between units. Whereas training such large networks could have taken weeks only two years ago, progress in hardware, software and algorithm parallelization have reduced training times to a few hours.

    The performance of ConvNet-based vision systems has caused most major technology companies, including Google, Facebook, Microsoft, IBM, Y ahoo!, Twitter and Adobe, as well as a quickly growing number of start-ups to initiate research and development projects and to deploy ConvNet-based image understanding products and services.

    ConvNets are easily amenable to efficient hardware implementations in chips or field-programmable gate arrays. A number of companies such as NVIDIA, Mobileye, Intel, Qualcomm and Samsung are developing ConvNet chips to enable real-time vision applications in smartphones, cameras, robots and self-driving cars.

    深度卷积网络的图像理解

    自二十一世纪初以来,ConvNets已成功应用于图像中对象和区域的检测、分割和识别。这些都是标记数据相对丰富的任务,例如交通标志识别、生物图像分割、尤其是用于连接组学,以及在自然图像中检测人脸、文字、行人和人体。ConvNets最近在实践中取得的主要成功是面部识别[59]。

    重要的是,可以在像素级别标记图像,这将在技术中得到应用,包括自动驾驶机器人和自动驾驶汽车。 Mobileye和NVIDIA等公司正在其即将推出的汽车视觉系统中使用基于ConvNet的方法。其他日益重要的应用包括自然语言理解和语音识别。
    在这里插入图片描述

    尽管取得了这些成功,但ConvNet在很大程度上被主流计算机视觉和机器学习领域弃用,直到2012年ImageNet竞赛为止。当深度卷积网络应用于来自网络的大约一百万个图像的数据集时,其中包含1000个不同的类别,取得了惊人的成绩,几乎使最佳竞争方法的错误率降低了一半。成功的原因是有效利用了GPU、ReLU、一种称为dropout的新正则化技术,以及通过使现有示例变形而生成更多训练示例的技术。这一成功带来了计算机视觉的一场革命。现在,ConvNets是几乎所有识别和检测任务的主要方法,并且在某些任务上达到了人类水平。最近的一次令人震惊的演示结合了ConvNets和递归网络模块以生成图像字幕(图3)。

    最新的ConvNet架构具有10到20层ReLU,数亿个权重以及单元之间的数十亿个连接。尽管培训如此大型的网络可能仅在两年前才花了几周的时间,但是硬件、软件和算法并行化方面的进步已将培训时间减少到几个小时。

    基于ConvNet的视觉系统的性能已引起大多数主要技术公司的发展,其中包括Google、Facebook、Microsoft、IBM、Y ahoo、Twitter和Adobe,以及数量迅速增长的初创公司启动了研究和开发项目,部署基于ConvNet的图像理解产品和服务。

    卷积网络很容易适应芯片或现场可编程门阵列中的高效硬件实现。 NVIDIA、Mobileye、英特尔、高通和三星等多家公司正在开发ConvNet芯片,以支持智能手机、相机、机器人和自动驾驶汽车中的实时视觉应用。
    深卷积网络对图像进行理解(Image understanding with deep convolutional networks):感觉这段没讲什么技术上的类容,主要就是各个互联网巨头用DNN做出了厉害的成绩

    Distributed representations and language processing

    Deep-learning theory shows that deep nets have two different exponential advantages over classic learning algorithms that do not use distributed representations. Both of these advantages arise from the power of composition and depend on the underlying data-generating distribution having an appropriate componential structure. First, learning distributed representations enable generalization to new combinations of the values of learned features beyond those seen during training (for example, 2 n 2n 2n combinations are possible with n n n binary features). Second, composing layers of representation in a deep net brings the potential for another exponential advantage (exponential in the depth).

    The hidden layers of a multilayer neural network learn to represent the network’s inputs in a way that makes it easy to predict the target outputs. This is nicely demonstrated by training a multilayer neural network to predict the next word in a sequence from a local context of earlier words. Each word in the context is presented to the network as a one-of-N vector, that is, one component has a value of 1 and the rest are 0. In the first layer, each word creates a different pattern of activations, or word vectors (Fig. 4). In a language model, the other layers of the network learn to convert the input word vectors into an output word vector for the predicted next word, which can be used to predict the probability for any word in the vocabulary to appear as the next word. The network learns word vectors that contain many active components each of which can be interpreted as a separate feature of the word, as was first demonstrated in the context of learning distributed representations for symbols. These semantic features were not explicitly present in the input. They were discovered by the learning procedure as a good way of factorizing the structured relationships between the input and output symbols into multiple ‘micro-rules’ . Learning word vectors turned out to also work very well when the word sequences come from a large corpus of real text and the individual micro-rules are unreliable. When trained to predict the next word in a news story, for example, the learned word vectors for Tuesday and Wednesday are very similar, as are the word vectors for Sweden and Norway. Such representations are called distributed representations because their elements (the features) are not mutually exclusive and their many configurations correspond to the variations seen in the observed data. These word vectors are composed of learned features that were not determined ahead of time by experts, but automatically discovered by the neural network. Vector representations of words learned from text are now very widely used in natural language applications.

    The issue of representation lies at the heart of the debate between the logic-inspired and the neural-network-inspired paradigms for cognition. In the logic-inspired paradigm, an instance of a symbol is something for which the only property is that it is either identical or non-identical to other symbol instances. It has no internal structure that is relevant to its use; and to reason with symbols, they must be bound to the variables in judiciously chosen rules of inference. By contrast, neural networks just use big activity vectors, big weight matrices and scalar non-linearities to perform the type of fast ‘intuitive’ inference that underpins effortless commonsense reasoning.

    Before the introduction of neural language models, the standard approach to statistical modelling of language did not exploit distributed representations: it was based on counting frequencies of occurrences of short symbol sequences of length up to N N N (called N − g r a m s N-grams Ngrams). The number of possible N − g r a m s N-grams Ngrams is on the order of V N V^N VN, where V V V is the vocabulary size, so taking into account a context of more than a handful of words would require very large training corpora. N − g r a m s N-grams Ngrams treat each word as an atomic unit, so they cannot generalize across semantically related sequences of words, whereas neural language models can because they associate each word with a vector of real valued features, and semantically related words end up close to each other in that vector space (Fig. 4).

    分布式表示和语言处理

    深度学习理论表明,与不使用分布式表示的经典学习算法相比,深网具有两个不同的指数优势。这两个优点都来自于组合的力量,并取决于具有适当组件结构的底层数据生成分布。首先,学习分布式表示可以将学习到的特征值的新组合推广到训练期间看不到的那些新组合(例如使用 n n n个二进制特征可以进行 2 n 2n 2n个组合)。其次,在一个深层网络中构成表示层会带来另一个指数优势(深度指数)。

    多层神经网络的隐藏层学习以易于预测目标输出的方式来表示网络的输入。通过训练多层神经网络从较早单词的局部上下文中预测序列中的下一个单词,可以很好地证明这一点。上下文中的每个单词都以 N N N个向量的形式呈现给网络,也就是说,一个组成部分的值为1,其余均为0。在第一层中,每个单词都会创建不同的激活模式,或者字向量(图4)。在语言模型中,网络的其他层学习将输入的单词矢量转换为预测的下一个单词的输出单词矢量,这可用于预测词汇表中任何单词出现为下一个单词的概率。网络学习包含许多有效成分的单词向量,每个成分都可以解释为单词的一个独立特征,如在学习符号的分布式表示形式时首先证明的那样。这些语义特征未在输入中明确显示。通过学习过程可以发现它们,这是将输入和输出符号之间的结构化关系分解为多个“微规则”的好方法。当单词序列来自大量的真实文本并且单个微规则不可靠时,学习单词向量也可以很好地工作。例如,在训练以预测新闻故事中的下一个单词时,周二和周三学到的单词向量与瑞典和挪威的单词向量非常相似。这样的表示称为分布式表示,因为它们的元素(特征)不是互斥的,并且它们的许多配置对应于在观察到的数据中看到的变化。这些词向量由专家事先未确定但由神经网络自动发现的学习特征组成。从文本中学到的单词的矢量表示现在已在自然语言应用中得到广泛使用。

    表示问题是逻辑启发和神经网络启发的认知范式之间争论的核心。在逻辑启发范式中,符号实例是某些事物,其唯一属性是它与其他符号实例相同或不同。它没有与其使用相关的内部结构;为了用符号进行推理,必须将它们绑定到明智选择的推理规则中的变量。相比之下,神经网络仅使用较大的活动矢量,较大的权重矩阵和标量非线性来执行快速的“直觉”推断类型,从而支持毫不费力的常识推理。

    在引入神经语言模型之前,语言统计建模的标准方法并未利用分布式表示形式:它是基于对长度不超过 N N N(称为 N − g r a m s N-grams Ngrams)的短符号序列的出现频率进行计数。可能的 N − g r a m s N-grams Ngrams的数量在 V N V^N VN的数量级上,其中 V V V是词汇量,因此考虑到少数单词的上下文,将需要非常大的训练语料库。 N − g r a m s N-grams Ngrams将每个单词视为一个原子单元,因此它们无法在语义上相关的单词序列中进行泛化,而神经语言模型则可以将它们与实值特征向量相关联,而语义相关的单词最终彼此靠近在该向量空间中(图4)。
    Distributed representations and language processing,深度学习理论表明,与不使用分布式表示的经典学习算法相比,深网具有两个不同的指数优势。这两个优点都来自于组合的力量,并取决于具有适当组件结构的底层数据生成分布,然后讲述了下分布式以及应用发展

    Recurrent neural networks

    When backpropagation was first introduced, its most exciting use was for training recurrent neural networks (RNNs). For tasks that involve sequential inputs, such as speech and language, it is often better to use RNNs (Fig. 5). RNNs process an input sequence one element at a time, maintaining in their hidden units a ‘state vector’ that implicitly contains information about the history of all the past elements of the sequence. When we consider the outputs of the hidden units at different discrete time steps as if they were the outputs of different neurons in a deep multilayer network (Fig. 5, right), it becomes clear how we can apply backpropagation to train RNNs.

    RNNs are very powerful dynamic systems, but training them has proved to be problematic because the backpropagated gradients either grow or shrink at each time step, so over many time steps they typically explode or vanish.

    Thanks to advances in their architecture and ways of training them, RNNs have been found to be very good at predicting the next character in the text or the next word in a sequence, but they can also be used for more complex tasks. For example, after reading an English sentence one word at a time, an English ‘encoder’ network can be trained so that the final state vector of its hidden units is a good representation of the thought expressed by the sentence. This thought vector can then be used as the initial hidden state of (or as extra input to) a jointly trained French ‘decoder’ network, which outputs a probability distribution for the first word of the French translation. If a particular first word is chosen from this distribution and provided as input to the decoder network it will then output a probability distribution for the second word of the translation and so on until a full stop is chosen. Overall, this process generates sequences of French words according to a probability distribution that depends on the English sentence. This rather naive way of performing machine translation has quickly become competitive with the state-of-the-art, and this raises serious doubts about whether understanding a sen-tence requires anything like the internal symbolic expressions that are manipulated by using inference rules. It is more compatible with the view that everyday reasoning involves many simultaneous analogies that each contribute plausibility to a conclusion.

    Instead of translating the meaning of a French sentence into an English sentence, one can learn to ‘translate’ the meaning of an image into an English sentence (Fig. 3). The encoder here is a deep ConvNet that converts the pixels into an activity vector in its last hidden layer. The decoder is an RNN similar to the ones used for machine translation and neural language modelling. There has been a surge of interest in such systems recently .

    RNNs, once unfolded in time (Fig. 5), can be seen as very deep feedforward networks in which all the layers share the same weights. Although their main purpose is to learn long-term dependencies, theoretical and empirical evidence shows that it is difficult to learn to store information for very long.

    To correct for that, one idea is to augment the network with an explicit memory. The first proposal of this kind is the long short-term memory (LSTM) networks that use special hidden units, the natural behaviour of which is to remember inputs for a long time. A special unit called the memory cell acts like an accumulator or a gated leaky neuron: it has a connection to itself at the next time step that has a weight of one, so it copies its own real-valued state and accumulates the external signal, but this self-connection is multiplicatively gated by another unit that learns to decide when to clear the content of the memory.

    LSTM networks have subsequently proved to be more effective than conventional RNNs, especially when they have several layers for each time step, enabling an entire speech recognition system that goes all the way from acoustics to the sequence of characters in the transcription. LSTM networks or related forms of gated units are also currently used for the encoder and decoder networks that perform so well at machine translation.

    Over the past year, several authors have made different proposals to augment RNNs with a memory module. Proposals include the Neural Turing Machine in which the network is augmented by a ‘tape-like’ memory that the RNN can choose to read from or write to, and memory networks, in which a regular network is augmented by a kind of associative memory. Memory networks have yielded excellent performance on standard question-answering benchmarks. The memory is used to remember the story about which the network is later asked to answer questions.

    Beyond simple memorization, neural Turing machines and memory networks are being used for tasks that would normally require reasoning and symbol manipulation. Neural Turing machines can be taught ‘algorithms’ . Among other things, they can learn to output a sorted list of symbols when their input consists of an unsorted sequence in which each symbol is accompanied by a real value that indicates its priority in the list. Memory networks can be trained to keep track of the state of the world in a setting similar to a text adventure game and after reading a story, they can answer questions that require complex inference90. In one test example, the network is shown a 15-sentence version of the The Lord of the Rings and correctly answers questions such as “where is Frodo now?”.

    递归神经网络

    首次引入反向传播时,其最令人兴奋的用途是训练循环神经网络(RNN)。对于涉及顺序输入的任务,例如语音和语言,通常最好使用RNN(图5)。 RNN一次处理一个输入序列的一个元素,在其隐藏的单元中维护一个“状态向量”,该“状态向量”隐式包含有关该序列的所有过去元素的历史信息。当我们将隐藏单位在不同离散时间步长的输出视为是深层多层网络中不同神经元的输出时(图5右),显然我们可以如何应用反向传播来训练RNN。
    在这里插入图片描述

    RNN是非常强大的动态系统,但是事实证明,训练它们是有问题的,因为反向传播的梯度在每个时间步长都会增大或缩小,因此在许多时间步长上它们通常会爆炸或消失。

    由于其结构和训练方法的进步,人们发现RNN非常擅长预测文本中的下一个字符或序列中的下一个单词,但它们也可以用于更复杂的任务。例如,一次读一个单词的英语句子后,可以训练英语的“编码器”网络,使其隐藏单元的最终状态向量很好地表示了该句子表达的思想。然后,可以将此思想向量用作联合训练的法语“解码器”网络的初始隐藏状态(或作为其额外输入),该网络将输出法语翻译的第一个单词的概率分布。如果从该分布中选择了一个特定的第一个单词,并将其作为输入提供给解码器网络,则它将输出翻译的第二个单词的概率分布,依此类推,直到选择了句号。总体而言,此过程根据取决于英语句子的概率分布生成法语单词序列。这种相当幼稚的执行机器翻译的方式已迅速与最新技术竞争,这引起了人们对理解句子是否需要诸如通过使用推理规则操纵的内部符号表达式之类的严重质疑。日常推理涉及许多同时进行的类比,每个类比都为结论提供了合理性,这一观点与观点更加兼容。

    与其将法语句子的含义翻译成英语句子,不如学习将图像的含义“翻译”成英语句子(图3)。这里的编码器是一个深层的ConvNet,可将像素转换为其最后一个隐藏层中的活动矢量。解码器是一个RNN,类似于用于机器翻译和神经语言建模的RNN。近年来,对此类系统的兴趣激增。

    RNNs随时间展开(图5),可以看作是非常深的前馈网络,其中所有层共享相同的权重。尽管它们的主要目的是学习长期依赖关系,但理论和经验证据表明,很难长期存储信息。

    为了解决这个问题,一个想法是用显式内存扩展网络。此类第一种建议是使用特殊隐藏单元的长短期记忆(LSTM)网络,其自然行为是长时间记住输入。称为存储单元的特殊单元的作用类似于累加器或门控泄漏神经元:它在下一时间步与其自身具有连接,其权重为1,因此它复制自己的实值状态并累积外部信号,但是此自连接是由另一个单元乘法控制的,该单元学会确定何时清除内存内容。

    LSTM网络随后被证明比常规RNN更有效,特别是当它们在每个时间步都有多层时,使整个语音识别系统从声学到转录中的字符序列都一路走来。LSTM网络或相关形式的门控单元目前也用于编码器和解码器网络,它们在机器翻译方面表现出色。

    在过去的一年中,几位作者提出了不同的建议,以使用内存模块扩展RNN。建议包括神经图灵机,其中网络由RNN可以选择读取或写入的“像带”存储器来增强,以及存储网络,其中常规网络由一种关联性存储器来增强。内存网络在标准问答基准方面已表现出出色的性能。存储器用于记住故事,有关该故事后来被要求网络回答问题。

    除了简单的记忆外,神经图灵机和存储网络还用于执行通常需要推理和符号操作的任务。神经图灵机可以被称为“算法”。除其他事项外,当他们的输入由未排序的序列组成时,他们可以学习输出已排序的符号列表,其中每个符号都带有一个实数值,该实数值指示其在列表中的优先级。可以训练记忆网络,使其在类似于文字冒险游戏的环境中跟踪世界状况,阅读故事后,它们可以回答需要复杂推理的问题。在一个测试示例中,该网络显示了15句的《指环王》,并正确回答了诸如“ Frodo现在在哪里?”之类的问题。

    7,Recurrent neural networks 六,七部分都是讲的DL在文本和语言处理领域的发展

    The future of deep learning

    Unsupervised learning had a catalytic effect in reviving interest in deep learning, but has since been overshadowed by the successes of purely supervised learning. Although we have not focused on it in this Review, we expect unsupervised learning to become far more important in the longer term. Human and animal learning is largely unsupervised: we discover the structure of the world by observing it, not by being told the name of every object.

    Human vision is an active process that sequentially samples the optic array in an intelligent, task-specific way using a small, high-resolution fovea with a large, low-resolution surround. We expect much of the future progress in vision to come from systems that are trained end-to-end and combine ConvNets with RNNs that use reinforcement learning to decide where to look. Systems combining deep learning and rein-forcement learning are in their infancy, but they already outperform passive vision systems99 at classification tasks and produce impressive results in learning to play many different video game.

    Natural language understanding is another area in which deep learning is poised to make a large impact over the next few years. We expect systems that use RNNs to understand sentences or whole documents will become much better when they learn strategies for selectively attending to one part at a time.

    Ultimately, major progress in artificial intelligence will come about through systems that combine representation learning with complex reasoning. Although deep learning and simple reasoning have been used for speech and handwriting recognition for a long time, new paradigms are needed to replace rule-based manipulation of symbolic expressions by operations on large vectors.

    深度学习的未来

    无监督学习在恢复对深度学习的兴趣方面起了催化作用,但此后被监督学习的成功所掩盖。尽管我们在本评论中并未对此进行关注,但我们希望从长远来看,无监督学习将变得越来越重要。人类和动物的学习在很大程度上不受监督:我们通过观察来发现世界的结构,而不是通过告知每个物体的名称来发现世界的结构。

    人的视觉是一个活跃的过程,它使用具有高分辨率,低分辨率环绕的小型高分辨率中央凹,以智能的,针对特定任务的方式对光学阵列进行顺序采样。我们期望在视觉上未来的许多进步都将来自端到端训练的系统,并将ConvNets与RNN结合起来,后者使用强化学习来决定在哪里看。结合了深度学习和强化学习的系统尚处于起步阶段,但在分类任务上它们已经超过了被动视觉系统,并且在学习玩许多不同的视频游戏方面产生了令人印象深刻的结果。

    自然语言理解是深度学习必将在未来几年产生巨大影响的另一个领域。我们希望使用RNN理解句子或整个文档的系统在学习一次选择性地关注一部分的策略时会变得更好。

    最终,人工智能的重大进步将通过将表示学习与复杂推理相结合的系统来实现。尽管长期以来,深度学习和简单推理已被用于语音和手写识别,但仍需要新的范例来通过对大向量进行运算来代替基于规则的符号表达操纵。

    深度学习的将来(The future of deep learning ):主要对Unsupervised learning 的发展有个很棒的展望

    展开全文
  • 计算机网络外文翻译

    2011-12-18 14:38:41
    计算机网络专业锁使用的外文翻译,毕业论文所需要的,欢迎下载
  • 文章作者:Tyan ...声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers-translation Squeeze-and-Excitation Networks ...

    文章作者:Tyan
    博客:noahsnail.com  |  CSDN  |  简书

    声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢!

    翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers-translation

    Squeeze-and-Excitation Networks

    摘要

    卷积神经网络建立在卷积运算的基础上,通过融合局部感受野内的空间信息和通道信息来提取信息特征。为了提高网络的表示能力,许多现有的工作已经显示出增强空间编码的好处。在这项工作中,我们专注于通道,并提出了一种新颖的架构单元,我们称之为“Squeeze-and-Excitation”(SE)块,通过显式地建模通道之间的相互依赖关系,自适应地重新校准通道式的特征响应。通过将这些块堆叠在一起,我们证明了我们可以构建SENet架构,在具有挑战性的数据集中可以进行泛化地非常好。关键的是,我们发现SE块以微小的计算成本为现有的最先进的深层架构产生了显著的性能改进。SENets是我们ILSVRC 2017分类提交的基础,它赢得了第一名,并将top-5错误率显著减少到 2.251% 2.251 % ,相对于2016年的获胜成绩取得了 25% ∼ 25 % 的相对改进。

    1. 引言

    卷积神经网络(CNNs)已被证明是解决各种视觉任务的有效模型[19,23,29,41]。对于每个卷积层,沿着输入通道学习一组滤波器来表达局部空间连接模式。换句话说,期望卷积滤波器通过融合空间信息和信道信息进行信息组合,而受限于局部感受野。通过叠加一系列非线性和下采样交织的卷积层,CNN能够捕获具有全局感受野的分层模式作为强大的图像描述。最近的工作已经证明,网络的性能可以通过显式地嵌入学习机制来改善,这种学习机制有助于捕捉空间相关性而不需要额外的监督。Inception架构推广了一种这样的方法[14,39],这表明网络可以通过在其模块中嵌入多尺度处理来取得有竞争力的准确度。最近的工作在寻找更好地模型空间依赖[1,27],结合空间注意力[17]。

    与这些方法相反,通过引入新的架构单元,我们称之为“Squeeze-and-Excitation” (SE)块,我们研究了架构设计的一个不同方向——通道关系。我们的目标是通过显式地建模卷积特征通道之间的相互依赖性来提高网络的表示能力。为了达到这个目的,我们提出了一种机制,使网络能够执行特征重新校准,通过这种机制可以学习使用全局信息来选择性地强调信息特征并抑制不太有用的特征。

    SE构建块的基本结构如图1所示。对于任何给定的变换 Ftr:XU F t r : X → U , XW×H×C,UW×H×C X ∈ R W ′ × H ′ × C ′ , U ∈ R W × H × C ,(例如卷积或一组卷积),我们可以构造一个相应的SE块来执行特征重新校准,如下所示。特征 U U 首先通过squeeze操作,该操作跨越空间维度 W×H W × H 聚合特征映射来产生通道描述符。这个描述符嵌入了通道特征响应的全局分布,使来自网络全局感受野的信息能够被其较低层利用。这之后是一个excitation操作,其中通过基于通道依赖性的自门机制为每个通道学习特定采样的激活,控制每个通道的激励。然后特征映射 U U 被重新加权以生成SE块的输出,然后可以将其直接输入到随后的层中。

    Figure 1

    图1. Squeeze-and-Excitation块

    SE网络可以通过简单地堆叠SE构建块的集合来生成。SE块也可以用作架构中任意深度的原始块的直接替换。然而,虽然构建块的模板是通用的,正如我们6.3节中展示的那样,但它在不同深度的作用适应于网络的需求。在前面的层中,它学习以类不可知的方式激发信息特征,增强共享的较低层表示的质量。在后面的层中,SE块越来越专业化,并以高度类特定的方式响应不同的输入。因此,SE块进行特征重新校准的好处可以通过整个网络进行累积。

    新CNN架构的开发是一项具有挑战性的工程任务,通常涉及许多新的超参数和层配置的选择。相比之下,上面概述的SE块的设计是简单的,并且可以直接与现有的最新架构一起使用,其卷积层可以通过直接用对应的SE层来替换从而进行加强。另外,如第四节所示,SE块在计算上是轻量级的,并且在模型复杂性和计算负担方面仅稍微增加。为了支持这些声明,我们开发了一些SENets,即SE-ResNet,SE-Inception,SE-ResNeXt和SE-Inception-ResNet,并在ImageNet 2012数据集[30]上对SENets进行了广泛的评估。此外,为了证明SE块的一般适用性,我们还呈现了ImageNet之外的结果,表明所提出的方法不受限于特定的数据集或任务。

    使用SENets,我们赢得了ILSVRC 2017分类竞赛的第一名。我们的表现最好的模型集合在测试集上达到了 2.251% 2.251 % top-5错误率。与前一年的获奖者( 2.991% 2.991 % top-5错误率)相比,这表示 25% ∼ 25 % 的相对改进。我们的模型和相关材料已经提供给研究界。

    2. 近期工作

    深层架构。大量的工作已经表明,以易于学习深度特征的方式重构卷积神经网络的架构可以大大提高性能。VGGNets[35]和Inception模型[39]证明了深度增加可以获得的好处,明显超过了ILSVRC 2014之前的方法。批标准化(BN)[14]通过插入单元来调节层输入稳定学习过程,改善了通过深度网络的梯度传播,这使得可以用更深的深度进行进一步的实验。He等人[9,10]表明,通过重构架构来训练更深层次的网络是有效的,通过使用基于恒等映射的跳跃连接来学习残差函数,从而减少跨单元的信息流动。最近,网络层间连接的重新表示[5,12]已被证明可以进一步改善深度网络的学习和表征属性。

    另一种研究方法探索了调整网络模块化组件功能形式的方法。可以用分组卷积来增加基数(一组变换的大小)[13,43]以学习更丰富的表示。多分支卷积可以解释为这个概念的概括,使得卷积算子可以更灵活的组合[14,38,39,40]。跨通道相关性通常被映射为新的特征组合,或者独立的空间结构[6,18],或者联合使用标准卷积滤波器[22]和 1×1 1 × 1 卷积,然而大部分工作的目标是集中在减少模型和计算复杂度上面。这种方法反映了一个假设,即通道关系可以被表述为具有局部感受野的实例不可知的函数的组合。相比之下,我们声称为网络提供一种机制来显式建模通道之间的动态、非线性依赖关系,使用全局信息可以减轻学习过程,并且显著增强网络的表示能力。

    注意力和门机制。从广义上讲,可以将注意力视为一种工具,将可用处理资源的分配偏向于输入信号的信息最丰富的组成部分。这种机制的发展和理解一直是神经科学社区的一个长期研究领域[15,16,28],并且近年来作为一个强大补充,已经引起了深度神经网络的极大兴趣[20,25]。注意力已经被证明可以改善一系列任务的性能,从图像的定位和理解[3,17]到基于序列的模型[2,24]。它通常结合门功能(例如softmax或sigmoid)和序列技术来实现[11,37]。最近的研究表明,它适用于像图像标题[4,44]和口头阅读[7]等任务,其中利用它来有效地汇集多模态数据。在这些应用中,它通常用在表示较高级别抽象的一个或多个层的顶部,以用于模态之间的适应。高速网络[36]采用门机制来调节快捷连接,使得可以学习非常深的架构。王等人[42]受到语义分割成功的启发,引入了一个使用沙漏模块[27]的强大的trunk-and-mask注意力机制。这个高容量的单元被插入到中间阶段之间的深度残差网络中。相比之下,我们提出的SE块是一个轻量级的门机制,专门用于以计算有效的方式对通道关系进行建模,并设计用于增强整个网络中模块的表示能力。

    3. Squeeze-and-Excitation块

    Squeeze-and-Excitation块是一个计算单元,可以为任何给定的变换构建: Ftr:XU,XW×H×C,UW×H×C F t r : X → U , X ∈ R W ′ × H ′ × C ′ , U ∈ R W × H × C 。为了简化说明,在接下来的表示中,我们将 Ftr F t r 看作一个标准的卷积算子。 V=[v1,v2,,vC] V = [ v 1 , v 2 , … , v C ] 表示学习到的一组滤波器核, vc v c 指的是第 c c 个滤波器的参数。然后我们可以将Ftr的输出写作 U=[u1,u2,,uC] U = [ u 1 , u 2 , … , u C ] ,其中

    uc=vcX=s=1Cvscxs. u c = v c ∗ X = ∑ s = 1 C ′ v c s ∗ x s .
    这里 表示卷积, vc=[v1c,v2c,,vCc] v c = [ v c 1 , v c 2 , … , v c C ′ ] X=[x1,x2,,xC] X = [ x 1 , x 2 , … , x C ′ ] (为了简洁表示,忽略偏置项)。这里 vsc v c s 2 2 D空间核,因此表示vc的一个单通道,作用于对应的通道 X X 。由于输出是通过所有通道的和来产生的,所以通道依赖性被隐式地嵌入到 vc v c 中,但是这些依赖性与滤波器捕获的空间相关性纠缠在一起。我们的目标是确保能够提高网络对信息特征的敏感度,以便后续转换可以利用这些功能,并抑制不太有用的功能。我们建议通过显式建模通道依赖性来实现这一点,以便在进入下一个转换之前通过两步重新校准滤波器响应,两步为: squeezeexcitation。SE构建块的图如图1所示。

    3.1. Squeeze:全局信息嵌入

    为了解决利用通道依赖性的问题,我们首先考虑输出特征中每个通道的信号。每个学习到的滤波器都对局部感受野进行操作,因此变换输出 U U 的每个单元都无法利用该区域之外的上下文信息。在网络较低的层次上其感受野尺寸很小,这个问题变得更严重。

    讨论。转换输出 U U 可以被解释为局部描述子的集合,这些描述子的统计信息对于整个图像来说是有表现力的。特征工程工作中[31,34,45]普遍使用这些信息。我们选择最简单的全局平均池化,同时也可以采用更复杂的汇聚策略。

    3.2. Excitation:自适应重新校正

    为了利用压缩操作中汇聚的信息,我们接下来通过第二个操作来全面捕获通道依赖性。为了实现这个目标,这个功能必须符合两个标准:第一,它必须是灵活的(特别是它必须能够学习通道之间的非线性交互);第二,它必须学习一个非互斥的关系,因为独热激活相反,这里允许强调多个通道。为了满足这些标准,我们选择采用一个简单的门机制,并使用sigmoid激活:

    s=Fex(z,W)=σ(g(z,W))=σ(W2δ(W1z)) s = F e x ( z , W ) = σ ( g ( z , W ) ) = σ ( W 2 δ ( W 1 z ) )
    ,其中 δ δ 是指ReLU[26]函数, W1Cr×C W 1 ∈ R C r × C W2C×Cr W 2 ∈ R C × C r 。为了限制模型复杂度和辅助泛化,我们通过在非线性周围形成两个全连接(FC)层的瓶颈来参数化门机制,即降维层参数为 W1 W 1 ,降维比例为 r r (我们把它设置为16,这个参数选择在6.3节中讨论),一个ReLU,然后是一个参数为W2的升维层。块的最终输出通过重新调节带有激活的变换输出 U U 得到:
    x˜c=Fscale(uc,sc)=scuc x ~ c = F s c a l e ( u c , s c ) = s c ⋅ u c
    其中 X˜=[x˜1,x˜2,,x˜C] X ~ = [ x ~ 1 , x ~ 2 , … , x ~ C ] Fscale(uc,sc) F s c a l e ( u c , s c ) 指的是特征映射 ucW×H u c ∈ R W × H 和标量 sc s c 之间的对应通道乘积。

    讨论。激活作为适应特定输入描述符 z z 的通道权重。在这方面,SE块本质上引入了以输入为条件的动态特性,有助于提高特征辨别力。

    3.3. 模型:SE-Inception和SE-ResNet

    SE块的灵活性意味着它可以直接应用于标准卷积之外的变换。为了说明这一点,我们通过将SE块集成到两个流行的网络架构系列Inception和ResNet中来开发SENets。通过将变换 Ftr F t r 看作一个整体的Inception模块(参见图2),为Inception网络构建SE块。通过对架构中的每个模块进行更改,我们构建了一个SE-Inception网络。

    Figure 2

    图2。最初的Inception模块架构(左)和SE-Inception模块(右)。

    残留网络及其变种已经证明在学习深度表示方面非常有效。我们开发了一系列的SE块,分别与ResNet[9],ResNeXt[43]和Inception-ResNet[38]集成。图3描述了SE-ResNet模块的架构。在这里,SE块变换 Ftr F t r 被认为是残差模块的非恒等分支。压缩激励都在恒等分支相加之前起作用。

    Figure 3

    图3。 最初的Residual模块架构(左)和SE-ResNet模块架构(右)。

    4. 模型和计算复杂度

    SENet通过堆叠一组SE块来构建。实际上,它是通过用原始块的SE对应部分(即SE残差块)替换每个原始块(即残差块)而产生的。我们在表1中描述了SE-ResNet-50和SE-ResNeXt-50的架构。

    Table 1

    表1。(左)ResNet-50,(中)SE-ResNet-50,(右)具有 32×4d 32 × 4 d 模板的SE-ResNeXt-50。在括号内列出了残差构建块特定参数设置的形状和操作,并且在外部呈现了一个阶段中堆叠块的数量。fc后面的内括号表示SE模块中两个全连接层的输出维度。

    在实践中提出的SE块是可行的,它必须提供可接受的模型复杂度和计算开销,这对于可伸缩性是重要的。为了说明模块的成本,作为例子我们比较了ResNet-50和SE-ResNet-50,其中SE-ResNet-50的精确度明显优于ResNet-50,接近更深的ResNet-101网络(如表2所示)。对于 224×224 224 × 224 像素的输入图像,ResNet-50单次前向传播需要 3.86 GFLOP。每个SE块利用压缩阶段的全局平均池化操作和激励阶段中的两个小的全连接层,接下来是廉价的通道缩放操作。总的来说,SE-ResNet-50需要 3.87 GFLOP,相对于原始的ResNet-50只相对增加了 0.26% 0.26 %

    Table 2

    表2。ImageNet验证集上的单裁剪图像错误率(%)和复杂度比较。original列是指原始论文中报告的结果。为了进行公平比较,我们重新训练了基准模型,并在re-implementation列中报告分数。SENet列是指已添加SE块后对应的架构。括号内的数字表示与重新实现的基准数据相比的性能改善。†表示该模型已经在验证集的非黑名单子集上进行了评估(在[38]中有更详细的讨论),这可能稍微改善结果。

    在实践中,训练的批数据大小为256张图像,ResNet-50的一次前向传播和反向传播花费 190 190 ms,而SE-ResNet-50则花费 209 209 ms(两个时间都在具有 8 8 个NVIDIA Titan X GPU的服务器上执行)。我们认为这是一个合理的开销,因为在现有的GPU库中,全局池化和小型内积操作的优化程度较低。此外,由于其对嵌入式设备应用的重要性,我们还对每个模型的CPU推断时间进行了基准测试:对于224×224像素的输入图像,ResNet-50花费了 164 164 ms,相比之下,SE-ResNet- 50 50 花费了 167 167 ms。SE块所需的小的额外计算开销对于其对模型性能的贡献来说是合理的(在第6节中详细讨论)。

    接下来,我们考虑所提出的块引入的附加参数。所有附加参数都包含在门机制的两个全连接层中,构成网络总容量的一小部分。更确切地说,引入的附加参数的数量由下式给出:

    2rs=1SNsCs2 2 r ∑ s = 1 S N s ⋅ C s 2
    其中 r r 表示减少比率(我们在所有的实验中将r设置为 16 16 ), S S 指的是阶段数量(每个阶段是指在共同的空间维度的特征映射上运行的块的集合),Cs表示阶段 s s 的输出通道的维度,Ns表示重复的块编号。总的来说,SE-ResNet-50在ResNet-50所要求的 2500万参数之外引入了 250万附加参数,相对增加了 10% ∼ 10 % 的参数总数量。这些附加参数中的大部分来自于网络的最后阶段,其中激励在最大的通道维度上执行。然而,我们发现SE块相对昂贵的最终阶段可以在性能的边际成本(ImageNet数据集上 <0.1% < 0.1 % <script type="math/tex" id="MathJax-Element-69"><0.1 \%</script>的top-1错误率)上被移除,将相对参数增加减少到 4% ∼ 4 % ,这在参数使用是关键考虑的情况下可能证明是有用的。

    5. 实现

    在训练过程中,我们遵循标准的做法,使用随机大小裁剪[39]到 224×224 224 × 224 像素( 299×299 299 × 299 用于Inception-ResNet-v2[38]和SE-Inception-ResNet-v2)和随机的水平翻转进行数据增强。输入图像通过通道减去均值进行归一化。另外,我们采用[32]中描述的数据均衡策略进行小批量采样,以补偿类别的不均匀分布。网络在我们的分布式学习系统“ROCS”上进行训练,能够处理大型网络的高效并行训练。使用同步SGD进行优化,动量为0.9,小批量数据的大小为1024(在4个服务器的每个GPU上分成32张图像的子批次,每个服务器包含8个GPU)。初始学习率设为0.6,每30个迭代周期减少10倍。使用[8]中描述的权重初始化策略,所有模型都从零开始训练100个迭代周期。

    6. 实验

    在这一部分,我们在ImageNet 2012数据集上进行了大量的实验[30],其目的是:首先探索提出的SE块对不同深度基础网络的影响;其次,调查它与最先进的网络架构集成后的能力,旨在公平比较SENets和非SENets,而不是推动性能。接下来,我们将介绍ILSVRC 2017分类任务模型的结果和详细信息。此外,我们在Places365-Challenge场景分类数据集[48]上进行了实验,以研究SENets是否能够很好地泛化到其它数据集。最后,我们研究激励的作用,并根据实验现象给出了一些分析。

    6.1. ImageNet分类

    ImageNet 2012数据集包含来自1000个类别的128万张训练图像和5万张验证图像。我们在训练集上训练网络,并在验证集上使用中心裁剪图像评估来报告top-1top-5错误率,其中每张图像短边首先归一化为256,然后从每张图像中裁剪出 224×224 224 × 224 个像素,(对于Inception-ResNet-v2和SE-Inception-ResNet-v2,每幅图像的短边首先归一化到352,然后裁剪出 299×299 299 × 299 个像素)。

    网络深度。我们首先将SE-ResNet与一系列标准ResNet架构进行比较。每个ResNet及其相应的SE-ResNet都使用相同的优化方案进行训练。验证集上不同网络的性能如表2所示,表明SE块在不同深度上的网络上计算复杂度极小增加,始终提高性能。

    值得注意的是,SE-ResNet-50实现了单裁剪图像 6.62% 6.62 % top-5验证错误率,超过了ResNet-50( 7.48% 7.48 % 0.86% 0.86 % ,接近更深的ResNet-101网络( 6.52% 6.52 % top-5错误率),且只有ResNet-101一半的计算开销( 3.87 3.87 GFLOPs vs. 7.58 7.58 GFLOPs)。这种模式在更大的深度上重复,SE-ResNet-101( 6.07% 6.07 % top-5错误率)不仅可以匹配,而且超过了更深的ResNet-152网络( 6.34% 6.34 % top-5错误率)。图4分别描绘了SE-ResNets和ResNets的训练和验证曲线。虽然应该注意SE块本身增加了深度,但是它们的计算效率极高,即使在扩展的基础架构的深度达到收益递减的点上也能产生良好的回报。而且,我们看到通过对各种不同深度的训练,性能改进是一致的,这表明SE块引起的改进可以与增加基础架构更多深度结合使用。

    Figure 4

    图4。ImageNet上的训练曲线。(左):ResNet-50和SE-ResNet-50;(右):ResNet-152和SE-ResNet-152。

    与现代架构集成。接下来我们将研究SE块与另外两种最先进的架构Inception-ResNet-v2[38]和ResNeXt[43]的结合效果。Inception架构将卷积模块构造为分解滤波器的多分支组合,反映了Inception假设[6],可以独立映射空间相关性和跨通道相关性。相比之下,ResNeXt体架构断言,可以通过聚合稀疏连接(在通道维度中)卷积特征的组合来获得更丰富的表示。两种方法都在模块中引入了先前结构化的相关性。我们构造了这些网络的SENet等价物,SE-Inception-ResNet-v2和SE-ResNeXt(表1给出了SE-ResNeXt-50( 32×4d 32 × 4 d )的配置)。像前面的实验一样,原始网络和它们对应的SENet网络都使用相同的优化方案。

    表2中给出的结果说明在将SE块引入到两种架构中会引起显著的性能改善。尤其是SE-ResNeXt-50的top-5错误率是 5.49% 5.49 % ,优于于它直接对应的ResNeXt-50( 5.90% 5.90 % top-5错误率)以及更深的ResNeXt-101( 5.57% 5.57 % top-5错误率),这个模型几乎有两倍的参数和计算开销。对于Inception-ResNet-v2的实验,我们猜测可能是裁剪策略的差异导致了其报告结果与我们重新实现的结果之间的差距,因为它们的原始图像大小尚未在[38]中澄清,而我们从相对较大的图像(其中较短边被归一化为352)中裁剪出 299×299 299 × 299 大小的区域。SE-Inception-ResNet-v2( 4.79% 4.79 % top-5错误率)比我们重新实现的Inception-ResNet-v2( 5.21% 5.21 % top-5错误率)要低 0.42% 0.42 % (相对改进了 8.1% 8.1 % )也优于[38]中报告的结果。每个网络的优化曲线如图5所示,说明了在整个训练过程中SE块产生了一致的改进。

    Figure 5

    图5。ImageNet的训练曲线。(左): ResNeXt-50和SE-ResNeXt-50;(右):Inception-ResNet-v2和SE-Inception-ResNet-v2。

    最后,我们通过对BN-Inception架构[14]进行实验来评估SE块在非残差网络上的效果,该架构在较低的模型复杂度下提供了良好的性能。比较结果如表2所示,训练曲线如图6所示,表现出的现象与残差架构中出现的现象一样。尤其是与BN-Inception 7.89% 7.89 % 的错误率相比,SE-BN-Inception获得了更低 7.14% 7.14 % top-5错误。这些实验表明SE块引起的改进可以与多种架构结合使用。而且,这个结果适用于残差和非残差基础。

    Figure 6

    图6。BN-Inception和SE-BN-Inception在ImageNet上的训练曲线。

    **ILSVRC 2017分类竞赛的结果。**ILSVRC[30]是一个年度计算机视觉竞赛,被证明是图像分类模型发展的沃土。ILSVRC 2017分类任务的训练和验证数据来自ImageNet 2012数据集,而测试集包含额外的未标记的10万张图像。为了竞争的目的,使用top-5错误率度量来对输入条目进行排序。

    SENets是我们在挑战中赢得第一名的基础。我们的获胜输入由一小群SENets组成,它们采用标准的多尺度和多裁剪图像融合策略,在测试集上获得了 2.251% 2.251 % top-5错误率。这个结果表示在2016年获胜输入( 2.99% 2.99 % top-5错误率)的基础上相对改进了 25% ∼ 25 % 。我们的高性能网络之一是将SE块与修改后的ResNeXt[43]集成在一起构建的(附录A提供了这些修改的细节)。在表3中我们将提出的架构与最新的模型在ImageNet验证集上进行了比较。我们的模型在每一张图像使用 224×224 224 × 224 中间裁剪评估(短边首先归一化到256)取得了 18.68% 18.68 % top-1错误率和 4.47% 4.47 % top-5错误率。为了与以前的模型进行公平的比较,我们也提供了 320×320 320 × 320 的中心裁剪图像评估,在top-1( 17.28% 17.28 % )和top-5( 3.79% 3.79 % )的错误率度量中获得了最低的错误率。

    Table 3

    表3。最新的CNNs在ImageNet验证集上单裁剪图像的错误率。测试的裁剪图像大小是 224×224 224 × 224 和[10]中的 320×320 320 × 320 / 299×299 299 × 299 。与前面的工作相比,我们提出的模型SENet表现出了显著的改进。

    6.2. 场景分类

    ImageNet数据集的大部分由单个对象支配的图像组成。为了在更多不同的场景下评估我们提出的模型,我们还在Places365-Challenge数据集[48]上对场景分类进行评估。该数据集包含800万张训练图像和365个类别的36500张验证图像。相对于分类,场景理解的任务可以更好地评估模型泛化和处理抽象的能力,因为它需要捕获更复杂的数据关联以及对更大程度外观变化的鲁棒性。

    我们使用ResNet-152作为强大的基线来评估SE块的有效性,并遵循[33]中的评估协议。表4显示了针对给定任务训练ResNet-152模型和SE-ResNet-152的结果。具体而言,SE-ResNet-152( 11.01% 11.01 % top-5错误率)取得了比ResNet-152( 11.61% 11.61 % top-5错误率)更低的验证错误率,证明了SE块可以在不同的数据集上表现良好。这个SENet超过了先前的最先进的模型Places-365-CNN [33],它在这个任务上有 11.48% 11.48 % top-5错误率。

    Table 4

    表4。Places365验证集上的单裁剪图像错误率(%)。

    6.3. 分析和讨论

    减少比率。公式(5)中引入的减少比率 r r 是一个重要的超参数,它允许我们改变模型中SE块的容量和计算成本。为了研究这种关系,我们基于SE-ResNet-50架构进行了一系列不同r值的实验。表5中的比较表明,性能并没有随着容量的增加而单调上升。这可能是使SE块能够过度拟合训练集通道依赖性的结果。尤其是我们发现设置 r=16 r = 16 在精度和复杂度之间取得了很好的平衡,因此我们将这个值用于所有的实验。

    Table 5

    表5。 ImageNet验证集上单裁剪图像的错误率(%)和SE-ResNet-50架构在不同减少比率 r r 下的模型大小。这里original指的是ResNet-50。

    激励的作用。虽然SE块从经验上显示出其可以改善网络性能,但我们也想了解自门激励机制在实践中是如何运作的。为了更清楚地描述SE块的行为,本节我们研究SE-ResNet-50模型的样本激活,并考察它们在不同块不同类别下的分布情况。具体而言,我们从ImageNet数据集中抽取了四个类,这些类表现出语义和外观多样性,即金鱼,哈巴狗,刨和悬崖(图7中显示了这些类别的示例图像)。然后,我们从验证集中为每个类抽取50个样本,并计算每个阶段最后的SE块中50个均匀采样通道的平均激活(紧接在下采样之前),并在图8中绘制它们的分布。作为参考,我们也绘制所有1000个类的平均激活分布。

    Figure 7

    图7。ImageNet中四个类别的示例图像。

    Figure 8

    图8。SE-ResNet-50不同模块在ImageNet上由Excitation引起的激活。模块名为“SE stageID blockID”

    我们对SENets中Excitation的作用提出以下三点看法。首先,不同类别的分布在较低层中几乎相同,例如,SE_2_3。这表明在网络的最初阶段特征通道的重要性很可能由不同的类别共享。然而有趣的是,第二个观察结果是在更大的深度,每个通道的值变得更具类别特定性,因为不同类别对特征的判别性值具有不同的偏好。SE_4_6和SE_5_1。这两个观察结果与以前的研究结果一致[21,46],即低层特征通常更普遍(即分类中不可知的类别),而高层特征具有更高的特异性。因此,表示学习从SE块引起的重新校准中受益,其自适应地促进特征提取和专业化到所需要的程度。最后,我们在网络的最后阶段观察到一个有些不同的现象。SE_5_2呈现出朝向饱和状态的有趣趋势,其中大部分激活接近于1,其余激活接近于0。在所有激活值取1的点处,该块将成为标准残差块。在网络的末端SE_5_3中(在分类器之前紧接着是全局池化),类似的模式出现在不同的类别上,尺度上只有轻微的变化(可以通过分类器来调整)。这表明,SE_5_2和SE_5_3在为网络提供重新校准方面比前面的块更不重要。这一发现与第四节实证研究的结果是一致的,这表明,通过删除最后一个阶段的SE块,总体参数数量可以显著减少,性能只有一点损失(<0.1%top-1错误率)。

    7. 结论

    在本文中,我们提出了SE块,这是一种新颖的架构单元,旨在通过使网络能够执行动态通道特征重新校准来提高网络的表示能力。大量实验证明了SENets的有效性,其在多个数据集上取得了最先进的性能。此外,它们还提供了一些关于以前架构在建模通道特征依赖性上的局限性的洞察,我们希望可能证明SENets对其它需要强判别性特征的任务是有用的。最后,由SE块引起的特征重要性可能有助于相关领域,例如为了压缩的网络修剪。

    致谢。我们要感谢Andrew Zisserman教授的有益评论,并感谢Samuel Albanie的讨论并校订论文。我们要感谢Chao Li在训练系统内存优化方面的贡献。Li Shen由国家情报总监(ODNI),先期研究计划中心(IARPA)资助,合同号为2014-14071600010。本文包含的观点和结论属于作者的观点和结论,不应理解为ODNI,IARPA或美国政府明示或暗示的官方政策或认可。尽管有任何版权注释,美国政府有权为政府目的复制和分发重印。

    References

    [1] S. Bell, C. L. Zitnick, K. Bala, and R. Girshick. Inside-outside net: Detecting objects in context with skip pooling and recurrent neural networks. In CVPR, 2016.

    [2] T. Bluche. Joint line segmentation and transcription for end-to-end handwritten paragraph recognition. In NIPS, 2016.

    [3] C.Cao, X.Liu, Y.Yang, Y.Yu, J.Wang, Z.Wang, Y.Huang, L. Wang, C. Huang, W. Xu, D. Ramanan, and T. S. Huang. Look and think twice: Capturing top-down visual attention with feedback convolutional neural networks. In ICCV, 2015.

    [4] L. Chen, H. Zhang, J. Xiao, L. Nie, J. Shao, W. Liu, and T. Chua. SCA-CNN: Spatial and channel-wise attention in convolutional networks for image captioning. In CVPR, 2017.

    [5] Y. Chen, J. Li, H. Xiao, X. Jin, S. Yan, and J. Feng. Dual path networks. arXiv:1707.01629, 2017.

    [6] F. Chollet. Xception: Deep learning with depthwise separable convolutions. In CVPR, 2017.

    [7] J. S. Chung, A. Senior, O. Vinyals, and A. Zisserman. Lip reading sentences in the wild. In CVPR, 2017.

    [8] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification. In ICCV, 2015.

    [9] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016.

    [10] K. He, X. Zhang, S. Ren, and J. Sun. Identity mappings in deep residual networks. In ECCV, 2016.

    [11] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural computation, 1997.

    [12] G. Huang, Z. Liu, K. Q. Weinberger, and L. Maaten. Densely connected convolutional networks. In CVPR, 2017.

    [13] Y. Ioannou, D. Robertson, R. Cipolla, and A. Criminisi. Deep roots: Improving CNN efficiency with hierarchical filter groups. In CVPR, 2017.

    [14] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In ICML, 2015.

    [15] L. Itti and C. Koch. Computational modelling of visual attention. Nature reviews neuroscience, 2001.

    [16] L. Itti, C. Koch, and E. Niebur. A model of saliency-based visual attention for rapid scene analysis. IEEE TPAMI, 1998.

    [17] M. Jaderberg, K. Simonyan, A. Zisserman, and K. Kavukcuoglu. Spatial transformer networks. In NIPS, 2015.

    [18] M. Jaderberg, A. Vedaldi, and A. Zisserman. Speeding up convolutional neural networks with low rank expansions. In BMVC, 2014.

    [19] A. Krizhevsky, I. Sutskever, and G. E. Hinton. ImageNet classification with deep convolutional neural networks. In NIPS, 2012.

    [20] H. Larochelle and G. E. Hinton. Learning to combine foveal glimpses with a third-order boltzmann machine. In NIPS, 2010.

    [21] H. Lee, R. Grosse, R. Ranganath, and A. Y. Ng. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In ICML, 2009.

    [22] M. Lin, Q. Chen, and S. Yan. Network in network. arXiv:1312.4400, 2013.

    [23] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015.

    [24] A. Miech, I. Laptev, and J. Sivic. Learnable pooling with context gating for video classification. arXiv:1706.06905, 2017.

    [25] V. Mnih, N. Heess, A. Graves, and K. Kavukcuoglu. Recurrent models of visual attention. In NIPS, 2014.

    [26] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In ICML, 2010.

    [27] A. Newell, K. Yang, and J. Deng. Stacked hourglass networks for human pose estimation. In ECCV, 2016.

    [28] B. A. Olshausen, C. H. Anderson, and D. C. V. Essen. A neurobiological model of visual attention and invariant pattern recognition based on dynamic routing of information. Journal of Neuroscience, 1993.

    [29] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015.

    [30] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, and L. Fei-Fei. ImageNet large scale visual recognition challenge. IJCV, 2015.

    [31] J. Sanchez, F. Perronnin, T. Mensink, and J. Verbeek. Image classification with the fisher vector: Theory and practice. RR-8209, INRIA, 2013.

    [32] L. Shen, Z. Lin, and Q. Huang. Relay backpropagation for effective learning of deep convolutional neural networks. In ECCV, 2016.

    [33] L. Shen, Z. Lin, G. Sun, and J. Hu. Places401 and places365 models. https://github.com/lishen-shirley/ Places2-CNNs, 2016.

    [34] L. Shen, G. Sun, Q. Huang, S. Wang, Z. Lin, and E. Wu. Multi-level discriminative dictionary learning with application to large scale image classification. IEEE TIP, 2015.

    [35] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015.

    [36] R. K. Srivastava, K. Greff, and J. Schmidhuber. Training very deep networks. In NIPS, 2015.

    [37] M. F. Stollenga, J. Masci, F. Gomez, and J. Schmidhuber. Deep networks with internal selective attention through feedback connections. In NIPS, 2014.

    [38] C.Szegedy, S.Ioffe, V.Vanhoucke, and A.Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. arXiv:1602.07261, 2016.

    [39] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich. Going deeper with convolutions. In CVPR, 2015.

    [40] C.Szegedy, V.Vanhoucke, S.Ioffe, J.Shlens, and Z.Wojna. Rethinking the inception architecture for computer vision. In CVPR, 2016.

    [41] A. Toshev and C. Szegedy. DeepPose: Human pose estimation via deep neural networks. In CVPR, 2014.

    [42] F. Wang, M. Jiang, C. Qian, S. Yang, C. Li, H. Zhang, X. Wang, and X. Tang. Residual attention network for image classification. In CVPR, 2017.

    [43] S. Xie, R. Girshick, P. Dollar, Z. Tu, and K. He. Aggregated residual transformations for deep neural networks. In CVPR, 2017.

    [44] K. Xu, J. Ba, R. Kiros, K. Cho, A. Courville, R. Salakhudinov, R. Zemel, and Y. Bengio. Show, attend and tell: Neural image caption generation with visual attention. In ICML, 2015.

    [45] J. Yang, K. Yu, Y. Gong, and T. Huang. Linear spatial pyramid matching using sparse coding for image classification. In CVPR, 2009.

    [46] J. Yosinski, J. Clune, Y. Bengio, and H. Lipson. How transferable are features in deep neural networks? In NIPS, 2014.

    [47] X. Zhang, Z. Li, C. C. Loy, and D. Lin. Polynet: A pursuit of structural diversity in very deep networks. In CVPR, 2017.

    [48] B. Zhou, A. Lapedriza, A. Khosla, A. Oliva, and A. Torralba. Places: A 10 million image database for scene recognition. IEEE TPAMI, 2017.

    A. ILSVRC 2017 Classification Competition Entry Details

    The SENet in Table 3 is constructed by integrating SE blocks to a modified version of the 64×4d 64 × 4 d ResNeXt-152 that extends the original ResNeXt-101 [43] by following the block stacking of ResNet-152 [9]. More differences to the design and training (beyond the use of SE blocks) were as follows: (a) The number of first 1×1 1 × 1 convolutional channels for each bottleneck building block was halved to reduce the computation cost of the network with a minimal decrease in performance. (b) The first 7×7 7 × 7 convolutional layer was replaced with three consecutive 3×3 3 × 3 convolutional layers. (c) The down-sampling projection 1×1 1 × 1 with stride-2 convolution was replaced with a 3×3 3 × 3 stride-2 convolution to preserve information. (d) A dropout layer (with a drop ratio of 0.2) was inserted before the classifier layer to prevent overfitting. (e) Label-smoothing regularisation (as introduced in [40]) was used during training. (f) The parameters of all BN layers were frozen for the last few training epochs to ensure consistency between training and testing. (g) Training was performed with 8 servers (64 GPUs) in parallelism to enable a large batch size (2048) and initial learning rate of 1.0.

    A. ILSVRC 2017分类竞赛输入细节

    表3中的SENet是通过将SE块集成到 64×4d 64 × 4 d 的ResNeXt-152的修改版本中构建的,通过遵循ResNet-152[9]的块堆叠来扩展原始ResNeXt-101[43]。更多设计和训练差异(除了SE块的使用之外)如下:(a)对于每个瓶颈构建块,首先 1×1 1 × 1 卷积通道的数量减半,以性能下降最小的方式降低网络的计算成本。(b)第一个 7×7 7 × 7 卷积层被三个连续的 3×3 3 × 3 卷积层所取代。(c)步长为2的 1×1 1 × 1 卷积的下采样投影被替换步长为2的 3×3 3 × 3 卷积以保留信息。(d)在分类器层之前插入一个丢弃层(丢弃比为0.2)以防止过拟合。(e)训练期间使用标签平滑正则化(如[40]中所介绍的)。(f)在最后几个训练迭代周期,所有BN层的参数都被冻结,以确保训练和测试之间的一致性。(g)使用8个服务器(64个GPU)并行执行培训,以实现大批量数据大小(2048),初始学习率为1.0。

    展开全文
  • ASP.NET网络商店设计与实现(论文+源代码+开题+文献综述+外文翻译).zip
  • 文章作者:Tyan ...amp;nbsp;|&amp;nbsp;...翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers-translation ImageNet Classification with Deep Convolutional Neural Networks...

    Deep Learning
    文章作者:Tyan
    博客:noahsnail.com  |  CSDN  |  简书

    翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers-translation

    ImageNet Classification with Deep Convolutional Neural Networks

    摘要

    我们训练了一个大型深度卷积神经网络来将ImageNet LSVRC-2010竞赛的120万高分辨率的图像分到1000不同的类别中。在测试数据上,我们得到了top-1 37.5%, top-5 17.0%的错误率,这个结果比目前的最好结果好很多。这个神经网络有6000万参数和650000个神经元,包含5个卷积层(某些卷积层后面带有池化层)和3个全连接层,最后是一个1000维的softmax。为了训练的更快,我们使用了非饱和神经元并对卷积操作进行了非常有效的GPU实现。为了减少全连接层的过拟合,我们采用了一个最近开发的名为dropout的正则化方法,结果证明是非常有效的。我们也使用这个模型的一个变种参加了ILSVRC-2012竞赛,赢得了冠军并且与第二名 top-5 26.2%的错误率相比,我们取得了top-5 15.3%的错误率。

    1 引言

    当前的目标识别方法基本上都使用了机器学习方法。为了提高目标识别的性能,我们可以收集更大的数据集,学习更强大的模型,使用更好的技术来防止过拟合。直到最近,标注图像的数据集都相对较小--在几万张图像的数量级上(例如,NORB[16],Caltech-101/256 [8, 9]和CIFAR-10/100 [12])。简单的识别任务在这样大小的数据集上可以被解决的相当好,尤其是如果通过标签保留变换进行数据增强的情况下。例如,目前在MNIST数字识别任务上(<0.3%)的最好准确率已经接近了人类水平[4]。但真实环境中的对象表现出了相当大的可变性,因此为了学习识别它们,有必要使用更大的训练数据集。实际上,小图像数据集的缺点已经被广泛认识到(例如,Pinto et al. [21]),但收集上百万图像的标注数据仅在最近才变得的可能。新的更大的数据集包括LabelMe [23],它包含了数十万张完全分割的图像,ImageNet [6],它包含了22000个类别上的超过1500万张标注的高分辨率的图像。

    为了从数百万张图像中学习几千个对象,我们需要一个有很强学习能力的模型。然而对象识别任务的巨大复杂性意味着这个问题不能被指定,即使通过像ImageNet这样的大数据集,因此我们的模型应该也有许多先验知识来补偿我们所没有的数据。卷积神经网络(CNNs)构成了一个这样的模型[16, 11, 13, 18, 15, 22, 26]。它们的能力可以通过改变它们的广度和深度来控制,它们也可以对图像的本质进行强大且通常正确的假设(也就是说,统计的稳定性和像素依赖的局部性)。因此,与具有层次大小相似的标准前馈神经网络,CNNs有更少的连接和参数,因此它们更容易训练,而它们理论上的最佳性能可能仅比标准前馈神经网络差一点。

    尽管CNN具有引人注目的质量,尽管它们的局部架构相当有效,但将它们大规模的应用到到高分辨率图像中仍然是极其昂贵的。幸运的是,目前的GPU,搭配了高度优化的2D卷积实现,强大到足够促进有趣地大量CNN的训练,最近的数据集例如ImageNet包含足够的标注样本来训练这样的模型而没有严重的过拟合。

    本文具体的贡献如下:我们在ILSVRC-2010和ILSVRC-2012[2]的ImageNet子集上训练了到目前为止最大的神经网络之一,并取得了迄今为止在这些数据集上报道过的最好结果。我们编写了高度优化的2D卷积GPU实现以及训练卷积神经网络内部的所有其它操作,我们把它公开了。我们的网络包含许多新的不寻常的特性,这些特性提高了神经网络的性能并减少了训练时间,详见第三节。即使使用了120万标注的训练样本,我们的网络尺寸仍然使过拟合成为一个明显的问题,因此我们使用了一些有效的技术来防止过拟合,详见第四节。我们最终的网络包含5个卷积层和3个全连接层,深度似乎是非常重要的:我们发现移除任何卷积层(每个卷积层包含的参数不超过模型参数的1%)都会导致更差的性能。

    最后,网络尺寸主要受限于目前GPU的内存容量和我们能忍受的训练时间。我们的网络在两个GTX 580 3GB GPU上训练五六天。我们的所有实验表明我们的结果可以简单地通过等待更快的GPU和更大的可用数据集来提高。

    2 数据集

    ImageNet数据集有超过1500万的标注高分辨率图像,这些图像属于大约22000个类别。这些图像是从网上收集的,使用了Amazon’s Mechanical Turk的众包工具通过人工标注的。从2010年起,作为Pascal视觉对象挑战赛的一部分,每年都会举办ImageNet大规模视觉识别挑战赛(ILSVRC)。ILSVRC使用ImageNet的一个子集,1000个类别每个类别大约1000张图像。总计,大约120万训练图像,50000张验证图像和15万测试图像。

    ILSVRC-2010是ILSVRC竞赛中唯一可以获得测试集标签的版本,因此我们大多数实验都是在这个版本上运行的。由于我们也使用我们的模型参加了ILSVRC-2012竞赛,因此在第六节我们也报告了模型在这个版本的数据集上的结果,这个版本的测试标签是不可获得的。在ImageNet上,按照惯例报告两个错误率:top-1top-5top-5错误率是指测试图像的正确标签不在模型认为的五个最可能的便签之中。

    ImageNet包含各种分辨率的图像,而我们的系统要求不变的输入维度。因此,我们将图像进行下采样到固定的256×256分辨率。给定一个矩形图像,我们首先缩放图像短边长度为256,然后从结果图像中裁剪中心的256×256大小的图像块。除了在训练集上对像素减去平均活跃度外,我们不对图像做任何其它的预处理。因此我们在原始的RGB像素值(中心的)上训练我们的网络。

    3 架构

    我们的网络架构概括为图2。它包含八个学习层--5个卷积层和3个全连接层。下面,我们将描述我们网络结构中的一些新奇的不寻常的特性。3.1-3.4小节按照我们对它们评估的重要性进行排序,最重要的最有先。

    3.1 ReLU非线性

    将神经元输出f建模为输入x的函数的标准方式是用f(x) = tanh(x)f(x) = (1 + e−x)−1。考虑到梯度下降的训练时间,这些饱和的非线性比非饱和非线性f(x) = max(0,x)更慢。根据Nair和Hinton[20]的说法,我们将这种非线性神经元称为修正线性单元(ReLU)。采用ReLU的深度卷积神经网络训练时间比等价的tanh单元要快几倍。在图1中,对于一个特定的四层卷积网络,在CIFAR-10数据集上达到25%的训练误差所需要的迭代次数可以证实这一点。这幅图表明,如果我们采用传统的饱和神经元模型,我们将不能在如此大的神经网络上实验该工作。

    Figure 1

    图1:使用ReLU的四层卷积神经网络在CIFAR-10数据集上达到25%的训练误差比使用tanh神经元的等价网络(虚线)快六倍。为了使训练尽可能快,每个网络的学习率是单独选择的。没有采用任何类型的正则化。影响的大小随着网络结构的变化而变化,这一点已得到证实,但使用ReLU的网络都比等价的饱和神经元快几倍。

    我们不是第一个考虑替代CNN中传统神经元模型的人。例如,Jarrett等人[11]声称非线性函数f(x) = |tanh(x)|与其对比度归一化一起,然后是局部均值池化,在Caltech-101数据集上工作的非常好。然而,在这个数据集上主要的关注点是防止过拟合,因此他们观测到的影响不同于我们使用ReLU拟合数据集时的加速能力。更快的学习对大型数据集上大型模型的性能有很大的影响。

    3.2 多GPU训练

    单个GTX580 GPU只有3G内存,这限制了可以在GTX580上进行训练的网络最大尺寸。事实证明120万图像用来进行网络训练是足够的,但网络太大因此不能在单个GPU上进行训练。因此我们将网络分布在两个GPU上。目前的GPU非常适合跨GPU并行,因为它们可以直接互相读写内存,而不需要通过主机内存。我们采用的并行方案基本上每个GPU放置一半的核(或神经元),还有一个额外的技巧:只在某些特定的层上进行GPU通信。这意味着,例如,第3层的核会将第2层的所有核映射作为输入。然而,第4层的核只将位于相同GPU上的第3层的核映射作为输入。连接模式的选择是一个交叉验证问题,但这可以让我们准确地调整通信数量,直到它的计算量在可接受的范围内。

    除了我们的列不是独立的之外(看图2),最终的架构有点类似于Ciresan等人[5]采用的“columnar” CNN。与每个卷积层一半的核在单GPU上训练的网络相比,这个方案降分别低了我们的top-1 1.7%top-5 1.2%的错误率。双GPU网络比单GPU网络稍微减少了训练时间。

    Figure 2

    图 2:我们CNN架构图解,明确描述了两个GPU之间的责任。在图的顶部,一个GPU运行在部分层上,而在图的底部,另一个GPU运行在部分层上。GPU只在特定的层进行通信。网络的输入是150,528维,网络剩下层的神经元数目分别是253,440–186,624–64,896–64,896–43,264–4096–4096–1000(8层)。

    3.3 局部响应归一化

    ReLU具有让人满意的特性,它不需要通过输入归一化来防止饱和。如果至少一些训练样本对ReLU产生了正输入,那么那个神经元上将发生学习。然而,我们仍然发现接下来的局部响应归一化有助于泛化。 a x , y i a_{x,y}^i ax,yi表示神经元激活,通过在 ( x , y ) (x, y) (x,y)位置应用核 i i i,然后应用ReLU非线性来计算,响应归一化激活 b x , y i b^i_{x,y} bx,yi通过下式给定:

    b x , y i = a x , y i / ( k + α ∑ j = m a x ( 0 , i − n / 2 ) m i n ( N − 1 , i + n / 2 ) ( a x , y j ) 2 ) β b^i_{x,y} = a_{x,y}^i / ( k + \alpha \sum _{j = max(0, i-n / 2)} ^{min(N-1, i+n / 2)} (a_{x,y}^j)^2 )^\beta bx,yi=ax,yi/(k+αj=max(0,in/2)min(N1,i+n/2)(ax,yj)2)β

    求和运算在n个“毗邻的”核映射的同一位置上执行,N是本层的卷积核数目。核映射的顺序当然是任意的,在训练开始前确定。响应归一化的顺序实现了一种侧抑制形式,灵感来自于真实神经元中发现的类型,为使用不同核进行神经元输出计算的较大活动创造了竞争。常量k,n,α,β是超参数,它们的值通过验证集确定;我们设k=2,n=5,α=0.0001,β=0.75。我们在特定的层使用的ReLU非线性之后应用了这种归一化(请看3.5小节)。

    这个方案与Jarrett等人[11]的局部对比度归一化方案有一定的相似性,但我们更恰当的称其为“亮度归一化”,因此我们没有减去均值。响应归一化分别减少了top-1 1.4%top-5 1.2%的错误率。我们也在CIFAR-10数据集上验证了这个方案的有效性:一个乜嘢归一化的四层CNN取得了13%的错误率,而使用归一化取得了11%的错误率。

    3.4 重叠池化

    CNN中的池化层归纳了同一核映射上相邻组神经元的输出。习惯上,相邻池化单元归纳的区域是不重叠的(例如[17, 11, 4])。更确切的说,池化层可看作由池化单元网格组成,网格间距为 s s s个像素,每个网格归纳池化单元中心位置 z × z z × z z×z大小的邻居。如果设置 s = z s = z s=z,我们会得到通常在CNN中采用的传统局部池化。如果设置 s &lt; z s &lt; z s<z,我们会得到重叠池化。这就是我们网络中使用的方法,设置 s = 2 s = 2 s=2 z = 3 z = 3 z=3。这个方案分别降低了top-1 0.4%top-5 0.3%的错误率,与非重叠方案 s = 2 , z = 2 s = 2,z = 2 s=2z=2相比,输出的维度是相等的。我们在训练过程中通常观察采用重叠池化的模型,发现它更难过拟合。

    3.5 整体架构

    现在我们准备描述我们的CNN的整体架构。如图2所示,我们的网络包含8个带权重的层;前5层是卷积层,剩下的3层是全连接层。最后一层全连接层的输出是1000维softmax的输入,softmax会产生1000类标签的分布。我们的网络最大化多项逻辑回归的目标,这等价于最大化预测分布下训练样本正确标签的对数概率的均值。

    第2,4,5卷积层的核只与位于同一GPU上的前一层的核映射相连接(看图2)。第3卷积层的核与第2层的所有核映射相连。全连接层的神经元与前一层的所有神经元相连。第1,2卷积层之后是响应归一化层。3.4节描述的这种最大池化层在响应归一化层和第5卷积层之后。ReLU非线性应用在每个卷积层和全连接层的输出上。

    第1卷积层使用96个核对224 × 224 × 3的输入图像进行滤波,核大小为11 × 11 × 3,步长是4个像素(核映射中相邻神经元感受野中心之间的距离)。第2卷积层使用用第1卷积层的输出(响应归一化和池化)作为输入,并使用256个核进行滤波,核大小为5 × 5 × 48。第3,4,5卷积层互相连接,中间没有接入池化层或归一化层。第3卷积层有384个核,核大小为3 × 3 × 256,与第2卷积层的输出(归一化的,池化的)相连。第4卷积层有384个核,核大小为3 × 3 × 192,第5卷积层有256个核,核大小为3 × 3 × 192。每个全连接层有4096个神经元。

    4 减少过拟合

    我们的神经网络架构有6000万参数。尽管ILSVRC的1000类使每个训练样本从图像到标签的映射上强加了10比特的约束,但这不足以学习这么多的参数而没有相当大的过拟合。下面,我们会描述我们用来克服过拟合的两种主要方式。

    4.1 数据增强

    图像数据上最简单常用的用来减少过拟合的方法是使用标签保留变换(例如[25, 4, 5])来人工增大数据集。我们使用了两种独特的数据增强方式,这两种方式都可以从原始图像通过非常少的计算量产生变换的图像,因此变换图像不需要存储在硬盘上。在我们的实现中,变换图像通过CPU的Python代码生成,而此时GPU正在训练前一批图像。因此,实际上这些数据增强方案是计算免费的。

    第一种数据增强方式包括产生图像变换和水平翻转。我们从256×256图像上通过随机提取224 × 224的图像块实现了这种方式,然后在这些提取的图像块上进行训练。这通过一个2048因子增大了我们的训练集,尽管最终的训练样本是高度相关的。没有这个方案,我们的网络会有大量的过拟合,这会迫使我们使用更小的网络。在测试时,网络会提取5个224 × 224的图像块(四个角上的图像块和中心的图像块)和它们的水平翻转(因此总共10个图像块)进行预测,然后对网络在10个图像块上的softmax层进行平均。

    第二种数据增强方式包括改变训练图像的RGB通道的强度。具体地,我们在整个ImageNet训练集上对RGB像素值集合执行PCA。对于每幅训练图像,我们加上多倍找到的主成分,大小成正比的对应特征值乘以一个随机变量,随机变量通过均值为0,标准差为0.1的高斯分布得到。因此对于每幅RGB图像像素 I x y = [ I x y R , I x y G , I x y B ] T I_xy = [I^R_{xy} , I^G_{xy} , I^B_{xy} ]^T Ixy=[IxyR,IxyG,IxyB]T,我们加上下面的数量:

    [ p 1 , p 2 , p 3 ] [ α 1 λ 1 , α 2 λ 2 , α 3 λ 3 ] T [p_1, p_2, p_3][\alpha_1\lambda_1, \alpha_2\lambda_2, \alpha_3\lambda_3]^T [p1,p2,p3][α1λ1,α2λ2,α3λ3]T

    p i p_i pi λ i \lambda_i λi分别是RGB像素值3 × 3协方差矩阵的第 i i i个特征向量和特征值, α i \alpha_i αi是前面提到的随机变量。对于某个训练图像的所有像素,每个 α i \alpha_i αi只获取一次,直到图像进行下一次训练时才重新获取。这个方案近似抓住了自然图像的一个重要特性,即光照的颜色和强度发生变化时,目标身份是不变的。这个方案减少了top 1错误率1%以上

    4.2 失活(Dropout)

    将许多不同模型的预测结合起来是降低测试误差[1, 3]的一个非常成功的方法,但对于需要花费几天来训练的大型神经网络来说,这似乎太昂贵了。然而,有一个非常有效的模型结合版本,它只花费两倍的训练成本。这种最近引入的技术,叫做“dropout”[10],它会以0.5的概率对每个隐层神经元的输出设为0。那些“失活的”的神经元不再进行前向传播并且不参与反向传播。因此每次输入时,神经网络会采样一个不同的架构,但所有架构共享权重。这个技术减少了复杂的神经元互适应,因为一个神经元不能依赖特定的其它神经元的存在。因此,神经元被强迫学习更鲁棒的特征,它在与许多不同的其它神经元的随机子集结合时是有用的。在测试时,我们使用所有的神经元但它们的输出乘以0.5,对指数级的许多失活网络的预测分布进行几何平均,这是一种合理的近似。

    我们在图2中的前两个全连接层使用失活。如果没有失活,我们的网络表现出大量的过拟合。失活大致上使要求收敛的迭代次数翻了一倍。

    5 学习细节

    我们使用随机梯度下降来训练我们的模型,样本的batch size为128,动量为0.9,权重衰减为0.0005。我们发现少量的权重衰减对于模型的学习是重要的。换句话说,权重衰减不仅仅是一个正则项:它减少了模型的训练误差。权重 w w w的更新规则是

    v i + 1 : = 0.9 ∙ v i − 0.0005 ∙ ε ∙ w i − ε ∙ ⟨ ∂ L ∂ w ∣ _ w i ⟩ _ D i v_{i+1} := 0.9 \bullet v_i - 0.0005 \bullet \varepsilon \bullet w_i - \varepsilon \bullet \langle \frac{\partial L} {\partial w} |\_{w_i}\rangle \_{D_i} vi+1:=0.9vi0.0005εwiεwL_wi_Di

    i i i是迭代索引, v v v是动量变量, ε \varepsilon ε是学习率, ⟨ ∂ L ∂ w ∣ w i ⟩ D i \langle \frac{\partial L} {\partial w} |_{w_i}\rangle _{D_i} wLwiDi是目标函数对 w w w,在 w i w_i wi上的第 i i i批微分 D i D_i Di的平均。

    我们使用均值为0,标准差为0.01的高斯分布对每一层的权重进行初始化。我们在第2,4,5卷积层和全连接隐层将神经元偏置初始化为常量1。这个初始化通过为ReLU提供正输入加速了学习的早期阶段。我们在剩下的层将神经元偏置初始化为0。

    我们对所有的层使用相等的学习率,这个是在整个训练过程中我们手动调整得到的。当验证误差在当前的学习率下停止提供时,我们遵循启发式的方法将学习率除以10。学习率初始化为0.01,在训练停止之前降低三次。我们在120万图像的训练数据集上训练神经网络大约90个循环,在两个NVIDIA GTX 580 3GB GPU上花费了五到六天。

    6 结果

    我们在ILSVRC-2010上的结果概括为表1。我们的神经网络取得了top-1 37.5%top-5 17.0%的错误率。在ILSVRC-2010竞赛中最佳结果是top-1 47.1%top-5 28.2%,使用的方法是对6个在不同特征上训练的稀疏编码模型生成的预测进行平均,从那时起已公布的最好结果是top-1 45.7%top-5 25.7%,使用的方法是平均在Fisher向量(FV)上训练的两个分类器的预测结果,Fisher向量是通过两种密集采样特征计算得到的[24]。

    表1

    表1:ILSVRC-2010测试集上的结果对比。斜体是其它人取得的最好结果。

    我们也用我们的模型参加了ILSVRC-2012竞赛并在表2中报告了我们的结果。由于ILSVRC-2012的测试集标签不可以公开得到,我们不能报告我们尝试的所有模型的测试错误率。在这段的其余部分,我们会使用验证误差率和测试误差率互换,因为在我们的实验中它们的差别不会超过0.1%(看图2)。本文中描述的CNN取得了top-5 18.2%的错误率。五个类似的CNN预测的平均误差率为16.4%。为了对ImageNet 2011秋季发布的整个数据集(1500万图像,22000个类别)进行分类,我们在最后的池化层之后有一个额外的第6卷积层,训练了一个CNN,然后在它上面进行“fine-tuning”,在ILSVRC-2012取得了16.6%的错误率。对在ImageNet 2011秋季发布的整个数据集上预训练的两个CNN和前面提到的五个CNN的预测进行平均得到了15.3%的错误率。第二名的最好竞赛输入取得了26.2%的错误率,他的方法是对FV上训练的一些分类器的预测结果进行平均,FV在不同类型密集采样特征计算得到的。

    表2

    表2:ILSVRC-2012验证集和测试集的误差对比。斜线部分是其它人取得的最好的结果。带星号的是“预训练的”对ImageNet 2011秋季数据集进行分类的模型。更多细节请看第六节。

    最后,我们也报告了我们在ImageNet 2009秋季数据集上的误差率,ImageNet 2009秋季数据集有10,184个类,890万图像。在这个数据集上我们按照惯例用一半的图像来训练,一半的图像来测试。由于没有建立测试集,我们的数据集分割有必要不同于以前作者的数据集分割,但这对结果没有明显的影响。我们在这个数据集上的的top-1和top-5错误率是67.4%和40.9%,使用的是上面描述的在最后的池化层之后有一个额外的第6卷积层网络。这个数据集上公开可获得的最好结果是78.1%和60.9%[19]。

    6.1 定性评估

    图3显示了网络的两个数据连接层学习到的卷积核。网络学习到了大量的频率核、方向选择核,也学到了各种颜色点。注意两个GPU表现出的专业化,3.5小节中描述的受限连接的结果。GPU 1上的核主要是没有颜色的,而GPU 2上的核主要是针对颜色的。这种专业化在每次运行时都会发生,并且是与任何特别的随机权重初始化(以GPU的重新编号为模)无关的。

    Figure 3

    图3:第一卷积层在224×224×3的输入图像上学习到的大小为11×11×3的96个卷积核。上面的48个核是在GPU 1上学习到的而下面的48个卷积核是在GPU 2上学习到的。更多细节请看6.1小节。

    在图4的左边部分,我们通过在8张测试图像上计算它的top-5预测定性地评估了网络学习到的东西。注意即使是不在图像中心的目标也能被网络识别,例如左上角的小虫。大多数的top-5标签似乎是合理的。例如,对于美洲豹来说,只有其它类型的猫被认为是看似合理的标签。在某些案例(格栅,樱桃)中,网络在意的图片焦点真的很含糊。

    Figure 4

    图4:(左)8张ILSVRC-2010测试图像和我们的模型认为最可能的5个标签。每张图像的下面是它的正确标签,正确标签的概率用红条表示(如果正确标签在top 5中)。(右)第一列是5张ILSVRC-2010测试图像。剩下的列展示了6张训练图像,这些图像在最后的隐藏层的特征向量与测试图像的特征向量有最小的欧氏距离。

    探索网络可视化知识的另一种方式是思考最后的4096维隐藏层在图像上得到的特征激活。如果两幅图像生成的特征激活向量之间有较小的欧式距离,我们可以认为神经网络的更高层特征认为它们是相似的。图4表明根据这个度量标准,测试集的5张图像和训练集的6张图像中的每一张都是最相似的。注意在像素级别,检索到的训练图像与第一列的查询图像在L2上通常是不接近的。例如,检索的狗和大象似乎有很多姿态。我们在补充材料中对更多的测试图像呈现了这种结果。

    通过两个4096维实值向量间的欧氏距离来计算相似性是效率低下的,但通过训练一个自动编码器将这些向量压缩为短二值编码可以使其变得高效。这应该会产生一种比将自动编码器应用到原始像素上[14]更好的图像检索方法,自动编码器应用到原始像素上的方法没有使用图像标签,因此会趋向于检索与要检索的图像具有相似边缘模式的图像,无论它们是否是语义上相似。

    7 探讨

    我们的结果表明一个大型深度卷积神经网络在一个具有高度挑战性的数据集上使用纯有监督学习可以取得破纪录的结果。值得注意的是,如果移除一个卷积层,我们的网络性能会降低。例如,移除任何中间层都会引起网络损失大约2%的top-1性能。因此深度对于实现我们的结果非常重要。

    为了简化我们的实验,我们没有使用任何无监督的预训练,尽管我们希望它会有所帮助,特别是在如果我们能获得足够的计算能力来显著增加网络的大小而标注的数据量没有对应增加的情况下。到目前为止,我们的结果已经提高了,因为我们的网络更大、训练时间更长,但为了匹配人类视觉系统的下颞线(视觉专业术语)我们仍然有许多数量级要达到。最后我们想在视频序列上使用非常大的深度卷积网络,视频序列的时序结构会提供非常有帮助的信息,这些信息在静态图像上是缺失的或远不那么明显。

    References

    [1] R.M.BellandY.Koren.Lessonsfromthenetflixprizechallenge.ACMSIGKDDExplorationsNewsletter, 9(2):75–79, 2007.

    [2] A. Berg, J. Deng, and L. Fei-Fei. Large scale visual recognition challenge 2010. www.imagenet.org/challenges. 2010.

    [3] L. Breiman. Random forests. Machine learning, 45(1):5–32, 2001.

    [4] D. Cires ̧an, U. Meier, and J. Schmidhuber. Multi-column deep neural networks for image classification. Arxiv preprint arXiv:1202.2745, 2012.

    [5] D.C. Cires ̧an, U. Meier, J. Masci, L.M. Gambardella, and J. Schmidhuber. High-performance neural networks for visual object classification. Arxiv preprint arXiv:1102.0183, 2011.

    [6] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. ImageNet: A Large-Scale Hierarchical Image Database. In CVPR09, 2009.

    [7] J. Deng, A. Berg, S. Satheesh, H. Su, A. Khosla, and L. Fei-Fei. ILSVRC-2012, 2012. URL http://www.image-net.org/challenges/LSVRC/2012/.

    [8] L. Fei-Fei, R. Fergus, and P. Perona. Learning generative visual models from few training examples: An incremental bayesian approach tested on 101 object categories. Computer Vision and Image Understanding, 106(1):59–70, 2007.

    [9] G. Griffin, A. Holub, and P. Perona. Caltech-256 object category dataset. Technical Report 7694, California Institute of Technology, 2007. URL http://authors.library.caltech.edu/7694.

    [10] G.E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R.R. Salakhutdinov. Improving neural networks by preventing co-adaptation of feature detectors. arXiv preprint arXiv:1207.0580, 2012.

    [11] K. Jarrett, K. Kavukcuoglu, M. A. Ranzato, and Y. LeCun. What is the best multi-stage architecture for object recognition? In International Conference on Computer Vision, pages 2146–2153. IEEE, 2009.

    [12] A. Krizhevsky. Learning multiple layers of features from tiny images. Master’s thesis, Department of Computer Science, University of Toronto, 2009.

    [13] A. Krizhevsky. Convolutional deep belief networks on cifar-10. Unpublished manuscript, 2010.

    [14] A. Krizhevsky and G.E. Hinton. Using very deep autoencoders for content-based image retrieval. In ESANN, 2011.

    [15] Y. Le Cun, B. Boser, J.S. Denker, D. Henderson, R.E. Howard, W. Hubbard, L.D. Jackel, et al. Handwritten digit recognition with a back-propagation network. In Advances in neural information processing systems, 1990.

    [16] Y. LeCun, F.J. Huang, and L. Bottou. Learning methods for generic object recognition with invariance to pose and lighting. In Computer Vision and Pattern Recognition, 2004. CVPR 2004. Proceedings of the 2004 IEEE Computer Society Conference on, volume 2, pages II–97. IEEE, 2004.

    [17] Y. LeCun, K. Kavukcuoglu, and C. Farabet. Convolutional networks and applications in vision. In Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on, pages 253–256. IEEE, 2010.

    [18] H. Lee, R. Grosse, R. Ranganath, and A.Y. Ng. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In Proceedings of the 26th Annual International Conference on Machine Learning, pages 609–616. ACM, 2009.

    [19] T. Mensink, J. Verbeek, F. Perronnin, and G. Csurka. Metric Learning for Large Scale Image Classification: Generalizing to New Classes at Near-Zero Cost. In ECCV - European Conference on Computer Vision, Florence, Italy, October 2012.

    [20] V. Nair and G. E. Hinton. Rectified linear units improve restricted boltzmann machines. In Proc. 27th International Conference on Machine Learning, 2010.

    [21] N. Pinto, D.D. Cox, and J.J. DiCarlo. Why is real-world visual object recognition hard? PLoS computational biology, 4(1):e27, 2008.

    [22] N. Pinto, D. Doukhan, J.J. DiCarlo, and D.D. Cox. A high-throughput screening approach to discovering good forms of biologically inspired visual representation. PLoS computational biology, 5(11):e1000579,2009.

    [23] B.C. Russell, A. Torralba, K.P. Murphy, and W.T. Freeman. Labelme: a database and web-based tool for image annotation. International journal of computer vision, 77(1):157–173, 2008.

    [24] J.SánchezandF.Perronnin.High-dimensionalsignaturecompressionforlarge-scaleimageclassification. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, pages 1665–1672. IEEE,2011.

    [25] P.Y. Simard, D. Steinkraus, and J.C. Platt. Best practices for convolutional neural networks applied to visual document analysis. In Proceedings of the Seventh International Conference on Document Analysis and Recognition, volume 2, pages 958–962, 2003.

    [26] S.C.Turaga,J.F.Murray,V.Jain,F.Roth,M.Helmstaedter,K.Briggman,W.Denk,andH.S.Seung.Convolutional networks can learn to generate affinity graphs for image segmentation. Neural Computation, 22(2):511–538, 2010.

    展开全文
  • ASP网络硬盘文件资源管理系统(源代码+论文+开题报告+答辩PPT+外文翻译).zip
  • comma.ai论文翻译

    千次阅读 2017-03-27 15:16:54
    论文阐述了一种我们目前研究用于驾驶模拟的方法,旨在研究变分自动编码器(Variational Autoencoder,简称VAE)及基于生成式对抗网络(generative adversarial network,简称GAN),用于实现道路视频
  • Squeeze-and-Excitation Networks论文翻译——中英文对照

    万次阅读 多人点赞 2017-11-22 16:51:28
    文章作者:Tyan ...声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers-translation Squeeze-and-Excitation Networks ...
  • Tacotron是谷歌于2017年提出的端到端语音合成系统,该模型可接收字符的输入,输出相应的原始频谱图, 然后将其提供给 Griffin-Lim 重建算法...相关的论文原本准备自己翻译,看到网上已经有翻译的比较好的版本,...
  • AlphaGo围棋论文中文翻译

    万次阅读 多人点赞 2016-03-17 17:00:24
    Mastering the game of Go with deep neural ...(使用深度神经网络与树搜索使计算机精通围棋) David Silver1*, Aja Huang1*, Chris J. Maddison1, Arthur Guez1, Laurent Sifre1, George van den Driessche1, J...
  • 本文是经典深度学习论文GoogLeNet的全文翻译论文原文和中英对照翻译欢迎点击:http://pan.baidu.com/s/1gedzApl 下载
  • 文章作者:Tyan ...声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢! 翻译论文汇总:https://github.com/SnailTyan/deep-learning-papers-translation You Only Look Once: Unified, Rea...
  • YOLOv1论文翻译——中文版

    千次阅读 2018-04-27 11:02:35
    文章作者:Tyan博客:noahsnail.com  | CSDN | 简书声明:作者翻译论文仅为学习,如有侵权请联系作者删除博文,谢谢!翻译论文汇总:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,613
精华内容 20,645
关键字:

网络专业论文翻译