




















摘 要:在小數據集上從零開始訓練時,視覺Transformer無法與同規模的卷積神經網絡媲美。基于圖像的局部注意力方法,可以顯著提高ViT的數據效率,但是會丟失距離較遠但相關的補丁之間的信息。為了解決上述問題,提出一種雙向并行局部注意力視覺Transformer的方法。該方法首先在特征層面上對補丁進行分組,在組內執行局部注意力,以利用特征空間中補丁之間的關系彌補信息丟失。其次,為了有效融合補丁之間的信息,將基于語義的局部注意力和基于圖像的局部注意力并行結合起來,通過雙向自適應學習來增強ViT模型在小數據上的性能。實驗結果表明,該方法在計算量為15.2 GFLOPs和參數量為57.2 M的情況下,分別在CIFAR-10和CIFAR-100數據集上實現了97.93%和85.80%的準確性。相比于其他方法,雙向并行局部注意力視覺Transformer在增強局部引導能力的同時,保持了局部注意力所需屬性的有效性。
關鍵詞:深度學習;圖像分類;Transformer;局部注意力;基于語義的局部注意
中圖分類號:TP391.4"" 文獻標志碼:A
文章編號:1001-3695(2025)01-044-0314-07
doi: 10.19734/j.issn.1001-3695.2023.11.0643
Semantics-based local attention visual Transformer method on small datasets
Abstract:When training from scratch on a small data set, visual Transformer cannot be compared with convolutional neural networks of the same scale. Image-based local attention methods can significantly improve the data efficiency of ViT, but will lose information between distant but related patches. To solve the above problems, this paper proposed a bidirectional parallel local attention visual Transformer method. The method first grouped patches at the feature level and performed local attention within the grouped to compensate for the information loss by exploiting the relationships between patches in the feature space. Secondly, in order to effectively fuse information between patches, it combined semantic-based local attention and image-based local attention in parallel to enhance the performance of the ViT model on small data through bidirectional adaptive learning. Experimental results show that this method achieves 97.93% and 85.80% accuracy on the CIFAR-10 and CIFAR-100 data sets respectively with a calculation amount of 15.2 GFLOPs and a parameter amount of 57.2 M. Compared with other methods, the bidirectional parallel local attention visual Transformer maintains the effectiveness of the attributes required for local attention while enhancing local guidance capabi-lities.
Key words:deep learning; image classification; Transformer; local attention; semantics-based local attention
0 引言
卷積神經網絡(convolution neural network, CNN)已經成為從圖像數據中學習視覺表示的卓越方法,從而徹底改變了計算機視覺(computer vision, CV)領域[1,2]。隨后,由自注意力機制驅動的Transformer模型在自然語言處理(natural language processing, NLP)領域取得了廣泛認可和顯著的成果[3]。研究人員將自注意力機制與CV領域的CNN集成在一起的一系列成功的實驗,證明了Transformer在與圖像相關的任務中的適用性。在最近的發展中,視覺Transformer(vision Transformers, ViT)[4]在各種任務中超過了傳統的基于CNN的模型,包括圖像分類[4~8]、目標檢測[9,10]和分割[11,12]。然而,ViT仍有迫切解決的問題:a)對訓練數據的高度依賴;b)對高計算資源和推理模型的需要。
ViT是第一個為圖像分類設計的Transformer模型,在具有大型訓練數據集的任務中優于CNN。通常ViT需要在JFT-300M[13]數據集上進行預訓練,然后在ImageNet-1K[4]數據集上進行微調,但這需要大量昂貴的計算資源和極大的訓練數據(圖1(a))。如果僅在ImageNet-1K上從零開始訓練ViT,其準確性將大幅降低[4]。在實際應用中,大多數數據集的規模遠遠小于ImageNet-1K,并且并非所有研究人員都能承擔在大規模數據集上進行預訓練和在特定小型數據集上進行微調的負擔。因此,需要一種有效的架構,能夠在小型數據集上從零開始訓練ViT,以滿足實際應用的需求。最近的幾項研究[14~17]探討了在小規模數據集上從零開始訓練時,ViT和CNN性能差異的原因。這些研究得出的結論是:缺乏歸納偏置是影響ViT性能的主要因素。例如,Raghu等人[14]指出,在有限的數據上訓練時,ViT無法在較早的層次學習到局部注意力。而D’Ascoli 等人[15]強調更強的歸納偏見會導致更強的表示,大規模數據集可以幫助ViT學習到強大的表示。許多近期的研究試圖以各種方式引入局部歸納偏見。一些研究者嘗試將卷積引入ViT[6,7],并將其修改為分層結構[5,18],使ViT更類似于傳統的CNN。例如,Park等人[16]發現添加卷積約束可以使ViT在小數據集上實現高效訓練。而Chen等人[17]提出了一種在訓練過程中通過在自注意力模塊中引入局部性約束來提高ViT數據效率的方法。還有些研究者試圖通過在局部窗口內進行自注意力計算[5,18]。當僅在中等規模的Image-Net1K數據集上從零開始訓練時,這些方法與強大的CNN性能相當。然而,在規模更小的數據集上性能差距仍然存在[19]。
在這里,本文考慮到訓練數據的稀缺性削弱了ViT的歸納偏置。為了提高數據效率,有必要進一步增強和更好地利用歸納偏置,即引入局部注意力。基于圖像的局部注意力通過在圖像平面上劃分網格,并在局部窗口內計算相鄰補丁之間的自注意力,實現了對輸入圖像分辨率的線性復雜度[5]。然而,不同局部窗口中的補丁之間可能存在一些有意義的連接,但由于局部窗口的限制,導致連接丟失。同時由于訓練數據較少,注意力層無法充分學會局部注意。在這種情況下,基于語義的局部注意力不僅僅關注圖像中的局部結構,更注重圖像內容的語義關聯性,能在同樣的線性復雜度下,有效地彌補基于圖像的局部注意力可能引起的信息損失。這種關注點轉移使得模型能夠更充分地利用有限的數據,從而提升了模型在小型數據集上的性能表現。基于語義的局部注意力利用圖像內容的局部性,在特征空間而非圖像空間中計算局部自注意力。該方法的基本原理是:在特征空間中彼此接近的特征向量在計算自注意力結果時相互影響較大。這是因為兩個特征向量的接近程度取決于它們之間的相似性。基于語義的局部注意力僅保留特征空間中彼此接近的特征向量的自注意力結果,而忽略遠離的特征向量的自注意力結果。實際上,這是將特征向量分成多個組,在特征空間中彼此接近的特征向量放入同一組,而相距較遠的特征向量放入不同的組。基于語義的局部注意力可以建立有意義的、非局部補丁之間的連接,彌補了基于圖像的局部注意力在局部窗口限制下對長距離依賴性的不足。
依據上面的思路,本文提出了一種新的雙向并行局部注意力視覺Transformer(bilateral parallel local attention vision Transformer, BPLAT)方法。該方法是一個雙向并行局部注意力網絡,包括基于圖像的局部注意力(image-based local attention, IBLA)模塊和基于語義的局部注意力(semantics-based local attention, SBLA)模塊。通過將這兩個模塊構建為一種雙向并行結構,實現了兩者的雙重優勢。該結構一方面通過IBLA模塊來提升視覺Transformer的數據效率。另一方面,通過SBLA模塊來彌補信息損失,最后通過雙向自適應學習來有效融合這兩個模塊。這種設計允許兩個模塊相互補充,共同工作,從而提高有限數據的利用效率。本文方法設計旨在通過基于語義的局部注意力機制,有效地填補基于圖像的局部注意力可能引起的信息損失。基于語義的局部注意力著重關注圖像內容的語義關聯性,而不僅僅局限于圖像區域。這種關注點的轉變使得模型能夠更充分地利用有限的數據,特別是在小型數據集情境下。實現了對基于圖像的局部信息和基于語義的局部信息的更全面的建模。不同于傳統ViT通過計算所有標記之間的自注意力 (圖1(a)),基于圖像的局部注意力模塊使用swin[5]方法將圖像劃分為多個局部窗口,并在每個窗口內計算自注意力(圖1 (b))。本文提出的基于語義的局部注意力模塊,使用K均值聚類來將補丁聚合成多個簇,并在每個簇內計算自注意力(圖1 (c))。具體而言,首先使用K均值算法為每個基本補丁找到一組相似的補丁。然后,將基本補丁設置為查詢,將K個匹配補丁設置為鍵和值。最后在簇內執行成對自注意力。本文方法能在保持對特征分辨率的線性復雜度的同時,將局部注意力應用于整個圖像,增強了ViT的局部特征提取能力。
本文在各種小型數據集上進行了從零開始的訓練實驗,包括公共數據集CIFAR[20]和DomainNet[21]數據集。與強大的CNN模型(如ResNeXt、DenseNet和Res2Net)相比,本文方法在CIFAR數據集上表現出明顯的性能優勢。因此,本文提供了可以在小型數據集上從零開始訓練的替代方法,其彌合了CNN和VIT之間的性能差距。本文還在ImageNet-1K上從零開始訓練,評估其性能,展示了在更大數據集上的有效性。本文的貢獻總結如下:a)本文引入了一種專注于提高小數據集上數據效率的雙邊并行局部注意力視覺Transformer方法。通過采用基于圖像和基于內容的局部注意力的并行訓練策略,成功增強了ViT模型的歸納能力。b)本文應用了基于語義的局部注意力方法,并首次將其與K均值聚類算法相結合,引入可學習的聚類中心對標記進行聚類,以彌補僅使用基于圖像的局部注意力可能導致的信息損失。c)本文方法不僅在小數據集上表現出色,而且通過減少參數和計算量,顯著提高了ViT模型的計算效率,使其在小數據集的圖像分類任務中始終領先于其他方法。
1 相關工作
1.1 視覺Transformer
Transformer模型主要基于自注意力機制,最早由Vaswani等人[22]提出。這種架構在自然語言處理[23,3]和跨模態任務[24]中得到了廣泛應用。ViT是首個專為圖像處理設計的基于Transformer的模型。在大型數據集上訓練時,ViT在圖像分類任務上的性能優于CNN。然而,當從頭開始在中等規模數據集(如ImageNet-1K)上訓練時,ViT的性能無法與CNN相媲美。許多改進的ViT模型,已經在中等規模數據集上實現競爭性性能,包括使用層次結構[5,18]、歸納偏置[6,7,25]和局部自注意力[5,17,18]。然而,這些方法在小型數據集上表現不佳。1.2 數據高效視覺Transformer
為了提高ViT的數據效率,許多后續工作提出了數據高效的ViT架構。這些架構不需要ViT在大規模數據進行預訓練的情況下表現良好。Touvron等人[25]將一系列數據增強方法應用到輸入數據上,并使用知識蒸餾策略從零開始訓練小型數據。文獻[6,7]將卷積引入到補丁嵌入階段中訓練ViT,解決了非重疊補丁嵌入中的不連續性問題。Liu等人[26]通過提取圖像的空間信息進行自我監督,以學習編碼圖像標記的空間位置。當在ImageNet-1K上從零開始訓練時,以上方法通過引入強大的歸納偏置使得ViT更加數據高效。
1.3 小數據集上的視覺Transformer
已經有一些研究致力于解決在小數據集上從零開始訓練的問題。Chen等人[17]通過引入多焦點注意力偏見,使視覺轉換器具有與卷積神經網絡相同的數據效率,提高了ViT在小數據集上的性能。Hassani等人[27]通過引入緊湊的Transformers和卷積標記化,成功地在小數據集上訓練了ViT。Lee等人[28]引入了局部自注意力(locality self-attention, LSA)和位移補丁標記化(shift patch tokenization, SPT),使ViT在小數據集上也能夠從零開始訓練。雖然先前的工作已經縮小了ViT和CNN之間的性能差距,但它們的性能仍然無法與強大的CNN競爭。本文方法利用了局部特征空間約束,增強了歸納偏置,成功地彌合了ViT和CNN在小數據集上的性能差距。
2 方法
2.1 BPLAT概覽
本文提出了一種新的雙向并行局部注意力視覺Transformer(BPLAT)方法。具體而言,BPLAT是通過替換 Transformer 模塊中的多頭自注意力(multi-head attention, MHSA)來構建的。一方面,通過使用基于圖像的局部注意力方法來引入局部歸納偏置,提升視覺Transformer的數據效率。另一方面,通過基于語義的局部注意力方法彌補信息損失,最后采用并行結構,分利用了兩個方法之間的互補性,在小型數據集上從零開始訓練,實現數據高效的視覺Transformer。
如圖2所示,BPLAT模型與ViT模型非常相似,采用了非分層設計,每個編碼器塊使用相同的參數設置,處理相同維度的特征。然而,與傳統的ViT不同,本文使用全局平均池化(global average pooling, GAP)代替了用于最終分類預測的分類標記。這是因為使用GAP而不是分類標記可以獲得更好的性能[29]。為了更詳細地介紹本文方法,首先,簡要介紹補丁嵌入模塊,然后詳細介紹提出的雙向并行局部注意力模塊,包括基于圖像的局部注意力(IBLA)模塊和基于語義的局部注意力(SBLA)模塊。最后介紹訓練損失。
首先,將輸入圖像分割為多個補丁。如果輸入圖像的分辨率為H×W,目標補丁大小為P,則生成的補丁標記序列的長度為N=HW/P2。本文遵循DHVT[30]的補丁嵌入設置,該設置包括一系列帶有步長s=2的3×3卷積層。使用批標準化(batch normalization, BN)和GeLU激活函數,以及在卷積層之前和之后添加兩個仿射變換層。卷積層數量隨著補丁大小的增加而擴展,補丁大小為P=2k每個標記的維度為C。
2.2 雙向并行局部注意力
Xin=MHSA(LN(X))(1)
Xin1,Xin2=split(Xin)(2)
XIBLA=IBLA(Xin1)(3)
XCBLA=SBLA(Xin2)(4)
IBLA是直接采用了swin Transformer中具有出色性能的基于窗口的局部注意力模塊。在圖像上劃分窗口后,IBLA計算同一窗口內的標記之間的自注意力。顯然,同一局部窗口中的補丁在圖像空間中非常接近,內容可能極其相關。然而,這剝奪了模型捕捉遠程依賴關系的能力。因為在圖像空間中,可能存在一些具有相似內容但距離相對較遠的補丁之間的重要連接。圖像空間中的遠程補丁可能有助于模型的理解和特征提取,輕易地忽略這些關聯可能會降低模型的性能。
本文提出的基于語義的局部注意力模塊可以有效補償基于圖像的局部注意力丟失的有用連接。基于語義的局部注意力模塊在特征空間中計算相鄰標記之間的自注意力,可以補充圖像空間中局部注意力丟失的信息,并且比ViT中的全局自注意力更為有效。同時,本文還向模型中添加了局部增強的相對位置編碼。為了進一步增強網絡的局部性,本文在前饋網絡(feed-forward network, FFN)中將多層感知機(multilayer perceptron, MLP)替換為深度可分離卷積 (depthwise separable convolution, DW)。最后,SBLA模塊和IBLA模塊的輸出被合并后通過跳躍連接的方式與輸入融合。合并的結果經過前饋網絡,得到雙向并行局部注意力塊的輸出:
X′in=Xin+concat(XIBLA,XSBLA)(5)
Xout=X′in+LN(FFN(X′in))(6)
其中:FFN(X)=DW(LN(X))。
2.3 基于語義的局部注意力
與直接在圖像上劃分窗口并在窗口內計算基于圖像的局部注意力不同,基于語義的局部注意力是為了在特征空間中找到相對相似的標記進行分組,并在分組內計算局部注意力。換句話說,本文使用標記聚類方法將視覺標記分成相應數量的簇,并在這些簇內計算基于語義的局部注意力。
2.3.1 基于K均值聚類的局部注意力
在使用點積進行注意力計算的場景中,一個特定關鍵詞Kj對于查詢Qi的重要性與它們之間的點積成正比。因此,本文可以使用式(8)中的k均值聚類目標來選擇給定查詢Qi的最優關鍵詞Kj。本文在對查詢和鍵進行兩兩匹配并計算在同一簇內進行局部自注意力計算的實現中,首先對查詢和鍵進行層歸一化,使它們在計算前投影到單位球面上。即所有比較的向量長度都被歸一化為1,因此它們在方向上有所不同,但在大小上相等。在查詢和鍵層歸一化后,采用點積的方式計算注意力。將查詢和鍵投影到單位球面上聚類就相當于球形K均值聚類算法,這意味著:
‖Qi-Kj‖2=‖Qi‖2+‖Kj‖2-2QTiKj=2-2QTiKj(9)
因此,如果Qi和Kj屬于相同的簇中心,即c=c(Qi)=c(Kj),則QTiKj的結果接近1,那么就意味著Qi和Kj的注意力權重QTiKj相對較高。分析表明,在查詢和鍵的全局注意力中,只保留具有較大注意力權重的數值,而那些具有較小注意力權重的數值被設為零。基于語義的局部注意力的公式為
這等同于設置一個分段函數,將特征向量之間低相似度的數值設為零。在訓練過程中,本文使用指數移動平均來更新每個簇的質心。這是通過計算每個簇中所有分配的查詢Q和鍵K的指數移動平均值來實現的:
其中:衰減參數λ通常設置為0.999。指數移動平均在逐漸融入歷史信息的同時,更加注重最近的數據。
2.3.2 簇內局部注意力
每個簇中包含的標記數量是根據總標記數N確定的。這種策略可以確保所有簇包含相同數量的標記,在硬件加速中非常重要, 例如:圖形卡的并行計算。在聚類之后,標記集合被分成K個子集,然后在每個子集上執行自注意力計算,以實現基于語義的局部注意力。
其中:dk是查詢的通道數,B是相對位置偏差[17]。采用配置多頭的方式實現基于語義的局部注意力,其配置與Transformer中的多頭設置相同。然后,在每個頭內部獨立進行K均值聚類。這意味著對于特定的標記,在執行基于語義的局部注意力時,不同的頭可能會關注不同的標記。這種方法比swin的方法更靈活,后者在多個頭之間共享相同的局部窗口。
基于語義的局部注意算法描述如算法1所示。
算法1 基于語義的局部注意算法
2.4 訓練損失
本文使用圖像分類損失Lcls和簇中心損失Lkmeans兩個損失函數。對于圖像分類,采用交叉熵損失Lcls。簇中心損失Lkmeans使用L1損失定義,旨在找到簇中心的全局最優解。
3 實驗
3.1 數據集和實現細節
3.1.1 數據集
為了驗證在小數據集上從零開始訓練的模型性能,本文主要選擇了較小的CIFAR數據集上進行實驗。在小數據集的選取上,本文考慮了兩個主要因素:訓練數據的總數和每個類別的平均數量。有些數據集的總訓練數據數量較小,但每個類別的平均樣本數較大,而其他數據集總數較大,但每個類別的平均樣本數較小。為了驗證模型在小數據集上的性能,本文綜合考慮了這兩個方面來選擇數據集。同時,為了驗證模型在其他小數據集上的性能,文本還添加了來自DomainNet的六個小數據集以及ImageNet-1K。最后,本文選擇的數據集和數據類別的統計信息如表1所示。
3.1.2 實現細節
本文參考先前的工作設計了三種不同規模的模型,即 BPLAT-T、BPLAT-S和BPLAT-B。同時,采取與其他ViT模型相同的訓練策略。對于圖像分辨率為224×224的數據集,本文將補丁大小設置為16;而對于圖像分辨率為32×32的數據集,本文將補丁大小設置為4。本文采取的數據增強策略與DeiT[25]中的數據增強設置完全相同,沒有添加任何其他數據增強策略,也沒有調整現有的數據增強策略以提高模型性能。本文使用 AdamW 優化器,并從隨機初始化開始訓練所有模型,共進行300個epoch的訓練。本文使用權重衰減率為0.05,熱身時間為5,β2為0.99,并將學習率調整為5E-4×batchsize/256,批大小分別為256 (BPLAT-T)、128(BPLAT-S)和64(BPLAT-B),模型注意力頭的數量設置為4 (BPLAT-T)、8(BPLAT-S)和12(BPLAT-B)。基于此設置,模型可以在單個V100 GPU上開展訓練。本文模型是使用PyTorch框架實現的,代碼是基于timm修改的。
3.2 結果對比
3.2.1 DomainNet數據集結果
為了評估模型在小數據集上的性能,本文選擇了DomainNet數據集中的六個小數據集進行實驗。本文與PyTorch代碼中的ResNet-50官方實現作為基準線進行比較,從頭開始訓練ResNet-50,并使用了各種數據增強技術,例如Mixup、CutMix 和AutoAugment。最后的實驗結果如表2所示,本文模型表現優于ResNet-50,在不同的小型數據集上的取得了較好的結果。
3.2.2 ImageNet-1K數據集結果
本文進行了一系列實驗,評估本文模型在中等規模ImageNet-1K數據集上的訓練性能。本文采用與DeiT[25]相同的實驗設置和數據增強策略,結果如表3所示:BPLAT-T的準確率為76.42%,BPLAT-S的準確率為79.27%,而BPLAT-B的準確率為80.03%。這表明,在非層級化的ViT結構下,本文模型在相同參數規模和計算復雜度的情況下表現出色,但與層級結構的ViT模型相比,例如swin Transformer,仍然存在差距。這是因為BPLAT所使用的基于語義的局部注意力機制對某些依賴關系進行了抑制,一方面減少了信息損失和噪聲干擾,另一方面也削弱了模型的學習能力,導致精度下降。而層級結構的Transformer 架構則采用了更優化的配置。它們通過增加網絡深度和注意力頭的數量提高了模型的非線性擬合能力。此外,還引入了一些創新的設計思想,如多階段表示,使網絡能夠更好地適應不同尺度和場景的圖像數據。這些改進使它們在擁有更少參數的情況下實現了更高的準確性。與BPLAT最大的區別在于,它們沒有改變注意力機制本身,而是通過優化網絡結構來提高數據效率。然而,本文旨在通過對比實驗表明 ViT 可以在保持模型更低計算量和計算復雜度的前提下提高數據效率,并不是單純地追求網絡精度。總體而言,盡管在較大的數據集上性能略有下降,但模型的表現仍然可以接受。然而,在小型數據集上,它表現出色。
3.2.3 CIFAR數據集結果
本文在CIFAR數據集上對從零開始訓練的模型進行了性能比較。對于不劃分補丁、使用原始像素輸入的模型,本文將補丁大小設置為1。所有方法均使用圖像大小為32×32的CIFAR數據集從隨機初始化進行訓練。本文使用類似ViT的符號[23]來表示模型大小和補丁大小:例如,BPLAT-B/2表示具有2×2輸入補丁大小的“Base”變體。:表示在相同的訓練方案下重新實現該方法。其他結果均來自對相應工作的直接引用。從表4中可以看出,所有基于CNN的方法中,在CIFAR100上訓練的最佳準確率為82.82%,而所有基于Transformer的方法中,在CIFAR100上訓練的最佳準確率為82.56%。與基于CNN的模型相比,基于ViT的模型通常具有更低的參數量和計算復雜度。而本文的BPLAT模型是基于ViT的。與其他基于ViT的模型相比,BPLAT不僅具有更少的參數量和計算復雜度,而且在準確性上更具有優勢。實驗結果顯示,BPLAT-T模型在CIFAR10和CIFAR100準確率達到了96.95%和83.63%,其參數量為5.8 M,計算量為1.0 GFLOPs;BPLAT-S模型在CIFAR10和CIFAR100準確率達到了97.51%和84.84%,其參數量為14.4 M,計算量為3.9 GFLOPs;BPLAT-B模型在CIFAR10和CIFAR100準確率達到了97.93%和85.80%,其參數為57.2 M,計算量為15.2 GFLOPs。與其他ViT模型和混合模型相比,本文模型在具有更少參數和計算復雜度的情況下實現了顯著的性能提升。BPLAT通過在并行訓練中使用基于圖像的局部注意力和基于語義的局部注意力增強了模型的歸納偏見,這不僅提高了ViT的數據效率,也將最先進的結果推向了新的高度。
3.2.4 目標檢測
本文進一步評估了所提出的BPLAT在目標檢測方面的性能。本文使用Mask R-CNN和 DINO框架,首先在ImageNet數據集上預訓練骨干網,然后在MS-COCO數據集上進行微調實驗。本文僅將框架的骨干網替換成了BPLAT-T,并未對其他地方進行改動。在Mask R-CNN框架中,本文使用3×學習率方案。在DINO框架中,本文使用1×學習率方案。如表5所示,該模型表現出相對較低的參數數量,并在不同框架中取得了有競爭力的結果。本次實驗是對該模型的延伸性實驗,在參數效率和整體性能之間有所權衡,這對于推動視覺Transformer 在實際應用中的普及更具意義。
3.3 消融實驗
消融實驗所使用的模型是BPLAT-T,在接下來的消融實驗中,所有模型均在CIFAR-100上從零開始訓練。實驗設置和數據增強與3.2節中相同。
3.3.1 SBLA的有效性分析
本文深入探討了SBLA模塊在BPLAT-T中的有效性,并與IBLA模塊進行對比。如表6所示,當僅使用SBLA模塊進行訓練時,模型實現了83.06%的準確率。然而,當同時訓練兩個模塊時,準確率達到最佳水平,即83.63%。這證明SBLA模塊在捕捉圖像特征之間的關系方面發揮了關鍵作用,從而提高了模型的分類準確性。與僅使用SBLA模塊相比,同時使用SBLA和IBLA模塊的綜合訓練表現更佳,顯示了它們在模型中的協同效應。這表明了SBLA與IBLA模塊之間的互補性。
3.3.2 模塊中的自注意力頭數分析
在模型的多頭自注意力部分,本文對SBLA模塊使用的自注意力頭數進行了消融實驗。在BPLAT-T模型中,多頭自注意力總數設置為4。本文為SBLA模塊設置不同數量的自注意力頭,如表7所示,發現當頭數設置為2時,模型的準確率達到83.63%。SBLA模塊和IBLA模塊的聯合訓練可以相互補充,因此可以期望獲得更高的準確性。
3.3.3 SBLA模塊中的每個簇的標記數量分析
為了評估SBLA模塊中簇數對模型性能的影響,本文嘗試不同數量的簇進行驗證。使用了CIFAR數據集,其中標記的總數為256。如表8所示,當在每個簇中設置64個標記時,模型實現了最高的準確率,達到了81.94%。這表明選擇適當數量的簇對于模型性能至關重要。當每個簇中的標記數量太少(16個)或太多(128個)時,性能都有所下降。這因為在簇中設置過少的標記會導致信息不足,而設置過多的標記可能會引入噪聲或冗余信息。
3.4 注意力圖的可視化
為了更直觀地了解K均值聚類的效果,本文將聚類結果和相應的注意力圖進行了可視化。圖4中展示了兩種情景下的聚類效果。可視化的場景包括輸入圖像中兩個查詢位置的可視化(左)、不同查詢位置的相應聚類結果(中)以及生成的注意力圖(右)。在每個情景中,本文從模型的第9層SBLA模塊中提取了聚類結果和注意力圖。在第一個戶外場景中,如果聚類對象是摩托車,那么同一聚類中的補丁都是與摩托車相關的物體。同樣,在第二個自然場景中,當聚類目標放在一個樹枝上時,聚類的結果補丁分散在其他樹枝區域上,這些區域并不相鄰。這意味著本文的SBLA能夠捕捉遠程對象之間的關系。
4 結束語
本文介紹了一種新穎的視覺Transformer架構,即雙向并行局部注意力視覺Transformer。BPLAT在特征空間和圖像空間同時實現了多頭區域自注意力。為了在特征空間計算局部注意力,本文提出了一種基于K均值的平衡聚類方法,將圖像補丁分成多個均勻大小的簇,并在每個簇內計算自注意力。實驗結果證明,BPLAT只需要較小的訓練數據集即可在性能上優于現有的基于圖像局部注意力的視覺Transformer模型。因此,BPLAT可以成為一種高效且有效的圖像分類架構。未來的研究將致力于模型泛化能力更強、更輕量級的網絡以提高模型的實際應用價值,并拓展到其他圖像檢測分割等視覺高級任務中。
參考文獻:
[1]Tan Mingxing, Le Q. EfficientNet: rethinking model scaling for con-volutional neural networks [C]// Proc of the 36th International Conference on Machine Learning. 2019: 6105-6114.
[2]Huang Gao, Liu Zhuang, Van Der Maaten L, et al. Densely connec-ted convolutional networks [C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2017: 4700-4708.
[3]Jacob D, Chang Mingwei, Kenton L,et al. BERT: pre-training of deep bidirectional Transformers for language understanding [C]// Proc of NAACL-HLT. 2019: 4171-4186.
[4]Dosovitskiy A, Beyer L, Kolesnikov A, et al. An image is worth 16x16 words: transformers for image recognition at scale [EB/OL]. (2020-10-22) [2020]. https://arxiv. org/abs/2010. 11929.
[5]Liu Ze, Lin Yutong, Cao Yue,et al. Swin Transformer: hierarchical vision Transformer using shifted windows [C]// Proc of the IEEE/CVF International Conference on Computer Vision. Piscataway, NJ: IEEE Press, 2021: 10012-10022.
[6]Wu Haiping, Xiao Bin, Codella N,et al. CVT: introducing convolutions to vision transformers [C]// Proc of the IEEE/CVF International Confe-rence on Computer Vision. Piscataway, NJ: IEEE Press, 2021: 22-31.
[7]Yuan Kun, GuoShaopeng, Liu Ziwei, et al. Incorporating convolution designs into visual transformers [C]// Proc of IEEE/CVF International Conference on Computer Vision. Piscataway, NJ: IEEE Press, 2021: 579-588.
[8]胡杰, 昌敏杰, 熊宗權, 等. 基于Transformer的圖像分類網絡 MultiFormer [J]. 計算機應用研究, 2022, 39 (10): 3191-3195. (Hu Jie, Chang Minjie, Xiong Zongquan, et al. Multiformer: an image classification network based on Transformer [J]. Application Research of Computers, 2022, 39 (10): 3191-3195.)
[9]包震偉, 劉丹, 米金鵬. 弱監督與少樣本學習場景下視頻行為識別綜述 [J]. 計算機應用研究, 2023, 40 (6): 1629-1635. (Bao Zhenwei, Liu Dan, Mi Jinpeng. Review of video action recognition under weak supervision and few-shot learning [J]. Application Research of Computers, 2023, 40 (6): 1629-1635.)
[10]楊世偉, 王永雄, 蘭博天. 多尺度 Transformer 與層次化邊界引導的顯著性目標檢測 [J]. 計算機應用研究, 2022, 39 (12): 3820-3824, 3836. (Yang Shiwei, Wang Yongxiong, Lan Botian. Multi-scale Transformer with hierarchical boundary guidance for salient object detection [J]. Application Research of Computers, 2022, 39 (12): 3820-3824, 3836.)
[11]Strudel R, Garcia R, Laptev I,et al. Segmenter: Transformer for semantic segmentation [C]// Proc of IEEE/CVF International Conference on Computer Vision. Piscataway, NJ: IEEE Press, 2021: 7262-7272.
[12]Zhu Xizhou, Su Weijie, Lu Lewei, et al. Deformable DETR: deformable transformers for end-to-end object detection [EB/OL]. (2021-03-18) . https://arxiv. org/pdf/2010. 04159. pdf.
[13]Russakovsky O, Deng Jia, Su Hao, et al. ImageNet large scale visual recognition challenge [J]. International Journal of Computer Vision, 2015, 115 (3): 211-252.
[14]Raghu M,Unterthiner T, Kornblith S, et al. Do vision transformers see like convolutional neural networks? [C]// Advances in Neural Information Processing Systems. 2021: 12116-12128.
[15]D’Ascoli S,Touvron H, Leavitt M, et al. ConViT: improving vision transformers with soft convolutional inductive biases [C]// Proc of the 38th International Conference on Machine Learning. 2021: 2286-2296.
[16]Park N, Kim S. How do vision transformers work? [EB/OL]. (2022-2-14).https://arxiv.org/abs/2202. 06709.
[17]Chen Bin, Wang Ran, Ming Di,et al. ViT-P: rethinking data-efficient vision transformers from locality [EB/OL]. (2022). https://arxiv.org/abs/2203. 02358.
[18]Zhang Zizhao, Zhang Han, Zhao Long, et al. Nested hierarchical Transformer: towards accurate, data-efficient and interpretable visual understanding [C]// Proc of AAAI Conference on Artificial Intelligence. Palo Alto, CA: AAAI Press, 2022: 3417-3425.
[19]Gani H, Naseer M, Yaqub M. How to train vision Transformer on small-scale datasets? [EB/OL]. (2022-11-21) (2022-11-24). https://doi. org/10. 48550/arXiv. 2201. 13027.
[20]Krizhevsky A, Hinton G. Learning multiple layers of features from tiny images [EB/OL]. (2009) (2023-11-15). https://www. researchgate. net/publication/306218037_Learning_multiple_layers_of_features_from_tiny_images.
[21]Peng Xingchao, Bai Qinxun, Xia Xide, et al. Moment matching for multi-source domain adaptation [C]// Proc of IEEE/CVF International Conference on Computer Vision. Piscataway, NJ: IEEE Press, 2019: 1406-1415.
[22]Vaswani A,Shazeer N, Parmar N, et al. Attention is all you need [C]// Advances in Neural Information Processing Systems. 2017.
[23]Brown T, Mann B, Ryder N,et al. Language models are few-shot learners [C]//Advances in Neural Information Processing Systems. 2020: 1877-1901.
[24]Yang Zhengyuan, Lu Yijuan, Wang Jianfeng, et al. Tap: text-aware pre-training for text-VQA and text-caption [C]// Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2021: 8751-8761.
[25]Touvron H, Cord M, Douze M, et al. Training data-efficient image transformers amp; distillation through attention [C]// Proc of the 38th International Conference on Machine Learning. 2021: 10347-10357.
[26]Liu Yahui,Sangineto E, Bi Wei, et al. Efficient training of visual transformers with small datasets [C]//Advances in Neural Information Processing Systems. 2021: 23818-23830.
[27]Hassani A, Walton S, Shah N,et al. Escaping the big data paradigm with compact transformers [EB/OL]. (2021-04-12). https://arxiv.org/abs/2104. 05704.
[28]Lee S, Lee S, Song B. Vision transformer for small-size datasets [EB/OL]. (2021-12-27). https://arxiv.org/abs/2112. 13492.
[29]Chu Xiangxiang, Tian Zhi, Zhang Bo, et al. Conditional positional encodings for vision Transformers [EB/OL]. (2021-05-18) (2022-03-28). https://arxiv. org/pdf/2102. 10882.
[30]Lu Zhiying, Xie Hongtao, Liu Chuanbin, et al. Bridging the gap between vision transformers and convolutional neural networks on small datasets [C]// Advances in Neural Information Processing Systems. 2022: 14663-14677.
[31]Roy A, Saffar M, Vaswani A,et al. Efficient content-based sparse attention with routing transformers [J]. Transactions of the Association for Computational Linguistics, 2021, 9: 53-68.
[32]Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks [C]// Proc of the 25th Communication of ACM. New York: ACM Press, 2017: 84-90.
[33]Zagoruyko S, Komodakis N. Wide residual networks [C]// Proc of British Machine Vision Conference. 2016: 87. 1-87. 12.
[34]Xie Saining,Girshick R, Dollar P, et al. Aggregated residual transformations for deep neural networks [C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE Press, 2017: 1492-1500.
[35]Gao Shanghua, Cheng Mingming, Zhao Kai, et al. Res2Net: a new multi-scale backbone architecture [J]. IEEE Trans on Pattern Analysis and Machine Intelligence, 2019, 43 (2): 652-662.