0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Vision Transformers比基于CNN的模型更具有潜力

OpenCV学堂 来源:OpenCV学堂 作者:OpenCV学堂 2022-09-08 10:37 次阅读

Vision Transformer (ViT)自发布以来获得了巨大的人气,并显示出了比基于CNN的模型(如ResNet)更大的潜力。但是为什么Vision Transformer比CNN的模型更好呢?最近发表的一篇文章“Do Vision Transformers See Like Convolutional Neural Networks?”指出,ViT的优势来自以下几个方面:

ViT不同层的特征更加均匀,而CNN模型不同层的特征呈网格状

ViT的低层的注意力包含全局信息,而CNN的性质在低层只关注局部

在ViT的较高层中,跳跃连接在信息传播中发挥突出作用,而ResNet/CNN跳跃连接在较高层中传递的信息较少

此外,数据的规模和全局平均池化的使用都会对ViT的表示产生很大的影响。

8d35186e-2e99-11ed-ba43-dac502259ad0.png

ViT和CNN的主要区别

首先,让我们看看下面的两个架构,ViT和一个典型的CNN模型ResNet50。ResNet50接收整个狗图像,并进行2D卷积,内核大小为7×7,用残差块叠加50层,最后附加一个全局平均池化和一个dense层,将图像分类为“狗”。ViT首先将狗图像分解为16*16个patch,将每个patch视为一个“token”,然后将整个token序列送入transformer编码器,该编码器由多头自注意力块组成,编码器特征随后被发送到MLP层,用于分类“狗”类。

上: ResNet50; 下: ViT

对于两个长度不同的特征向量,很难衡量它们的相似性。因此,作者提出了一种特殊的度量,中心核对齐(CKA),整个论文中都在使用这个。假设X和Y是m个不同样本的特征矩阵,K=XX^T^, L=YY^T^,则利用Hilbert-Schmidt独立准则(HSIC)的定义,定义CKA如下:

8d6ab6e0-2e99-11ed-ba43-dac502259ad0.png

X和Y越相似,CKA值越高。更多的定义细节可以在论文的第3节中找到。

有了CKA的定义,一个自然的问题出现了:ViT和CNN的不同层的特征有多相似?作者表明,模式是相当不同的, ViT在所有层上有一个更统一的特征表示,而CNN/ResNet50在较低和较高的层上有一个网格状的模式。这意味着ResNet50在它的低层和高层之间学习不同的信息。

8d7622dc-2e99-11ed-ba43-dac502259ad0.png

左:ViT各层特征对之间的CKA值,右:ResNet50所有层的特性对之间的CKA值。

但是ResNet在其较低层次和较高层次学习的“不同信息”是什么呢?我们知道对于CNN模型,由于卷积核的性质,在较低的层只学习局部信息,在较高的层学习全局信息。所以在不同的层之间有一个网格状的模式就不足为奇了。那么我们不禁要问,ViT怎么??ViT是否也在其底层学习局部信息?

如果我们进一步观察自注意力头,我们知道每个token会关注所有其他token。每个被关注的token都是一个查询patch,并被分配一个注意力权重。由于两个“token”代表两个图像patch,我们可以计算它们之间的像素距离。通过将像素距离和注意力权重相乘,定义了一个“注意力距离”。较大的注意力距离意味着大多数“远处的patch”具有较大的注意权重——换句话说,大多数注意力是“全局的”。相反,小的注意距离意味着注意力是局部的。

8d9888e0-2e99-11ed-ba43-dac502259ad0.png

注意力距离的计算

作者进一步研究了ViT中的注意力距离。从下面的结果中,我们可以看到,虽然从较高层(block 22/23,红色高亮显示)的注意力距离主要包含全局信息,但是,即使是较低层(block 0/1,红色高亮显示)仍然包含全局信息。这和CNN的模型完全不同。

8dbfdeb8-2e99-11ed-ba43-dac502259ad0.png

现在我们知道ViT甚至在它的底层也学习全局表示,下一个要问的问题是,这些全局表示会忠实地传播到它的上层吗?如果是这样,是怎么实现的?

作者认为关键是ViT的跳跃连接。对于每个block,在自注意力头和MLP头上都存在跳跃连接。通过将跳跃连接的特征的范数除以通过长分支的特征的范数,作者进一步定义了一个度量:归一化比率(Ratio of norm, RoN)。他们发现了惊人的相变现象,在较低的层次上,分类(CLS)token的RoN值很高,而在较高的层次上则低得多。这种模式与空间token相反,其中RoN在较低的层中较低。

8dcc0a8a-2e99-11ed-ba43-dac502259ad0.png

归一化比率:|z|/|f(z)|。其中z是通过跳跃连接的特特征。F (z)是经过长分支的特征。

如果他们进一步删除ViT不同层的跳跃连接,那么CKA映射将如下所示。这意味着跳跃连接是使ViT不同层之间的信息流成为可能的主要(如果不是全部的话)机制之一。

8de0c254-2e99-11ed-ba43-dac502259ad0.png

除了强大的跳跃连接机制和在较低层次学习全局特征的能力外,作者还进一步研究了ViT在较高层次学习精确位置表示的能力。这种行为与ResNet非常不同,因为全局平均池化可能会模糊位置信息。

此外,作者指出,有限的数据集可能会阻碍ViT在较低层次学习局部表示的能力。相反,更大的数据集特别有助于ViT学习高质量的中间层表示。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    45

    文章

    3640

    浏览量

    134450
  • 模型
    +关注

    关注

    1

    文章

    3233

    浏览量

    48816
  • cnn
    cnn
    +关注

    关注

    3

    文章

    352

    浏览量

    22205

原文标题:Vision Transformers看到的东西是和卷积神经网络一样的吗?

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于数字CNN与生物视觉的仿生眼设计

    简单的物体,完成一些简单的视觉任务[2]。本文采用基于CNN[3-4]的数学模型以及相关的数字指令来建立一个能并行、快速处理视觉信号的数字CNN信号处理系统。在研究视网膜信号处理以及信息编码时,把视网膜
    发表于 09-19 09:35

    大家是怎么压榨CNN模型

    【威廉希尔官方网站 综述】为了压榨CNN模型,这几年大家都干了什么
    发表于 05-29 14:49

    Github开源的数字手势识别CNN模型简析

    2.概述一个简单的AI开发sampleGithub开源的数字手势识别CNN模型,识别数字0-10十一种手势类LeNet-5,两个卷积层,两个池化层,一个全连接层,一个Softmax输出层3.RKNN
    发表于 04-02 15:22

    如何将DS_CNN_S.pb转换为ds_cnn_s.tflite?

    MIMRTX1064(SDK2.13.0)的KWS demo中放置了ds_cnn_s.tflite文件,提供demo中使用的模型示例。在 read.me 中,声明我可以找到脚本,但是,该文档中的脚本
    发表于 04-19 06:11

    为什么三相电机单相电机更具优势?

    单相电机和三相电机,实质上区别,或者说为什么三相电机单相电机更具优势 不要百度,复制的。要能看懂的,通俗些。 就是说三相电机的优势在哪里。我觉着,三相电机,单相贵,一定有他的优势。
    发表于 11-09 07:50

    在线研讨会 | 释放 Vision Transformers、NVIDIA TAO 和最新一代 NVIDIA GPU 的潜力

    研讨会时间: 2023 年 6 月 29 日(周四)上午 11:00  (北京时间 ) Vision Transformers(ViTs)正在彻底改变视觉 AI 应用。与卷积神经网络( CNN
    的头像 发表于 06-16 11:45 495次阅读
    在线研讨会 | 释放 <b class='flag-5'>Vision</b> <b class='flag-5'>Transformers</b>、NVIDIA TAO 和最新一代 NVIDIA GPU 的<b class='flag-5'>潜力</b>

    2D Transformer 可以帮助3D表示学习吗?

    预训练的2D图像或语言Transformer:作为基础Transformer模型具有丰富的特征表示能力。作者选择了先进的2D Transformer模型作为基础模型,例如
    的头像 发表于 07-03 10:59 810次阅读
    2D Transformer 可以帮助3D表示学习吗?

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型

    cnn卷积神经网络模型 卷积神经网络预测模型 生成卷积神经网络模型  卷积神经网络(Convolutional Neural Network,CNN
    的头像 发表于 08-21 17:11 1237次阅读

    cnn卷积神经网络算法 cnn卷积神经网络模型

    cnn卷积神经网络算法 cnn卷积神经网络模型 卷积神经网络(CNN)是一种特殊的神经网络,具有很强的图像识别和数据分类能力。它通过学习权重
    的头像 发表于 08-21 17:15 2082次阅读

    Transformers的功能概述

    近年来,我们听说了很多关于Transformers的事情,并且在过去的几年里,它们已经在NLP领域取得了巨大成功。Transformers是一种使用注意力机制(Attention)显著改进深度学习
    的头像 发表于 01-23 10:15 690次阅读
    <b class='flag-5'>Transformers</b>的功能概述

    深度神经网络模型cnn的基本概念、结构及原理

    ,其核心是构建具有多层结构的神经网络模型,以实现对复杂数据的高效表示和处理。在众多深度学习模型中,卷积神经网络(CNN)因其在图像识别等领域的卓越性能而备受关注。
    的头像 发表于 07-02 10:11 9716次阅读

    卷积神经网络cnn模型有哪些

    卷积神经网络(Convolutional Neural Networks,简称CNN)是一种深度学习模型,广泛应用于图像识别、视频分析、自然语言处理等领域。 CNN的基本概念 1.1 卷积层
    的头像 发表于 07-02 15:24 717次阅读

    CNN模型的基本原理、结构、训练过程及应用领域

    卷积神经网络(Convolutional Neural Network,简称CNN)是一种深度学习模型,广泛应用于图像识别、视频分析、自然语言处理等领域。CNN模型的核心是卷积层
    的头像 发表于 07-02 15:26 3483次阅读

    图像分割与语义分割中的CNN模型综述

    图像分割与语义分割是计算机视觉领域的重要任务,旨在将图像划分为多个具有特定语义含义的区域或对象。卷积神经网络(CNN)作为深度学习的一种核心模型,在图像分割与语义分割中发挥着至关重要的作用。本文将从
    的头像 发表于 07-09 11:51 856次阅读

    cnn常用的几个模型有哪些

    CNN(卷积神经网络)是一种深度学习模型,广泛应用于图像识别、自然语言处理等领域。以下是一些常用的CNN模型: LeNet-5:LeNet-5是最早的卷积神经网络之一,由Yann Le
    的头像 发表于 07-11 14:58 805次阅读