这几天是每个都有第二弹啊 好了 说正题
卷积是图像神经网络中的重要组成部分,它担起提取特征的重任,每当你编写一个网络结构的时候,它总会大喊"我来组成头部!",这么重要的头部自然值得我们好好地重视起来了"认真脸jpg",本篇文章将回顾那些年的一些经典卷积神经网络,并提炼要点且从以下几方面来进行阐述。
- 可供参考的资料、ImageNet 1000分类效果(采用224大小图片的效果,部分来自paperwithcode部分来自论文自身)。
- 网络的整体 or 核心结构图。
- 作者构建这些卷积网络的亮点。
- 具体的核心实现代码。
神经网络架构
(63.3% - 2012) AlexNet
论文: ImageNet Classification with Deep Convolutional Neural Networks
(https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf)
Blog : AlexNet: The First CNN to win Image Net
(https://www.kaggle.com/code/blurredmachine/alexnet-architecture-a-complete-guide/notebook)
效果: ImageNet top-1 accuracy 63.3%
结构图:
成就
- 第一个在ImageNet上跑起来的神经网络,在当年的竞赛中成绩大幅度领先第二名。
创新
- 2张GTX580 3G显存上训练百万级别的数据,在模型训练上做了一些工程的改进,现在单张A100显存能到80G,足以见当年的艰难。
- 使用大卷积(11x11、5x5)和 全连接层,事实证明潮流是一个cycle,现在大卷积又开始流行起来了= =。
- RELU:非线性激活单元,直到现在依然很流。
- Dropout:防止过拟合,有模型ensemble的效果,后续应用广泛。
- Local Response Normalization:一种正则化方法帮助模型更好的训练,后续基本没人用,大家可以阅读原文了解下。
代码:
(74.5% - 2014) VGG
论文: Very Deep Convolutional Networks for Large-Scale Image Recognition
(https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1409.1556)
Blog: 一文读懂VGG网络
(https://zhuanlan.zhihu.com/p/41423739)
效果: ImageNet top-1 accuracy 74.5%
结构图:
成就: ImageNet成绩大幅超过AlexNet,引领了未来网络朝着深度加深的方向进行。
创新: 使用3X3卷积核代替11X11, 5X5,将网络的深度做进一步加深的同时引入更多的非线性层。
代码:
(80.0% - 2016) Inception
论文:
- Inception V1(https://arxiv.org/pdf/1409.4842v1.pdf)
- Inception V2&3(https://arxiv.org/pdf/1512.00567v3.pdf)
- Inception V4(https://arxiv.org/pdf/1602.07261.pdf)
Blog : [A Simple Guide to the Versions of the Inception Network]
(https://towardsdatascience.com/a-simple-guide-to-the-versions-of-the-inception-network-7fc52b863202)
效果: ImageNet top-1 accuracy 80.00%
结构图:
创新:
- 使用多尺度卷积核来提取信息,V1-V4基本就是在做这件事,无非是不断的优化性能。
- 提出了Label Smoothing,这个东西比赛用的挺多的。
(78.6% - 2015) ResNet
论文:[Deep Residual Learning for Image Recognition]
(https://arxiv.org/abs/1512.03385)
Blog :
- Resnet到底在解决一个什么问题呢?(https://www.zhihu.com/question/64494691/answer/786270699)
- 你必须要知道CNN模型:ResNet(https://zhuanlan.zhihu.com/p/31852747)
效果: ImageNet top-1 accuracy 78.2% or 82.4%([ResNet strikes back: An improved training procedure in timm]
(https://paperswithcode.com/paper/resnet-strikes-back-an-improved-training))
结构图:
成就: 利用残差结构使得网络达到了前所未有的深度同时性能继续提升、同时使损失函数平面更加光滑(看过很多解释,这个个人觉得比较靠谱)
创新: 残差网络
代码:! key是关键代码、其实就一行~
(77.8% - 2016) DenseNet
*论文: *Densely Connected Convolutional Networks
(https://arxiv.org/abs/1608.06993)
Blog :
- CVPR 2017最佳论文作者解读:DenseNet 的“what”、“why”和“how”(https://www.leiphone.com/category/ai/0MNOwwfvWiAu43WO.html)
- [pytorch源码解读]之DenseNet的源码解读()
效果: ImageNet top-1 accuracy 77.8%
结构图:
创新: 利用DenseBlock进行新特征的探索和原始特征的多次重用
代码:! key是关键代码、其实就一行~
(80.9% - 2016) ResNext
论文: ResNext : Aggregated Residual Transformations for Deep Neural Networks
(https://arxiv.org/abs/1611.05431)
Blog :
- ResNeXt详解(https://zhuanlan.zhihu.com/p/51075096)
- ResNeXt的分类效果为什么比Resnet好?(https://www.zhihu.com/question/323424817/answer/1078704765)
效果: ImageNet top-1 accuracy 80.9%
结构图:
创新: 提出Group的概念、利用Group增加特征的丰富度和多样性,类似multi-head attention。
代码:! key是关键代码、其实就一行~
(81.2% - 2016) Res2Net
论文: Res2Net: A New Multi-scale Backbone Architecture
(https://arxiv.org/pdf/1904.01169.pdf)
Blog: Res2Net:新型backbone网络,超越ResNet(https://zhuanlan.zhihu.com/p/86331579)
效果: ImageNet top-1 accuracy 81.23%
结构图
亮点: 将多特征图的处理从layer并行的形势改为hierarchical
代码: 因为修改了特征图的交互为hierarchical,所以代码有点多
(81.3% - 2017) SENet
论文:[Squeeze-and-Excitation Networks]
(https://arxiv.org/abs/1709.01507)
Blog : 最后一届ImageNet冠军模型:SENet(https://zhuanlan.zhihu.com/p/65459972)
效果: ImageNet top-1 accuracy 81.3%
结构图:
创新: 提出SELayer、利用可插拔的SELayer调节不同Channel的重要性,和Attention效果类似。
代码:
(80.1% - 2017) DPN
论文: Dual Path Networks
(https://arxiv.org/pdf/1707.01629.pdf)
Blog : DPN详解(Dual Path Networks)(https://zhuanlan.zhihu.com/p/351198007)
效果: ImageNet top-1 accuracy 80.07%
结构图:
创新:将resnet和densenet的思想做了结合。
代码:! key是关键代码、其实就一行~
(78.0% - 2019) DLA
论文: Deep Layer Aggregation
(https://larxiv.org/pdf/1707.06484.pdf)
效果: ImageNet top-1 accuracy **78%**,来自论文,但是我觉得效果应该至少是resnext级别的,至少他在cifar10上的表现是最好的,可参考 https://github.com/kuangliu/pytorch-cifar 的效果列表
创新: 采用IDA和HDA两种结构来进一步提炼conv的表达
代码:
(86.8% - 2021) EfficientNet v1 v2
论文:
- EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (https://arxiv.org/pdf/1905.11946v5.pdf)
- EfficientNetV2: Smaller Models and Faster Training (https://arxiv.org/pdf/2104.00298v3.pdf)
Blog :
- 令人拍案叫绝的EfficientNet和EfficientDet (https://zhuanlan.zhihu.com/p/96773680)
- 时隔两年,EfficientNet v2来了!更快,更小,更强!(https://zhuanlan.zhihu.com/p/361947957)
效果: ImageNet top-1 accuracy 86.8%
创新:是AutoDL在深度学习上一次非常成功的尝试
- EfficientNet V1 uniformly scales all three dimensions(width, depth, resolution) with a fixed ratio。
- EfficientNet V1 加入一些新block,扩大了搜索空间,并且不是equally scaling up every stage。
代码:
其实这些年的CNN其实一直在尝试各种卷积的组合,从深度、宽度、注意力机制、各种Block组合形式上作文章,和传统机器学习的特征工程何其相似,只是需要更多的成本代价去尝试,大多都是经验性质的创新,原理上的不多,后面的VIT系列会有更多的一些创新,从整体设计上创造新的局面,但是也无法完全丢弃CNN,所以了解历史CNN的设计模式还是十分有必要的,本文理解有误的地方希望多多指正。