这篇文章介绍的网络有Inception V1、Inception V2、Inception V3、Inception V4与Inception-ResNet-V2。

1、Inception V1

  主要贡献:

  (1)提出inception architecture并对其优化

  (2)取消全连层(因为FC网络输入要固定、参数过多、容易过拟合)

  (3)运用auxiliary classifiers加速网络converge,简称AC

  

  其中1×1的卷积层可以控制kernels的数量,还增加了网络的非线性程度。多个卷层后将卷积直接concate一下。

  网络中间层加入了两个AC,这两个AC在训练的时候也跟着学习,同时把自己学习到的梯度反馈给网络,算上网络最后一层的梯度反馈,GoogLeNet一共有3个“梯度提供商”,先不说这么做有没有问题,它确实提高了网络收敛的速度,因为梯度大了嘛。另外,GoogLeNet在做inference的时候AC是要被摘掉的。

2、Inception V2

  该团队又提出了inception v2的结构,基于上面提到的一些原则,在V1的基础之上主要做了以下改进:

  (1)使用BN层,将每一层的输出都规范化到一个N(0,1)的正态分布,这将有助于训练,因为下一层不必学习输入数据中的偏移,并且可以专注与如何更好地组合特征(也因为在v2里有较好的效果,BN层几乎是成了深度网络的必备)。这也是最大贡献Batch Normalization(BN)。BN层放在每个隐藏层激活函数前,即 wx+b 之后,之后再加激活函数。总的来讲,加入BN层的反向传播没有发生根本的改变,只是多了一个反向计算过程(batchnorm_backward函数)而已。

  (2)使用两个小的3*3卷积核代替一个5*5的大卷积核,好处是:相同的感受野、更少的参数、更深的网络提取特征。

  (3)尝试更小的卷积:1*3 + 3*1 替换3*3 卷积。

3、Inception V3

  论文做出的贡献主要有4个:

  • 1、分解大filters,使其小型化、多层化,其中有个“非对称卷积”很新颖
  • 2、优化inception v1的auxiliary classifiers
  • 3、提出一种缩小特征图大小的方法,说白了就是一种新的、更复杂的pooling层
  • 4、Label smooth,“标签平滑”,很难用中文说清楚的一种方法

4、Inception V4

  各种改网络结构,各种复杂,也是醉了。

  将原来卷积、池化的顺次连接(网络的前几层)替换为stem模块,来获得更深的网络结构。

5、Inception-ResNet-v2

  ResNet 的结构既可以加速训练,还可以提升性能(防止梯度弥散);Inception模块可以在同一层上获得稀疏或非稀疏的特征,作者尝试将两者结合起来。(inception-resnet有v1和v2两个版本,v2表现更好且更复杂,这里只介绍了v2)。
  • 1、在Inception v3的基础上发明了Inception v4,v4比v3更加复杂,复杂到不可思议
  • 2、结合ResNet与GoogLeNet,发明了Inception-ResNet-v1、Inception-ResNet-v2,其中Inception-ResNet-v2效果非常好,但相比ResNet,Inception-ResNet-v2的复杂度非常惊人,跟Inception v4差不多
  • 3、加入了Residual Connections以后,网络的训练速度加快了
  • 4、在网络复杂度相近的情况下,Inception-ResNet-v2略优于Inception-v4
  • 5、Residual Connections貌似只能加速网络收敛,真正提高网络精度的是“更大的网络规模
 

6、总结

  inception  网络系列是从GoogLeNet开始的,一步步将网络设计的更复杂,最后直接结合残差网络,复杂度进一步上升,残差网络负责加快收敛,重要的还是模型的规模。Inception-ResNet v2、ResNet152和Inception v4模型规模差不多,v4略小,Inception v3和ResNet50模型规模相当。

  依我个人理解,网络的负责是为了充分挖掘训练数据图像的特征,减少卷积过程中特征的损失,从而提高分类准确度。但在现实应用中,还需要在模型复杂度,计算量和任务需求上进行权衡选择。如果相对简单的网络能满足要求,就不必须选择复杂的网络。

参考:https://zhuanlan.zhihu.com/p/30756181
   https://www.jianshu.com/p/a2ad00eddbd5
 

目标检测 — Inception-ResNet-v2的更多相关文章

  1. 目标检测之YOLO V2 V3

    YOLO V2 YOLO V2是在YOLO的基础上,融合了其他一些网络结构的特性(比如:Faster R-CNN的Anchor,GooLeNet的\(1\times1\)卷积核等),进行的升级.其目的 ...

  2. 目标检测 - Tensorflow Object Detection API

    一. 找到最好的工具 "工欲善其事,必先利其器",如果你想找一个深度学习框架来解决深度学习问题,TensorFlow 就是你的不二之选,究其原因,也不必过多解释,看过其优雅的代码架 ...

  3. 目标检测算法之YOLOv1与v2

    YOLO:You Only Look Once(只需看一眼) 基于深度学习方法的一个特点就是实现端到端的检测,相对于其他目标检测与识别方法(如Fast R-CNN)将目标识别任务分成目标区域预测和类别 ...

  4. 目标检测网络之 YOLOv2

    YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体. 每个格子预测B个bounding b ...

  5. AI佳作解读系列(二)——目标检测AI算法集杂谈:R-CNN,faster R-CNN,yolo,SSD,yoloV2,yoloV3

    1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理.本文着重与分析目标检测领域的深度学习方法,对其中的经典模型框架进行深入分析. 目标检测可以理解为是物 ...

  6. 目标检测网络之 YOLOv3

    本文逐步介绍YOLO v1~v3的设计历程. YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这 ...

  7. 【转】目标检测之YOLO系列详解

    本文逐步介绍YOLO v1~v3的设计历程. YOLOv1基本思想 YOLO将输入图像分成SxS个格子,若某个物体 Ground truth 的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这 ...

  8. 【目标检测】YOLO:

    PPT 可以说是讲得相当之清楚了... deepsystems.io 中文翻译: https://zhuanlan.zhihu.com/p/24916786 图解YOLO YOLO核心思想:从R-CN ...

  9. 目标检测之RefineDet

    RefineDet 一.相关背景 中科院自动化所最新成果,CVPR 2018 <Single-Shot Refinement Neural Network for Object Detectio ...

  10. One Stage目标检测

    在计算机视觉中,目标检测是一个难题.在大型项目中,首先需要先进行目标检测,得到对应类别和坐标后,才进行之后的各种分析.如人脸识别,通常是首先人脸检测,得到人脸的目标框,再对此目标框进行人脸识别.如果该 ...

随机推荐

  1. Ubuntu配置apache2.4配置虚拟主机遇到的问题

    update: 偶然看到了 apache的更新说明,直接贴个地址过来吧. http://httpd.apache.org/docs/2.4/upgrading.html 最近想把web开发目录从/va ...

  2. 【Python + Selenium】之JS定位总结

    感谢:小琰子 Python+Selenium 脚本中的一些js的用法汇总: 1.滚动条 driver.set_window_size(500,500) js = "window.scroll ...

  3. Iterator模式----一个一个遍历

    说起遍历,我立马就想到for循环,增强for循环,foreach循环这类的循环遍历,这个不错,既然有这么方便的遍历,为什么我们还要学习Iterator这样的遍历呢? 一个重要的理由是:引入Iterat ...

  4. tcp 状态转移图详解

    首先看一张图片: 虚线表示服务端的状态转移,实现表示客户端的状态转移. 初始的close状态并不是真是的状态,只是为了方便描述开始和终止状态而构造出来的. 从服务端的状态转移开始说: 服务端打开后处于 ...

  5. C++中多态性学习(上)

    多态性学习(上) 什么是多态? 多态是指同样的消息被不同类型的对象接收时导致不同的行为.所谓消息是指对类的成员函数的调用,不同的行为是指不同的实现,也就是调用了不同的函数.虽然这看上去好像很高级的样子 ...

  6. Linux5_环境变量

    1.总结背景 在linux系统下,下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容. 每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了.这 ...

  7. linux kernel的cmdline參数解析原理分析

    利用工作之便,今天研究了kernel下cmdline參数解析过程.记录在此.与大家共享.转载请注明出处.谢谢. Kernel 版本:3.4.55 Kernel启动时会解析cmdline,然后依据这些參 ...

  8. 转载:python基础之模块

    作者:武沛齐 出处:http://www.cnblogs.com/wupeiqi/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 模块,用一 ...

  9. spring AOP理解和相关术语

    一.AOP理解 AOP:横向抽取机制,底层使用代理方式实现. 示例: 现有LogDAO接口以及实现Log接口的Log类.类有add的方法,现在要打印add方法的开始时间和结束时间.(即增强Log的ad ...

  10. 梯度下降算法(gradient descent)

    简述 梯度下降法又被称为最速下降法(Steepest descend method),其理论基础是梯度的概念.梯度与方向导数的关系为:梯度的方向与取得最大方向导数值的方向一致,而梯度的模就是函数在该点 ...