pretrain

发布时间 2023-06-12 19:54:15作者: xle97

BACKBONE

前言

本篇博客记录常见backbone,具体如下:

  1. ResNet

  2. HRNet

  3. Mobilenetv1

  4. Mobilenetv2

  5. Mobilenetv3

ResNet

HRNet

HRNet打通了多个视觉任务, 姿态估计参考HRNet-pose

Mobilenetv1

MobileNet 系列是谷歌2017年4月推出的轻量级网络模型,旨在不过多牺牲模型性能的同时大幅度减小模型的尺寸和加快模型的运算速度。论文地址

深度可分离卷积

可分离卷积主要有两种类型:空间可分离卷积和深度可分离卷积。顾名思义,空间可分离就是将一个大的卷积核变成两个小的卷积核,比如将一个3×3的核分成一个3×1和一个1×3的核:

\[\left[\begin{array}{lll} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 2 & 4 & 6 \end{array}\right]=\left[\begin{array}{l} 1 \\ 0 \\ 2 \end{array}\right] \times\left[\begin{array}{lll} 1 & 2 & 3 \end{array}\right]\]

而这里的深度可分离卷积就是将普通卷积拆分成一个深度卷积和一个逐点卷积。输入一个12×12×3的特征图,经过5×5×3的卷积核卷积得到一个8×8×1的输出特征图。如果此时我们有256个特征图,我们将会得到一个8×8×256的输出特征图。而Depthwise conv则是把卷积核拆为单通道形式, 12×12×3的特征图,经过5×5×3的卷积核卷积得到一个8×8×3的输出特征图。然后再接1x1卷积使得通道数变为一致,即对8×8×3的输出特征图用256个1×1×3的卷积核对输入特征图进行卷积操作,输出的特征图和标准的卷积操作一样都是8×8×256了。如下图所示, 参考blog

参数量计算量对比

标准卷积核的尺寸是Dk×Dk×M,一共有N个,参数量为Dk×Dk×M×N。对于输出特征图DwxDh, 标准卷积的计算量应该为Dk×Dk×M×N×Dw×Dh。对于深度可分离卷积而言,先做深度卷积再做逐点卷积, 其中逐点卷积卷积核为1×1×M, 共N个, 所以参数量为Dk×Dk×M+MxN, 计算量为(Dk×Dk×M+MxN)x(DwxDh),所以参数量和计算量均下降为原来的
\(\frac{1}{N}+\frac{1}{D_{K}^{2}}\) , 若卷积核大小为3*3, 则将下降到约原来的\(\frac{1}{9}\)

网络结构

深度可分离卷积如下图所示

mobilenetv1网络结构如下。首先是一个3x3的标准卷积,s2进行下采样。然后就是堆积深度可分离卷积,并且其中的部分深度卷积会利用s2进行下采样。然后采用平均池化层将feature变成1x1,根据预测类别大小加上全连接层,最后是一个softmax层。整个网络有28层,其中深度卷积层有13层。

Mobilenetv2

Linear bottleneck

论文地址。V1在训练时有时难以收敛,卷积核不少为空。作者发现其主要原因在于激活relu, 对低维度做ReLU运算,很容易造成信息的丢失,而在高维度进行ReLU运算的话,信息的丢失则会很少。于是就提出了linear bottleneck。前两个激活函数变成relu6,即最大边界取6。而最后一个激活函数取线性激活函数。

Expansion layer

DW卷积在低维工作效果并不好,需要升维, 于是在V2中就有了利用逐点卷积进行升维和降维,那就可以在DW深度卷积之前使用PW卷积进行升维(升维倍数为t,t=6),再在一个更高维的空间中进行卷积操作来提取特征

Inverted residuals

在V1的基础上, 像resent一样引入shortcut。

对比resnet, 都采用了 1×1 -> 3 ×3 -> 1 × 1 的模式, 不过ResNet是先降维 (0.25倍)、卷积、再升维。MobileNetV2 则是 先升维 (6倍)、卷积、再降维。这刚好与ResNet的block相反,于是作者将其命名为Inverted residuals。

Mobilenetv3

相关技术

  1. 网络的架构基于NAS实现的MnasNet(效果比MobileNetV2好)
  2. 引入MobileNetV1的深度可分离卷积
  3. 引入MobileNetV2的具有线性bottleneck的倒残差结构
  4. 引入基于squeeze and excitation结构的轻量级注意力模型(SE)
  5. 使用了一种新的激活函数h-swish(x)
  6. 网络结构搜索中,结合两种技术:资源受限的NAS(platform-aware NAS)与NetAdapt
  7. 修改了MobileNetV2网络端部最后阶段

待更新