总结 CNN 模型:将焦点转移到基于注意力的架构

一、说明

        在计算机视觉时代,卷积神经网络(CNN)几十年来一直是主导范式。直到 2021 年 Vision Transformers (ViTs) 出现,这个领域才开始发生变化。现在,是时候采用受 Transformer 架构启发的基于注意力的模型了,使我们能够有效地适应各种数据集变化。

        我们需要再次回顾CNN的历史,就像我们回顾过去发生的事情一样,不要重蹈覆辙,也不要改进错误。为了进一步提高基于注意力的模型的性能,学习 CNN 的历史并将其优势应用到这些模型中至关重要。让我们回顾一下 CNN 的影响力时间线,从 LeCun 的 LeNet-1 到广泛使用的 EfficientNet。

        今天,我们探讨了七篇可参考/有意义的关键论文,它们将过渡到基于注意力的模型:[AlexNet、VGG、GoogLeNet、ResNet、DenseNet、SE-Net、EfficientNet]。我们开始吧😃

二、AlexNet:计算机视觉开发的先驱

- 标题:深度卷积神经网络的 ImageNet 分类
- 作者:Alex Krizhevsky、Ilya Sutskever、Geoffrey E. Hinton
- 出版:多伦多大学,2012 年
- :
[此处]

        2012 年,大型深度学习模型的特点是计算成本高。人们迫切需要具有成本效益且有效的模型。正是在这段时间,多伦多的研究人员推出了名为 AlexNet 的突破性架构。

        AlexNet 最关键的方面之一是其创新的训练环境,它使用两个 3GB GPU。为了优化效率和效果,对架构进行了划分。如上图所示,特征向量在两个 GPU 之间分割,连接位于同一层内。

        AlexNet 还解决了臭名昭著的梯度消失问题激活输出随着网络加深而减少。与之前通常依赖 Sigmoid 或 tanh 激活函数的模型不同,AlexNet 引入了整流线性单元 (ReLU) 激活函数。AlexNet 引入了修正线性单元 (ReLU) 激活,而不是常用的 Sigmoid 或 tanh。

这一战略选择使得 AlexNet 在大规模视觉识别挑战赛(2012 年的 ILSVRC,ImageNet)中取得了比第二名高出 16% 的准确率,标志着深度学习方法论的重大飞跃。

        AlexNet的发布标志着一个转折点,推动了深度学习方法的快速发展。

三、VGG:最大化堆叠 3x3 卷积层的卷积网络的效率。

- 标题:用于大规模图像识别的非常深的卷积网络
- 作者:
Karen SimonyanAndrew Zisserman
- 出版:牛津大学,2014 年
- :
[此处]

        继 2012 年 AlexNet 取得成功之后,2014 年,谷歌和牛津大学的研究人员推出了两个重要模型,在计算机视觉社区引起了广泛讨论。虽然这些模型有一些相似之处,但人们经常对它们进行比较以评估它们的优势。尽管许多人称赞GoogLeNet 的 1x1 卷积层效率,但值得注意的是 VGG 提出了自己独特的挑战和优点。

        为了说明这一点,让我们考虑一下感受野——计算机视觉中的一个关键方面。左图展示了两个 3x3 卷积层,右图展示了一个 5x5 卷积层。令人惊讶的是,两种设置都提供相同的感受野,这意味着它们可以有效地捕获整个图像的信息。然而,需要注意的是,5x5 卷积层需要 25 倍的计算量,而两个 3x3 层的组合只需要 18 倍的计算量即可产生输出或特征向量。

        VGG 通过用多个 3x3 卷积层(在某些情况下甚至是三层)替换较大的卷积层(例如 5x5 或 7x7),在其架构中利用了这种效率。这不仅降低了计算复杂性,而且还为网络增加了非线性,使其能够进行更深入的研究,尽管它依赖于 3x3 卷积层。

        在 ILSVRC 挑战中,VGG 获得第二名,落后于 GoogLeNet。然而,更仔细的检查表明,在两种架构之间的直接比较中,VGG 始终优于 GoogLeNet,尽管采用了看似更简单的方法。

四、GoogLeNet:通过不同的卷积实现深度

- 标题:深入了解卷积
- 作者:Christian Szegedy 等人。
- 发布:2014 年 Google Inc
- :[
此处]

        如果说 VGG 体现了简单性和高性能,那么 GoogLeNet 则展示了卓越的优化过程,旨在利用各种大小的卷积层创建各种模型。尽管如此,VGG 显示,当使用大于 3x3 的卷积层时,计算量会增加,相反,GoogLeNet 引入了一种涉及 1x1 卷积的经济有效的策略,可实现前所未有的模型深度。这使得 GoogLeNet 在保持效率的同时具有令人印象深刻的非线性和强大的性能。

        与VGG相比,GoogLeNet还强调了神经网络中非线性的重要性。Google 的方法从 2013 年一篇论文中提出的网络中网络 (NIN) 概念中汲取了灵感。这种创新架构通过采用 1x1 卷积来减少滤波器数量。纵观整个 NIN 结构,网络似乎是嵌套在网络中的。

        作者承认,更大的模型可以提供更多样化的表达,但它们也带来了挑战,特别是过度拟合和难以优化的风险。为了解决这个问题,他们在网络中引入了稀疏连接——1x1 conv可以实现稀疏连接,旨在在多样性和过度拟合之间取得平衡。然而,值得注意的是,稀疏连接是以计算资源为代价的。

        Inception 模块虽然功能强大,但最初面临与成本相关的挑战。为了增强非线性并减轻成本问题,采用 Network in Network 的 1x1 卷积作为战略选择。(图b)

五、ResNet:残差学习重新定义深度学习

- 标题:图像识别的深度残差学习
- 作者:Kamming He 等人。
- 发布:2014 年微软研究团队
- :[
此处]

        ResNet 已成为该领域最有影响力的论文之一,截至 2023 年 10 月,引用次数超过 180,000 次。它的影响不仅延伸到计算机视觉任务,还延伸到全球范围内的研究挑战。

        ResNet 引入了一个简单但革命性的概念,称为“残差学习”,它在深度学习领域留下了不可磨灭的印记。该方法的核心是将输入向量添加到网络块的输出。问题出现了:为什么残差学习会产生如此令人印象深刻的结果?

        答案就在于这个简单过程的优雅。想象一个场景,我们的模型呈现出狗的图像,其目标是重现相同的狗图像。当这一层被添加到网络中时,它的主要目的是保持输入图像的准确性。因此,模型要么保留输入图像,要么进行最小的更改。这种方法与 VGG 等传统模型明显不同,后者会尝试重建输入图像,从而可能导致结果模糊或扭曲。

        这就是为什么 ResNet 的残差学习仍然是一个强大的概念。它允许信息在深层中更无缝地流动,最终有助于其成功。

        该残差块最多可以跨越 100 层。这个深度残差块可以成为 2015 年 ILSVRC 挑战赛的获胜者。到目前为止,我们可以看到 ResNet 的许多变体,如 SE-ResNet、ResNext、RegNetY 等。因为它简单且有用。稍后我们将讨论 SE-Net(挤压和激励网络)。在此之前,我们先谈谈 2016 年推出的另一个网络。

六、DenseNet:密集连接层以实现特征多样性

- 标题:密集连接的卷积网络
- 作者:
Gao Huang等人
- 发布:Facebook AI 研究团队和康奈尔大学,2017 年
- :[
此处]

DenseNet 的架构增强不仅仅考虑输入向量;它确保每个块内的所有层都是互连的。这会提高效率和能力吗?让我们来探索一下。🔥

        在传统的 CNN 架构中,例如普通 VGG 网络,创建像h_i这样的特征向量,然后传递到后续层,使前一层的动作永久化。同时,ResNet 引入了一项变化,允许层通过将一个密集块的输入添加到另一个密集块的输出来进行连接,形成一种“快捷”连接。现在,仔细观察密集连接的块,我们发现 DenseNet 更进一步。与它的前身不同,DenseNet 确保其块内的所有层都是互连的,形成密集的连接网络。

        更准确地说,每一层的输出都提供给其后续层。然后,后续层将其自己的输出和从前一层接收到的输出进行集成。

密集互连的层具有三个明显的优势:

1. 计算效率

与 ResNet 的连接相比,DenseNet 的效率更高。ResNet 需要 O(C×C) 的计算成本,而 DenseNet 的运行成本为 O(ℓ×𝓀×𝓀),其中 𝓀 和 ℓ 都明显小于 C。

2. 功能多样化

DenseNet 可以产生比 ResNet 更丰富的特征集。这是因为 DenseNet 层堆叠了前面各层的特征图,比 ResNet 中的相关特征封装了更全面的信息。

3. 多种功能的整合

考虑识别人脸的任务。初始层检测眼睛、耳朵和鼻子等基本特征。然而,更深层次感知更广泛的模式,例如区分男性和女性面孔或识别个人身份。包括 ResNet 在内的传统深度学习模型需要有效压缩输入图像以传递相关信息。然而,由于其密集连接的架构,DenseNet 可以利用大量的特征图,使其异常熟练。

七、SENet:引导注意力以增强学习

- 标题:挤压和激励网络
- 作者:Jie Hu 等人。
- 发布:2017 年中国科学院
- :[
此处]

        如果我必须选择一种模型架构来促进模型架构,我会选择基于 SE 块的 ResNet。这种方法的美妙之处在于它的简单性和效力。只需添加两个 MLP 层并利用平均池化即可有效提高性能。但更重要的是,其基本思想侧重于区分重要信息和不太重要的渠道。

        挤压和激励 (SE) 块的工作原理有两个主要步骤

  1. Squeeze:它使用平均池机制将输入向量压缩到维度 [1×1×C]。
  2. 激励:这个压缩的 [1×1×C] 向量然后通过两个 MLP 层进行处理,引入非线性。

        如图所示,两个 MLP 层引入了非线性,并随后应用 sigmoid 函数 — 确保总和等于 1。这种机制强调了各个特征的重要性。

        有趣的是,作者预计 SE 块与 Inception 模块配对将产生显着的改进,这主要是由于能够突出不同的特征。然而,实证结果表明,将其与基于 ResNet 的模型集成比 Inception 模块更有益。

        SE 块更具吸引力的是其最小的计算开销。此外,SE 模块复杂地评估渠道间关系,为其赢得了“渠道关注”方法的绰号。

八、EfficientNet:优化模型缩放

- 标题:重新思考卷积神经网络的模型扩展
- 作者:Mingxing Tan 和 Quoc V. Le
- 发布:Google Research,Brain Team 2018 年
- :[
此处]

        EfficientNet 代表了一种寻求开发紧凑且高性能模型的新颖方法。有效地设计此类架构可能非常具有挑战性。通过一系列实验,EfficientNet 的创建者努力寻找神经网络的最佳平衡点。

        EfficientNet 背后的研究人员研究了各种参数:模型的宽度、深度和分辨率。随后,他们制作了一系列模型,从最紧凑的版本到更大的版本。

        他们的实验证明,分辨率缩放比深度缩放具有更显着的效果,其中“d”表示深度,“r”表示分辨率

        为了扩展模型,EfficientNet 使用phi值。EfficientNet 版本的范围各有不同的 phi 值,在各种模型大小上始终优于竞争对手。此外,与具有相似性能的模型相比,EfficientNet 总是因效率更高而脱颖而出。

九、下一步是什么?

        当我们回顾计算机视觉模型的历程时,卷积神经网络 (CNN) 的作用怎么强调都不为过。它们的卷积层池化机制彻底改变了我们处理视觉数据的方式,推动了图像识别、检测等方面的众多进步。然而,与所有模型一样,CNN 也有其局限性,例如局部感受野以及处理远程依赖性的困难。

        输入注意力机制,这是一个新事物,为我们如何建模数据中的依赖关系提供了全新的视角。通过允许模型有选择地处理输入的不同部分,我们打破了固定计算路径的链条,使模型更加灵活和上下文感知。

        基于注意力的模型的未来前景广阔。我们或许可以预见:

  1. 可扩展性:由于注意力机制提供了并行计算的潜力,因此它们非常适合有效处理更大的数据集。回顾 CNN 的演变,很明显后续算法往往变得更加简化和可扩展。
  2. 可解释性:通过注意力权重的可视化,我们不仅可以深入了解模型认为输入的哪些部分是重要的,而且还可以增强我们对其决策的信任。这与可解释人工智能的更广泛目标相一致,有助于使模型推理更加透明和易于理解。
  3. 适应性:注意力机制可以与其他架构集成,为利用 CNN 和注意力优势的混合模型铺平道路。

        随着研究人员和从业者不断创新,计算机视觉的前景必将不断发展。虽然 CNN 奠定了基础,但基于注意力的模型正在其基础上构建,为我们的探索迈出新的篇章,让我们的模型能够看到理解。加入这个不断变化的领域是一个激动人心的时刻,我们热切期待未来的奇迹(10-25-2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/195900.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GZ038 物联网应用开发赛题第8套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第8套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评…

Android Studio Error “Unsupported class file major version 61“---异常信息记录

编译时异常信息 原因及解决办法 问题出在JAVA 17上,并且使用的Gradle JDK是:Android Studio java home版本17.0.1将其更改为:Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3

uniapp App 端 版本更新检测

function checkVersion() { var req { //升级检测数据 appid: plus.runtime.appid, version: plus.runtime.version }; const timestamp Date.parse(new Date()); config.server.query_news uni.reque…

如何使用ONLYOFFICE来P惊悚特效图

如何使用ONLYOFFICE来P惊悚特效图 老朋友们可能会经常看见本号主又换头像了,各种各样精神分裂成一群人或者我和自己俩个人的头像,之前讲过的: 手把手教你如何自己一个人精神分裂成一群人https://mp.weixin.qq.com/s/yacKt7N3sZnarfMhXRNdBA…

零代码编程:用ChatGPT自动合并多个Word文件

一个文件夹中有多个docx格式的word文档: 想要把它们都合并成一个文件,然后打印,可以在ChatGPT中输入提示词: 你是一个Python编程专家,要完成一个处理word内容的任务,具体步骤如下: 打开文件夹…

redis实战篇(2)

优惠卷秒杀 通过本章节,我们可以学会Redis的计数器功能, 结合Lua完成高性能的redis操作,同时学会Redis分布式锁的原理,包括Redis的三种消息队列 3、优惠卷秒杀 3.1 -全局唯一ID 每个店铺都可以发布优惠券: 当用户抢…

EMNLP2023 | 基于显式证据推理的few-shot关系抽取CoT

深度学习自然语言处理 原创作者:wkk 论文:Chain of Thought with Explicit Evidence Reasoning for Few-shot Relation Extraction地址:https://arxiv.org/abs/2311.05922 摘要 Few-shot关系提取涉及使用有限数量的注释样本识别文本中两个特定…

肖sir__linux讲解(2.1)

linux命令 cp 复制命令 a、cp 原文件名称 新文 件名称(不存在的文件) 案例:cp a k 截图: b.cp 原文件名称 原有文 件名称(存在的文件) 案例:cp a b 截图: c、cp 指定路径复制 格式&#xff…

目标检测—YOLO系列(二 ) 全面解读论文与复现代码YOLOv1 PyTorch

精读论文 前言 从这篇开始,我们将进入YOLO的学习。YOLO是目前比较流行的目标检测算法,速度快且结构简单,其他的目标检测算法如RCNN系列,以后有时间的话再介绍。 本文主要介绍的是YOLOV1,这是由以Joseph Redmon为首的…

802.1Qbb

[TOC] 802.1Qbb 802.1Qbb是什么? 802.1Qbb(基于优先级的流控制,PFC)是以太网数据中心中一项重要的标准,用于提供无丢包的网络环境。这项标准是IEEE 802.1Q标准的一部分,旨在解决以太网数据中心网络中的拥…

vue3 + ts项目(无vite)报错记录

记录项目创建后遇到的报错 1.类型“Window & typeof globalThis”上不存在属性“_CONFIG”。ts(2339) 问题描述: 使用全局 window 上自定义的属性,TypeScript 会报属性不存在 解决:需要将自定义变量扩展到全局 window 上&#xff0c…

数据分析场景下,企业如何做好大模型选型和落地?

在数据驱动的数字化时代,有效的数据分析已成为企业成功的关键因素。而随着大模型带来能力突破,让AI与数据分析相互结合,使分析结果更好支撑业务,促进企业内部数据价值释放,成为了当下企业用户尤为关注的话题。 如何按照…

PPT转PDF转换器:便捷的批量PPT转PDF转换软件

在数字化时代,文档转换已成为日常工作不可或缺的一环。特别是对于那些需要转发或发布演示文稿的人来说,如果希望共享给他人的PPT文件在演示过程中不被修改,那么将PPT文件转换为PDF格式已经成为一个常见的选择。大多数PDF阅读器程序都支持全屏…

在Rust编程中使用泛型

1.摘要 Rust中的泛型可以让我们为像函数签名或结构体这样的项创建定义, 这样它们就可以用于多种不同的具体数据类型。下面的内容将涉及泛型定义函数、结构体、枚举和方法, 还将讨论泛型如何影响代码性能。 2.在函数定义中使用泛型 当使用泛型定义函数时,本来在函…

Flutter笔记:桌面应用 窗口定制库 bitsdojo_window

Flutter笔记 桌面应用窗口管理库 bitsdojo_window 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/13446…

吴恩达《机器学习》8-7:多元分类

在机器学习领域,经常会遇到不止两个类别的分类问题。这时,需要使用多类分类技术。本文将深入探讨多类分类,并结合学习内容中的示例,了解神经网络在解决这类问题时的应用。 一、理解多类分类 多类分类问题是指当目标有多个类别时…

stable diffusion comfyui的api使用教程

一、为什么要使用comfyui的api?对比webui的api,它有什么好处? 1、自带队列 2、支持websocket 3、无需关心插件是否有开放api接口,只要插件在浏览器中可以正常使用,接口就一定可以使用 4、开发人员只需关心绘图流程的搭建 5、切换…

Leetcode—3.无重复字符的最长子串【中等】

2023每日刷题&#xff08;三十二&#xff09; Leetcode—3.无重复字符的最长子串 实现代码 class Solution { public:int lengthOfLongestSubstring(string s) {unordered_set<char> smap;int maxlen 0;int left 0;for(int i 0; i < s.size(); i) {while(smap.fi…

【算法】距离(最近公共祖先节点)

题目 给出 n 个点的一棵树&#xff0c;多次询问两点之间的最短距离。 注意&#xff1a; 边是无向的。所有节点的编号是 1,2,…,n。 输入格式 第一行为两个整数 n 和 m。n 表示点数&#xff0c;m 表示询问次数&#xff1b; 下来 n−1 行&#xff0c;每行三个整数 x,y,k&am…

【开源】基于Vue和SpringBoot的民宿预定管理系统

项目编号&#xff1a; S 058 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S058&#xff0c;文末获取源码。} 项目编号&#xff1a;S058&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色…