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

2024-01-19 21:20

本文主要是介绍Top100论文导读:深入理解卷积神经网络CNN(Part Ⅰ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来源:阿里云栖社区

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

 

 

 

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

作者信息

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

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

Twitter:https://twitter.com/adriancolyer

 

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

ImageNet classification with deep convolutional neural networks,Krizhevsky,2012
Maxout networks,Goodfellow,2013
Network in network,Lin,2013

OverFeat:Integration recognition,localization and detection using convolutional neural networks,Sermanent,2013

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


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

3665420f3cb96a6827640fa208955fb51bb8450f

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

3a03c6d5ae274fec26c12ce6bb9db3ccd888ebdf

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

Maxout网络

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

b6e874fa7a4837997c73eaac1fceb2226f286764

在评估中,Maxout和Dropout的组合实现了MNIST、CIFAR10、CIFAR100和SVHN(街景房屋号码)的最好分类表现。
为什么它工作得很好?总结起来就是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而不是4)。6种不同的输入尺寸导致第5层有不同分辨率的特征映射,然后将其池化后送入分类器。 

b67a1c3e97cf086afe3003e7d1b330c08925be36

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

05038a10d480128fc0ab9ed79846a151f2d0b341

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

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

99ee1441b4a512055e44abf925e24a903fea4301

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

附件为原文的pdf

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

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

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

 

这篇关于Top100论文导读:深入理解卷积神经网络CNN(Part Ⅰ)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/623728

相关文章

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

深入理解C语言的void*

《深入理解C语言的void*》本文主要介绍了C语言的void*,包括它的任意性、编译器对void*的类型检查以及需要显式类型转换的规则,具有一定的参考价值,感兴趣的可以了解一下... 目录一、void* 的类型任意性二、编译器对 void* 的类型检查三、需要显式类型转换占用的字节四、总结一、void* 的

深入理解Redis大key的危害及解决方案

《深入理解Redis大key的危害及解决方案》本文主要介绍了深入理解Redis大key的危害及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、背景二、什么是大key三、大key评价标准四、大key 产生的原因与场景五、大key影响与危

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}