深度学习论文随记(二)---VGGNet模型解读-2014年(Very Deep Convolutional Networks for Large-Scale Image Recognition)

深度学习论文随记(二)---VGGNet模型解读

Very Deep Convolutional Networks forLarge-Scale Image Recognition

Author: K Simonyan , A Zisserman

Year: 2014

1、  导引

VGGNet是2014年ILSVRC竞赛的第二名,没错你没听错它是第二名,第一名是GoogLeNet(真不是我打错google,是谷歌为了纪念LeNet,所以用的大写L).为什么先讲VGG,因为它这个模型在多个迁移学习任务中的表现要优于googLeNet。而且,从图像中提取CNN特征,VGG模型是首选算法。它的缺点在于,参数量有140M之多,需要更大的存储空间。但是这个模型很有研究价值。

为什么叫VGG?

是牛津大学 Visual Geometry Group(视觉几何组)的同志写的论文,所以叫VGG.

2、  模型解读

这张图的意思是他们一共建了A, B, C, D, E, F  6个不同的网络进行效果的比对。

注:在你看这里的时候我已经假设你看懂了AlexNet,已经对神经网络的结构有了个大致的印象。

结构A:和AlexNet类似,卷积层分为了5个stage,全连接层还是3层。只不过卷积层用的都是3x3大小的filter,具体的细节我会在下文接着阐述。

结构A-LRN:保留AlexNet里面LRN操作,其他与结构A无区别。

结构B:在A的stage2和stage3分别增加一个3x3的卷积层,共有10个卷积层。

结构C:在B的基础上,stage3,stage4,stage5分别增加一个1x1的卷积层,有13个卷积层,总计16层。

结构D:在C的基础上,stage3,stage4,stage5分别增加一个3x3的卷积层,有13个卷积层,总计16层。

结构E:在D的基础上,stage3,stage4,stage5分别再增加一个3x3的卷积层,有16个卷积层,总计19层。

对比

·A与A-LRN比较:A-LRN结果没有A好,说明LRN作用不大。

·A与B, C, D, E比较,A是这当中layer最少的,相比之下A效果不如B,C,D,E,说明Layer越深越好;

·B与C比较:增加1x1filter,增加了额外的非线性提升效果;

·C与D比较:3x3 的filter(结构D)比1x1(结构C)的效果好

3 特点分析:(我们以最终的结构E来进行分析)

①可以看到共有5个池化层,所以可以把卷积部分视为5个部分,和AlexNet一样,只不过每一个部分他用了不止一层卷积层

所有卷积层都是同样大小的filter!尺寸3x3,卷积步长Stirde = 1,填充Padding = 1

为什么这么搞?

A、3x3是最小的能够捕获左、右、上、下和中心概念的尺寸;

B两个3x3的卷积层连在一起可视为5x5的filter三个连在一起可视为一个7x7

这是卷积的性质,受过#信号系统#这门课摧残的同学应该记忆犹新

C、多个3x3的卷积层比一个大尺寸的filter卷积层有更多的非线性,使得判决函数更加具有判断性。

D、多个3x3的卷积层笔一个大尺寸的filter具有更少的参数

卷积层变多了。结构E有16层卷积层,加上全连接层共19层。这也是对深度学习继续往深处走的一个推动。

4、  Multi-scale训练

首先对原始图片进行等比例缩放,使得短边要大于224,然后在图片上随机提取224x224窗口,进行训练。由于物体尺度变化多样,所以多尺度(Multi-scale)可以更好地识别物体。

方法1:在不同的尺度下,训练多个分类器:

参数S为短边长。训练S=256和S=384两个分类器,其中S=384的分类器用S=256的进行初始化,且将步长调为10e-3

方法2:直接训练一个分类器,每次数据输入的时候,每张图片被重新缩放,缩放的短边S随机从[256,512]中选择一个。

Multi-scale其实本身不是一个新概念,学过图像处理的同学都知道,图像处理中已经有这个概念了,我们学过图像金字塔,那就是一种多分辨率操作

只不过VGG网络第一次在神经网络的训练过程中提出也要来搞多尺寸。目的是为了提取更多的特征信息。像后来做分割的网络如DeepLab也采用了图像金字塔的操作。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

干货 | 深度学习时代的目标检测算法

AI 科技评论按:本文作者 Ronald,首发于作者的知乎专栏「炼丹师备忘录」,AI 科技评论获其授权转发。 目前目标检测领域的深度学习方法主要分为两类:two...

4997
来自专栏AI科技评论

开发 | 深度学习中的“深度”究竟怎么理解?

AI科技评论按:本文原作者 YJango,本文原载于其知乎专栏——超智能体。AI科技评论已获得原作者授权。 介绍 为了研究神经网络,我们必须要对什么网络是什么有...

2867
来自专栏深度学习自然语言处理

【深度学习】你不了解的细节问题(三)

第一,对于神经网络来说,网络的每一层相当于f(wx+b)=f(w'x),对于线性函数,其实相当于f(x)=x,那么在线性激活函数下,每一层相当于用一个矩阵去乘以...

862
来自专栏CreateAMind

如何理解深度学习中的deconvolution networks?

谭旭 https://www.zhihu.com/question/43609045/answer/132235276

1031
来自专栏人工智能头条

用反卷积(Deconvnet)可视化和理解卷积网络

1513
来自专栏机器人网

机器学习岗位面试问题汇总之 深度学习

1.模式识别、机器学习、深度学习的区别与联系 模式识别:过去、程序/机器做智能的事、决策树等 机器学习:热点领域、给数据+学习数据 深度学习:前言领域、强...

2353
来自专栏AI科技大本营的专栏

重磅 | 2017年深度学习优化算法研究亮点最新综述火热出炉

翻译 | AI科技大本营(微信ID:rgznai100) 梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个...

3647
来自专栏GAN&CV

基础 | batchnorm原理及代码详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_25737169/article/d...

651
来自专栏机器之心

深度 | 自然语言处理的一大步,应用Word2Vec模型学习单词向量表征

Word2Vec 模型用于学习被称为「词嵌入」的单词向量表示,通常用在预处理阶段,之后,学习到的词向量可以被输入到一个判别模型(通常是一个 RNN)中,进而生成...

742
来自专栏小鹏的专栏

trick—Batch Normalization

深度学习中 Batch Normalization为什么效果好? 这里分五部分简单解释一下Batch Normalization (BN)。 1. What ...

2558

扫码关注云+社区