文章首发于微信公众号《与有三学AI》

【模型解读】GoogLeNet中的inception结构,你看懂了吗

这是深度学习模型解读第3篇,本篇我们将介绍GoogLeNet v1到v3。

作者&编辑 | 言有三

01 Inception V1【1】

GoogLeNet首次出现在2014年ILSVRC 比赛中获得冠军。这次的版本通常称其为Inception V1。Inception V1有22层深,参数量为5M。同一时期的VGGNet性能和Inception V1差不多,但是参数量也是远大于InceptionV1。

Inception Module是GoogLeNet的核心组成单元。结构如下图:

Inception Module基本组成结构有四个成分。1*1卷积,3*3卷积,5*5卷积,3*3最大池化。最后对四个成分运算结果进行通道上组合。这就是Inception Module的核心思想。通过多个卷积核提取图像不同尺度的信息,最后进行融合,可以得到图像更好的表征

如上图所示,假设我们要提取猫脸特征,而上面两张图的猫脸占比显然不一样,那么我们就得用不同卷积核提取不同信息。信息分布比较全局性的图像采用大卷积核,信息分布比较局部性的图像采用小卷积核。

图b是对图a的改进,即在3*3卷积,5*5卷积前加1*1卷积,目的是为了先进行降维,相比较于原来结构减少了较多参数。而把1*1卷积放在3*3最大池化之后,相比较放在前面,也是为了参数量的减少。

由Inception Module组成的GoogLeNet如下图:

对上图做如下说明:

1.  采用模块化结构,方便增添和修改。其实网络结构就是叠加Inception Module。

2.采用Network in Network中用Averagepool来代替全连接层的思想。实际在最后一层还是添加了一个全连接层,是为了大家做finetune。

3.依然使用Dropout层,防止过拟合。

4.另外增加了两个辅助的softmax分支,作用有两点,一是为了避免梯度消失,用于向前传导梯度。反向传播时如果有一层求导为0,链式求导结果则为0。二是将中间某一层输出用作分类,起到模型融合作用。最后的loss=loss_2 + 0.3 * loss_1 + 0.3 * loss_0。实际测试时,这两个辅助softmax分支会被去掉。

02 Inception V2【2】

1.学习VGGNet的特点,用两个3*3卷积代替5*5卷积,可以降低参数量。

2.提出BN算法。BN算法是一个正则化方法,可以提高大网络的收敛速度。简单介绍一下BN算法。就是对输入层信息分布标准化处理,使得规范化为N(0,1)的高斯分布,收敛速度大大提高。

03 nception V3【3】

学习Factorization into small convolutions的思想,将一个二维卷积拆分成两个较小卷积,例如将7*7卷积拆成1*7卷积和7*1卷积。这样做的好处是降低参数量。paper中指出,通过这种非对称的卷积拆分,比对称的拆分为几个相同的卷积效果更好,可以处理更多,更丰富的空间特征。

本来还有Inception V4【4】的,考虑到借鉴了微软的ResNet网络结构思想,在后面介绍Resnet中的残差结构时再做介绍。

参考文献

【1】Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]// IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2015:1-9.

Ioffe S, Szegedy C.

【2】Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J].2015:448-456.

【3】Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the Inception Architecture for ComputerVision[J]. 2015:2818-2826.

【4】Szegedy C, Ioffe S, Vanhoucke V, et al. Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning[J]. 2016.

同时,在我的知乎专栏也会开始同步更新这个模块,欢迎来交流

https://zhuanlan.zhihu.com/c_151876233

注:部分图片来自网络

—END—

转载请留言,侵权必究

本系列的完整目录:

【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构

【模型解读】network in network中的1*1卷积,你懂了吗

【模型解读】GoogLeNet中的inception结构,你看懂了吗

【模型解读】说说移动端基准模型MobileNets

【模型解读】pooling去哪儿了?

【模型解读】resnet中的残差连接,你确定真的看懂了?

【模型解读】“不正经”的卷积神经网络

【模型解读】“全连接”的卷积网络,有什么好?

【模型解读】从“局部连接”回到“全连接”的神经网络

【模型解读】深度学习网络只能有一个输入吗

【模型解读】从2D卷积到3D卷积,都有什么不一样

【模型解读】浅析RNN到LSTM

感谢各位看官的耐心阅读,不足之处希望多多指教。后续内容将会不定期奉上,欢迎大家关注有三公众号 有三AI

【模型解读】GoogLeNet中的inception结构,你看懂了吗相关推荐

  1. 「模型解读」GoogLeNet中的inception结构,你看懂了吗

    https://www.toutiao.com/a6706860769624982020/ 1 Inception V1[1] GoogLeNet首次出现在2014年ILSVRC 比赛中获得冠军.这次 ...

  2. 全局稳定性收敛平衡点为0吗_「模型解读」GoogLeNet中的inception结构,你看懂了吗...

    作者 | 李健(微信号:lijian05170517) 编辑 | 言有三 1 Inception V1[1] GoogLeNet首次出现在2014年ILSVRC 比赛中获得冠军.这次的版本通常称其为I ...

  3. 【模型解读】从LeNet到VGG,看卷积+池化串联的网络结构

    文章首发于微信公众号<与有三学AI> [模型解读]从LeNet到VGG,看卷积+池化串联的网络结构 从本篇开始,我们将带领大家解读深度学习中的网络的发展 这是深度学习模型解读第一篇,本篇我 ...

  4. CNN经典模型:GoogLeNet(从Inception v1到v4的演进)

    GoogLeNet和VGG是2014年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得第一名.VGG获得第二名,这两类模型结构的共同特点是层次更深了.VGG继承了LeNet以及 ...

  5. 计算机网络中的网桥,一个动画看懂网络原理之网桥的工作原理

    一个动画看懂网络原理之网桥的工作原理 一.网桥是干什么的 网桥工作在OSI参考模型数据链路层的两端口或多端口二层网络设备,是用来连接不同网段的存储转发设备.使用网桥能扩展网络的距离或范围,还可以提高网 ...

  6. 二叉排序树的中序遍历规律_看懂这篇文章,玩转二叉查找树

    所谓二叉查找树,就是按照二分进行查找,每次查询只需要选择其中一个子树就进行查找,从而减少查找次数,提升查询效率! 一.介绍 在前面的文章中,我们对树这种数据结构做了一些基本介绍,今天我们继续来聊聊一种 ...

  7. 解读全球海缆地图,带你看懂隐藏的秘密

    全球互联网年增29%够用吗? 每年15个新的公有云区域都在哪里? 海缆地图真正的用处? ○ 今日文末有福利! 2021年全球海缆带宽有多大?海缆是如何连接全球? 通过权威数据网站TeleGeograp ...

  8. matlab中ode45如何设置,matlab 中ode45的源代码如何看懂

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求常微分方程的数值解 ode45方法的源代码怎么看懂呢?四百多行 如何理解这些代码的核心思想 以方便未来自己使用呢?求大神指点迷津 感激不尽 functi ...

  9. matlab编程ode45,matlab 中ode45的源代码如何看懂

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求常微分方程的数值解 ode45方法的源代码怎么看懂呢?四百多行 如何理解这些代码的核心思想 以方便未来自己使用呢?求大神指点迷津 感激不尽 functi ...

最新文章

  1. UITableView 顶部空白总结
  2. php单词出现频率,PHP计算文件或数组中单词出现频率
  3. 写给你的数据结构教程(第一天)
  4. java函数返回多个值_深入理解被调函数与主调函数之间的传值、传址、值返回、址返回...
  5. jenkins结合ansible用shell实现自动化部署和回滚
  6. 集成学习 Ensemble Learing(???)
  7. 【java】@Transactional注解与事务
  8. 严格模式与混杂模式如何区分_品牌商如何规划合伙人模式
  9. 《MySQL必知必会》学习笔记——第五章(排序检索数据)
  10. Python期末复习题及代码
  11. 虚拟vpc服务器搭建,服务器搭建vpc
  12. 翟菜花:以科创板的科技成色,错失联想是相当大的损失
  13. Python str 模块
  14. Python爬虫实战 | (13) 爬取新浪滚动新闻
  15. 香港银行开户多少钱能开下来
  16. msde2000修改服务器名,MSDE2000数据库怎么修改SA口令?
  17. 使用 EasyExcel 操作exsel文件
  18. 黑龙江大米:正宗东北大米,源于黑土地
  19. (转)AndroidManifest 清单文件合并时出现 【quires a placeholder substitution but no value for is provided.】问题
  20. 数学上的一些小技巧韩信点兵的问题

热门文章

  1. 什么是缓存一致性问题?如何解决呢?
  2. SolrException: Index locked 和 Error opening new searcher 最终解决方案(找了好久才解决)
  3. 【struts2+hibernate+spring项目实战】用户登录校验(struts拦截器)
  4. 什么时候用抽象?什么时候用接口?
  5. (Java集合框架)Map集合
  6. 数据结构与算法——并查集(不相交集合)
  7. Python入门——石头剪刀布程序
  8. 在Linux下编写运行你的第一条代码——Hello Linux
  9. python 保存json时最后一个多了一个逗号_从json obj的最后一个对象中删除逗号
  10. 嵌入式linux 分区挂载,嵌入式linux系统的开发——文件系统的分区和挂载