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

简介: 作者从目前热门的top 100 优秀深度学习论文中选取一组论文为大家进行纯干货总结,该组包含8篇经典论文,主要讲解卷积神经网络CNN的经典结构以及针对不同任务进行的结构上的改进。由浅入深的讲解,适合入门了解卷积神经网络的整体网络结构及发展过程——向着更深、复杂度更低的方向发展。

首发地址:https://yq.aliyun.com/articles/74892

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

作者信息

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

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

Twitterhttps://twitter.com/adriancolyer


这篇文章介绍 top100深度学习论文列表中卷积神经网络的第二部分,Part的内容可以在此查看。本篇主要介绍以下几篇论文:

Return of the devil in the details: delving deep into convolutional nets,Chatfield,2014.
Spatial pyramid pooling in deep convolutional networks for visual recognition,He,2014.
Very deep convolutional networks for largescale image recognition,Simonyan

&Zisserman,2014.

Going deeper with convolutions,Szegedy,2015. 

回归细节魔鬼:深入卷积网络

篇论文是一个非常好的研究CNN已经在图像识别任务中打败了手工提取特征,但是由于所有这些不是基于相同条件下进行比较,所以很难分辨出真正占据差异的因素。Chatfield等人研究了IFV(改进的费舍尔向量)表示,三种基于CNN的不同深层表示,以及对目标数据集进行预训练和微调的深表征。对于所有的研究,使用相同的任务(PASCAL VOC分类)三种不同的CNN表示分别为基于Krizhevksy的架构CNN-FFast使用减小的步和较小的第1卷积层的感知野的CNN-MMedium以及基于OverFeat准确网络的CNN-SSlow)。
主要发现:

  • 增强将IFVCNN的性能提高了约3%翻转只能起到略微的作用,但翻转结合裁剪效果很好。IFVCNN受到颜色信息添加或减少影响将图像转换为灰度后重新训练CNN,会导致3%的性能下降。
  • 基于CNN的方法仍然优于浅编码等方法10%的性能
  • CNNMCNNS均优于CNNFast 23%的性能;CNNMCNNS25%
  • 再次训练CNN,最后一层较低的维数导致了边缘性能提升 
  • 微调导致结果有显著差异,提高约2.7%

论文提出了一种基于CNN的图像分类方法的严格的经验评估,以及与传统的浅层特征编码方法的比较。结果表明,数据增加可以显著提高浅表示的性能。尽管有了这样的改进,但深层次架构的性能仍然大大超过了浅层的方法。结果表明,ILSVRC数据集上的深层表现是其他数据集的性能一个很好的指标,另外使用深表示和线性SVM组合微调可以进一步提高实现的结果。 

基于空间金字塔池化的深卷积网络视觉识别
到目前为止CNN的架构一般为一系列的卷积层之后是全连接层以及Nsoftmax输出这种架构造成其只能处理固定大小的图像卷积层中使用的滑动窗实际上可以处理任何图像尺寸,只是由于全连接层具有固定尺寸的输入限制了尺寸,导致效果远远不理想。
空间金字塔池化(SPP)在卷积层和全连接层之间增加了一个新的层,新层的任务是将任何大小的输入映射到固定大小的输出。空间金字塔池化思想早已存在计算机视觉中,但并没有被应用于CNN

SPP通过将最后一层卷积层输出的特征图划分成尺寸与图像大小成正比的多个空间箱,因此无论图像大小如何,空间箱的数量都会固定。空间箱以不同的间隔尺寸被捕获在每个空间中,每个过滤器的响应使用最大池。 

373921e1bbdf53f9768307f8215ccca98f29d764

由于箱的数量已知,可以连接SPP输出以给出固定长度的表示(见上图) 

这允许任意的尺度输入当输入图像处于不同的尺度时,网络将提取不同尺度的特征
SPP层添加到四个不同网络模型中,包括AlexNetKrizhevsky等)和OverFeat后,都提高了它们的准确性。层次池化取得好的效果不仅仅是因为更多的参数,而是因为多层次对于物体变形和空间布局的变化是鲁棒的。"

SPP技术也可用于检测。之前最先进的RCNN方法需要从输入图像找到2000个候选窗口,并利用卷积网络提取每个窗口的特征,这种方法是昂贵而又缓慢的。SPP网络仅提取一次特征图(可能在多个尺度,即对每个候选窗口运行一次空间金字塔池化 

a267661f9b12c8c56dd0b95f737b00fe10a7be8d

基于很深的卷积网络大规模图像识别
之前了解了ConvNet的架构以及一些变化,探索了不同窗口大小和步以及多尺度的训练和测试的结果。在本论文中,SimonyanZisserman所有这些变量保持不变,探讨了网络深度对分类准确度的影响
基本设置固定大小的224 x 224 彩色输入图像,并且每个像素减去平均像素值(归一化卷积层使用具有3×3感知野的滤波器,并且配置一个1×1大小的卷积,固定为1像素五个最大池化层与卷积层交织进行空间池化;然后输入到三个全连接层最终的softmax隐藏层都使用ReLU激活函数
网络实际架构如下表所示(注意使用了一个局部响应归一化-LRN 

4d6b430af1a8703b51ee2c27554fc02a5d1cba8f

以下是作者的结果: 

c11f64dadac4686dca0d0ae7db9de5b81233546f

首先,局部响应归一化并没有提高准确性,反而增加了训练时间,所以在较深的体系架构中不被使用。其次,分类误差随着ConvNet深度的增加而减小
当深度达到19层时,模型的错误率达到饱和,但更深层的模型可能对较大的数据集有益。将表中网络B55×5卷积层的层网络进行了比较,结果表明3×3的卷积层代替单个5×5卷积层后准确率提升了7%,这证实具有小滤波器的深优于具有较大滤波器的浅层网络  

卷积更深入 

这是论文主要介绍Inception”网络架构的实例“GoogLeNet”网络,它在2014 ISLVRCImageNet)竞赛中取得最好的结果GoogLeNet网络的深度是22层,整体架构令人难以置信  

0cf4951466c4bf068dd03301d5fb7d8d110a6000

尽管看起来令人恐惧,GoogLeNet实际上比两年前获胜的KrizhevskyConvNet网络的参数要少12同时精度显著提升。高效功率和内存使用是Inception架构的设计目标:
本文提出的深层架构设计的考虑因素主要是基于效率这个因素,而不是针对准确度。对于大多数实验,这些模型的设计不纯粹的学术好奇心,而是可以应用于现实世界中,即使大数据集成本也是合理

你可以通过增加层数(深度)或者是每层的宽度使的网络更大”,原则上这将导致更高质量的模型。然而,更大的网络将导致更多的参数,使得它们容易过拟合为了避免这种情况,需要更多的训练数据以及更多的计算资源来训练

解决这个问题的一个方法是引入稀疏性Arora等人在用于学习一些深层次表示的可行范围中表明,如果数据集的概率分布由大的非常稀疏的深层神经网络表示,则可以通过分析前一层激活和高度相关输出的聚类神经元的相关统计来使用最佳网络技术每一层
不幸的是,当涉及非均匀稀疏数据架构的数值计算时,目前的计算硬件设备效率很低。
是否有希望利用稀疏性过滤器的架构,通过当前的硬件上使用密集矩阵上的计算?Inception架构开始是对这一目标的进行探索。
Inception架构的主要思想是考虑卷积视觉网络的最优局部稀疏架构如何被现成的密集组件近似和涵盖
假设使用层次架构的方法,只需找到最优层架构,然后对该架构进行堆叠即可。初始层的基本架构如下所示: 

a0f1fd53ffec8ab08d4261377b06d7cff8bc2ba2

1×1卷积检测局部区域中的相关单元,较大(3×35×5卷积检测更多的空间由于池化具有的效果,所以每个阶段加入池化
虽然这种架构可能会涵盖最优的稀疏架构,但它计算复杂度非常高、效率低
解决方案是在所有3×35×5路径上使用1×1卷积来降维。下图给出了一个Inception层的最终架构 

b9cbb6cf30ec036c127e8961c6c8fc866a2ff6e8

一般而言,Inception网络是由上述类型的模块组成,模块彼此堆叠,偶尔具有步长2的最大池化层将网格的分辨率减半。
GoogLeNet模型中这些层叠在一起深度为22层(如果池层也被计数,则为27总体模块数量约为100个!梯度通过这么多层传递将是一个挑战。由于较浅的网络仍然具有很强的辨别性能,因此向中间层添加辅助分类器(本节开头的整个网络图中的黄色框)。这些分类器较小的卷积网络放置在Inception4a)和(4d)模块的输出之上。在训练过程中,损失会根据权重叠加,测试时,这些辅助网络被丢弃。 

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

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

附件为原文的pdf

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

翻译者: 海棠 

Wechat:269970760 

Email:duanzhch@tju.edu.cn

微信公众号:AI科技时讯

157f33dddfc596ede3681e0a2a0e7068dc288cc1

目录
相关文章
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
47 7
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
18天前
|
机器学习/深度学习 人工智能 网络架构
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
35 1
|
20天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
21天前
|
机器学习/深度学习 人工智能 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
25 1
|
25天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
29天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
20天前
|
机器学习/深度学习 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
38 0
|
26天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
41 0