AI博士笔记系列举荐:周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接
本文为联盟学习笔记
参加:王博kings,Sophia
本文波及论文已打包,公众号【计算机视觉联盟】后盾回复“9079”获取下载链接!
前言
计算机视觉是将图像和视频转换成机器可了解的信号的主题。利用这些信号,程序员能够基于这种高级了解来进一步管制机器的行为。在许多计算机视觉工作中,图像分类是最根本的工作之一。它不仅能够用于许多理论产品中,例如Google Photo的标签和AI内容审核,而且还为许多更高级的视觉工作(例如物体检测和视频了解)关上了一扇门。自从深度学习的冲破以来,因为该畛域的疾速变动,初学者常常发现它太蠢笨,无奈学习。与典型的软件工程学科不同,没有很多对于应用DCNN进行图像分类的书籍,而理解该畛域的最佳办法是浏览学术论文。然而要读什么论文?我从哪说起呢?在本文中,我将介绍10篇最佳论文供初学者浏览。通过这些论文,咱们能够看到该畛域是如何倒退的,以及钻研人员如何依据以前的研究成果提出新的想法。然而,即便您曾经在此畛域工作了一段时间,对您进行大范畴整顿依然很有帮忙。
1998年:LeNet
梯度学习在于文档辨认中的利用
摘自“ 基于梯度的学习利用于文档辨认”
LeNet于1998年推出,为应用卷积神经网络进行将来图像分类钻研奠定了根底。许多经典的CNN技术(例如池化层,齐全连贯的层,填充和激活层)用于提取特色并进行分类。借助均方误差损失性能和20个训练周期,该网络在MNIST测试集上能够达到99.05%的精度。即便通过20年,依然有许多最先进的分类网络总体上遵循这种模式。
2012年:AlexNet
深度卷积神经网络的ImageNet分类
摘自“ 具备深度卷积神经网络的ImageNet分类”
只管LeNet获得了不错的问题并显示了CNN的后劲,但因为计算能力和数据量无限,该畛域的倒退停滞了十年。看起来CNN只能解决一些简略的工作,例如数字辨认,然而对于更简单的特色(如人脸和物体),带有SVM分类器的HarrCascade或SIFT特征提取器是更可取的办法。
然而,在2012年ImageNet大规模视觉辨认挑战赛中,Alex Krizhevsky提出了基于CNN的解决方案来应答这一挑战,并将ImageNet测试安装的top-5准确性从73.8%大幅提高到84.7%。他们的办法继承了LeNet的多层CNN想法,然而大大增加了CNN的大小。从上图能够看到,与LeNet的32×32相比,当初的输出为224×224,与LeNet的6相比,许多卷积内核具备192个通道。只管设计变动不大,但参数变动了数百次,但网络的捕捉和示意简单特色的能力也进步了数百倍。为了进行大型模型训练,Alex应用了两个具备3GB RAM的GTX 580 GPU,这创始了GPU训练的先河。同样,应用ReLU非线性也有助于升高计算成本。
除了为网络带来更多参数外,它还通过应用 Dropout层探讨了大型网络带来的过拟合问题 。其部分响应归一化办法尔后并没有取得太大的遍及,然而启发了其余重要的归一化技术(例如BatchNorm)来解决梯度饱和问题。综上所述,AlexNet定义了将来十年的理论分类网络框架: 卷积,ReLu非线性激活,MaxPooling和Dense层的组合。
2014年:VGG
超深度卷积网络用于大规模图像识别
来自Quora“ https://www.quora.com/What-is-the-VGG-neural-network”
在应用CNN进行视觉辨认方面获得了巨大成功,整个钻研界都大吃一惊,所有人都开始钻研为什么这种神经网络可能如此杰出地工作。例如,在2013年发表的“可视化和了解卷积网络”中,Matthew Zeiler探讨了CNN如何获取特色并可视化两头示意。忽然之间,每个人都开始意识到CNN自2014年以来就是计算机视觉的将来。在所有间接关注者中,Visual Geometry Group的VGG网络是最吸引眼球的网络。在ImageNet测试仪上,它的top-5准确度达到93.2%,top-1准确度达到了76.3%。
遵循AlexNet的设计,VGG网络有两个次要更新: 1)VGG不仅应用了像AlexNet这样的更宽泛的网络,而且应用了更深的网络。VGG-19具备19个卷积层,而AlexNet中只有5个。2)VGG还展现了一些小的3×3卷积滤波器能够代替AlexNet的单个7×7甚至11×11滤波器,在升高计算成本的同时实现更好的性能。 因为这种优雅的设计,VGG也成为了其余计算机视觉工作中许多开拓性网络的骨干网络,例如用于语义宰割的FCN和用于对象检测的Faster R-CNN。
随着网络的深刻,从多层反向流传中梯度隐没成为一个更大的问题。为了解决这个问题,VGG还探讨了预训练和权重初始化的重要性。这个问题限度了钻研人员持续增加更多的层,否则,网络将很难交融。然而两年后,咱们将为此找到更好的解决方案。
2014年:GoogLeNet
更深卷积
摘自“ Going Deeper with Convolutions”
VGG具备丑陋的外观和易于了解的构造,但在ImageNet 2014比赛的所有决赛入围者中体现都不佳。GoogLeNet(又名InceptionV1)取得了最终奖。就像VGG一样,GoogLeNet的次要奉献之一就是 采纳22层构造来冲破网络深度的限度 。这再次证实,进一步深刻的确是进步准确性的正确方向。
与VGG不同,GoogLeNet试图间接解决计算和梯度递加问题,而不是提出具备更好的预训练模式和权重初始化的解决办法。
Bottleneck Inception Module From “ Going Deeper with Convolutions”
首先,它 应用称为Inception的模块摸索了非对称网络设计的思维 (请参见上图)。现实状况下,他们心愿采纳稠密卷积或密集层来进步特色效率,然而古代硬件设计并非针对这种状况。因而,他们认为,网络拓扑级别的稠密性还能够在利用现有硬件性能的同时,帮忙交融性能。
其次,它通过借鉴论文“网络中的网络”来解决高计算成本的问题。基本上, 引入1×1卷积滤波器以在进行沉重的计算操作(如5×5卷积内核)之前减小特色的尺寸 。当前将该构造称为“ Bottleneck ”,并在许多后续网络中宽泛应用。相似于“网络中的网络”,它还应用均匀池层代替最终的齐全连贯层,以进一步降低成本。
第三,为了帮忙梯度流向更深的档次,GoogLeNet还对某些中间层输入或辅助输入应用了监督。因为其复杂性,该设计起初在图像分类网络中并不非常风行,然而在计算机视觉的其余畛域(如Hourglass网络)的姿态预计中越来越风行。
作为后续口头,这个Google团队为此Inception系列写了更多论文。“批处理规范化:通过缩小外部协变量偏移来减速深度网络训练”代表 InceptionV2 。2015年的“从新思考计算机视觉的Inception架构”代表 InceptionV3 。2015年的“ Inception-v4,Inception-ResNet和残余连贯对学习的影响”代表 InceptionV4 。每篇论文都对原始的Inception网络进行了更多改良,并获得了更好的成果。
2015年:Batch Normalization
批处理规范化:通过缩小外部协变量偏移来减速深度网络训练
初始网络帮忙钻研人员在ImageNet数据集上达到了超人的准确性。然而,作为一种统计学习办法, CNN十分受特定训练数据集的统计性质的限度 。因而,为了取得更高的准确性,咱们通常须要事后计算整个数据集的平均值和标准偏差,并应用它们首先对咱们的输出进行归一化,以确保网络中的大多数层输出都严密,从而转化为更好的激活响应能力。这种近似办法十分麻烦,有时对于新的网络结构或新的数据集基本不起作用,因而深度学习模型依然被认为很难训练。为了解决这个问题,创立GoogLeNet的人Sergey Ioffe和Chritian Szegedy决定创造一种更聪慧的货色,称为“ 批量标准化 ”。
摘自“ 批量标准化:通过缩小外部协变量偏移来减速深度网络训练”
批量规范化的想法并不难:只有训练足够长的工夫,咱们就能够应用一系列小批量的统计数据来近似整个数据集的统计数据。而且,代替手动计算统计信息,咱们能够引入两个更多可学习的参数 “缩放” 和 “移位” ,以使网络学习如何独自对每一层进行规范化。
上图显示了计算批次归一化值的过程。如咱们所见,咱们取整个小批量的平均值,并计算方差。接下来,咱们能够应用此最小批量均值和方差对输出进行归一化。最初,通过比例尺和位移参数,网络将学会调整批标准化后果以最适宜下一层,通常是ReLU。一个正告是咱们在推理期间没有小批量信息,因而一种解决办法是在训练期间计算挪动平均值和方差,而后在推理门路中应用这些挪动平均值。这项小小的翻新是如此具备影响力,所有起初的网络都立刻开始应用它。
2015年:ResNet
深度残差学习用于图像识别
2015年可能是十年来计算机视觉最好的一年,咱们曾经看到很多平凡的想法不仅呈现在图像分类中,而且还呈现了各种各样的计算机视觉工作,例如对象检测,语义宰割等。 2015年属于一个名为ResNet或残差网络的新网络,该网络由Microsoft Research Asia的一组中国钻研人员提出。
摘自“ 用于图像识别的深度残差学习”
正如咱们之前在VGG网络中所探讨的,要变得更深,最大的阻碍是梯度隐没问题,即,当通过更深的层向后流传时,导数会越来越小,最终达到古代计算机体系结构无奈真正代表的境地有意义地。GoogLeNet尝试通过应用辅助监管和非对称启动模块来对此进行攻打,但只能在较小水平上缓解该问题。如果咱们要应用50甚至100层,是否会有更好的办法让突变流过网络?ResNet的答案是应用残差模块。
残余的模块从“ 深残余学习图像识别”
ResNet在输入中增加了身份标识快捷方式,因而每个残差模块至多都不能预测输出是什么,而不会迷失方向。更为重要的是,残差模块不是心愿每个图层都间接适宜所需的特色映射,而是尝试理解输入和输出之间的差别,这使工作变得更加容易,因为所需的信息增益较小。设想一下,您正在学习数学,对于每个新问题,都将失去一个相似问题的解决方案,因而您所要做的就是扩大此解决方案并使其起作用。这比为您遇到的每个问题想出一个全新的解决方案要容易得多。或者像牛顿所说,咱们能够站在伟人的肩膀上,身份输出就是残余模块的那个伟人。
除了身份映射,ResNet还从Inception网络借用了瓶颈和批处理规范化。最终,它胜利构建了具备152个卷积层的网络,并在ImageNet上实现了80.72%的top-1准确性。残余办法也成为起初的许多其余网络(例如Xception,Darknet等)的默认选项。此外,因为其简略好看的设计,现在它仍宽泛用于许多生产视觉识别系统中。
通过追踪残差网络的炒作,还有更多不变式呈现。在“深层残差网络中的身份映射”中,ResNet的原始作者试图将激活放在残差模块之前,并取得了更好的后果,此设计尔后称为ResNetV2。同样,在2016年的论文《深度神经网络的聚合残差变换》中,钻研人员提出了ResNeXt,该模型为残差模块增加了并行分支,以汇总不同变换的输入。
2016年:Xception
Xception:深度学习与深度可分卷积
摘自“ Xception:深度学习与深度可分卷积”
随着ResNet的公布,图像分类器中大多数低挂的水果看起来曾经被抢走了。钻研人员开始思考CNN魔术的外部机制是什么。因为跨通道卷积通常会引入大量参数,因而Xception网络抉择考察此操作以理解其成果的全貌。
就像它的名字一样,Xception源自Inception网络。在Inception模块中,将不同转换的多个分支聚合在一起以实现拓扑稠密性。然而为什么这种稠密起作用了?Xception的作者,也是Keras框架的作者,将此想法扩大到了一种极其状况,在这种状况下,一个3×3卷积文件对应于最初一个串联之前的一个输入通道。在这种状况下,这些并行卷积内核实际上造成了一个称为深度卷积的新操作。
摘自“ 深度卷积和深度可拆散卷积”
如上图所示,与传统卷积不同,传统卷积包含所有通道以进行一次计算,深度卷积仅别离计算每个通道的卷积,而后将输入串联在一起。这缩小了通道之间的特色替换,但也缩小了很多连贯,因而导致具备较少参数的层。然而,此操作将输入与输出雷同数量的通道(如果将两个或多个通道组合在一起,则输入的通道数量将缩小)。因而,一旦合并了通道输入,就须要另一个惯例1×1滤波器或逐点卷积,以减少或缩小通道数,就像惯例卷积一样。
这个想法最后不是来自Xception。在名为“大规模学习视觉示意”的论文中对此进行了形容,并且在InceptionV2中偶然应用。Xception进一步迈出了一步,并用这种新型卷积代替了简直所有的卷积。试验后果十分好。它超过了ResNet和InceptionV3,成为用于图像分类的新SOTA办法。这也证实了CNN中跨通道相关性和空间相关性的映射能够齐全解耦。此外,因为与ResNet具备雷同的长处,Xception也具备简略好看的设计,因而其思维还用于随后的许多其余钻研中,例如MobileNet,DeepLabV3等。
2017年:MobileNet
MobileNets:用于挪动视觉利用的高效卷积神经网络
Xception在ImageNet上实现了79%的top-1准确性和94.5%的top-5准确性,然而与以前的SOTA InceptionV3相比别离仅进步了0.8%和0.4%。新图像分类网络的边际收益越来越小,因而钻研人员开始将注意力转移到其余畛域。在资源受限的环境中,MobileNet推动了图像分类的重大倒退。
“ MobileNets:针对挪动视觉利用的高效卷积神经网络”中的MobileNet模块
与Xception类似,MobileNet应用与下面所示雷同的深度可拆散卷积模块,并着重于高效和较少参数。
“ MobileNets:用于挪动视觉利用的高效卷积神经网络”中的参数比率
上式中的分子是深度可拆散卷积所需的参数总数。分母是类似的规定卷积的参数总数。这里D [K]是卷积核的大小,D [F]是特色图的大小,M是输出通道数,N是输入通道数。因为咱们将通道和空间特色的计算离开了,因而咱们能够将乘法转换为相加,其量级较小。从该比率能够看出,更好的是,输入通道数越多,应用该新卷积节俭的计算量就越多。
MobileNet的另一个奉献是宽度和分辨率乘数。MobileNet团队心愿找到一种标准的办法来放大挪动设施的模型大小,而最直观的办法是缩小输出和输入通道的数量以及输出图像的分辨率。为了管制此行为,比率alpha乘以通道,比率rho乘以输出分辨率(这也会影响因素图的大小)。因而,参数总数能够用以下公式示意:
“ MobileNets:用于挪动视觉利用的高效卷积神经网络”
只管这种变动在翻新方面看似天真,但它具备微小的工程价值,因为这是钻研人员首次得出结论,能够针对不同的资源束缚调整网络的标准办法。此外,它还总结了改良神经网络的最终解决方案:更大和更高的分辨率输出会导致更高的精度,更薄和更低的分辨率输出会导致更差的精度。
在2018年和2019年晚些时候,MobiletNet团队还公布了“ MobileNetV2:残差和线性瓶颈”和“搜寻MobileNetV3”。在MobileNetV2中,应用了倒置的残留瓶颈构造。在MobileNetV3中,它开始应用神经体系结构搜寻技术来搜寻最佳体系结构组合,咱们将在前面介绍。
2017年:NASNet
学习可扩大的体系结构以实现可扩大的图像识别
就像针对资源受限环境的图像分类一样,神经体系结构搜寻是在2017年左右呈现的另一个畛域。借助ResNet,Inception和Xception,仿佛咱们曾经达到了人类能够了解和设计的最佳网络拓扑,然而如果有的话一个更好,更简单的组合,远远超出了人类的想象力?2016年的一篇论文《带有强化学习的神经体系结构搜寻》提出了一种通过强化学习在预约搜寻空间内搜寻最佳组合的想法。家喻户晓,强化学习是一种以指标明确,处分搜寻代理商的最佳解决方案的办法。然而,受计算能力的限度,本文仅探讨了在小型CIFAR数据集中的利用。
NASNet搜寻空间。“ 学习可扩大的体系结构以实现可扩大的图像识别”
为了找到像ImageNet这样的大型数据集的最佳构造,NASNet创立了针对ImageNet量身定制的搜寻空间。它心愿设计一个非凡的搜寻空间,以便CIFAR上的搜寻后果也能够在ImageNet上失常工作。首先,NASNet假如在良好的网络(如ResNet和Xception)中罕用的手工模块在搜寻时依然有用。因而,NASNet不再搜寻随机连贯和操作,而是搜寻这些模块的组合,这些模块已被证实在ImageNet上曾经有用。其次,理论搜寻仍在32×32分辨率的CIFAR数据集上执行,因而NASNet仅搜寻不受输出大小影响的模块。为了使第二点起作用,NASNet预约义了两种类型的模块模板:Reduction和Normal。
摘自“ 学习可扩大的体系结构以实现可伸缩的图像识别”
只管NASNet具备比手动设计网络更好的度量规范,然而它也有一些毛病。寻找最佳构造的老本十分高,只有像Google和Facebook这样的大公司能力负担得起。而且,最终构造对人类来说并没有太大意义,因而在生产环境中难以保护和改良。在2018年晚些时候,“ MnasNet:针对挪动平台的神经构造搜寻”通过应用预约义的链块结构限制搜寻步骤,进一步扩大了NASNet的想法。此外,通过定义权重因子,mNASNet提供了一种更零碎的办法来搜寻给定特定资源限度的模型,而不仅仅是基于FLOP进行评估。
2019年:EfficientNet
EfficientNet:卷积神经网络模型缩放的反思
在2019年,对于CNN进行监督图像分类仿佛不再有令人兴奋的想法。网络结构的急剧变动通常只会带来少许的精度进步。更糟的是,当同一网络应用于不同的数据集和工作时,以前宣称的技巧仿佛不起作用,这引发了人们的批评,即这些改良是否仅适宜ImageNet数据集。另一方面,有一个技巧绝不会辜负咱们的冀望:应用更高分辨率的输出,为卷积层增加更多通道以及增加更多层。只管力量十分残暴,但仿佛存在一种按需扩大网络的准则办法。MobileNetV1在2017年提出了这种倡议,但起初重点转移到了更好的网络设计上。
摘自“ EfficientNet:卷积神经网络的模型缩放思考”
继NASNet和mNASNet之后,钻研人员意识到,即便在计算机的帮忙下,架构的扭转也不会带来太多益处。因而,他们开始回落到扩大网络规模。EfficientNet只是建设在此假如之上的。一方面,它应用了mNASNet的最佳构建基块,以确保有良好的根底。另一方面,它定义了三个参数alpha,beta和rho来别离管制网络的深度,宽度和分辨率。这样,即便没有大型GPU池来搜寻最佳构造,工程师仍能够依附这些原则性参数依据他们的不同要求来调整网络。最初,EfficientNet提供了8种不同的变体,它们具备不同的宽度,深度和分辨率,并且无论大小模型都具备良好的性能。换句话说,如果要取得较高的精度,请应用600×600和66M参数的EfficientNet-B7。如果您想要低提早和更小的模型,请应用224×224和5.3M参数EfficientNet-B0。问题解决了。
其余
如果您实现了10篇以上的论文的浏览,您应该对CNN的图像分类历史有了很好的理解。如果您想持续学习这一畛域,我还列出了一些其余乏味的论文供您浏览,这些论文在各自畛域都很有名,并启发了世界上许多其余钻研人员。
2014年:SPPNet
深度卷积网络中的空间金字塔池用于视觉辨认
SPPNet从传统的计算机视觉特征提取中借鉴了特色金字塔的思维。该金字塔造成了一个具备不同比例的因素词袋,因而它能够适应不同的输出大小并解脱固定大小的全连贯层。这个想法还进一步启发了DeepLab的ASPP模块以及用于对象检测的FPN。
2016年:DenseNet
紧密连接的卷积网络
康奈尔大学的DenseNet进一步扩大了ResNet的想法。它不仅提供各层之间的跳过连贯,而且还具备来自所有先前各层的跳过连贯。
2017年:SENet
挤压和激励网络
Xception网络证实,跨渠道关联与空间关联关系不大。然而,作为上届ImageNet比赛的冠军,SENet设计了一个“挤压和激发”区并讲述了一个不同的故事。SE块首先应用全局池将所有通道压缩为较少的通道,而后利用齐全连贯的变换,而后应用另一个齐全连贯的层将其“激发”回原来的通道数量。因而,本质上,FC层帮忙网络理解输出因素图上的注意力。
2017年:ShuffleNet
ShuffleNet:一种用于挪动设施的极其高效的卷积神经网络
ShuffleNet构建在MobileNetV2的倒置瓶颈模块之上,他认为深度可拆散卷积中的点式卷积会就义准确性,以换取更少的计算量。为了补救这一点,ShuffleNet减少了一个额定的通道改选操作,以确保逐点卷积不会始终利用于雷同的“点”。在ShuffleNetV2中,此通道重排机制也进一步扩大到ResNet身份映射分支,因而身份性能的一部分也将用于重排。
2018:Bag of Tricks
应用卷积神经网络进行图像分类的技巧
“技巧包”重点介绍在图像分类区域中应用的常见技巧。当工程师须要进步基准性能时,它能够作为很好的参考。乏味的是,诸如混合加强和余弦学习速率之类的这些技巧有时能够比新的网络体系结构实现更好的改良。
论断
随着EfficientNet的公布,ImageNet分类基准仿佛行将完结。应用现有的深度学习办法,除非产生另一种模式转变,否则咱们永远不会有一天能够在ImageNet上达到99.999%的准确性。因而,钻研人员正在踊跃钻研一些新鲜的畛域,例如用于大规模视觉辨认的自我监督或半监督学习。同时,应用现有办法,对于工程师和企业家来说,找到这种不完满技术的理论利用曾经成为一个问题。
Reference
- Y. Lecun, L. Bottou, Y. Bengio, P. Haffner, Gradient-based Learning Applied to Document Recognition
- Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, ImageNet Classification with Deep Convolutional Neural Networks
- Karen Simonyan, Andrew Zisserman, Very Deep Convolutional Networks for Large-Scale Image Recognition
- Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich, Going Deeper with Convolutions
- Sergey Ioffe, Christian Szegedy, Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
- Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, Deep Residual Learning for Image Recognition
- François Chollet, Xception: Deep Learning with Depthwise Separable Convolutions
- Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, Hartwig Adam, MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Application
- Barret Zoph, Vijay Vasudevan, Jonathon Shlens, Quoc V. Le, Learning Transferable Architectures for Scalable Image Recognition
- Mingxing Tan, Quoc V. Le, EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
- Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
- Gao Huang, Zhuang Liu, Laurens van der Maaten, Kilian Q. Weinberger, Densely Connected Convolutional Networks
- Jie Hu, Li Shen, Samuel Albanie, Gang Sun, Enhua Wu, Squeeze-and-Excitation Networks
- Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, Jian Sun, ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices
- Tong He, Zhi Zhang, Hang Zhang, Zhongyue Zhang, Junyuan Xie, Mu Li, Bag of Tricks for Image Classification with Convolutional Neural Networks
- https://towardsdatascience.com/10-papers-you-should-read-to-understand-image-classification-in-the-deep-learning-era-4b9d792f45a7
计算机视觉联盟 报道 | 公众号 CVLianMeng
发表回复