首页 > 其他分享 >[重读经典论文]Inception V4

[重读经典论文]Inception V4

时间:2023-03-30 22:46:00浏览次数:49  
标签:ResNet 残差 V2 V4 模块 Inception 重读

1. 前言

Inception V4是google团队在《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》论文中提出的一个新的网络,如题目所示,本论文还提出了Inception-ResNet-V1、Inception-ResNet-V2两个模型,将residual和inception结构相结合,以获得residual带来的好处。

Inception-V4在Inception-V3的基础上进一步改进了Inception模块,提升了模型性能和计算效率。

Inception-V4没有使用残差模块,Inception-ResNet将Inception模块和深度残差网络ResNet结合,提出了三种包含残差连接的Inception模块,残差连接显著加快了训练收敛速度。

Inception-ResNet-V2和Inception-V4的早期stem网络结构相同。

Inception-ResNet-V1和Inception-V3准确率相近,Inception-ResNet-V2和Inception-V4准确率相近。

经过模型集成和图像多尺度裁剪处理后,模型Top-5错误率降低至3.1%。

针对卷积核个数大于1000时残差模块早期训练不稳定的问题,提出了对残差分支幅度缩小的解决方案。

总得来说,就是提出改进的模块,堆叠成V4,然后改进模块,将原来的多路卷积后的feature map堆叠改进成残差连接,形成Inception-ResNet-V1,将改进后的模块中的卷积核增加,形成新的Inception-ResNet-V2模型。相对前面的v1~v3来说,这篇论文的工程性更强一点。

2. Inception V4

image

如上图所示为InceptionV4的主要结构,右边是主干网络Stem,可以看到也是若干卷积网络的堆叠,然后是4个InceptionA模块,接一个下采样模块ReductionA,再接7个InceptionB模块,然后又是一个下采样模块ReductionB,然后是3个InceptionC模块,最后是全局平均池化,全连接(训练时加dropout),最后softmax输出结果。

image

这是三个Inception模块的结构,在V3上做了一些改进。

然后是两个下采样模块:

image    image

左边是ReductionA,右边是ReductionB,其中k,l,m,n是超参数,在三个新的网络中都不一样,如下表所示。

image

3. Inception-ResNet-V1/V2

将Inception模块进行改进,将原来的多通道叠加,改为残差连接,就产生了新的模块,下面是Inception-ResNet-V1的三个新模块:

image

简单粗暴增加新模块中卷积核的数量,就变成了Inception-ResNet-V2中的三个主要模块:

image

下面是Inception-ResNet-V1/V2的网络结构,区别在于模块中的卷积核数量等超参,计算量也不一样。

image

这里有个小细节,对于Inception-Residual的模块,在做相加的那一层不做batch normalization,这是作者出于计算方面的考量(内存,减少层数)

4. 原生VS残差

这两个网络,其中Inception-ResNet-V1与InceptionV3的计算量相当,Inception-ResNet-V2与InceptionV4的计算量相当,于是作者就针对对这两组进行了实验。

在模型训练收敛速度上,Inception-ResNet-V1 VS InceptionV3:

image

Inception-ResNet-V2 Vs InceptionV4:

image

可以看到引入残差模块之后,的确收敛更快了,但是与原生的精度都是差不多的。

其他还有几个其他的top5,top1的评估图表,大同小异,都是带残差的网络收敛速度快,但是最后网络的性能与原生的差不多,在ILSVRC 2012验证集上的测试结果如下:

image

5. 缩小残差

作者发现如果filter的个数超过1000个,残差网络会变得不稳定,网络会在训练的早期就‘死掉’,也就意味着在几万次迭代之后,avg_pool之前的最后几层网络参数全是0。解决方案是要么减小learning rate,要么对这些层增加额外的batch normalization.

作者又发现如果将残差部分缩放后再跟需要相加的层相加,会使网络在训练过程中更稳定。因此作者选择了一些缩放因子在0.1到0.3之间,用这个缩放因子去缩放残差网络,然后再做加法,如下图所示:

image

6. 参考

[1] 【精读AI论文】Inception V4、Inception-ResNet图像分类算法

[2] Inception-V4和Inception-Resnet论文阅读和代码解析

(完)

标签:ResNet,残差,V2,V4,模块,Inception,重读
From: https://www.cnblogs.com/harrymore/p/17274616.html

相关文章

  • [重读经典论文]GoogLeNet——Inception模块的诞生
    1.前言GoogLeNet,也被称为InceptionV1网络,由Google公司的研究员在2014年的论文《Goingdeeperwithconvolutions》提出。本论文提出了Inception模块,引入并行结构和不同......
  • [重读经典论文] AlexNet笔记
    1.前言AlexNet是一个深度卷积神经网络模型,由AlexKrizhevsky、IlyaSutskever和GeoffreyHinton于2012年设计。这个模型在ImageNet图像识别挑战赛中获得了当时的冠军,并推......
  • 【docker】解决报错 WARNING: IPv4 forwarding is disabled. Networking will not wor
    https://blog.csdn.net/weixin_68100450/article/details/126054580一,docker运行直接报错报错:[root@localhost/]#dockerrun-itubuntu/bin/bashWARNING:IPv4f......
  • 重读vue电商网站49之第三方库使用CDN
    通过externals加载外部CDN资源默认情况下,通过import语法导入的第三方依赖包,最终会被打包合并到同一个文件中,从而导致打包成功后,单文件体积过大的问题。 例如上述chu......
  • incetion结构、v1-v4结构变化
    一、GoogleNet提出的inception结构:参考链接、inception百度百科、1、传统inception结构具有的特点:    2、GoogleNet在inception结构上的修改    ......
  • shell获取所有ipv4地址
    需要安装jqubuntu@gooderver:~$ip-j-4addrshow|jq'.[]|.addr_info|.[]|.local'"127.0.0.1""172.24.64.162"ubuntu@gooderver:~$ip-j-6addrshow|jq'.[]......
  • ipv4
    IPv4概述IP协议(InternetProtocol)是TCP/IP协议族中最核心的协议,提供不可靠的、无连接的、尽力而为的数据报传输服务。IPv4报文格式01......
  • Linux中v4l2-utils 工具的使用
    v4l2-utils工具的使用一、安装v4l2-utilssudoapt-getinstallv4l-utils二、工具的使用2.1列出相关的camera设备v4l2-ctl--list-devices2.2列出某个camera的......
  • Camera | 5.Linux v4l2架构(基于rk3568)
    上一篇我们讲解了如何编写基于V4L2的应用程序编写,本文主要讲解内核中V4L2架构,以及一些最重要的结构体、注册函数。厂家在实现自己的摄像头控制器驱动时,总体上都遵循这个架......
  • 解决当前标识(IIS APPPOOL\XXXX)没有对“C:\Windows\Microsoft.NET\Framework64\
    1、问题描述在WindowsServer2019数据中心版中搭建IIS项目,访问的时候出现如下所示的错误:当前标识(IISAPPPOOL\XXXX)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0......