在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一種可以編碼局部信息的結構T2T module,并證明了T2T的有效性

深度學習實戰 ? 來源:深度學習實戰 ? 作者:深度學習實戰 ? 2021-03-11 16:21 ? 次閱讀

深度學習實戰

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

證明了通過精心設計的Transformer-based的網絡(T2T module and efficient backbone),是可以打敗CNN-based的模型的,而且不需要在巨型的訓練集(如JFT-300M)上預訓練。

提出了一種可以編碼局部信息的結構T2T module,并證明了T2T的有效性。

展示了在設計CNNs backbone時用到的architecture engineering經驗同樣適用于設計Transformer-based的模型,通過大量的實驗證明深且窄(deep-narrow)的網絡能夠增加feature的豐富性和減少冗余。

Why T2T-ViT?

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

綠色的框中表示了模型學到的一些諸如邊緣和線條的low-level structure feature,紅色框則表示模型學到了不合理的feature map,這些feature或者接近于0,或者是很大的值。從這個實驗可以進一步證實,CNN會從圖像的低級特征學起,這個在生物上是說得通的,但是通過可視化來看,ViT的問題確實不小,且不看ViT有沒有學到低級的特征,后面的網絡層的feature map甚至出現了異常值,這個是有可能導致錯誤的預測的,同時反映了ViT的學習效率差。 Tokens-to-Token:Progressive Tokenization

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

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

由于是soft split所以tokens的序列長度會比ViT大很多,MACs和內存占用都很大,因此對于T2T模塊來說,只能減小通道數,這里的通道數可以理解為embedding的維度,還使用了Performer[2]來進一步減少內存的占用。 Backbone

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

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

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

在不使用預訓練時,T2T-ViT和ViT的對比,可以看到T2T-ViT真的是完勝ViT啊,不僅模型比你小,精度還比你高。

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

不僅完勝ViT,ResNet也不在話下,說實話看到這個結果的時候真的可以說Transformer戰勝了CNN了。 Conclusion

T2T-ViT通過重構圖像的結構性信息,克服了ViT的短板,真正意義上擊敗了CNN。通過提出tokens-to-token的process,逐漸聚合周圍的token,增強局部性信息。這篇論文中不僅探索了Transformer-based的網絡結構的設計,證明了在Transformer-based模型中deep-narrow要好于shallow-wide,還取得了很好的性能表現。 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.

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 可視化
    +關注

    關注

    1

    文章

    1200

    瀏覽量

    21035
  • 深度學習
    +關注

    關注

    73

    文章

    5516

    瀏覽量

    121553
  • cnn
    cnn
    +關注

    關注

    3

    文章

    353

    瀏覽量

    22336

原文標題:Tokens to-Token ViT:真正意義上擊敗了CNN

文章出處:【微信號:gh_a204797f977b,微信公眾號:深度學習實戰】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MS5046T/5047T/5048T/5048N——2kSPS、16bit Σ-Δ ADC

    MS5046T/MS5047T/MS5048T/MS5048N 是適合高精度、低成本測量應用的 16bit 模數轉換器。提供方案和FAE支持,歡迎大家來咨詢了解
    的頭像 發表于 11-08 10:49 ?316次閱讀
    MS5046<b class='flag-5'>T</b>/5047<b class='flag-5'>T</b>/5048<b class='flag-5'>T</b>/5048N——<b class='flag-5'>2</b>kSPS、16bit Σ-Δ ADC

    設計雙T陷波器遇到的疑問求解

    及選擇? 我試著設計了兩陷波器,第一種是普通的雙T陷波器,可以看出Q值比較大,但是50Hz處衰減不是很大;另一種就是把兩個同樣的陷波器級聯
    發表于 09-20 06:54

    使用PGA300EVM-034,選項ADC Calibration Mode里的“3P-1T” “2P-2T” “3P-3T” 是什么意思?

    請教下,我在使用PGA300EVM-034,在Guided Calibration -> Calibration Setting File 里面,配置文件里有個選項ADC Calibration Mode ,請問這里的“3P-1
    發表于 08-14 07:58

    瑞薩RZ/T系列MPU的中斷重入實現

    擴展產品開發。RZ/T系列MPU支持多種協議,例如EtherCAT、PROFINET、Ethernet/IP和下代TSN。RZ/T MPU配備編碼器接口,可支持各種
    的頭像 發表于 07-23 14:47 ?663次閱讀
    瑞薩RZ/<b class='flag-5'>T</b>系列MPU的中斷重入實現

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

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

    TRAVEO T2G支持freeRTOS嗎?

    我正在使用 Traveo-T2G 套件。 CYTVII-2D-4M-216 套件和 CYT3DLABHBES cpu。 我正在運行英飛凌提供的 TRAVEO T2G 示例驅動程序庫。 該 MCU
    發表于 05-21 07:36

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

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

    RZ/T2M, RZ/T2L, RZ/N2L電機解決方案套件數據手冊

    電子發燒友網站提供《RZ/T2M, RZ/T2L, RZ/N2L電機解決方案套件數據手冊.rar》資料免費下載
    發表于 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電機解決方案套件數據手冊

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

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

    瑞薩教你如何使用RZ/T2L RZ/N2L RSK J-Link OB

    ? 瑞薩RZ/T2L MPU RZ/T2L是款高性能MPU,可通過EtherCAT實現高速、高精度的實時控制。RZ/T2L搭載最大頻率為800MHz的Arm Cortex-R52內核
    的頭像 發表于 05-07 10:18 ?2195次閱讀
    瑞薩教你如何使用RZ/<b class='flag-5'>T2</b>L RZ/N<b class='flag-5'>2</b>L RSK J-Link OB

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

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

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

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

    RA6T2的16位模數轉換器操作 [6] 配置RA6T2 ADC模塊 (3)

    RA6T2的16位模數轉換器操作 [6] 配置RA6T2 ADC模塊 (3)
    的頭像 發表于 04-12 08:06 ?364次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數轉換器操作 [6] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (3)

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

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

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

    RA6T2的16位模數轉換器操作 [4] 配置RA6T2 ADC模塊 (1)
    的頭像 發表于 03-29 08:05 ?423次閱讀
    RA6<b class='flag-5'>T2</b>的16位模數轉換器操作 [4] 配置RA6<b class='flag-5'>T2</b> ADC模塊 (1)
    主站蜘蛛池模板: 大胆国模一区二区三区伊人 | 国产亚洲精品久久久久久午夜 | 四虎影院美女 | 欧美乱妇高清无乱码 | 新版天堂中文资源8在线 | 亚洲青草视频 | 思思久久96热在精品不卡 | 性开放网站 | 3p高h文| 国产jzjzjz免费大全视频 | 亚洲综合色就色手机在线观看 | 操综合 | 一区二区三区亚洲 | 4455亚洲| 噜噜噜天天躁狠狠躁夜夜精品 | 国产白白白在线永久播放 | 五月激情婷婷网 | 欲色影视香色天天影视来 | 免费看男女下面日出水视频 | 久久精品亚瑟全部免费观看 | 97人人在线视频 | 好黄好硬好爽好刺激 | 深爱激情五月网 | 日日干天天爽 | 欧美亚洲一区二区三区在线 | 男女无遮挡一进一出性视频 | 成人午夜影院在线观看 | 免费播放特黄特色毛片 | 精品国产污污免费网站入口 | 四虎国产精品免费观看 | 一级毛片aaaaaa视频免费看 | 午夜亚洲国产精品福利 | 狠狠色噜噜狠狠色综合久 | 钻石午夜影院 | 亚洲欧美高清 | 欧美亚洲天堂网 | 色综合97天天综合网 | 久久天天躁夜夜躁狠狠85台湾 | 免看一级a一片成人123 | 男人扒开美女尿口无遮挡图片 | 国产性较精品视频免费 |