0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

OpenCV學(xué)堂 ? 來源:OpenCV學(xué)堂 ? 作者:OpenCV學(xué)堂 ? 2022-09-08 10:37 ? 次閱讀

Vision Transformer (ViT)自發(fā)布以來獲得了巨大的人氣,并顯示出了比基于CNN的模型(如ResNet)更大的潛力。但是為什么Vision Transformer比CNN的模型更好呢?最近發(fā)表的一篇文章“Do Vision Transformers See Like Convolutional Neural Networks?”指出,ViT的優(yōu)勢(shì)來自以下幾個(gè)方面:

ViT不同層的特征更加均勻,而CNN模型不同層的特征呈網(wǎng)格狀

ViT的低層的注意力包含全局信息,而CNN的性質(zhì)在低層只關(guān)注局部

在ViT的較高層中,跳躍連接在信息傳播中發(fā)揮突出作用,而ResNet/CNN跳躍連接在較高層中傳遞的信息較少

此外,數(shù)據(jù)的規(guī)模和全局平均池化的使用都會(huì)對(duì)ViT的表示產(chǎn)生很大的影響。

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

ViT和CNN的主要區(qū)別

首先,讓我們看看下面的兩個(gè)架構(gòu),ViT和一個(gè)典型的CNN模型ResNet50。ResNet50接收整個(gè)狗圖像,并進(jìn)行2D卷積,內(nèi)核大小為7×7,用殘差塊疊加50層,最后附加一個(gè)全局平均池化和一個(gè)dense層,將圖像分類為“狗”。ViT首先將狗圖像分解為16*16個(gè)patch,將每個(gè)patch視為一個(gè)“token”,然后將整個(gè)token序列送入transformer編碼器,該編碼器由多頭自注意力塊組成,編碼器特征隨后被發(fā)送到MLP層,用于分類“狗”類。

上: ResNet50; 下: ViT

對(duì)于兩個(gè)長(zhǎng)度不同的特征向量,很難衡量它們的相似性。因此,作者提出了一種特殊的度量,中心核對(duì)齊(CKA),整個(gè)論文中都在使用這個(gè)。假設(shè)X和Y是m個(gè)不同樣本的特征矩陣,K=XX^T^, L=YY^T^,則利用Hilbert-Schmidt獨(dú)立準(zhǔn)則(HSIC)的定義,定義CKA如下:

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

X和Y越相似,CKA值越高。更多的定義細(xì)節(jié)可以在論文的第3節(jié)中找到。

有了CKA的定義,一個(gè)自然的問題出現(xiàn)了:ViT和CNN的不同層的特征有多相似?作者表明,模式是相當(dāng)不同的, ViT在所有層上有一個(gè)更統(tǒng)一的特征表示,而CNN/ResNet50在較低和較高的層上有一個(gè)網(wǎng)格狀的模式。這意味著ResNet50在它的低層和高層之間學(xué)習(xí)不同的信息。

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

左:ViT各層特征對(duì)之間的CKA值,右:ResNet50所有層的特性對(duì)之間的CKA值。

但是ResNet在其較低層次和較高層次學(xué)習(xí)的“不同信息”是什么呢?我們知道對(duì)于CNN模型,由于卷積核的性質(zhì),在較低的層只學(xué)習(xí)局部信息,在較高的層學(xué)習(xí)全局信息。所以在不同的層之間有一個(gè)網(wǎng)格狀的模式就不足為奇了。那么我們不禁要問,ViT怎么??ViT是否也在其底層學(xué)習(xí)局部信息?

如果我們進(jìn)一步觀察自注意力頭,我們知道每個(gè)token會(huì)關(guān)注所有其他token。每個(gè)被關(guān)注的token都是一個(gè)查詢patch,并被分配一個(gè)注意力權(quán)重。由于兩個(gè)“token”代表兩個(gè)圖像patch,我們可以計(jì)算它們之間的像素距離。通過將像素距離和注意力權(quán)重相乘,定義了一個(gè)“注意力距離”。較大的注意力距離意味著大多數(shù)“遠(yuǎn)處的patch”具有較大的注意權(quán)重——換句話說,大多數(shù)注意力是“全局的”。相反,小的注意距離意味著注意力是局部的。

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

注意力距離的計(jì)算

作者進(jìn)一步研究了ViT中的注意力距離。從下面的結(jié)果中,我們可以看到,雖然從較高層(block 22/23,紅色高亮顯示)的注意力距離主要包含全局信息,但是,即使是較低層(block 0/1,紅色高亮顯示)仍然包含全局信息。這和CNN的模型完全不同。

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

現(xiàn)在我們知道ViT甚至在它的底層也學(xué)習(xí)全局表示,下一個(gè)要問的問題是,這些全局表示會(huì)忠實(shí)地傳播到它的上層嗎?如果是這樣,是怎么實(shí)現(xiàn)的?

作者認(rèn)為關(guān)鍵是ViT的跳躍連接。對(duì)于每個(gè)block,在自注意力頭和MLP頭上都存在跳躍連接。通過將跳躍連接的特征的范數(shù)除以通過長(zhǎng)分支的特征的范數(shù),作者進(jìn)一步定義了一個(gè)度量:歸一化比率(Ratio of norm, RoN)。他們發(fā)現(xiàn)了驚人的相變現(xiàn)象,在較低的層次上,分類(CLS)token的RoN值很高,而在較高的層次上則低得多。這種模式與空間token相反,其中RoN在較低的層中較低。

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

歸一化比率:|z|/|f(z)|。其中z是通過跳躍連接的特特征。F (z)是經(jīng)過長(zhǎng)分支的特征。

如果他們進(jìn)一步刪除ViT不同層的跳躍連接,那么CKA映射將如下所示。這意味著跳躍連接是使ViT不同層之間的信息流成為可能的主要(如果不是全部的話)機(jī)制之一。

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

除了強(qiáng)大的跳躍連接機(jī)制和在較低層次學(xué)習(xí)全局特征的能力外,作者還進(jìn)一步研究了ViT在較高層次學(xué)習(xí)精確位置表示的能力。這種行為與ResNet非常不同,因?yàn)槿制骄鼗赡軙?huì)模糊位置信息。

此外,作者指出,有限的數(shù)據(jù)集可能會(huì)阻礙ViT在較低層次學(xué)習(xí)局部表示的能力。相反,更大的數(shù)據(jù)集特別有助于ViT學(xué)習(xí)高質(zhì)量的中間層表示。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    44

    文章

    3552

    瀏覽量

    133799
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3062

    瀏覽量

    48575
  • cnn
    cnn
    +關(guān)注

    關(guān)注

    3

    文章

    350

    瀏覽量

    22094

原文標(biāo)題:Vision Transformers看到的東西是和卷積神經(jīng)網(wǎng)絡(luò)一樣的嗎?

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于數(shù)字CNN與生物視覺的仿生眼設(shè)計(jì)

    簡(jiǎn)單的物體,完成一些簡(jiǎn)單的視覺任務(wù)[2]。本文采用基于CNN[3-4]的數(shù)學(xué)模型以及相關(guān)的數(shù)字指令來建立一個(gè)能并行、快速處理視覺信號(hào)的數(shù)字CNN信號(hào)處理系統(tǒng)。在研究視網(wǎng)膜信號(hào)處理以及信息編碼時(shí),把視網(wǎng)膜
    發(fā)表于 09-19 09:35

    大家是怎么壓榨CNN模型

    【技術(shù)綜述】為了壓榨CNN模型,這幾年大家都干了什么
    發(fā)表于 05-29 14:49

    Github開源的數(shù)字手勢(shì)識(shí)別CNN模型簡(jiǎn)析

    2.概述一個(gè)簡(jiǎn)單的AI開發(fā)sampleGithub開源的數(shù)字手勢(shì)識(shí)別CNN模型,識(shí)別數(shù)字0-10十一種手勢(shì)類LeNet-5,兩個(gè)卷積層,兩個(gè)池化層,一個(gè)全連接層,一個(gè)Softmax輸出層3.RKNN
    發(fā)表于 04-02 15:22

    如何將DS_CNN_S.pb轉(zhuǎn)換為ds_cnn_s.tflite?

    MIMRTX1064(SDK2.13.0)的KWS demo中放置了ds_cnn_s.tflite文件,提供demo中使用的模型示例。在 read.me 中,聲明我可以找到腳本,但是,該文檔中的腳本
    發(fā)表于 04-19 06:11

    為什么三相電機(jī)單相電機(jī)更具優(yōu)勢(shì)?

    單相電機(jī)和三相電機(jī),實(shí)質(zhì)上區(qū)別,或者說為什么三相電機(jī)單相電機(jī)更具優(yōu)勢(shì) 不要百度,復(fù)制的。要能看懂的,通俗些。 就是說三相電機(jī)的優(yōu)勢(shì)在哪里。我覺著,三相電機(jī),單相貴,一定有他的優(yōu)勢(shì)。
    發(fā)表于 11-09 07:50

    在線研討會(huì) | 釋放 Vision Transformers、NVIDIA TAO 和最新一代 NVIDIA GPU 的潛力

    研討會(huì)時(shí)間: 2023?年?6 月 29 日(周四)上午 11:00? (北京時(shí)間 ) Vision Transformers(ViTs)正在徹底改變視覺 AI 應(yīng)用。與卷積神經(jīng)網(wǎng)絡(luò)( CNN
    的頭像 發(fā)表于 06-16 11:45 ?459次閱讀
    在線研討會(huì) | 釋放 <b class='flag-5'>Vision</b> <b class='flag-5'>Transformers</b>、NVIDIA TAO 和最新一代 NVIDIA GPU 的<b class='flag-5'>潛力</b>

    2D Transformer 可以幫助3D表示學(xué)習(xí)嗎?

    預(yù)訓(xùn)練的2D圖像或語(yǔ)言Transformer:作為基礎(chǔ)Transformer模型,具有豐富的特征表示能力。作者選擇了先進(jìn)的2D Transformer模型作為基礎(chǔ)模型,例如
    的頭像 發(fā)表于 07-03 10:59 ?723次閱讀
    2D Transformer 可以幫助3D表示學(xué)習(xí)嗎?

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型 生成卷積神經(jīng)網(wǎng)絡(luò)模型

    cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型 生成卷積神經(jīng)網(wǎng)絡(luò)模型? 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN
    的頭像 發(fā)表于 08-21 17:11 ?1132次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)算法 cnn卷積神經(jīng)網(wǎng)絡(luò)模型

    cnn卷積神經(jīng)網(wǎng)絡(luò)算法 cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種特殊的神經(jīng)網(wǎng)絡(luò),具有很強(qiáng)的圖像識(shí)別和數(shù)據(jù)分類能力。它通過學(xué)習(xí)權(quán)重
    的頭像 發(fā)表于 08-21 17:15 ?1931次閱讀

    Transformers的功能概述

    近年來,我們聽說了很多關(guān)于Transformers的事情,并且在過去的幾年里,它們已經(jīng)在NLP領(lǐng)域取得了巨大成功。Transformers是一種使用注意力機(jī)制(Attention)顯著改進(jìn)深度學(xué)習(xí)
    的頭像 發(fā)表于 01-23 10:15 ?576次閱讀
    <b class='flag-5'>Transformers</b>的功能概述

    深度神經(jīng)網(wǎng)絡(luò)模型cnn的基本概念、結(jié)構(gòu)及原理

    ,其核心是構(gòu)建具有多層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,以實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)的高效表示和處理。在眾多深度學(xué)習(xí)模型中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)因其在圖像識(shí)別等領(lǐng)域的卓越性能而備受關(guān)注。
    的頭像 發(fā)表于 07-02 10:11 ?9216次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)cnn模型有哪些

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡(jiǎn)稱CNN)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語(yǔ)言處理等領(lǐng)域。 CNN的基本概念 1.1 卷積層
    的頭像 發(fā)表于 07-02 15:24 ?600次閱讀

    CNN模型的基本原理、結(jié)構(gòu)、訓(xùn)練過程及應(yīng)用領(lǐng)域

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡(jiǎn)稱CNN)是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語(yǔ)言處理等領(lǐng)域。CNN模型的核心是卷積層
    的頭像 發(fā)表于 07-02 15:26 ?2593次閱讀

    圖像分割與語(yǔ)義分割中的CNN模型綜述

    圖像分割與語(yǔ)義分割是計(jì)算機(jī)視覺領(lǐng)域的重要任務(wù),旨在將圖像劃分為多個(gè)具有特定語(yǔ)義含義的區(qū)域或?qū)ο?。卷積神經(jīng)網(wǎng)絡(luò)(CNN)作為深度學(xué)習(xí)的一種核心模型,在圖像分割與語(yǔ)義分割中發(fā)揮著至關(guān)重要的作用。本文將從
    的頭像 發(fā)表于 07-09 11:51 ?495次閱讀

    cnn常用的幾個(gè)模型有哪些

    CNN(卷積神經(jīng)網(wǎng)絡(luò))是一種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、自然語(yǔ)言處理等領(lǐng)域。以下是一些常用的CNN模型: LeNet-5:LeNet-5是最早的卷積神經(jīng)網(wǎng)絡(luò)之一,由Yann Le
    的頭像 發(fā)表于 07-11 14:58 ?447次閱讀