图像分类经典网络模型
自2012年起,深度学习在ImageNet大赛上首次夺冠,错误率从26.17%下降到16.42%,与传统机器学习算法相比,拉开巨大差距。自此,深度学习迅速崛起,一系列经典的网络模型被提出。本文介绍自2012年来图像分类领域中经典网络模型,主要包括:
-
AlexNet 2012 NIPS -
VGGNet 2015 ICLR -
GoogleNet(InceptionV1) 2015 CVPR -
InceptionV2 V3 2016 CVPR -
InceptionV4 2016 AAAI -
ResNet 2016 CVPR -
ResNetV2 2016 ECCV -
ResNeXt 2017 CVPR -
DenceNet 2017 CVPR -
SeNet 2018 CVPR
1 AlexNet
文献出处:Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[J]. Advances in neural information processing systems, 2012, 25: 1097-1105.
2012年获得ImageNet比赛的深度学习模型,由Alex Krizhevsky提出的模型,“深度学习之父”Hinton也在其中。
原论文网络模型如图一所示,由于当时算力不足,分成上下两部分进行训练。
目前AlexNet模型一般设计为图2。模型为什么设计成这样是work的这无法解释,很多深度学习模型很难解释清楚,但是利用卷积、池化、relu、dropout的思路为后面模型开创了思路。
核心:
-
首次提出卷积层+全连接层的CNN网络模型 -
首次使用Relu函数作为激活函数 -
使用Dropout控制扩拟合 -
使用数据增强策略:随机截取、水平翻转
2 VGGNet
文献出处: Simonyan, Karen, and Andrew Zisserman. “Very Deep Convolutional Networks for Large-Scale Image Recognition.” ICLR 2015 : International Conference on Learning Representations 2015, 2015.
核心:
-
使用3*3卷积核替代大卷积核 -
增加网络深度 -
减少网络参数 -
多尺度训练、多尺度测试 -
数据增强策略更丰富
3 GoogleNet(Inception V1)
文献出处: Szegedy, Christian, et al. “Going Deeper with Convolutions.” 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp. 1–9.
核心:
-
提出Inception结构,考虑多个卷积核下的特征 -
利用辅助分类器增加训练效果 -
1*1卷积:减少参数量
4 InceptionV2 V3
文献出处: Szegedy, Christian, et al. “Rethinking the Inception Architecture for Computer Vision.” 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 2818–2826.
核心:
-
分解成小卷积核
-
分解成1*n、n*1卷积
-
应用池化前,扩展维度,同时不增加复杂计算量(图6)
-
InceptionV2 V3结构基本差不多,只是V3将使用所有优化策略(标签平滑等)
5 InceptionV4
文献出处: Szegedy, Christian, et al. “Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning.” Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, 2016, pp. 4278–4284.
核心:
-
提出了Inception-V4(感觉只是Inception的堆叠)
-
结合残差模块提出Inception-ResNetv1、Inception-ResNetv2
6 ResNet
文献出处: He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 770-778.
核心:
-
提出残差结构解决网络层数深导致的 退化问题 -
在VGG的基础上提出ResNet18、34、50、101、152 -
Bottleneck block:瓶颈结构,利用1*1卷积块调整通道数 (图9) -
shortcut方式:zero-padding、projection shortcut、 all shortcuts are projections(即所有的连接使用1*1卷积来升/降维,从而相加)
7 ResNetV2
文献出处: He, Kaiming, et al. “Identity Mappings in Deep Residual Networks.” European Conference on Computer Vision, 2016, pp. 630–645.
核心:
-
提出了新的残差模块,两者不同点如10所示 -
讨论了不同的结构:BN、RELU、weight、Addition的顺序,发现图10(b)中的结构最好(还是大量实验验证,没有解释性) -
讨论了恒等映射的重要性:前向后向传播(有理论解释恒等映射更好)
8 ResNeXt
文献出处: Xie, Saining, et al. “Aggregated Residual Transformations for Deep Neural Networks.” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 5987–5995.
核心:
-
与ResNet的区别仅在于使用了分组卷积,之所以上述分成32组,而不是16组的原因是希望参数持平。 -
分组卷积可以减少参数量,减少计算量。但此出为保持相当的计算量,发现效果会更好。 -
文章中讨论分组的多少、分组的结构,详见文献
9 DenceNet
文献出处: Huang, Gao, et al. “Densely Connected Convolutional Networks.” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 2261–2269.
核心:
-
密集连接:每层与前面所有层输入concat,作为下一层输入,加强梯度流动 -
从特征的角度考虑,而不是从深度宽度考虑,通过特征复用和旁路设置来优化性能 -
Bottleneck层:增加1*1卷积,降低计算量 -
Transition层:可以压缩模型
10 SeNet
文献出处: Hu, Jie, et al. “Squeeze-and-Excitation Networks.” 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2018, pp. 7132–7141.
核心:
-
提出SE模块,在通道上添加注意力机制(也就是每个通道乘上对应的权值) -
Squeeze:全局平均池化 -
Excitation:利用全连接+sigmoid输出权值 -
扩展性好,可以直接用到现有网络中,SE-inception、SE-ResNet -
额外的计算量不大,且有一定提示效果
注:本文中部分图片选自《深度学习从0到1——基于TensorFlow2》覃秉丰著。
覃秉丰B站首页:https://space.bilibili.com/390756902
计算机视觉与深度学习 北京邮电大学 鲁鹏:https://www.bilibili.com/video/BV1V54y1B7K3