【CV论文阅读】Going deeper with convolutions(GoogLeNet)
目的:
提升深度神经网络的性能。
一般方法带来的问题:
增加网络的深度与宽度。
带来两个问题:
(1)参数增加,数据不足的情况容易导致过拟合
(2)计算资源要求高,而且在训练过程中会使得很多参数趋向于0,浪费计算资源。
解决方法:
使用稀疏连接替代稠密结构。
理论依据(Arora):一个概率分布可以用一个大的稀疏的深度神经网络表示,最优的结构的构建通过分析上层的激活状态的统计相关性,并把输出高度相关的神经元聚合。这与生物学中Hebbian法则“有些神经元响应基本一致,即同时兴奋或抑制”一致。
存在问题:计算机的基础结构在遇到稀疏数据计算时会很不高效,使用稀疏矩阵会使得效率大大降低。
目标:设计一种既能利用稀疏性,又可以利用稠密计算的网络结构。
Inception 模型:
究竟模型中是怎样利用稀疏性的呢?我也说不清楚,但估计是在同一层利用了不同的核去对输入的feature进行卷积把,分散成几个小任务进行,然后再汇聚。如下图:
@2016/08/24 更新对稀疏性的理解
知乎上摘自 段石石的解答:
对的 channel的意思其实就是神经元的个数,这里降维的意思其实就是减少神经元的个数,比如原先的28*28*512 在1*1*256 之后 就是28*28*256(stride为1的情况), 这样在整个网络结构这一层就降维了,原作者发现在没有1*1之前的参数空间存在很多稀疏的数据,这里降维之后,参数空间会更dense,这样就解决了文章说的痛点(也就是稀疏性增大计算困难的问题)

这是最原始的模型。可以看出,因为卷积并不一定就改变大小,而通道数目由于分散的连接最终会增加,这样很容易造成参数个数的指数级别的上升。论文中使用了NIN网络中提到的利用1*1卷积核降维的作用,在卷积层处理前,先对特征图层进行降维(注意是通道的降维,不是空间的降维),例如原本是M通道,降维到P通道后,在通过汇聚变成了M通道,这时参数的个数并没有随着深度的加深而指数级的增长,如下图:

这样做的合理性在于,Hebbin法则说的“有些神经元同时兴奋或抑制”,而在区域中同一节点对应的区域可能一样,认为它们是相关的,所以通过1*1的卷积核将它们聚合(信息压缩)后再卷积,符合Arora的理论。同时,注意到还有一个最大化池化层。
这样处理的好处是(1)深度增加,节点数目可控(2)出现多个尺度如3*3,1*1,5*5,7*7等。
GoogLeNet结构:
GoogLeNet网络有22层,最后一层使用了NIN网络中的全局平均池化层,但还是会加上FC层,再输入到softmax函数中。如下图:

在深度加深的情况下,在BP算法执行时可能会使得某些梯度为0,这会使得网络的收敛变慢。论文中使用的方法是增加两个输出层(Auxiliary Classifiers),这样一些权值更新的梯度就会来自于多个部分的叠加,加速了网络的收敛。但预测时会吧AC层去掉。
【CV论文阅读】Going deeper with convolutions(GoogLeNet)的更多相关文章
- [论文阅读]Going deeper with convolutions(GoogLeNet)
本文采用的GoogLenet网络(代号Inception)在2014年ImageNet大规模视觉识别挑战赛取得了最好的结果,该网络总共22层. Motivation and High Level Co ...
- Going Deeper with Convolutions (GoogLeNet)
目录 代码 Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]. computer vision and pattern ...
- 【CV论文阅读】Two stream convolutional Networks for action recognition in Vedios
论文的三个贡献 (1)提出了two-stream结构的CNN,由空间和时间两个维度的网络组成. (2)使用多帧的密集光流场作为训练输入,可以提取动作的信息. (3)利用了多任务训练的方法把两个数据集联 ...
- 【CV论文阅读】YOLO:Unified, Real-Time Object Detection
YOLO的一大特点就是快,在处理上可以达到完全的实时.原因在于它整个检测方法非常的简洁,使用回归的方法,直接在原图上进行目标检测与定位. 多任务检测: 网络把目标检测与定位统一到一个深度网络中,而且可 ...
- 【CV论文阅读】Deep Linear Discriminative Analysis, ICLR, 2016
DeepLDA 并不是把LDA模型整合到了Deep Network,而是利用LDA来指导模型的训练.从实验结果来看,使用DeepLDA模型最后投影的特征也是很discriminative 的,但是很遗 ...
- 【CV论文阅读】Unsupervised deep embedding for clustering analysis
Unsupervised deep embedding for clustering analysis 偶然发现这篇发在ICML2016的论文,它主要的关注点在于unsupervised deep e ...
- 【CV论文阅读】生成式对抗网络GAN
生成式对抗网络GAN 1. 基本GAN 在论文<Generative Adversarial Nets>提出的GAN是最原始的框架,可以看成极大极小博弈的过程,因此称为“对抗网络”.一般 ...
- 【CV论文阅读】Image Captioning 总结
初次接触Captioning的问题,第一印象就是Andrej Karpathy好聪明.主要从他的两篇文章开始入门,<Deep Fragment Embeddings for Bidirectio ...
- 【CV论文阅读】+【搬运工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition
论文的关注点在于如何提高bounding box的定位,使用的是概率的预测形式,模型的基础是region proposal.论文提出一个locNet的深度网络,不在依赖于回归方程.论文中提到locne ...
随机推荐
- 283 Move Zeroes 移动零
给定一个数组 nums, 编写一个函数将所有 0 移动到它的末尾,同时保持非零元素的相对顺序.例如, 定义 nums = [0, 1, 0, 3, 12],调用函数之后, nums 应为 [1, 3, ...
- DateFormat 多线程问题
在写实时应用解析日志的时候,有如下代码: public class CalPvLogParse { private static SimpleDateFormat logTimeFormat = ne ...
- WordPress熊掌号页面改造,自动发布
写在前面的话: 有很多小伙伴刚进入WordPress,对很多东西还不太了解,比如:有的主题很挑剔,对于有些插件不兼容,但是呢对于这个功能有不可或缺.所以,这时候就需要我们自己手动修改或者添加代码,来实 ...
- RecylerView为item添加点击事件
RecyclerView侧重的是布局的灵活性,虽说可以替代ListView但是连基本的点击事件都没有,这篇文章就来详细讲解如何为RecyclerView的item添加点击事件. 1 原理: 为Recy ...
- Microsoft SQL Server学习(三)
1.表:表示一个实体(客观存在的事物或抽象时间),可实现对实体的数据描述和数据操作. 2.表结构:二位平面(行.列) 3.数据类型: 类型名称 类型 整形 bit(只存储0.1) samllint i ...
- Windows 2008 防火墙开放端口
当我们使用新服务器架设新主机时,经常会遇到网站无法访问的情况,当问及客服时,经常会告知,操作系统默认不打开80端口,请先确定80是否打开并确定没有被占用.那么,我们该如何打开80端口呢? 方法/步骤 ...
- 带有空格或tab的字符串的判断
class test { public static void main(String[] args) { String a = " "; //带有空格的字符串 if ( a.is ...
- POJ_2828_Buy Tickets
题意:插队问题: 2016.5.20,复习这道题. 总结:线段树基础不牢,建树,更新尚不熟悉,注意加强理解记忆. 主要理解:(单点更新,逆序插入) 发生插队时,前面的队伍是连续没有空位的,即pos:2 ...
- 洛谷——P4296 [AHOI2007]密码箱
P4296 [AHOI2007]密码箱 密码x大于等于0,且小于n,而x的平方除以n,得到的余数为1. 求这个密码,$1<=n<=2,000,000,000$ 暴力枚举,数据有点儿水$O( ...
- Luogu P4016 「 网络流 24 题 」负载平衡问题
吐槽题目难度,这个题建模好像比前两个都要难,但是难度评级却比第二个要低. 解题思路 依旧是考虑如何建模和建立源点汇点.每个点的货物数量到最后都一样的话肯定是等于他们的平均值.用 $num$ 数组存储原 ...