Top100论文导读:深入理解卷积神经网络CNN(Part Ⅰ)

来源:阿里云栖社区

https://yq.aliyun.com/articles/74729



更多深度文章,请关注:https://yq.aliyun.com/cloud

作者信息

Adrian Colyermorning paper编辑、Accel Partners投资合伙人、SpringSource首席技术官、VMware技术总监。

领英:http://www.linkedin.com/in/adriancolyer/

Twitterhttps://twitter.com/adriancolyer


本文介绍清单 Top100深度学习论文” 几篇文章,现在将从卷积神经网络模型部分开始研究相关论文,Part内容见下篇博客首先是:

ImageNet classification with deep convolutional neural networksKrizhevsky2012
Maxout networksGoodfellow2013
Network in networkLin2013

OverFeatIntegration recognition,localization and detection using convolutional neural networksSermanent2013

在深研究上述论文,建议可以阅读Ujjwal Karn的优秀博客An intuitive explanation of convolutional neural networks ,该博客为卷积网络如何工作提供了一个很好的背景。言归正传,下面一起深入到卷积神经网络的世界中吧。


使用卷积神经网络进行ImageNet分类
有影响力的论文可谓是再次掀起了深度学习的热潮,正是Hinton等研究员的坚守使得神经网络焕发出第二春。该篇文章使用深卷积神经网络来开展整个工作流程用于图像处理两个因素使之成功:首先,提供足够大的数据集(具体来说,引入了数百万张图像的ImageNet,而以前最大的数据集只有数万其次,开发出足够强大的GPU有效地训练大型网络。
什么使CNN适合处理图像数据?
可以通过改变卷积核的尺寸和特征图数来控制其性能,并且还对图像的性质做出大体上正确的估计。与具有相似大小层次的标准前馈神经网络相比,CNN具有更少的连接和参数,因此它们更容易训练。
Krizhevsky等人构建的网络8——5个卷积3全连接层。最后一层的输出1000softmax,它产生1000个类标签上的分布。另外由于网络太大而不能容纳在GPU内存中,所以使用两个GPU进行训练 

3665420f3cb96a6827640fa208955fb51bb8450f

作者列出了他们认为特别重要的四个模型架构:
1. 使用ReLU激活函数(而不是tanh)。“ 使用ReLU的深卷积神经网络的训练速度比使用tanh的网络快几倍更快的学习对大型数据集训练的大型模型的性能有很大的影响 ”
2. 使用多个GPU,并且只在某些层中进行跨GPU通信。该方案仅在一个GPU上训练的网络相比,分别将top-1top-5错误率降低了1.7%1.2%
3. 使用局部响应标准,其“ 由真实神经元中发现的类型启发实现的侧向抑制形式,为使用不同内核计算的神经元输出之间的活动创造竞争
4. 使用重叠的池化假设池化层的大小为z x z,间隔之间像素分开传统的池化之间没有重叠,作者使用重叠化后top-1top-5错误率分别降低了0.4%0.3% 

3a03c6d5ae274fec26c12ce6bb9db3ccd888ebdf

在训练期间使用Dropout和数据增加(平移,反转等操作降低过拟合
最终结果:
ILSVRC2010上,论文网络实现了top-1top-5测试错误率分别37.5%17.0%ILSVRC2012中,网络实现了top-5测试错误率为15.3%,而第二名才为26.2%这个巨大的差距拉开深度学习革命的帷幕
研究结果表明,一个大而深的卷积神经网络能够在使用纯监督学习的高度挑战的数据集上取得创纪录的成果。值得注意的是,改变网络结构,网络性能可能会降低。更深入地了解本文可以参阅博客

Maxout网络

Maxout网络Dropout配套使用的,训练使用Dropout就像训练指数数量的模型共享相同的参数。Maxout网络是标准的多层感知器或深层CNN,它们使用称为Maxout单元的特殊激活函数,Maxout的输出是其输入的最大值。
在卷积网络中,可以通过在k仿射特征图上获取最大值来构建最大特征图。当训练使用Dropout时,在乘以权重之前不会将丢失的输入进行最大操作。
Maxout对任意凸函数进行分段线性拟合,如下所示。 

b6e874fa7a4837997c73eaac1fceb2226f286764

在评估中,MaxoutDropout组合实现了MNISTCIFAR10CIFAR100SVHN(街景房屋号码)的最好分类表现。
为什么它工作得很好?总结起来就是Dropout在更深的架构中进行精确的模型平均线性运算和Maxout网络可以学习利用Dropout的近似模型平均技术此外,零点饱和整流器单元在Dropout训练中更常见零值可以阻止梯度流过单元,从而难以在训练中改变,并再次变为活动状态,而Maxout不会受到此问题的影响。
网络中的网络NIN
传统的卷积层通过对感受野应用线性滤波器,然后进行非线性激活来应用卷积,其输出为特征图。本文指出这种过程不能学习在非线性概念之间区分好的表示。
CNN中的卷积滤波器是基于数据块的广义线性模型(GLM),这种抽象级别较低,另外抽象意味着该特征对于相同概念的变体是不变的。即使Maxout网络位于输入空间中的凸集中潜在概念实例强加了约束,进行分段线性拟合,但关键问题是输入特征是否确实需要非线性函数,以便最好地表示其中包含的概念。作者声称他们这样做:
相同概念的数据通常存在于非线性流形上,因此捕获这些概念的表示通常是输入的高度非线性函数。NIN中,GLM被替换为通用非线性函数近似器的微网结构。在论文中,选择多层感知器(MLP)作为微网络的实例化。 

d0e8d52896363f5910230d45286c266661eb871e

一个大的创新点是用迷你多层感知器网络(称为mlpconv层)代替线性卷积层由于网络擅长学习,所以让mlpconv学习最好的卷积函数学习的内容。由于mlpconv层位于较大的网络模型中,因此整体方法称为网络中的网络 

1e912f66af86fcce35b1612636d1ca2556de73f6

第二个变化改变了传统卷积网络中的最后一层
传统的CNN中采用全连接层进行分类,NIN直接从最后一个mlpconv层输出特征图的空间平均值作为全局平均池化层的类别置信度然后将所得到的向量输入到softmax简单来讲就是用全局平均池化代替全连接层

CIFAR10中,作者以超过1%性能提升击败了当时最好的表现。 

898624c392b89c711c694f9dfff37ea76fef9ca1

CIFAR100上,作者也以超过1%的性能提升击败了当时最好的表现;在SVHN数据集与MNIST数据集上也获得了良好的效果,但不是最 

OverFeat:使用卷积网络的集成识别定位和检测
OverFeat展示了如何基于CNN的分类器用于分类、定位和检测任务,其性能ILSVRC 2013数据集分类排名第四,定位和检测都排第一。我们知道分类问题就是图片是什么物体,对于定位和检测问题不是很熟悉。检测就是给定一张图片,把图片中的所有物体全部找出来;定位就像分类,网络也必须产生一个显示检测对象的边界框

324dc30abf417d87949a92f0a143a90c854f7898

检测问题涉及可能包含许多小对象的图像,网络必须检测每个对象并绘制其边界框: 

bf8748ae6155dab07d6d2f93eba1172931f2665e

本文提出了一种新的ConvNet综合方法主要是通过卷积网络对图像中的物体进行分类定位和检测,提高所有任务的精度。另外还通过积累预测的边界框来引入一种新颖的定位和检测方法。论文中有很多细节,在这里就不一一详细介绍,感兴趣的话建议阅读论文的原文
由于感兴趣的目标可以在图像中的大小和位置上有明显变化,所以OverFeat在图像中的多个位置以滑动窗方式和多尺度应用ConvNet然后训练系统以产生包含目标的边界框的位置及尺寸的预测。在每个位置和大小上累积每个目标类别的预测

分类
该模型基于Krizhevsky提出的网络,网络的前五层没有使用对比度归一化,池化区域是非重叠并使用较小的步2而不是46种不同的输入尺寸导致第5不同分辨率的特征映射,然后将其池化后送入分类器。 

b67a1c3e97cf086afe3003e7d1b330c08925be36

下图总结了在第5特征图上构建分类器方法: 

05038a10d480128fc0ab9ed79846a151f2d0b341

从直观上来看,网络分为两部分——特征提取层(15)和分类器层(6输出)。在特征提取部分中,滤波器在整个图像进行移动卷积计算;然而,对于网络的分类器部分,这些原理是相反的

定位
对于定位而言,分类器层被训练为在每个空间位置和尺度上预测边界框的回归网络代替然后将回归预测与每个位置的分类结果相结合。多尺度训练可确保预测在尺度上正确匹配,并以指数方式增加合并预测的置信度。
边界框根据其中心之间的距离及其区域的交点进行组合,最后通过采用具有最大类分数的合并边界框进行最终预测。图给出了该过程的可视化概述 

99ee1441b4a512055e44abf925e24a903fea4301

检测
检测训练类似于分类训练,但当没有目标存在时,还需要预测后台任务。
传统上,反例最初被随机地用于训练,然后将最有争议的负误差添加到训练集中,通过选择每个图像的一些有趣的反例(例如随机的或最有争议的),对苍蝇进行消极训练,这种方法在计算上更昂贵,但使程序更简单。 

附件为原文的pdf

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《Convolutional neural networks, Part 1》,作者Adrian Colyer,译者:海棠,审阅:

文章为简译,更为详细的内容,请查看原文


猜你喜欢

转载自blog.csdn.net/uncle_ll/article/details/71215687