来源 | 机器学习炼丹术

GoogleNet和VGG是ImageNet挑战赛中的第一名和第二名。共同特点就是两个网络的层次都更深了。但是:

  • VGG继承了LeNet和AlexNet的一些框架结构

  • 而GoogleNet则做了更大胆的尝试,虽然深度有22层,但是参数却是Alexnet的1/12.而VGG都是Alexnet的三倍,由此可见,在内存和计算资源有限的时候,GoogleNet是好的结构,而且这个的性能更加优越,碾压VGG。

Inception v1

总之,Inception是GoogLeNet的核心,GoogLeNet优秀,一方面是运算速度快,而这就是Inception的功劳。

设计一个稀疏网络结构,但是怎么产生稠密的数据呢。就用这个!CNN中常见的三种卷积核,和池化操作堆叠在一起,一方面增加了网络的宽度,另一方面也加强了网络对尺度的是影响。但是这个原始的版本思路是好的,但是计算量太大了,因此作者对3x3和5x5的卷积层之前用了1x1的缩小图片的channel数量,因此V1是这个样子:

【1x1的卷积核有什么用呢?】

1x1卷积的主要目的是为了减少维度,还用于修正线性激活(ReLU)。比如,上一层的输出为100x100x128,经过具有256个通道的5x5卷积层之后(stride=1,pad=2),输出数据为100x100x256,其中,卷积层的参数为128x5x5x256= 819200。而假如上一层输出先经过具有32个通道的1x1卷积层,再经过具有256个输出的5x5卷积层,那么输出数据仍为为100x100x256,但卷积参数量已经减少为128x1x1x32 + 32x5x5x256= 204800,大约减少了4倍。

【为什么会有池化层在其中呢?】

一般来说,想让图像缩小,有以下两种方式:

但是左边的方法先池化层后inception,这样会导致特征的缺失,而右边的方法,会导致运算量很大。为了同时保持特征并且降低运算发,将网络改成下图,使用两个并行化的模块来降低计算量,也就是池化,卷积并行,然后再合并

inception V2

设计人员想,如果只是单纯的堆叠网络,虽然可以提高准确率,但是会导致计算效率的下降,如何在不增加过多额计算量的同时提高网络的表达能力呢?

【卷积分解(Fatorizing Convolutions)】

大尺寸的卷积核可以带来更大的感受野,但是也意味着更多的参数,比如size=5的卷积核有25个参数,size=3的有9个参数。GoogLeNet团队提出可以用2个连续的3x3的卷积核组成小网络来代替单个size=5的卷积层:

通过大量的实验证明,这样的方案并不会导致表达的缺失。更进一步,团队考虑了nx1的卷积核,如下图:

因此,任意的nxn的卷积都可以通过nx1后接上1xn来代替。但是团队发现在网络的前期使用这样分解的效果并不好,在中部使用效果才会好。

团队更新了网络中的Inception的结构,如下图:

figure5是原来的v1版本,然后figure6是改成两个3x3的版本,然后figure7是改成了1xn和nx1的版本。


inception v3

最重要的改进就是分解Factorization,把7x7分解成两个一维的卷积(1x7和7x1),3x3的也是一样,这样的好处是,既可以加速运算,又可以将一个卷积拆成两个卷积,这样使得网络的深度进一步加深,并且增加了网络的非线性。(每增加一层都要用ReLU),此时网络的输入也从224x224变成299x299。

Inception v4

研究了Inception模块与残差连接的结合,ResNet结构大大加深了网络的深度,而且极大的提高了训练速度。总之,Inception v4就是利用残差连接(Residual Connection)来改进v3,得到Inception-ResNet-v1, Inception-ResNet-v2, Inception-v4网络 我们先简单的看一下什么是残差结构:

结合起来就是:

然后通过二十个类似的模块,得到:

推荐阅读
  • 一只端午节鸭蛋粽子的背后:AI 与农业

  • 高文、张钹、杨强隔空论道:AI精度与隐私的博弈

  • 90行Python代码,让张小龙的微信地球转起来

  • 突发!印度封禁抖音、微信、快手等 59 款中国 App

  • 厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶

  • Balancer因通缩代币STA遭遇闪电贷攻击,价值50万美元资产被黑

  • 浅谈分布式存储中的网络通信

你点的每个“在看”,我都认真当成了AI

一文读懂:GoogleNet的Inception从v1到v4的演变相关推荐

  1. 一文读懂GoogLeNet神经网络

    本文介绍的是著名的网络结构GoogLeNet,,目的是试图领会其中结构设计思想. 一文读懂GoogLeNet神经网络 GoogLeNet特点 优化网络质量的生物学原理 GoogLeNet网络结构的动机 ...

  2. 一文读懂GoogLeNet神经网络 | CSDN博文精选

    作者 | .NY&XX 来源 | CSDN博客 本文介绍的是著名的网络结构GoogLeNet,目的是试图领会其中结构设计思想. GoogLeNet特点 优化网络质量的生物学原理 GoogLeN ...

  3. 从实验室走向大众,一文读懂Nanopore测序技术的发展及应用

    关键词/Nanopore测序技术    文/基因慧 随着基因测序技术不断突破,二代测序的发展也将基因检测成本大幅降低.理想的测序方法,是对原始DNA模板进行直接.准确的测序,消除PCR扩增带来的偏差, ...

  4. 一文读懂Faster RCNN

    来源:信息网络工程研究中心本文约7500字,建议阅读10+分钟 本文从四个切入点为你介绍Faster R-CNN网络. 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在20 ...

  5. 福利 | 一文读懂系列文章精选集发布啦!

    大数据时代已经悄然到来,越来越多的人希望学习一定的数据思维和技能来武装自己,虽然各种介绍大数据技术的文章每天都扑面而来,但纷繁又零散的知识常常让我们不知该从何入手:同时,为了感谢和回馈读者朋友对数据派 ...

  6. ​一文读懂EfficientDet

    一文读懂EfficientDet. 今年年初Google Brain团队在 CVPR 2020 上发布了 EfficientDet目标检测模型, EfficientDet是一系列可扩展的高效的目标检测 ...

  7. 一文读懂序列建模(deeplearning.ai)之序列模型与注意力机制

    https://www.toutiao.com/a6663809864260649485/ 作者:Pulkit Sharma,2019年1月21日 翻译:陈之炎 校对:丁楠雅 本文约11000字,建议 ...

  8. AI洞观 | 一文读懂英特尔的AI之路

    AI洞观 | 一文读懂英特尔的AI之路 https://mp.weixin.qq.com/s/E9NqeywzQ4H2XCFFOFcKXw 11月13日-14日,英特尔人工智能大会(AIDC)在北京召 ...

  9. 一文读懂机器学习中的模型偏差

    一文读懂机器学习中的模型偏差 http://blog.sina.com.cn/s/blog_cfa68e330102yz2c.html 在人工智能(AI)和机器学习(ML)领域,将预测模型参与决策过程 ...

最新文章

  1. Django源码分析4:staticfiles静态文件处理中间件分析
  2. linux git gui使用教程,跨平台最好用的Git GUI工具gitkraken
  3. Pandas的学习(pandas中删除行以及重排(重建)行索引)
  4. build linux kernel
  5. 永远不要在 MySQL 中使用 UTF-8
  6. 关于 not enough actual parameters for macro ...
  7. cgo的效率 golang_golang CGO FAQ TIPS : cgo 从 C 传递 slice 到 go
  8. ubantu20下python安装和卸载
  9. java多线程 线程安全_Java中的线程安全
  10. 数据结构:顺序表的基本操作
  11. 《软件工程》第5章系统建模
  12. 微服务调用Ribbon负载均衡、Feign的使用
  13. maven使用modules、parent标签时遇到的问题
  14. java 首字母检索_java实现首字母模糊查询的功能
  15. [Hadoop in China 2011] 人人网:基于Hadoop的SNS统计和聚类推荐
  16. 科幻的意义---《超新星纪元》后记
  17. github.io使用方法
  18. 一周技术学习笔记(第67期)-CPU的设计跟开闭原则有关系吗
  19. php工程师的段子,江湖上一些关于程序员的段子
  20. 生产环境kubeadm部署k8s(1.23)高可用集群

热门文章

  1. mongodb 连接和备份
  2. 字符串转换成NSDate类型的 为nil解决方法
  3. IntelliJ IDEA 12详细开发教程(四) 搭建Android应用开发环境与Android项目创建
  4. php时区问题导致php页面显示不正常
  5. 南通市公积金信息系统goldengate复制软件采购
  6. 消息延迟队列处理拼团时间到期
  7. 使用Python命令创建jenkins的job
  8. android 以不规则图片为边框切割另外图片
  9. 《postfix邮件服务下mailq、postmap、postqueue 、 postsuper等用法》
  10. 【转】实现多行toolTips的类模块