2 AI论文笔记–Rethinking the Inception Architecture for Computer Vision
原文地址:https://arxiv.org/abs/1512.00567
还不错的笔记:
1、InceptionV1-V4演进:https://blog.csdn.net/qq_30815237/article/details/89046890
2、别人的笔记https://blog.csdn.net/qq_39109729/article/details/109117613
论文课程学习来自—知识星球—同济子豪兄
该文章主要了解:
- 作者在Inception v1模块的基础上,对原本Inception模块内部进行的优化调整,提出了新的2种分解卷积核的方法,并提出新的Incepiton模块;
- 其一,5X5的卷积分解为(3X3卷积核+3X3卷积核),且感受野都是5X5,如下图;
- 其二,将3X3卷积分解为(1X3卷积核+3X1卷积核)两个不对称卷积(空间可分离卷积),如下图;
-
模型设计的通用设计原则(后面有详细讲到)
- 原则一: 要避免过度的降维和压缩特征导致representational bottlenecks(特征表示的瓶颈),特别是在网络的浅层;
- 原则二: 见下面详细讲解;
- 原则三: 利用1X1卷积进行空间信息的聚合(Spatial aggregation,文中主要指大卷积核卷积)不会对模型的表征造成大的影响;
- 原则四: 设计网络的时候要考虑网络的深度(卷积层的层数)和宽度(每一层卷积核的个数)的均衡,才能最大化提高模型的性能;若要提升深度和宽度,应该让它们一起提升(increase in parallel)。
以下是论文的部分讲解
文章结构:
Abstract
1 Introduction (前言)
2 General Design Principles (通用设计原则)
3 Factorizing Convolutions with Large Filter Size (分解大卷积核的卷积)
3.1 Factorization into smaller convolutions (将5x5卷积分解为两个3x3卷积)
3.2 Spatial Factorization into Asymmetric Convolutions
4 Utility of Auxiliary Classifiers (辅助分类器的作用)
5 Efficient Grid Size Reduction (高效下采样技巧)
6 Inception-v2
7 Model Regularization via Label Smoothing
8 Training Methodology
9 Performance on Lower Resolution Input
10 Experimental Results and Comparisons
11 Conclusions
Abstract
- 卷积神经网络在计算机视觉领域大放异彩
- 在加宽和加深网络的同时,我们要考虑计算的效率
- 探索了可分离卷积和正则化去提高计算效率
1 Introduction
-
CNN在计算机试卷的成功应用促进了高性能CNN模块本身的研究;
-
需考虑计算效率,部署于嵌入式设备;
-
复杂的Inception架构会使改变网络结构变得困难,Inception模块不能单纯地进行堆叠,当堆叠太多层时,性能不会提升。
-
这篇论文中,先会介绍模型地通用设计原则和一些优化的思想,然后再探索新的Inception结构
2 General Design Principles!!!!!!
-
原则一: 要避免过度的降维和压缩特征导致representational bottlenecks(特征表示的瓶颈),特别是在网络的浅层。
- 做法:文中指的representation size(即可理解为feature map的长宽大小)在网络前向传播中要随着网络层的加深而逐渐地减小。
- 原因:从理论上来说,降维会导致各通道间的相关性信息(如相关的稀疏特征)丢失,仅反映了致密的嵌入信息。(致密和稀疏是相对的) 如输入一只猫的图像,有猫脸特征、猫尾巴特征、猫胡子、猫耳朵、人脸特征是5种稀疏的特征,进行压缩即特征融合后,可能变为2种或3种致密的特征信息。
- 思考:为何特别是网络的浅层? 因为在网络的浅层丢失的原图信息还不是很多,仍然保留信息的稀疏性。如果在浅层就进行过度地压缩和降维,会对后面提取特征等工作是有负面影响的。
-
原则二(较难理解):
- 原文:Higher dimensional representations are easier to process locally within a network. Increasing the activations per tile in a convolutional network allows for more disentangled features. The resulting networks will train faster.
- 实际上指的是,在最后分类层之前,用该模块扩展特征维度,生成高维稀疏特征;即增加特征的维度,能够加快训练速度,更容易收敛。(特征越多,收敛越快;相互独立的特征越多,输入的信息分解就越彻底)
- 结合原本Figure 7 进行理解:
-
原则三: 在低维特征中进行空间信息的聚合(Spatial aggregation,文中主要指大卷积核卷积)不会对模型的表征造成大的影响;
- 文中举例: 在3x3和5x5大卷积核卷积之前使用1x1的卷积核进行降维,实际上是对1*1卷积的使用进行了说明,并不会太影响representation;
- 作者推断: 邻边单元的强相关性在降维过程中信息损失很少,所以在3x3和5x5卷积之前用1x1卷积进行降维是可行的;
- 举例: 每一层输出的feature map上每一个相邻的像素,它们的感受野是相邻且有一部分是重合的,即它们高度相关;若将它们进行1x1卷积后,特征信息是可以得到保证,因为1x1卷积后的feature map是能够实现跨通道的信息交融。
-
原则四: 设计网络的时候要考虑网络的深度(卷积层的层数)和宽度(每一层卷积核的个数)的均衡,才能最大化提高模型的性能;若要提升深度和宽度,应该让它们一起提升(increase in parallel);
3 Factorizing Convolutions with Large Filter Size (分解大卷积核的卷积)
-
主要讲解优化Inception内部结构具体内容
- 5x5的卷积可用2个3x3的卷积可以代替,它们的感受野都为5x5;
- 将3x3卷积可分解为1x3和3x1两个不对称卷积(空间可分离卷积);
-
同时指出n x n的卷积核可以用(1x n 卷积核+ n x 1卷积核)代替,但是这种不对称的卷积分解在网络前期效果并不好,在feature map大小为12-20的比较合适。
4 Efficient Grid Size Reduction(高效的下采样技巧)
- 一般情况下,降维有如图两种方式,但都有比较大的缺点:
- 方法一:先对feature map池化会导致表征瓶颈,信息量丢失很多;(池化->卷积)
- 方法二:信息保留下了,但计算量比较大; (卷积->池化)
- 计算量比较:同时以(d x d grid with 2filters, arrive at d/2 x d/2 with 2 filters )为例,如下图:
-
文中建议的方法: 并行执行(卷积C+池化P),再进行feature map的堆叠
TIPS: - 为何5X5卷积用3X3+3X3卷积核后,感受野仍然是5X5?
关于感受野,不错的文章链接如下:
https://blog.csdn.net/program_developer/article/details/80958716