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

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

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

一種可以編碼局部信息的結(jié)構(gòu)T2T module,并證明了T2T的有效性

深度學(xué)習(xí)實(shí)戰(zhàn) ? 來(lái)源:深度學(xué)習(xí)實(shí)戰(zhàn) ? 作者:深度學(xué)習(xí)實(shí)戰(zhàn) ? 2021-03-11 16:21 ? 次閱讀

深度學(xué)習(xí)實(shí)戰(zhàn)

前面提到過(guò)ViT,但是ViT在數(shù)據(jù)量不夠巨大的情況下是打不過(guò)ResNet的。于是ViT的升級(jí)版T2T-ViT橫空出世了,速度更快性能更強(qiáng)。T2T-ViT相比于ViT,參數(shù)量和MACs(Multi-Adds)減少了200%,性能在ImageNet上又有2.5%的提升。T2T-ViT在和ResNet50模型大小差不多的情況下,在ImageNet上達(dá)到了80.7%的準(zhǔn)確率。論文的貢獻(xiàn):

證明了通過(guò)精心設(shè)計(jì)的Transformer-based的網(wǎng)絡(luò)(T2T module and efficient backbone),是可以打敗CNN-based的模型的,而且不需要在巨型的訓(xùn)練集(如JFT-300M)上預(yù)訓(xùn)練。

提出了一種可以編碼局部信息的結(jié)構(gòu)T2T module,并證明了T2T的有效性。

展示了在設(shè)計(jì)CNNs backbone時(shí)用到的architecture engineering經(jīng)驗(yàn)同樣適用于設(shè)計(jì)Transformer-based的模型,通過(guò)大量的實(shí)驗(yàn)證明深且窄(deep-narrow)的網(wǎng)絡(luò)能夠增加feature的豐富性和減少冗余。

Why T2T-ViT?

先來(lái)說(shuō)下ViT[1],ViT在從頭開(kāi)始訓(xùn)練(trained from scratch) ImageNet時(shí),效果甚至比CNN-based的模型還差。這顯然是不能讓人足夠滿意的,文中分析了兩點(diǎn)原因:
(1)由于ViT是采用對(duì)原圖像分塊,然后做Linear Projection得到embedding。但是通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),這種基于原圖像的簡(jiǎn)單tokenization并沒(méi)有很好地學(xué)到圖像的邊緣或者線條這種低級(jí)特征,導(dǎo)致ViT算法的學(xué)習(xí)效率不高,難以訓(xùn)練,因此ViT需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練。
(2)在有限的計(jì)算資源和有限的數(shù)據(jù)的情況下,ViT冗余的attention主干網(wǎng)絡(luò)難以學(xué)得豐富的特征。
所以為了克服這些限制,提出了Tokens-To-Token Vision Transformers(T2T-Vit)。為了證明上面的結(jié)論,還做了一個(gè)實(shí)驗(yàn),可視化了ResNet、ViT和T2T-ViT所學(xué)到的特征的差異。

綠色的框中表示了模型學(xué)到的一些諸如邊緣和線條的low-level structure feature,紅色框則表示模型學(xué)到了不合理的feature map,這些feature或者接近于0,或者是很大的值。從這個(gè)實(shí)驗(yàn)可以進(jìn)一步證實(shí),CNN會(huì)從圖像的低級(jí)特征學(xué)起,這個(gè)在生物上是說(shuō)得通的,但是通過(guò)可視化來(lái)看,ViT的問(wèn)題確實(shí)不小,且不看ViT有沒(méi)有學(xué)到低級(jí)的特征,后面的網(wǎng)絡(luò)層的feature map甚至出現(xiàn)了異常值,這個(gè)是有可能導(dǎo)致錯(cuò)誤的預(yù)測(cè)的,同時(shí)反映了ViT的學(xué)習(xí)效率差。 Tokens-to-Token:Progressive Tokenization

為了解決ViT的問(wèn)題,提出了一種漸進(jìn)的tokenization去整合相鄰的tokens,從tokens到token,這種做法不僅可以對(duì)局部信息的建模還能減小token序列的長(zhǎng)度。整個(gè)T2T的操作分為兩個(gè)部分:重構(gòu)(re-structurization)和軟劃分(soft split)。(1)Re-structurization假設(shè)上一個(gè)網(wǎng)絡(luò)層的輸出為T(mén),T經(jīng)過(guò)Transformer層得到T',Transformer是包括mutil-head self-attention和MLP的,因此從T到T'可以表示為T(mén)' = MLP(MSA(T)),這里MSA表示mutil-head self-attention,MLP表示多層感知機(jī),上述兩個(gè)操作后面都省略了LN。經(jīng)過(guò)Transformer層后輸出也是token的序列,為了重構(gòu)局部的信息,首先把它還原為原來(lái)的空間結(jié)構(gòu),即從一維reshape為二維,記作I。I = Reshape(T'),reshape操作就完成了從一維的向量到二維的重排列。整個(gè)操作可以參見(jiàn)上圖的step1。(2)Soft Split與ViT那種hard split不同,T2T-ViT采用了soft split,說(shuō)直白點(diǎn)就是不同的分割部分會(huì)有overlapping。I會(huì)被split為多個(gè)patch,然后每個(gè)patch里面的tokens會(huì)拼接成一個(gè)token,也就是這篇論文的題目tokens to token,這個(gè)步驟也是最關(guān)鍵的一個(gè)步驟,因?yàn)檫@個(gè)步驟從圖像中相鄰位置的語(yǔ)義信息聚合到一個(gè)向量里面。同時(shí)這個(gè)步驟會(huì)使tokens序列變短,單個(gè)token的長(zhǎng)度會(huì)變長(zhǎng),符合CNN-based模型設(shè)計(jì)的經(jīng)驗(yàn)deep-narrow。 T2T module

在T2T模塊中,依次通過(guò)Re-structurization和Soft Split操作,會(huì)逐漸使tokens的序列變短。整個(gè)T2T模塊的操作可以表示如下:

由于是soft split所以tokens的序列長(zhǎng)度會(huì)比ViT大很多,MACs和內(nèi)存占用都很大,因此對(duì)于T2T模塊來(lái)說(shuō),只能減小通道數(shù),這里的通道數(shù)可以理解為embedding的維度,還使用了Performer[2]來(lái)進(jìn)一步減少內(nèi)存的占用。 Backbone

為了增加特征的豐富性和減少冗余,需要探索一個(gè)更有效的backbone。從DenseNet、Wide-ResNets、SENet、ResNeXt和GhostNet尋找設(shè)計(jì)的靈感,最終發(fā)現(xiàn):(1)在原ViT的網(wǎng)絡(luò)結(jié)構(gòu)上采用deep-narrow的原則,增加網(wǎng)絡(luò)的深度,減小token的維度,可以在縮小模型參數(shù)量的同時(shí)提升性能。(2)使用SENet[3]中的channel attention對(duì)ViT會(huì)有提升,但是在使用deep-narrow的結(jié)構(gòu)下提升很小。 Architecture

T2T-ViT由T2T module和T2T-ViT backbone組成。PE是position embedding。對(duì)于T2T-ViT-14來(lái)說(shuō),由14個(gè)transformer layers組成,backbone中的hidden dimensions是384。對(duì)比ViT-B/16,ViT-B/16有12個(gè)transformer layers,hidden dimensions是768,模型大小和MACs是T2T-ViT-14整整三倍。 Experiments

934c3554-7dfe-11eb-8b86-12bb97331649.png

在不使用預(yù)訓(xùn)練時(shí),T2T-ViT和ViT的對(duì)比,可以看到T2T-ViT真的是完勝ViT啊,不僅模型比你小,精度還比你高。

93bdebfe-7dfe-11eb-8b86-12bb97331649.png

不僅完勝ViT,ResNet也不在話下,說(shuō)實(shí)話看到這個(gè)結(jié)果的時(shí)候真的可以說(shuō)Transformer戰(zhàn)勝了CNN了。 Conclusion

T2T-ViT通過(guò)重構(gòu)圖像的結(jié)構(gòu)性信息,克服了ViT的短板,真正意義上擊敗了CNN。通過(guò)提出tokens-to-token的process,逐漸聚合周?chē)膖oken,增強(qiáng)局部性信息。這篇論文中不僅探索了Transformer-based的網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì),證明了在Transformer-based模型中deep-narrow要好于shallow-wide,還取得了很好的性能表現(xiàn)。 Reference

[1]A. Dosovitskiy, L. Beyer, A. Kolesnikov, D. Weissenborn, X. Zhai, T. Unterthiner, M. Dehghani, M. Minderer, G. Heigold, S. Gelly, et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020. [2]K. Choromanski, V. Likhosherstov, D. Dohan, X. Song, A. Gane, T. Sarlos, P. Hawkins, J. Davis, A. Mohiuddin, L. Kaiser, et al. Rethinking attention with performers. arXiv preprint arXiv:2009.14794, 2020. [3]Hu J, Shen L, Sun G. Squeeze-and-excitation networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 7132-7141.

責(zé)任編輯:lq

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

    關(guān)注

    1

    文章

    1141

    瀏覽量

    20735
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5422

    瀏覽量

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

    關(guān)注

    3

    文章

    349

    瀏覽量

    21961

原文標(biāo)題:Tokens to-Token ViT:真正意義上擊敗了CNN

文章出處:【微信號(hào):gh_a204797f977b,微信公眾號(hào):深度學(xué)習(xí)實(shí)戰(zhàn)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [11] 配置RA6T2 ADC模塊 (8)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [11] 配置RA6T2 ADC模塊 (8)
    的頭像 發(fā)表于 05-24 08:06 ?189次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [11] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (8)

    TRAVEO T2G支持freeRTOS嗎?

    我正在使用 Traveo-T2G 套件。 CYTVII-2D-4M-216 套件和 CYT3DLABHBES cpu。 我正在運(yùn)行英飛凌提供的 TRAVEO T2G 示例驅(qū)動(dòng)程序庫(kù)。 該 MCU
    發(fā)表于 05-21 07:36

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [10] 配置RA6T2 ADC模塊 (7)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [10] 配置RA6T2 ADC模塊 (7)
    的頭像 發(fā)表于 05-15 08:06 ?200次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [10] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (7)

    RZ/T2M, RZ/T2L, RZ/N2L電機(jī)解決方案套件數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《RZ/T2M, RZ/T2L, RZ/N2L電機(jī)解決方案套件數(shù)據(jù)手冊(cè).rar》資料免費(fèi)下載
    發(fā)表于 05-13 18:12 ?5次下載
    RZ/<b class='flag-5'>T2</b>M, RZ/<b class='flag-5'>T2</b>L, RZ/N<b class='flag-5'>2</b>L電機(jī)解決方案套件數(shù)據(jù)手冊(cè)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [9] 配置RA6T2 ADC模塊 (6)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [9] 配置RA6T2 ADC模塊 (6)
    的頭像 發(fā)表于 05-08 08:06 ?228次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [9] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (6)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [8] 配置RA6T2 ADC模塊 (5)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [8] 配置RA6T2 ADC模塊 (5)
    的頭像 發(fā)表于 04-29 08:08 ?197次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [8] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (5)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [7] 配置RA6T2 ADC模塊 (4)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [7] 配置RA6T2 ADC模塊 (4)
    的頭像 發(fā)表于 04-20 08:06 ?201次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [7] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (4)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [5] 配置RA6T2 ADC模塊 (2)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [5] 配置RA6T2 ADC模塊 (2)
    的頭像 發(fā)表于 04-04 08:05 ?235次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [5] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (<b class='flag-5'>2</b>)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [4] 配置RA6T2 ADC模塊 (1)

    RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [4] 配置RA6T2 ADC模塊 (1)
    的頭像 發(fā)表于 03-29 08:05 ?223次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數(shù)轉(zhuǎn)換器操作 [4] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (1)

    RZ/T2M、RZ/N2L、RZ/T2L組 硬件設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《RZ/T2M、RZ/N2L、RZ/T2L組 硬件設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 02-02 09:39 ?2次下載
    RZ/<b class='flag-5'>T2</b>M、RZ/N<b class='flag-5'>2</b>L、RZ/<b class='flag-5'>T2</b>L組 硬件設(shè)計(jì)指南

    RZ/T2M RZ/N2L RZ/T2L系列應(yīng)用心得(上)

    T2M R9A07G075M28GBG#AC0為例,在官網(wǎng)找到RZ/T2M產(chǎn)品頁(yè),然后向下找到Product option界面。
    的頭像 發(fā)表于 12-29 12:23 ?1801次閱讀
    RZ/<b class='flag-5'>T2</b>M RZ/N<b class='flag-5'>2</b>L RZ/<b class='flag-5'>T2</b>L系列應(yīng)用心得(上)

    【涂鴉T2-U開(kāi)發(fā)板試用體驗(yàn)】涂鴉T2-U開(kāi)發(fā)板初體驗(yàn)

    今天剛收到涂鴉T2-U開(kāi)發(fā)板,先給朋友做個(gè)開(kāi)發(fā)板簡(jiǎn)單介紹; 涂鴉 T2-U 開(kāi)發(fā)板,是專為幫助開(kāi)發(fā)者快速開(kāi)發(fā)出智能硬件而生的款開(kāi)發(fā)板。它的主控采用低功耗嵌入式 Wi-Fi 模組,模組內(nèi)置了
    發(fā)表于 12-22 10:59

    【涂鴉T2-U開(kāi)發(fā)板試用體驗(yàn)】1、T2-U開(kāi)發(fā)環(huán)境搭建及調(diào)試

    專為信號(hào)處理擴(kuò)展的指令使其可以有效地實(shí)現(xiàn)音頻編碼和解碼== 模組規(guī)格書(shū),存疑 三、電路圖 https://github.com/tuya/tuyaos-development-board-
    發(fā)表于 11-25 23:38

    RZ/T2M RZ/N2L RZ/T2L系列應(yīng)用心得

    RZ/T2M和RZ/N2L共用各種軟件協(xié)議棧支持情況。
    的頭像 發(fā)表于 11-15 16:09 ?1631次閱讀
    RZ/<b class='flag-5'>T2</b>M RZ/N<b class='flag-5'>2</b>L RZ/<b class='flag-5'>T2</b>L系列應(yīng)用心得

    如何證明波導(dǎo)正規(guī)模的電場(chǎng)磁場(chǎng)具有時(shí)間對(duì)稱和反對(duì)稱?

    如何證明波導(dǎo)正規(guī)模的電場(chǎng)磁場(chǎng)具有時(shí)間對(duì)稱和反對(duì)稱? 波導(dǎo)是一種承載電磁波的結(jié)構(gòu),是電磁波導(dǎo)管的一種
    的頭像 發(fā)表于 10-19 17:21 ?635次閱讀