大家好,又见面了,我是你们的朋友全栈君。
大家好,我是K同学啊!
今天和大家分享一下自1998~2022
年来,涌现出来的那些优秀的图像识别算法模型。
⭐️ 简介
LeNet-5
模型是Yann LeCun教授于1998年在论文《Gradient-based learning applied to document recognition》中提出。它是第一个成功应用于手写数字识别问题并产生实际商业(邮政行业)价值的卷积神经网络。LeNet-5
被誉为是卷积神经网络的“Hello Word”,它是最简单的架构之一。LeNet-5
有 2 个卷积层和 3 个全连接层,有大约 60,000 个参数。
📝 论文
📚 实战案例
⭐️ 简介
AlexNet
由Alex Krizhevsky于2012年提出,夺得2012年ILSVRC比赛的冠军,top5预测的错误率为16.4%
,远超第一名。AlexNet采用8层的神经网络结构,5个卷积层和3个全连接层(3个卷积层后面加了最大池化层),模型参数个数为60M。AlexNet主要的变化在于激活函数采用了Relu(是第一个将流线性单元 (ReLU) 实现为激活函数的模型)、使用Dropout代替正则降低过拟合。
📝 论文
📚 实战案例
⭐️ 简介
截至到2014,由于加深网络成了提高深度神经网络性能最直接的方法,CNN开始变得越来越深入。Visual Geometry Group (VGG) 团队发明了 VGG-16,它有 13 个卷积层和 3 个全连接层,同时继承了 AlexNet 的 ReLU 传统。该网络在 AlexNet 上堆叠了更多层,并使用了更小的过滤器(2×2 和 3×3)。它由138M个参数组成,占用大约500MB的存储空间。与此同时,他们还设计了一个更深的变体,VGG-19。
📝 论文
📚 实战案例
⭐️ 简介
Inception-v1
是 Inception 网络的第一个版本,Inception V1在GoogLeNet基础之上,为了减少5×5卷积的计算量,在3x3conv前、5x5conv前、3x3max pooling后分别加上1×1的卷积核,起到减少总的网络参数数量的作用(参数总量为5M)。其主体是Inception模块,Inception模块的体系结构设计是近似稀疏结构研究的产物。
🎈 Inception V1相比GoogLeNet原始版本进行了如下改进:
📝 论文
⭐️ 简介
Inception-v3
是 Inception-v1 的继承者,有24M个参数。Inception-v2是 v3 的早期原型,因此它与 v3 非常相似但不常用。当作者提出 Inception-v2 时,他们对其进行了许多实验,并记录了一些成功的调整。Inception-v3 是包含这些调整的网络(调整优化器、损失函数以及向辅助网络中的辅助层添加批量归一化)
Inception-v2 和 Inception-v3 的动机是避免 代表性瓶颈 representational bottlenecks
(这意味着大幅减少下一层的输入维度)并通过使用因子分解方法进行更有效的计算。
注意: 模块的名称(Stem,Inception-A,Inception-B等)直到其更高版本即Inception-v4和Inception-ResNets才用于此版本的Inception。
✨ 与之前的版本Inception-v1 相比有什么改进?
n×n
卷积分解为非对称卷积:1×n
和 n×1
卷积5×5
卷积分解为两个 3×3
卷积操作7×7
替换为一系列 3×3
的卷积224x224
变为了299x299
📝 刊物
📚 实战案例
⭐️ 简介
从上面的几个 CNN 中,我们可以看到神经网络的层数越来越多,并获得了更好的性能。但是随着网络深度的增加,准确度会逐渐饱和然后迅速下降。微软研究院的人用 ResNet 解决了这个问题——使用跳过连接(又名快捷连接,残差),同时构建更深层次的模型。
ResNet 是批标准化的早期采用者之一(由 Ioffe 和 Szegedy 撰写的批规范论文于 2015 年提交给 ICML)。上图是 ResNet-50,有26M参数。
📝 论文
📚 实战案例
⭐️ 简介
Xception
是由 Inception 改进而来,其中 Inception 模块已替换为深度可分离卷积。它的参数数量也与 Inception-v1 ( 23M )大致相同。
将这个想法发挥到极致意味着对每个通道执行 1×1 ,然后对每个输出执行 3×3 。这与用深度可分离卷积替换 Inception 模块相同。
📝 论文
📚 实战案例
⭐️ 简介
Inception-v4
,参数量大小为43M,由谷歌在 Inception-v3
的基础上改进而来。主要区别在于 Stem
模块和 Inception-C
模块中的一些细微变化。
✨ 与之前的版本Inception-v3 相比有什么改进?
📝 论文
在与Inception-v4相同的论文中,同一作者还介绍了Inception-ResNets
系列Inception-ResNet-v1
和Inception-ResNet-v2
。
✨ 与之前的版本Inception-v3 相比有什么改进?
📝 论文
📚 实战案例
⭐️ 简介
ResNeXt-50
是一个用于图像分类的简单、高度模块化的网络结构。
作者提出 ResNeXt-50
的主要原因在于:传统的要提高模型的准确率,都是加深或加宽网络,但是随着超参数数量的增加(比如channels数,filter size等等),网络设计的难度和计算开销也会增加。因此本文提出的 ResNeXt-50
结构可以在不增加参数复杂度的前提下提高准确率,同时还减少了超参数的数量。
📝 论文
⭐️ 简介
2020年以来,NAS(Neural Architecture Search)
网络搜索技术非常火,但这对计算资源要求也比较高(都是大厂玩的东西)。包括这篇论文中的RegNet也有使用到NAS技术。但在论文中作者一再强调这篇论文与之前的一些NAS论文不同(例如MobileNetv3,EfficientNet),之前的一些有关NAS的论文都是在给定的设计空间(designed search space)中通过搜索算法去搜索出一组最佳参数组合。但在这篇论文中作者要探究的是如何去设计设计空间(design design spaces)并发现一些网络的通用设计准则(network design principles),而不是仅仅去搜索出一组参数。
🎈 网络特点
📝 论文
📚 官方代码
⭐️ 简介
ConvNeXt
靠卷积结构便达到了ImageNet Top-1的准确率,并没有特别复杂或者创新的结构,它的每一个网络细节都是已经在不止一个网络中被采用。而就是靠这些边角料的互相配合。
它的形式思路:Transformer或者Swin-Transformer怎么做,我也对应的调整,效果好就保留。当然这些边角料的摸索也是需要大量的实验数据支撑的,是一个耗时耗力耗资源的过程。
ConvNeXt提供了多个参数尺度的模型,他们的参数结构和在ImageNet-1K的Top-1的准确率如下表所示。
📝 论文
📚 官方代码
🥂 本文所提到的模型,你可以在下面的链接中找到调用方式
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196106.html原文链接:https://javaforall.cn