目录


Abstract

该网络结构可以在增加网络宽度和深度的同时保持计算预算不变。结构的选择基于Hebbian原理和多尺度处理的直觉。

Introduction

First of All

  • 图像识别和对象检测方面的进步,不但来源于更强的硬件、更大的数据集和更大的模型,而且主要是因为新的思路、算法和改进之后的网路结构。
    例如Girshick大神的R-CNN,不是只利用深层网路或更大的模型,而是要结合深层结构和经典计算机视觉算法。
  • 移动和嵌入式计算使得算法(CNN)的效率越来越重要。

Inception
"We need to go deeper"(盗梦空间里的台词)

Depth

  • 一个新的组织水平(Inception module)
  • 网络深度的增加

Related Work

  1. 在大的数据集上,趋势是增加层数和层的size,同时使用dropout解决过拟合问题
  2. 多尺度:一种类似灵长类视觉皮层的机制(primate visual cortex),但是Inception结构有所不同(Arora的论文)
    • Inception是学习得到的
    • Inception会在网络中重复多次
  3. NIN:1x1的卷积可以降低维度,限制网络的大小
  4. R-CNN:两步检测,本文提出了类似的pipeline,但是有改进
    • 多边框(multi-box)
    • 更好的候选框

Motivation and High Level Considerations

增加网络的深度和宽度会带来两个问题

  • 过拟合
  • 所需计算资源的暴增(二次方)

解决思路

  • 使用稀疏连接结构

    • Arora的开创性工作:根据特征和输出聚类之间的相关性逐层进行学习,得到最优网络结构
    • Hebbian原理:neurons that fire together, wire together

不利因素

  • 现今的计算架构对非均匀(non-uniform)稀疏数据结构的数值计算十分低效

    • 即使算数运算减少100倍,计算稀疏矩阵也不一定能成功
    • 当使用充分改进、精心调整、尽可能利用底层CPU和GPU硬件细节,使得密集矩阵(dense matrix)的乘法速度极快的数值运算库时,差距会进一步增大
    • 目前面向视觉的机器学习系统中实现空间域稀疏性的方式是使用卷积
      • 传统上(LeNet5)使用随机的稀疏连接表,以打破对称性,改进学习能力
      • 从AlexNet开始又回到全连接方式,以便更好的优化并行计算
      • 结构上的均一性、大量的滤波器和更大的batch size允许使用高效的密集计算(dense computation)

解决方法

  • 是否存在一种网络结构,可以通过计算密集矩阵充分挖掘目前的硬件性能,从而利用额外的稀疏性,甚至是在滤波器层面

    • 文献:聚类
    • 具有可行性(It dose not seem far-fetched)

Starting

  • 第一作者(C.Szegedy)评估一个复杂的网络拓扑结构构建算法的假设输出,该网络试图逼近Arora提出的稀疏结构

    • 尽管有很大的推测性,但仅仅两轮迭代之后,就看到了不错的结果(modest gains),最终建立起了Inception结构

注意

  • 结果的改善是否归因于Inception结构的设计原则是值得深究的

    • 这些原则在其他领域是否可以构建更好的网络

Architecture Details

The Main Idea

  • 在卷积视觉网络中如何逼近最优局部稀疏结构,并由现有的密集计算工具(卷积)实现

Inception

  • Figure2.a(可以进一步参考Arora的论文和NIN)

    • 用1x1的卷积对局部区域的相关单元(理解为像素???)进行聚类
    • 用3x3和5x5的卷积对空间上分散的相关单元进行聚类
    • 池化是CNN中必要的结构
  • Figure2.b
    • 直接使用a结构,越到后面堆积的层越多,参数越多,非常低效
    • 使用维度下降和投影
    • 先卷积后降维会破坏特征图的稀疏性,因为降维是一个压缩过程,是一种密集性的信息表达方式,更难以去建模(先池化后降维???)
  • 前几层为传统的卷积操作
    • 现有架构计算效率的原因
  • 优势
    • 增加计算单元不会导致计算复杂度爆表
    • 符合视觉信息的多尺度处理方式
  • 实践
    • 建立精度稍低,但是计算成本更低的版本

GoogLeNet

  • 224x224,减均值
  • 所有降维和投影之后都使用ReLU
  • 22个有参数的层(卷积层),总层数大约100
  • 使用平均池化代替全连接层
  • dropout
  • 网络中间层产生的特征或许具有非常高的可区分性
    • 添加辅助分类输出(相当于小网络)

      • 增强底层分类器的可discrimination
      • 增加梯度信号
      • 提供额外的正则化
      • 训练时loss的权重为0.3

Training Methodology

说不清那个trick更有用,太乱

  • DistBelief
  • SGD with 0.9 momentum
  • 学习率每8个epoch降低4%
  • Polyak averaging
  • 随机crop,大小8%-100%,高宽比3/4或4/3
  • photometric distortions
  • random interpolation methods

Going Deeper with Convolutions(Inception v1)笔记的更多相关文章

  1. 论文阅读笔记四十二:Going deeper with convolutions (Inception V1 CVPR2014 )

    论文原址:https://arxiv.org/pdf/1409.4842.pdf 代码连接:https://github.com/titu1994/Inception-v4(包含v1,v2,v4)   ...

  2. 解读(GoogLeNet)Going deeper with convolutions

    (GoogLeNet)Going deeper with convolutions Inception结构 目前最直接提升DNN效果的方法是increasing their size,这里的size包 ...

  3. GoogLeNet 之 Inception v1 v2 v3 v4

    论文地址 Inception V1 :Going Deeper with Convolutions Inception-v2 :Batch Normalization: Accelerating De ...

  4. 图像分类(一)GoogLenet Inception_V1:Going deeper with convolutions

    论文地址 在该论文中作者提出了一种被称为Inception Network的深度卷积神经网络,它由若干个Inception modules堆叠而成.Inception的主要特点是它能提高网络中计算资源 ...

  5. Going deeper with convolutions 这篇论文

    致网友:如果你不小心检索到了这篇文章,请不要看,因为很烂.写下来用于作为我的笔记. 2014年,在LSVRC14(large-Scale Visual Recognition Challenge)中, ...

  6. 深度学习面试题20:GoogLeNet(Inception V1)

    目录 简介 网络结构 对应代码 网络说明 参考资料 简介 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名.VGG获得了第二 ...

  7. 网络结构解读之inception系列二:GoogLeNet(Inception V1)

    网络结构解读之inception系列二:GoogLeNet(Inception V1) inception系列的开山之作,有网络结构设计的初期思考. Going deeper with convolu ...

  8. Inception V1、V2、V3和V4

    Inception模块分为V1.V2.V3和V4. V1(GoogLeNet)的介绍 论文:Going deeper with convolutions 论文链接:https://arxiv.org/ ...

  9. 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2

    from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...

随机推荐

  1. idea validation code

    K71U8DBPNE-eyJsaWNlbnNlSWQiOiJLNzFVOERCUE5FIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...

  2. 让EntityFramwork自动更新表结构

    在项目开发中,难免会遇到数据库表结构变化的情况,手动去维护数据库是一件繁琐的事情.好在EntityFramwork为我们这些懒人提供了可供自动更新数据结构的机制,废话不多说,直接上代码: 首先创建一个 ...

  3. MySQL多表更新

    多表更新:参照另外的表来更新本表的内容 table_reference {[inner | cross] join | {left | right} [outer] join}  内连接.左外连接.右 ...

  4. MVC目录规范

    入口程序 单一入口机制,单一入口指在一个web应用程序中,所有的请求都是指向一个脚本文件,例如我们经常看到某一个网站所有的页面都是index.php??xxxx这样的形式.所有对使用程序的访问都是必须 ...

  5. css消除空白节点的方法

    在做配置页面的时候,出现一个现在现象,两个同样的div(外框尺寸也是一样的),div里面包含有三个小的div ,三个小的div宽度也是一样的,同为33.3%,但是出现奇怪现象的就是左边一个有滚动条,右 ...

  6. OC总结 【OC基础语法相关知识】

    m是OC源文件扩展名,入口点也是main函数,第一个OC程序: #import <Foundation/Foundation.h> int main(int argc, const cha ...

  7. Android ListView分组显示

    ListView的实现方法也是普通的实现方法.只不过在list列表中加入groupkey信息.在渲染的时候要判断是否是分组的标题. 就是在使用不同的两个View的时候存在这种情况,convertVie ...

  8. JavaScript 函数用途

    在JavaScript中,函数可以:被赋值给一个变量,被赋值为对象的属性.作为参数被传入别的函数.作为函数的结果被返回.用字面量来创建. 1. 赋值给一个变量 //声明一个函数,接受两个参数 func ...

  9. [H5表单]html5自带表单验证体验优化及提示气泡修改

    慕课网之前录制的视频,js/jquery各种宽高的理解和应用,最近终于上线了.还有一个html5左侧导航没有上线!最近慕课网系列课程让我录制一个html5表单验证的课程.今天就稍微说一下表单验证!另外 ...

  10. Nginx - 简易图片服务器

    安装 主要使用Nginx和vsftpd. 安装方面可以直接从nginx官网上下载,或者... yum install nginx 如果没有yum源则需要自行添加再进行install. yum inst ...