Classification network
Zhang Shiyin
2020/12/12

• GoogLeNet• Inception v3• ResNet• ResNeXt• DenseNet• Deformable Convolutional Networks• SqueezeNet• MobileNet V1 and V2

GoogLeNet：Going Deeper with Convolutions（1）GoogLeNet相对于采用了模块化的结构；GoogLeNet：Going Deeper with Convolutions（1）GoogLeNet相对于采用了模块化的结构；

1x1conv降低featuremap的维度GoogLeNet：Going Deeper with Convolutions（2）网络额外增加了2个辅助分类器（0.3），这样给网络增加了反向传播的梯度信号。

Inception v3：Rethinking the Inception Architecture for Computer Vision
使用两个3x3卷积核代替5x5卷积核，减少参数量，加快计算。

Inception v3：Rethinking the Inception Architecture for Computer Vision
进一步将nxn卷积核分解为1xn和nx1卷积核

Resnet：Deep Residual Learning for Image Recognition

ResNeXt: Aggregated Residual Transformations for Deep Neural Networks

ResNeXt: Aggregated Residual Transformations for Deep Neural Networks

ResNeXt: Aggregated Residual Transformations for Deep Neural Networks

DenseNet：Densely Connected Convolutional Networks
ResNets.

Dense block：每个层都会接受其前面所有层作为其额外的输入Dense connectivity

DenseNet：Densely Connected Convolutional Networks

DenseNet网络中使用DenseBlock+Transition的结构，Transition模块是连接两个相邻的DenseBlock，并且通过Pooling使特征图大小降低，同时降维。

DenseNet：Densely Connected Convolutional Networks

DenseNet网络中使用DenseBlock+Transition的结构，Transition模块是连接两个相邻的DenseBlock，并且通过Pooling使特征图大小降低，同时降维。

Transition包括一个1x1的卷积和2x2的AvgPoolingTransition层可以起到压缩模型的作用

DenseNet：Densely Connected Convolutional Networks

Deformable Convolutional Networks传统卷积使用固定形状的卷积核，感受野是规则的。而可变形卷积考虑到不同目标的外形、大小，映射到前面层的采样点大多会覆盖在目标上面，采样到更多我们感兴趣的信息。

Deformable Convolutional Networks

Deformable Convolutional Networks
Deformable convolution

Deformable Convolutional Networks

Deformable convolution
额外的channel为72：对应着3X3的kernel size ， 偏移（x,y）,预测4个group。因此最后的输出channel 是72。4个group: 由于
不同的通道负责检测不同的部分，可能会有不同的几何变化，
因此在deformable_group较大的情况下具有更大的灵活性.

Deformable Convolutional Networks
Deformable RoI pooling
RoI被分为3*3个bin，被输入到一个额外的fc层来学习offset，
然后通过一个deformable RoI pooling层来操作使每个bin发生偏
移。

首先将输入的featrue map进行roipooling为3*3大小的feature，然后通过全连接MobileNetV1: Efficient Convolutional Neural Networks for Mobile Vision Application
MobileNetv1 使用Depthwise Separable Convolution，它将跨通道的3x3卷积换成单通道的3x3卷积+
跨通道的1x1卷积来达到减少参数数量和计算量目的。

MobileNetV1: Efficient Convolutional Neural Networks for Mobile Vision Application
MobileNetv1 使用Depthwise Separable Convolution，它将跨通道的3x3卷积换成单通道的3x3卷积+
跨通道的1x1卷积来达到减少参数数量和计算量目的。

计算量（ FLOPs ）：Params

MobileNetV1: Efficient Convolutional Neural Networks for Mobile Vision Application
MobileNetv1 使用Depthwise Separable Convolution，它将跨通道的3x3卷积换成单通道的3x3卷积+跨通道的1x1卷积来达到减少参数数量和计算量目的。

计算量（ FLOPs ）：Params

MobileNetV1: Efficient Convolutional Neural Networks for Mobile Vision Application

MobileNetV1: Efficient Convolutional Neural Networks for Mobile Vision Application
两个超参数

MobileNetV1: Efficient Convolutional Neural Networks for Mobile Vision Application
两个超参数

MobileNetV2：Inverted Residuals and Linear Bottlenecks
MobileNet v2 是在v1的Depthwise Separable的基础上引入了残差结构。并发现了ReLU的在通道数较少的
Feature Map上有非常严重信息损失问题，由此引入了Linear Bottlenecks和Inverted Residual。
1. Inverted residuals：
V2 在 DW 卷积之前新加了一个 PW 卷积：目的是为了提升通道数，获得更多特征。

MobileNetV2：Inverted Residuals and Linear Bottlenecks
MobileNet v2 是在v1的Depthwise Separable的基础上引入了残差结构。并发现了ReLU的在通道数较少的
Feature Map上有非常严重信息损失问题，由此引入了Linear Bottlenecks和Inverted Residual。
1. Inverted residuals：
V2 在 DW 卷积之前新加了一个 PW 卷积：目的是为了提升通道数，获得更多特征。
2. Linear Bottleneck：V2 去掉了第二个 PW 的激活函数：激活函数在高维空间能够有效的增加非线性，而在低维空间时则会破坏特征。由于第二个 PW 的主要功能就是降维，因此降维之后使用线性的效果好。

MobileNetV2：Inverted Residuals and Linear Bottlenecks
MobileNetV2的block与ResNet blockMobileNetV2：Inverted Residuals and Linear Bottlenecks
MobileNetV2的block与MobileNetV1 blockSqueezeNet
Fire module

Fire module

使用以下三个策略来减少SqueezeNet设计参数（1）使用1∗1卷积代替3∗3 卷积：参数减少为原来的1/9（2）减少输入通道数量：这一部分使用squeeze layers来实现（3）将降采样操作延后，可以给卷积层提供更大的激活图：更大的激活图保留了更多的信息，可以提供更高的分类准确率mergesqueeze convolution layer：只使用1∗1 卷积减少通道数。
Filter expand layer：使用1∗1 和3∗3 卷积 filter的组合；

Thanks！