IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【深度学习】CNN+Transformer汇总 -> 正文阅读

[人工智能]【深度学习】CNN+Transformer汇总

参考

1.CNN+Transformer算法总结

前言

  • 总结了2021年以来,所有将CNN与Transformer框架结合的CV算法
  • 在卷积神经网络(CNN)中,卷积运算擅长提取局部特征,但在捕获全局特征表示方面还是有一定的局限性。 在Vision Transformer中,级联自注意力模块可以捕获长距离的特征依赖,但会忽略局部特征的细节

cnn与transformer

CNN具有非常良好的性能。这在很大程度上归因于卷积操作,
优点:它以分层的方式收集局部特征以获得更好的图像表示。
缺点:尽管在局部特征提取方面具有优势,但CNN捕获全局表示的能力还是不足,这对很多high-level的计算机视觉任务又是非常重要的。
一个最直观的解决方案是扩大感受野,但是这就会破坏池化层的操作

Transformer

  1. ViT方法
  • 通过将每个图像分割为具有位置嵌入的Patch来构建一系列token;
  • 然后用Transformer Block来提取参数化向量作为视觉表示。
    由于自注意力机制(Self-Attention)和多层感知机(MLP)结构,Vision Transformer能够反映了复杂的空间变换和长距离特征依赖性,从而获得全局特征表示。
    缺点:Vision Transformer会忽略了局部特征细节,这降低了背景和前景之间的可辨别性

因此,一些工作提出了一个tokenization模块或利用CNN特征图作为输入token来捕获特征的邻近信息。然而,这些方法依旧没有从根本上解决好局部建模和全局建模之间的关系。

如何再cnn中插入transformer

类似的工作比如说DETR,用CNN提取图像特征,在之后接了Transformer的encoder和decoder。

例如:2021年1月27日在arxiv上发的一篇文章Bottleneck Transformers for Visual Recognition同样是采用了CNN+Transformer,但在我看来,似乎是更加elegant的做法:

  1. 将Transformer的Self-attention融入了一个CNN的backbone中,而非叠加;

  2. 具体来说是在ResNet的最后三个bottleneck blocks中用MHSA(多头自注意力层,Multi-Head Self-attention)替换了原本的3x3卷积(下图)。这些新的blocks被命名为BoT blocks,这一新的网络被命名为BotNet

在这里插入图片描述
好处:

  1. 能够利用成熟的、经过检验的CNN网络结构提取特征,CNN在视觉领域是有一些先验或者inductive biases的;

  2. CNN对输入图像做了下采样后,再由self-attention进行运算,相比于直接使用self-attention在原图上处理,能够降低运算量;

  3. 这样的设计能够与其他方法结合,例如可能作为backbone应用于DETR中。

在MHSA层中,特征输入X经过WQ, WK, WV三个矩阵映射成q,k,v,分别代表query,key和value。Self-attention的操作一般是对qkv进行计算。

2021 ICCV-Conformer(国科大&华为&鹏城)

详情

2021 IEEE/CVF International Conference on Computer Vision (ICCV) -9 May
论文:原论文
代码:代码
参考:
1CNN+Transformer=Better,国科大&华为&鹏城实验室提出Conformer,84.1% Top-1准确率
2.论文笔记32 – Conformer: Local Features Coupling Global Representations for Visual Recognition

本文提出了一种混合网络结构,称为Conformer,将(卷积操作)和(自注意力机制)结合增强特征表示的学习。Conformer 依靠特征耦合单元(FCU),以交互的方式在不同分辨率下融合局部特征表示和全局特征表示。此外,Conformer采用并行结构,以最大限度地保留局部特征和全局表示。
作者通过实验证明,在相似的参数和复杂度下,Conformer在ImageNet上比DeiT-B好2.3%。在MS-COCO数据集上,它在目标检测和实例分割任务上,分别比ResNet-101高出3.7%和3.6%的mAP。

框架概述

双网络结构Conformer,能够将基于CNN的局部特征与基于Transformer的全局表示相结合,以增强表示学习。Conformer由一个CNN分支和一个Transformer分支组成,这两个分支由局部卷积块、自我注意模块和MLP单元的组合而成。在训练过程中,交叉熵损失函数被用于监督CNN和Transformer两个分支的训练,以获得同时具备CNN风格和Transformer风格的特征。

考虑到CNN与Vision Transformer特征之间的不对称性,作者设计了特性耦合单元(FCU)作为CNN与Vision Transformer 之间的桥接
一方面,为了融合两种风格的特征,FCU 利用1×1卷积对齐通道尺寸,用下/上采样策略对齐特征分辨率,用LayerNorm和BatchNorm对齐特征值 。
另一方面,由于CNN和Vision Transformer分支倾向于捕获不同级别的特征(局部和全局),因此将FCU插入到每个block中,以 连续 交互的方式消除它们之间的语义差异 。这种融合过程可以极大地提高局部特征的全局感知能力和全局表示的局部细节。

方法

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 09:57:29  更:2022-05-14 09:58:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 5:52:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码