这一篇论文很不错,也很有价值;它重新思考了googLeNet的网络结构--Inception architecture,在此基础上提出了新的改进方法;
文章的一个主导目的就是:充分有效地利用computation;

第一部分: 文章提出了四个principles:

原则1:设计网络的时候需要避免 representational bottlenecks; 什么意思呢? 文章中说: 层与层之间进行 information 传递时,要避免这个过程中的数据的extreme compression,也就是说,数据的 scale 不能减小的太快;(数据从输入到输出大致是减少的,这个变化过程一定要gently,而不是快速的,    一定是慢慢的变少。。。。。。)       当数据的维数extreme下降的时候,就相当于引入了 representational bottelneck.

原则2:没有怎么看明白什么意思啊?复制过来。Higher dimensional representations are easier to process locally within a network. Increasing the activations per tile in a convolutional network allows for more

disentangled features. The resulting networks will train faster.  (可以结合 figure7 下面的注释, 我感觉: 在高维表示时,对于局部的特征更容易处理,意思就是local 卷积,用1*1啦, 或3*3, 别用太大的)

原则3: spatial aggregation can be done over lower dimensional embedding without much or any loss in representational power.    直接翻译真的不会翻译啊

原则4: 应该均衡网络的宽度与深度;

第二部分:网络的改进方法:

基于以上原则,开始对网络进行改进了。

1. 把大的卷积层分解为小的卷积层,提高计算效率:

第一种:可以把一个5*5的卷积卷积层分解成两个 3*3 的卷积层。       一个细节就是:把底层的 filters 为m 时, 上层的filters 为 n 时,这时两层的小的卷积层的每一个filters 为多少呢? 细节2: 当原来的 激活函数为线性激活函数时,现在变为两层的激活函数如何选择?(文中说明了全部使用 relu 激活函数会好一些)

2. 非对称分解:

把一个 n*n 的卷积层分解为两个 1*N 和 N*1 的卷积层;         (文中说了这种分解在网络的开始几层效果垃圾, but is gives very good result on medium grid-sizes)

3.  auxiliary classifiers 分类器的真正作用

文章都过实验发现 辅助分类器的真正作用为:regularizer。  意思就是吧,这个辅助分类器并不会加快网络的训练,不会加快 low-level 特征的 evlove , 它只会在最后的时候提高了一点 performance. 文章还说了,如果加上 batch-mormalized 效果更好一些,这也说明了 batch-normalized 也算一种 regularizer吧。

4. 有效的 grid-size 的reduction 的方法 ,即减少 feature map 的size 的方法:

文中出发点:1 ,避免 representational bottleneck ,其实我理解的就是避免 data的 dimension 急剧下降,一定也慢慢的来,别太快了;   2, 提高计算效率;

下图中的两种方法不满足条件:(左边不满足条件1, 右边不满足条件2)

下图的方法为论文中提出来的:

5. Label smoothing Regularization 方法:

这里要涉及到了一些计算过程,用语言说明一下:网络采用softmax分类器以及交叉熵函数作为loss函数时,对于类别 K 的最上层的导数等于:网络实际输出的 类别 K 的后验概率 - 真实的类别 K的后验概率;     而真实的类别 K的后验概率 要么为1,要么为0. 这个容易出一个问题: 1,过拟合,为什么呢?这样会使促使 网络去学习 的实际输出的 类别 K 的后验概率为 1 或0 ,it is not guaranteed to generalize; 2, 这个也限制了导数的变化, 因为吧, 容易上层数为0 啊。。( 自己推导好好理解一下)

所以呢,文中提出了一个方法:  真实的类别 K的后验概率别这个confident (要么为1 要么为0,不好,虽然后验概率就是这样的),  然后引入了:

其中的u(k)是自己引入的, 文章用了均匀分布; 另外文章也建议了使用训练样本中的 k 的分布来表示 u(k), 其实吧,训练样本中的每一个类别的样本可能差不多相同吧,所以呢,用均匀分布也挺合适的;

第三部分: Inception V-2网络;

第四部分:训练方法:

看看,参考文献很好;

第五部分:如何处理 small object的分类问题?

由于 object 比较小,所以呢, 像素少, 分辨率低,怎么办?

文中呢,通过试验说明了在计算力相同的情况下,不同的分辨率的输入的效果其实差不多的。

所以呢,当输入的分辨率低时,适当地调节网络的前几层,来保证 computational cost 相同 ,这样的话,最终的 perpormance 其实没有多大的差别的;

第六部分:对比实验:

这一部分对比了其它的实验结果, 注意:Inception-V3.

参考文献:Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2818-2826.

Rethinking the inception architecture for computer vision的 paper 相关知识的更多相关文章

  1. inception_v2版本《Rethinking the Inception Architecture for Computer Vision》(转载)

    转载链接:https://www.jianshu.com/p/4e5b3e652639 Szegedy在2015年发表了论文Rethinking the Inception Architecture ...

  2. 图像分类(三)GoogLenet Inception_v3:Rethinking the Inception Architecture for Computer Vision

    Inception V3网络(注意,不是module了,而是network,包含多种Inception modules)主要是在V2基础上进行的改进,特点如下: 将滤波器尺寸(Filter Size) ...

  3. Rethinking the Inception Architecture for Computer Vision

    https://arxiv.org/abs/1512.00567 Convolutional networks are at the core of most state-of-the-art com ...

  4. 【Network architecture】Rethinking the Inception Architecture for Computer Vision(inception-v3)论文解析

    目录 0. paper link 1. Overview 2. Four General Design Principles 3. Factorizing Convolutions with Larg ...

  5. 论文笔记——Rethinking the Inception Architecture for Computer Vision

    1. 论文思想 factorized convolutions and aggressive regularization. 本文给出了一些网络设计的技巧. 2. 结果 用5G的计算量和25M的参数. ...

  6. (转) WTF is computer vision?

        WTF is computer vision? Posted Nov 13, 2016 by Devin Coldewey, Contributor   Next Story   Someon ...

  7. Analyzing The Papers Behind Facebook's Computer Vision Approach

    Analyzing The Papers Behind Facebook's Computer Vision Approach Introduction You know that company c ...

  8. 计算机视觉和人工智能的状态:我们已经走得很远了 The state of Computer Vision and AI: we are really, really far away.

    The picture above is funny. But for me it is also one of those examples that make me sad about the o ...

  9. Computer Vision Tutorials from Conferences (3) -- CVPR

    CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...

随机推荐

  1. 行为类模式(六):备忘录(Memento)

    定义 在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态. UML 优点 将被存储的状态放在外面,不要和关键对象混在一起,可以帮助维护内 ...

  2. lua -- 商店的数据管理类

    module (..., package.seeall) local ShopM = {} local SystemPrompt = require(__APP_PACKAGE_NAME__ .. & ...

  3. elasticsearch 索引延迟 一致性问题等

    https://www.elastic.co/guide/en/elasticsearch/guide/current/near-real-time.html https://www.elastic. ...

  4. 灯光探测器LightProbe[Unity]

    灯光探测器的目的,抄手册上的话就是: Although lightmapping adds greatly to the realism of a scene, it has the disadvan ...

  5. 使用TCP协议的NAT穿透技术(转)

    其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之. 一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基 ...

  6. Leetcode:【DP】Longest Palindromic Substring 解题报告

    Longest Palindromic Substring -- HARD 级别 Question SolutionGiven a string S, find the longest palindr ...

  7. java判断集合是否相等

    1,使用commons-collection-3.2.1.jar包中的CollectionUtils.isEqualCollection()方法 2,还有其他集合操作:disjunction(a,b集 ...

  8. js 删除数组几种方法

    var arr=['a','b','c']; 若要删除其中的'b',有两种方法: 1.delete方法:delete arr[1] 这种方式数组长度不变,此时arr[1]变为undefined了,但是 ...

  9. You have not concluded your merge (MERGE_HEAD exists) git拉取失败

    本文转自:http://yijiebuyi.com/blog/5b55eb51ad49ce41e2de9c85dd4513ca.html 今天获取git线上仓库代码报了这个错误: zhangzhi@m ...

  10. Java API学习(一) ArrayList源码学习

    ArrayList在平常用的还挺多的,用起来十分舒服,顺手.这里来学习一下它的源码. 类定义 下面是类的定义: public class ArrayList<E> extends Abst ...