你应该知道的,十二大CNN算法

你应该知道的,十二大CNN算法大家好,我是K同学啊!今天和大家分享一下自年来,涌现出来的那些优秀的图像识别算法模型。⭐️简介模型是YannLeCun教授于1998年在论文《Gradient-basedlearningappliedtodocumentrecognition》中提出。它是第一个成功应用于手写数字识别问题并产生实际商业(邮政行业)价值的卷积神经网络。被誉为是卷积神经网络的“HelloWord”,它是最简单的架构之一。有2个卷积层和3个全连接层,有大约60,000个参数。…………..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

大家好,我是K同学啊!

今天和大家分享一下自1998~2022年来,涌现出来的那些优秀的图像识别算法模型。

1. LeNet-5 (1998)

图 1:LeNet-5 架构

⭐️ 简介

LeNet-5模型是Yann LeCun教授于1998年在论文《Gradient-based learning applied to document recognition》中提出。它是第一个成功应用于手写数字识别问题并产生实际商业(邮政行业)价值的卷积神经网络LeNet-5被誉为是卷积神经网络的“Hello Word”,它是最简单的架构之一。LeNet-5有 2 个卷积层和 3 个全连接层,有大约 60,000 个参数

? 论文

? 实战案例

2. AlexNet (2012)

图 2:AlexNet 架构
⭐️ 简介

AlexNet 由Alex Krizhevsky于2012年提出,夺得2012年ILSVRC比赛的冠军,top5预测的错误率为16.4%,远超第一名。AlexNet采用8层的神经网络结构,5个卷积层和3个全连接层(3个卷积层后面加了最大池化层),模型参数个数为60M。AlexNet主要的变化在于激活函数采用了Relu(是第一个将流线性单元 (ReLU) 实现为激活函数的模型)、使用Dropout代替正则降低过拟合。

? 论文

? 实战案例

3. VGG-16 (2014)

图 3:VGG-16 架构
⭐️ 简介

截至到2014,由于加深网络成了提高深度神经网络性能最直接的方法,CNN开始变得越来越深入。Visual Geometry Group (VGG) 团队发明了 VGG-16,它有 13 个卷积层和 3 个全连接层,同时继承了 AlexNet 的 ReLU 传统。该网络在 AlexNet 上堆叠了更多层,并使用了更小的过滤器(2×2 和 3×3)。它由138M个参数组成,占用大约500MB的存储空间。与此同时,他们还设计了一个更深的变体,VGG-19。

? 论文

? 实战案例

4. Inception-v1 (2014)

图 4:Inception-v1 架构
⭐️ 简介

Inception-v1 是 Inception 网络的第一个版本,Inception V1在GoogLeNet基础之上,为了减少5×5卷积的计算量,在3x3conv前、5x5conv前、3x3max pooling后分别加上1×1的卷积核,起到减少总的网络参数数量的作用(参数总量为5M)。其主体是Inception模块,Inception模块的体系结构设计是近似稀疏结构研究的产物。

? Inception V1相比GoogLeNet原始版本进行了如下改进:

  • 为了减少5×5卷积的计算量,在3x3conv前、5x5conv前、3x3max pooling后分别加上1×1的卷积核,减少了总的网络参数数量;
  • 网络最后层采用平均池化(average pooling)代替全连接层,该想法来自NIN(Network in Network),事实证明这样可以将准确率提高0.6%。但是,实际在最后还是加了一个全连接层,主要是为了方便对输出进行灵活调整;
  • 网络中仍然使用Dropout ;
  • 为了避免梯度消失,网络额外增加了2个辅助的softmax用于向前传导梯度(辅助分类器)。辅助分类器是将中间某一层的输出用作分类,并按一个较小的权重(0.3)加到最终分类结果中,这样相当于做了模型融合,同时给网络增加了反向传播的梯度信号,也提供了额外的正则化,对于整个网络的训练很有裨益。在实际测试时,这两个额外的softmax会被去掉。

? 论文

  • 论文:Going Deeper with Convolutions
  • 作者:Christian Szegedy、Wei Liu、Yangqing Jia、Pierre Sermanet、Scott Reed、Dragomir Anguelov、Dumitru Erhan、Vincent Vanhoucke、Andrew Rabinovich。谷歌、密歇根大学、北卡罗来纳大学
  • 发表于:2015 年 IEEE 计算机视觉和模式识别会议 (CVPR)

5. Inception-v3 (2015)

图 5:Inception-v3 架构
⭐️ 简介

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 相比有什么改进?

  1. n×n 卷积分解为非对称卷积:1×nn×1 卷积
  2. 5×5 卷积分解为两个 3×3 卷积操作
  3. 7×7 替换为一系列 3×3 的卷积
  4. 网络输入从224x224变为了299x299

? 刊物

? 实战案例

6. ResNet-50 (2015)

图 6:ResNet-50 架构
⭐️ 简介

从上面的几个 CNN 中,我们可以看到神经网络的层数越来越多,并获得了更好的性能。但是随着网络深度的增加,准确度会逐渐饱和然后迅速下降。微软研究院的人用 ResNet 解决了这个问题——使用跳过连接(又名快捷连接,残差),同时构建更深层次的模型。

ResNet 是批标准化的早期采用者之一(由 Ioffe 和 Szegedy 撰写的批规范论文于 2015 年提交给 ICML)。上图是 ResNet-50,有26M参数。

? 论文

? 实战案例

7. Xception (2016)

图 7:Xception 架构
⭐️ 简介

Xception 是由 Inception 改进而来,其中 Inception 模块已替换为深度可分离卷积。它的参数数量也与 Inception-v1 ( 23M )大致相同。

  • 首先,跨通道(或跨特征图)相关性由 1×1 卷积捕获。
  • 因此,通过常规的 3×3 或 5×5 卷积捕获每个通道内的空间相关性。

将这个想法发挥到极致意味着对每个通道执行 1×1 ,然后对每个输出执行 3×3 。这与用深度可分离卷积替换 Inception 模块相同。

? 论文

? 实战案例

8. Inception-v4 (2016)

你应该知道的,十二大CNN算法
⭐️ 简介

Inception-v4,参数量大小为43M,由谷歌在 Inception-v3 的基础上改进而来。主要区别在于 Stem 模块和 Inception-C 模块中的一些细微变化。

✨ 与之前的版本Inception-v3 相比有什么改进?

  1. Stem 模块的变化。
  2. 添加更多 Inception 模块。
  3. 对每个模块使用了相同数量的过滤器。

? 论文

9. Inception-ResNet-V2 (2016)

图 9:Inception-ResNet-V2 架构

在与Inception-v4相同的论文中,同一作者还介绍了Inception-ResNets系列Inception-ResNet-v1Inception-ResNet-v2

✨ 与之前的版本Inception-v3 相比有什么改进?

  1. 将 Inception 模块转换为Residual Inception 块。
  2. 添加更多 Inception 模块。
  3. 在 Stem 模块之后添加了一种新型的 Inception 模块(Inception-A)。

? 论文

? 实战案例

10. ResNeXt-50 (2017)

图 10:ResNeXt 架构
⭐️ 简介

ResNeXt-50是一个用于图像分类的简单、高度模块化的网络结构。

作者提出 ResNeXt-50 的主要原因在于:传统的要提高模型的准确率,都是加深或加宽网络,但是随着超参数数量的增加(比如channels数,filter size等等),网络设计的难度和计算开销也会增加。因此本文提出的 ResNeXt-50 结构可以在不增加参数复杂度的前提下提高准确率,同时还减少了超参数的数量。

? 论文

11. RegNet(2020)

⭐️ 简介

2020年以来,NAS(Neural Architecture Search) 网络搜索技术非常火,但这对计算资源要求也比较高(都是大厂玩的东西)。包括这篇论文中的RegNet也有使用到NAS技术。但在论文中作者一再强调这篇论文与之前的一些NAS论文不同(例如MobileNetv3,EfficientNet),之前的一些有关NAS的论文都是在给定的设计空间(designed search space)中通过搜索算法去搜索出一组最佳参数组合。但在这篇论文中作者要探究的是如何去设计设计空间(design design spaces)并发现一些网络的通用设计准则(network design principles),而不是仅仅去搜索出一组参数。

? 网络特点

  • RegNet 比 RestNet 在小计算量情况下表现好
  • RegNet 比 EfficientNet 在大计算时情况下表现好

? 论文

? 官方代码

12. ConvNeXt(2022)

⭐️ 简介

ConvNeXt 靠卷积结构便达到了ImageNet Top-1的准确率,并没有特别复杂或者创新的结构,它的每一个网络细节都是已经在不止一个网络中被采用。而就是靠这些边角料的互相配合。

它的形式思路:Transformer或者Swin-Transformer怎么做,我也对应的调整,效果好就保留。当然这些边角料的摸索也是需要大量的实验数据支撑的,是一个耗时耗力耗资源的过程。

ConvNeXt提供了多个参数尺度的模型,他们的参数结构和在ImageNet-1K的Top-1的准确率如下表所示。

你应该知道的,十二大CNN算法

? 论文

? 官方代码

你应该知道的,十二大CNN算法

? 本文所提到的模型,你可以在下面的链接中找到调用方式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196106.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 数据库设计规范

    数据库设计规范数据库的重要性不言而喻。对程序员来说跟数据库打交道更是家常便饭。数据库给开发带来了巨大的便利。我们或多或少的知道一些数据库设计规范,但并不全面。今天我就简单整理一下,帮自己做个总结梳理,也希望可以帮到小伙伴们。数据库设计规范包括命名规范、库表基础规范、字段规范、索引规范和SQL设计规范。1.命名规范1.1库名、表名、字段名禁止使用MySQL保留字。1.2库名、表名、字段名使…

  • 微信公众平台开发教程Java版(六) 事件处理(菜单点击/关注/取消关注)

    微信公众平台开发教程Java版(六) 事件处理(菜单点击/关注/取消关注)前言:事件处理是非常重要的,这一章讲讲常见的事件处理 1、关注/取消关注 2、菜单点击事件类型介绍:在微信中有事件请求是消息请求中的一种。请求类型为:event 而event事件类型又分多种事件类型,具体分 关注:subscribe 取消关注:unsubscribe 自定义菜单点击:CLICK 根据上面的类型分类可建对应的常量…

  • JAVA CAS实现原理与使用

    JAVA CAS实现原理与使用在JDK5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁)。锁机制存在以下问题:(1)在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。(2)一个线程持有锁会导致其它所有需要此锁的线程挂起。(3)如果一个优先级高的线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险。volatile…

  • Jetson Nano 从入门到实战(案例:Opencv配置、人脸检测、二维码检测)

    Jetson Nano 从入门到实战(案例:Opencv配置、人脸检测、二维码检测)目录1.JetsonNano简介2.JetsonNano环境配置2.1开箱配件介绍2.2烧录系统2.3开机和基本设置2.4开发环境配置2.4.1更新源和软件2.4.2关屏时间设置2.4.3安装中文输入法2.4.4安装CodeOSS2.4.5安装Qt53.项目案例3.1人脸检测3.1.1安装pip3.1.2…

  • TortoiseSVN新人使用指南[通俗易懂]

    TortoiseSVN新人使用指南[通俗易懂]这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。安装说明使用说明检出项目导入项目提交更新查看日志版本回滚版本控制总结安装说明开发人员强烈建议使用IDE中的SVN插件更加智能与人性化。首先安装SVN客户端,windows一般选择乌龟客户端https://tortoisesvn.net/d

  • ribbon的负载均衡策略_f5负载均衡配置

    ribbon的负载均衡策略_f5负载均衡配置在这里吐槽一句:网上很多文章真是神坑,你不看还好,看了只会问题越来越多,就连之前的问题都没有解决!!!不多说了,Ribbon作为后端负载均衡器,比Nginx更注重的是请求分发而不是承担并发,可以直接感知后台动态变化来指定分发策略。它一共提供了7种负载均衡策略:策略名策略声明策略描述实现说明

    2022年10月13日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号