今天跟大家分享一篇來自CMU等機(jī)構(gòu)的論文《Sliced Recursive Transformer》,該論文已被 ECCV 2022 接收。
目前 vision transformer 在不同視覺任務(wù)上如分類、檢測等都展示出了強大的性能,但是其巨大的參數(shù)量和計算量阻礙了該模型進(jìn)一步在實際場景中的應(yīng)用。基于這個考慮,本文重點研究了如何在不增加額外參數(shù)量的前提下把模型的表達(dá)能力挖掘到極致,同時還要保證模型計算量在合理范圍內(nèi),從而可以在一些存儲容量小,計算能力弱的嵌入式設(shè)備上部署。
基于這個動機(jī),Zhiqiang Shen、邢波等研究者提出了一個 SReT 模型,通過循環(huán)遞歸結(jié)構(gòu)來強化每個 block 的特征表達(dá)能力,同時又提出使用多個局部 group self-attention 來近似 vanilla global self-attention,在顯著降低計算量 FLOPs 的同時,模型沒有精度的損失。

論文地址:https://arxiv.org/abs/2111.05297
代碼和模型:https://github.com/szq0214/SReT
總結(jié)而言,本文主要有以下兩個創(chuàng)新點:
使用類似 RNN 里面的遞歸結(jié)構(gòu)(recursive block)來構(gòu)建 ViT 主體,參數(shù)量不漲的前提下提升模型表達(dá)能力;
使用 CNN 中 group-conv 類似的 group self-attention 來降低 FLOPs 的同時保持模型的高精度;
此外,本文還有其他一些小的改動:
網(wǎng)絡(luò)最前面使用三層連續(xù)卷積,卷積核為 3x3,結(jié)構(gòu)直接使用了研究者之前 DSOD 里面的 stem 結(jié)構(gòu);
Knowledge distillation 只使用了單獨的 soft label,而不是 DeiT 里面 hard 形式的 label 加 one-hot ground-truth,因為研究者認(rèn)為 soft label 包含的信息更多,更有利于知識蒸餾;
使用可學(xué)習(xí)的 residual connection 來提升模型表達(dá)能力;
如下圖所示,本文所提出的模型在參數(shù)量(Params)和計算量(FLOPs)方面相比其他模型都有明顯的優(yōu)勢:

下面我們來解讀這篇文章: 1.ViT 中的遞歸模塊 遞歸操作的基本組成模塊如下圖:

該模塊非常簡單明了,類似于 RNN 結(jié)構(gòu),將模塊當(dāng)前 step 的輸出作為下個 step 的輸入重新輸進(jìn)該模塊,從而增強模型特征表達(dá)能力。 研究者展示了將該設(shè)計直接應(yīng)用在 DeiT 上的結(jié)果,如下所示:

可以看到在加入額外一次簡單遞歸操作之后就可以得到將近 2% 的精度提升。 當(dāng)然具體到全局網(wǎng)絡(luò)結(jié)構(gòu)層面還有不同的遞歸構(gòu)建方法,如下圖:

其中 NLL 層(Non-linear Projection Layer)是用來保證每個遞歸模塊輸入輸出不完全一致。論文提出使用這個模塊的主要原因是發(fā)現(xiàn)在上述 Table 1 里面更多次數(shù)的遞歸操作并沒有進(jìn)一步提升性能,說明網(wǎng)絡(luò)可能學(xué)到了一個比較簡單的狀態(tài),而 NLL 層可以強制模型輸入輸出不一致從而緩解這種情況。同時,研究者從實驗結(jié)果發(fā)現(xiàn)上圖 (1) internal loop 相比 external loop 設(shè)計擁有更好的 accuracy-FLOPs 結(jié)果。 2. 分組的 Group Self-attention 模塊 如下圖所示,研究者提出了一種分組的 group self-attention 策略來降低模型的 FLOPs,同時保證 self-attention 的全局注意力,從而使得模型沒有明顯精度損失:

Group Self-attention 模塊具體形式如下:

Group self-attention 的缺點是只有局部區(qū)域會相互作用,研究者提出通過使用 Permutation 操作來近似全局 self-attention 的機(jī)制,同時通過 Inverse Permutation 來復(fù)原和保留 tokens 的次序信息,針對這個部分的消融實驗如下所示:

其中 P 表示加入 Permutation,I 表示加入 Inverse Permutation,-L 表示如果 group 數(shù)為 1,就不使用 P 和 I(比如模型最后一個 stage)。根據(jù)上述表格的結(jié)果,研究者最后采用了 [8, 2][4,1][1,1] 這種分組設(shè)計。 3. 其他設(shè)計 可學(xué)習(xí)的殘差結(jié)構(gòu) (LRC):

研究者嘗試了上圖三種結(jié)構(gòu),圖(3)結(jié)果最佳。具體而言,研究者在每個模塊里面添加了 6 個額外參數(shù)(4+2,2 個在 NLL 層),這些參數(shù)會跟模型其他參數(shù)一起學(xué)習(xí),從而使網(wǎng)絡(luò)擁有更強的表達(dá)能力,參數(shù)初始化都為 1,在訓(xùn)練過程 6 個參數(shù)的數(shù)值變化情況如下所示:

Stem 結(jié)構(gòu)組成:

如上表所示,Stem 由三個 3x3 的連續(xù)卷積組成,每個卷積 stride 為 2。 整體網(wǎng)絡(luò)結(jié)構(gòu): 研究者進(jìn)一步去掉了 class token 和 distillation token,并且發(fā)現(xiàn)精度有少量提升。

消融實驗:

模型混合深度訓(xùn)練: 研究者進(jìn)一步發(fā)現(xiàn)分組遞歸設(shè)計還有一個好處就是:可以支持模型混合深度訓(xùn)練,這種訓(xùn)練方式可以大大降低深度網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化復(fù)雜度,研究者展示了 108 層不同模型結(jié)構(gòu)優(yōu)化過程的 landscape 可視化,如下圖所示,可以很明顯的看到混合深度結(jié)構(gòu)優(yōu)化過程困難程度顯著低于另外兩種結(jié)構(gòu)。

最后,分組 group self-attention 算法 PyTorch 偽代碼如下:

審核編輯 :李倩
-
模型
+關(guān)注
關(guān)注
1文章
3649瀏覽量
51719 -
遞歸
+關(guān)注
關(guān)注
0文章
29瀏覽量
9264 -
cnn
+關(guān)注
關(guān)注
3文章
355瀏覽量
23249
原文標(biāo)題:ECCV 2022 | 視覺Transformer上進(jìn)行遞歸!SReT:不增參數(shù),計算量還少!
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
中科曙光助力首個地質(zhì)大模型“坤樞”上線
如何在保證監(jiān)測效果的前提下降低電能質(zhì)量在線監(jiān)測裝置的運行和維護(hù)成本?
如何在保證數(shù)據(jù)安全的前提下優(yōu)化通信協(xié)議?
在MCU未損壞的前提下,當(dāng)編程新的Config設(shè)置值時,為什么MCU上電后總是會復(fù)位呢?
基于NVIDIA Llama Nemotron Super v1.5模型構(gòu)建AI智能體
芯盾時代再度中標(biāo)某省級銀行
【「DeepSeek 核心技術(shù)揭秘」閱讀體驗】第三章:探索 DeepSeek - V3 技術(shù)架構(gòu)的奧秘
寬調(diào)速范圍低轉(zhuǎn)矩脈動的一種新型內(nèi)置式永磁同步電機(jī)的設(shè)計與分析
芯盾時代助力四川銀行電子渠道實時交易監(jiān)測系統(tǒng)升級
永磁同步電機(jī)伺服系統(tǒng)PI參數(shù)整定
優(yōu)刻得安全屋+DeepSeek:解鎖數(shù)據(jù)安全流通與AI賦能的創(chuàng)新場景

如何在不增加額外參數(shù)量的前提下把模型的表達(dá)能力挖掘到極致
評論