Rethinking Channel Dimensions for Efficient Model Design论文笔记

Rethinking Channel Dimensions for Efficient Model Design, 2021,CVPR

本文先对常见的卷积层的通道比例进行实验分析得到每一层的性能和通道比例以及非线性层的关系。

接着,暴力搜索整个网络结构(当然,如果直接暴力求解,计算量太大,这里作者做了不少限制,得到了层与层之间的通道比例)

结合两个部分得到的实验结果,便可以得到最终的模型结果。

在这里插入图片描述

一、背景介绍

1.词汇介绍

  • Stem: 这里我认为是指的网络第一层的卷积层
  • Params: 指的是模型训练中需要训练的参数总数,这里我们应该知道卷积网络中如果每一层的输出或输入通道数变多,相应的模型的参数总数也会变多。
  • FLOPs: 浮点数运算次数,理解为计算量,可以用来衡量算法的复杂度。一个乘法或一个加法都是一个FLOPs
  • FLOPS:(注意:这里的S是大写)每秒浮点运算次数,理解为计算速度,是一个衡量硬件性能的指标。
  • Expansion Ratio: 指的是输出通道数比上输入通道数。
  • Inverted resiudal block: 这是MobileNetV2网络提出的一个结构。网络结构如下:

img

这个和常见的残差模块不同地方在于中间层的通道数大于两侧的通道数,即中间宽两边窄。而常见的残差模块是中间窄两边宽。此外,该结构主要用来用于减小模型参数量,故卷积使用了深度可分离卷积。

另外,作者提出该网络时的切入点认为常见的做法时卷积层后面添加ReLU层,可以用来提高模型泛化性能。但是如果卷积层的输出通道数太小,会导致模型输出特征缺少。故对于浅层网络,应该避免使用ReLU层。

2.通道设置常见做法

轻量化模型为了节约计算资源,大部分都采用先在浅层网络使用较小的维度,在最后几层突然增大特征维度。下图中的右图随着网络层数变深,图线斜率逐渐变大。

在这里插入图片描述

从上图我们不难发现,当选取的通道数不一样即使模型参数总量变小,Flops变小,模型性能也可能上升(上图标红)。故设计一个更为合理的通道配置是很有必要的。

二、理论基础

1.单层网络设计基础

网络可以通过改造单层来提升网络整体性能。

这里作者提出可以利用网络得到的output feature的秩来评估网络层,秩越大,网络层性能越好,而且通过非线性层后秩可以提高。但这个具体操作也没有具体明说,比如秩是如何计算得到的,毕竟特征有三个维度。故不好解释。下面主要放一下实验配置和实验结果。

在这里插入图片描述

在这里插入图片描述

从上图我们可以得到以下结论:

1.急剧增加的通道扩张比率会伤害网络层的性能。

2.非线性层可以提高网络性能。

3.非线性层对于卷积层而言是比较重要的。

作者为了验证上述发现,利用上述结论改造了模型,最终发现Baseline性能得到了提高。

在这里插入图片描述

2.网络整体通道配置设置

在这里插入图片描述

作者首先建立一个简单的数学模型,接着做了一系列的简化用来缩小搜索范围。

To control the other variables, we set all the networks that have the fixed channel dimension at the stem 3×3 convolution of 16 followed by a BN with a ReLU and have the large expansion layer at the penultimate layer. We use the original inverted bottleneck (expansion ratio of 6) as our building blocks, which is a fundamental block of lightweight NAS methods, so we do not search the building blocks’ expansion ratio. The chosen elements are based on the above investigation of single-layer design. Optimization is done alternatively by searching and training a network. We train each model for 30 epochs for faster training and the early stopping strategy . Each training is repeated three times for averaging the accuracies to reduce the accuracy fluctuation caused by random initialization.

可以看出,作者为了进行搜索查找还特地进行了30个epoch的训练。

实验结果如下:

在这里插入图片描述

在这里插入图片描述

从上图可以看出网络整体的通道配置应该和层数索引呈线性关系

3.最终模型(ReXNet)

在这里插入图片描述

三、实验结果

这里,作者提出的模型性能嘎嘎棒,故实验结果不再详细介绍。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43428929/article/details/129702791