摘要:為解決目前Transformer模型因其巨大的參數量和計算復雜度而無法應用在計算資源相對有限的移動設備中的問題,提出了一種適用于移動端的友好型輕量圖像識別網絡稱為FuseNet。FuseNet利用卷積神經網絡提取局部特征信息和自注意力機制擅長對全局信息進行建模的特性,將局部表示與全局表示兩者的特性整合至一個特征提取模塊,高效融合了兩種不同結構的優點達到以較小的模型規模實現較高準確率的目的。實驗證明不同參數規模的FuseNet可以在不進行預訓練的情況下實現良好的性能,可以很好地應用在移動設備中。FuseNet-B在ImageNet-1K數據集上以14.8 M的參數量實現了80.5%的準確率,性能表現超過了同體量的Transformer模型和卷積神經網絡。
關鍵詞:卷積神經網絡;圖像識別;移動設備;輕量型;Transformer;FuseNet
中圖分類號:TP391.41文獻標志碼:A
文章編號:1001-3695(2023)01-048-0288-06
doi:10.19734/j.issn.1001-3695.2022.05.0230
FuseNet:lightweight image recognition network for mobile applications
Tian Xinchi,Wang Yagang,Yin Zhong
(School of Optical-Electrical amp; Computer Engineering,Shanghai University of Science amp; Technology,Shanghai 200093,China)
Abstract:In order to solve the problem that the Transformer model cannot apply to mobile devices with limited computational resources due to its huge number of parameters and computational complexity,this paper proposed a mobile-friendly lightweight image recognition network called FuseNet.FuseNet utilized convolutional neural network to extract local feature information and self-attention to excel in modeling global information,and it integrated the features of both local and global representations into a single feature extraction module,which efficiently combined the advantages of the two different structures to achieve a high accuracy with a small model size.Experiments demonstrate that FuseNet with different model sizes can achieve good performance without using pre-training and it can well apply to mobile devices.FuseNet-B achieves 80.5% accuracy with 14.8M parameters on ImageNet-1K dataset,the performance exceeds the same volume of Transformer models and convolutional neural networks.
Key words:convolutional neural network(CNN);image recognition;mobile device;lightweight;Transformer;FuseNet
深度學習是過去幾年機器學習方向火熱的一大原因,隨著AlexNet[1]的出現讓人們重新認識了卷積神經網絡(CNN)。之后以卷積神經網絡為基礎出現了許多性能更加優秀的骨干網絡,如He等人[2]提出的ResNet利用殘差連接有效減緩了重復堆疊卷積層所帶來的模型性能衰退問題。但受限于卷積神經網絡較小的感受野,導致其在準確率方面的性能表現還有較大提升空間。2017年Dosovitskiy等人[3]提出了vision Transformer(ViT),首次將Transformer應用在計算機視覺領域。作為卷積神經網絡學習特征表示的另一種替代方法,ViT利用自注意力機制獲取全局感受野的特性,在大規模數據集上的表現甚至超過了最先進的卷積神經網絡。文獻[4,5]嘗試增加ViT的參數量以提高模型性能,然而這些性能的提高是以模型容量和運算推理速度為代價的。許多實際生活中的應用(如圖像識別[6]、人體行為識別[7]和目標檢測[8])需要視覺識別任務在移動設備中進行,要適應移動設備有限的計算資源,對應的Transformer模型應當具備輕量型和運算速度快等特點。盡管文獻[4]將ViT的模型容量縮小至符合移動設備的運算資源限制,在模型參數相近的情況下DeiT仍比MobileNetv3[9]的準確率低3%,其性能表現明顯落后于輕量級的CNN。輕量型的卷積神經網絡已經大范圍應用在移動設備中,因此有必要設計出能為移動端視覺任務提供動力的Transformer模型。
為了解決Transformer模型因其巨大的參數量而無法應用在移動端的問題,本文提出了一種結合卷積局部表示和Transformer模型全局表示特性的輕量級網絡,名為FuseNet。圖1所示為FuseNet中的特征構建模塊(FuseNet block)對于卷積與自注意力機制兩種特性相結合的思想。其中局部表示為中藍色區域,表示卷積運算提取局部信息的特性,關注卷積感受野及其鄰域的特征信息,尤其是模型難以學習到的圖片底層區域特征(如圖像邊緣部分)。 全局表示為中紅色區域,表示自注意力機制擁有的全局信息提取能力,可以捕獲到一張圖片的絕大部分區域信息(見電子版)。這種融合思想使得FuseNet擁有了卷積模型和Transformer模型的兩種特性,有助于它使用類似于卷積運算較少的參數量去學習更全面的圖像特征信息,一定程度上解決了Transformer模型在移動設備中表現不佳的問題。
1相關工作
1.1輕量型卷積神經網絡
卷積神經網絡通常由許多卷積層堆疊而成,利用卷積特有的局部信息提取能力來進行特征構建。由于普通卷積運算會耗費較多的計算成本,于是研究者們在保證準確率的前提下提出了一些輕量化的方法來減少計算量。例如,Jin等人[10]提出展平卷積(flattened convolutional)將一個三維卷積分解為三個一維卷積運算,極大地減少了計算量。Mehta等人[11]認為應最大限度利用輸入張量中的信息,提出維度卷積(dim convolution),來學習所有通道維度的信息,在實現較高準確率的同時降低了模型復雜度。特別地,Chollet等人[12]提出的深度可分離卷積(depthwise convolution),因其優秀的性能被廣泛應用于移動端先進的輕量型卷積神經網絡中,包括MobileNet[13]、ShuffleNet[14]和MixNet[15]。這些輕量型網絡所擁有的通用性和易訓練性很大程度來源于模型中的高效特征提取模塊。如MobileNetv2[16]中的倒置殘差瓶頸結構(MBConv)利用深度可分離卷積與點卷積相結合的方式來緩解普通卷積層的高計算量。這類模塊可以輕松插入到其他模型中并取代其復雜的特征提取部分。然而這些輕量化的模型始終是基于卷積神經網絡的,只能學習到感受野范圍內有限的特征信息,無法擺脫局部感受野的困境。
1.2vision Transformer
自注意力機制(self-attention)有著長距離信息交互和聯系上下文的特性,因而被廣泛應用在自然語言處理[17]中。圖2所示為ViT的簡化工作原理。對于一幅標準的RGB圖像,首先經過一個線性映射層將圖片分解為一連串固定長度且不重復的二維標記,接著將這些標記與一組位置編碼一同送入多個堆疊的Transformer block中對輸入信息進行建模。Transformer block由多頭自注意力和線性前饋網絡(feed-forward network,FFN)構成。其中多頭自注意力通過多組矩陣變換及線性映射和式(1)得到多個相互獨立的注意力特征圖,最后通過拼接和全連接融合不同的特征圖得到輸出注意力特征圖。
attention(Q,K,V)=softmax(QKTdk)V(1)
其中:Q、K、V分別為三個向量組成的獨立矩陣,是原本的輸入信息做了不同的線性變換之后所得到的結果。因此相關性矩陣變換描述的是輸入向量信息的相關性。dk為縮放系數,目的是防止內積過大導致梯度不穩定。
此外,人們致力于將ViT應用在各種視覺任務中,包括圖像分類[18]和語義分割[19]等。這些結果驗證了Transformer模型擁有優秀的捕獲長距離信息的能力。近期Li等人[20]的工作表明自注意力機制因為缺乏局部表示的能力導致其在編碼低層次特征方面效率低下,阻礙了它們在高效表征學習方面的潛力。
1.3卷積與ViT的結合
與卷積神經網絡不同,ViT表現出較差的可優化性,同時變得難以訓練。隨后Xiao等人[21]表明ViT之所以需要巨大的參數量來保持較高的準確率,是因為其缺乏卷積神經網絡所特有的圖像歸納偏置屬性,這種Transformer模型所缺失的屬性對于網絡的泛化性能是極其重要的。于是人們開始在ViT中使用卷積運算加入這種偏置屬性來提高其穩定性和可訓練性。例如,Wu等人[22]將多頭注意力機制(multi-head self-attention,MHSA)中分別映射Q、K、V的線性映射層改為卷積映射,性能上取得了顯著的提高。Chen等人[23]則進一步細化了ViT的工作步驟,將原有的模塊等效替換為一個或多個卷積層,找到了自注意力機制與卷積運算較為合理的搭配方式。BoTNet[24]僅僅將ResNet瓶頸結構中的標準3×3卷積替換為多頭注意力機制就取得了顯著的性能效果。上述改進模型的準確性較ViT都有了較大幅度的提升,參數量也有不同程度的下降。但這些模型在移動端的表現卻仍然落后于傳統的輕量型卷積模型。如CvT-W24[22]在ImageNet-1K數據集上的準確率達到了87.7%,遠超過目前最先進的卷積神經網絡,卻因其參數量和浮點運算數(FLOPs)分別達到了277 M和193.2 G造成極大的運算負擔,因此并不適用于計算資源有限的設備。
2FuseNet模型
上述工作表明與普通ViT相比,將卷積與自注意力機制相結合的結果是產生一種規模龐大且準確率高的視覺模型。本章將會從卷積特性和自注意力機制原理兩個方面系統研究兩者的組合關系,為移動端的視覺任務建立一種輕量型Transformer模型。
2.1卷積特性與可移動位置編碼
在ViT中,位置編碼是一組與輸入標記維度相同的可學習參數,用來簡單表征圖像的原始位置信息,與劃分好的二維標記一起送入Transformer block中構建圖像特征信息。這種位置編碼受限于固定的輸入信息尺寸而不適用于更加密集的預測任務。卷積運算恰好擁有良好的局部特征信息提取能力,可以捕獲感受野目標區域相鄰的位置信息,于是便考慮使用卷積的特性來代替傳統的位置編碼。3.3.2節的實驗結果表明,深度可分離卷積與點卷積的組合可以有效地融合進注意力層中,獲取感受野區域的位置信息。如圖3所示FuseNet block的結構。在全局表示中,可移動位置編碼(movable position encoding)由深度可分離卷積與點卷積相組合的結構來捕獲局部空間信息的交互。具體來說,卷積運算依賴于一個固定大小的卷積核來收集局部信息。
yi=∑j∈L(i)wi-j⊙xj(2)
其中:⊙表示對應位置元素點乘;yi表示索引位置為i的輸出信息;L(i)表示i的局部表示鄰域;wi-j為卷積層在區域范圍i-j提取到的權重信息,其中包含原始圖像的一些位置信息,使得卷積運算可以很好地表征處理局部信息。由式(2)可以看出卷積運算得到的權重wi-j是一個與輸入信息無關的參數,它只取決于位置i的動態相對鄰域而不依賴于某個具體的值。這種特性使得卷積神經網絡在數據量有限的數據集上可以起到很好的概括作用。故FuseNet采用深度可分離卷積捕獲位置信息來代替原始ViT的位置編碼。
2.2自注意力機制
定義一個注意力變量z∈[1,N]來表示被選擇信息的位置索引。z=i來表示選擇位置信息為i的輸入信息,G代表全局空間,βi構成的概率向量稱為注意力分布。則選擇第i個輸入信息的概率βi為
βi=p(z=i|K,Q)=softmax(s(Ki,Q))=exp(s(Ki,Q))∑j∈Gexp(s(Kj,Q))(3)
ViT中的注意力機制為鍵值對的形式,其中鍵(K)用來計算注意力分布,值(V)用來計算聚合信息,Q為一個輸入查詢矩陣。假設當前有一個K=Q的查詢需求,目標是查詢到對應的V值。這種查詢方式通過計算K與Q的相似性來計算每個V值的權重,然后對V進行加權求和,加權求和得到最終的注意力值。其中s(Ki,Q)稱為注意力打分函數。在獲取注意力分數后,使用函數softmax對注意力分數進行數值轉換,可以根據歸一化對s(Ki,Q)之間的相似性來計算特征信息權重,尤其可以利用函數softmax的特性來突出模型施加注意力的元素權重。對于多頭注意力機制,為了表示方便假設頭的個數為1,即d=1。則注意力打分函數的縮放點積模型為
s(Ki,Q)=KTiQd=KTiQ(4)
不同于卷積運算只能獲取有限感受野的局部信息,自注意力機制擁有靈活的動態全局感受野。根據權重系數對V進行加權求和,則求和后的注意力值的表達式為
yi=∑i∈GβiVi=∑i∈Gexp(KTiQ)∑j∈G exp(KTjQ) Vi(5)
自注意力機制利用全局感受野來收集空間信息,一般來說,更大的感受野將提供更多的輸入信息,這種長距離的上下文聯系特性更容易捕獲不同空間位置之間的復雜關系交互。但這種巨大的靈活性往往伴隨著極高過擬合的風險,且造成了巨大的計算負擔。如ViT這類純Transformer模型因為缺乏卷積模型特有的圖像歸納偏置,導致其必須在超大規模的數據集上進行預訓練后才能達到像卷積網絡一樣優秀的性能。
2.3融合卷積與自注意力
綜上所述,要有效結合上述兩種結構的優點,輕量型的Transformer模型應在保持較少參數量的基礎上擁有卷積運算提取部分權重信息的能力和自注意力機制的全局感受野。卷積模型與Transformer模型最大的區別即是感受野大小的不同。對于式(2)(5),一種很自然的想法是在softmax歸一化之前,將卷積運算提取到的權重信息與注意力打分函數進行數值轉換后的注意力權重進行矩陣乘法變換,使得輸出yi由輸入信息K和卷積的鄰域權重wi-j共同決定。即
yi=∑i∈Gexp((Ki⊙wi-j)TQ)∑j∈Gexp((Kj⊙wi-j)TQ)Vi(6)
具體來說,可以將卷積權重加入注意力打分函數中。在這種情況下,注意力權重β將由卷積提取到的信息和輸入信息Q共同決定,使得注意力機制可以在保持靈活性的同時加強與卷積權重信息的信息傳遞能力。Zhou 等人[25]認為ViT中因過分靈活的多頭注意力機制而導致部分頭學習到重復的特征信息,造成計算資源浪費且使得模型性能下降。理論上更大的感受野需要更多的計算量,而在加入卷積權重后可以向注意力模型提供更多圖像低層次信息,減少Transformer模型花費較多的計算量去學習重復特征信息的情況。在數據量有限的情況下注意力模型也可以利用卷積的特性有效地提高模型的泛化性和減少過擬合的風險,同時可以減少模型容量,達到了輕量化Transformer模型的目的以應用于移動設備中。
2.4FuseNet block
圖3所示為本文FuseNet block,旨在使用較少的參數對輸入信息的局部和全局信息進行建模。FuseNet block的設計思想源自于圖1,即對于一個輸入圖像采用局部信息和全局信息兩條處理路徑,將學習到的局部與全局特征進行融合。對于一個標準的RGB輸入圖像X∈Euclid Math TwoRApC×H×W,FuseNet block將輸入信息分為局部表示(local representations)和全局表示(global representations)兩條路徑處理。對于局部表示處理,FuseNet block利用類似ResNet中的瓶頸結構來構建局部特征信息。具體來說,首先使用一個1×1的卷積層將通道維度擴展為原來的四倍(X∈Euclid Math TwoRAp4C×H×W),然后使用批量歸一化(batch normalization)[26]和SiLU激活函數,將輸入送入3×3的卷積層對局部特征信息進行建模,最后使用一個1×1的卷積運算將輸入信息維度還原成X∈Euclid Math TwoRApC×H×W。故 FuseNet block中局部表示的輸出函數表達式C(x)為
C(x)=conv1×1(conv3×3(conv1×1(x)))(7)
其中:conv1×1與conv3×3分別表示卷積核為3和1的標準卷積層,步距都設置為1。對于全局表示處理路徑,實際上就是利用自注意力機制來獲取全局關系,增大該模塊的感受野。首先將輸入X∈Euclid Math TwoRApC×H×W送入深度可分離卷積與點卷積中來構建鄰域空間關系,用來捕獲感受野及其附近相鄰空間的位置信息,同時作為可移動位置編碼送入Transformer block對全局信息進行建模。在ViT中,輸入圖像被切分為一連串不重復的斑塊標記,故構建完位置關系后需調整輸入信息的維度,將輸入的三維圖片X∈Euclid Math TwoRApC×H×W沿空間維度展平為X∈Euclid Math TwoRApC×N,其中N=H×W。送入Transformer block生成注意力圖后需要將構建好的二維標記重新還原回三維圖像,之后使用一個標準的1×1卷積層將處理后的圖像維度調整回原始輸入信息的維度。 FuseNet block中全局表示的輸出函數表達式T(x)為
T(x)=conv1×1(transformerBlock(x′))(8)
其中:x′是附帶可移動位置編碼的輸入信息。
綜上,原始輸入信息X∈Euclid Math TwoRApC×H×W被以兩種不同的表征模塊分別處理,將處理后的信息沿通道維度進行拼接,得到X∈Euclid Math TwoRAp2C×H×W。最后使用一個全連接層將FuseNet block的輸出信息映射回與原始輸入信息同維度(X∈Euclid Math TwoRApC×H×W)。整個FuseNet block的輸出函數表達式f(x)為
f(x)=linear(concat(T(x)+C(x)))(9)
2.5FuseNet整體結構
卷積神經網絡一般具有更好的泛化能力和更快的模型收斂速度,這得益于卷積強大的圖像歸納偏置屬性。自注意力機制則擁有更大的模型容量,在超大型數據集上準確率表現優異。問題的關鍵是如何高效地結合卷積與自注意力機制來實現準確率與推理速度之間的平衡。在最近相關的Transformer模型研究工作中,Dai等人[27]首次提出了將MBConv與Transformer block直接堆疊的想法,在模型容量和泛化性方面達到了驚人的效果。選擇MBConv有兩個重要的原因:a)MBConv中的深度可分離卷積和SE block[28]可以很好地捕獲圖像小范圍內的空間交互和通道注意力權重,在1.1節中已經說明輕量型卷積神經網絡可以將運算成本較低的特征構建模塊插入到其他模型中并取代其復雜的特征提取部分;b)MBConv與Transformer block中的FFN模塊都采用將輸出通道先擴大再還原的操作,兩者具有高度的結構相似性,而相似的模塊架構意味著可以更容易地對模型進行訓練。若FuseNet的所有特征構建模塊采用圖3所示結構,會陷入到傳統Transfor-mer模型參數量龐大和訓練困難的境況。故FuseNet在模型所有階段的前期利用卷積運算模塊進行下采樣,在輸入特征圖達到合適的分辨率時再采用自注意力機制的全局感受野捕獲圖像特征信息。圖4所示為CoAtNet[27]中的倒殘差瓶頸結構。與MBConv不同,在殘差路徑中使用最大池化下采樣層和一個卷積核大小為1的普通卷積層來進一步提高MBConv的特征提取能力。本文FuseNet在前期階段處理局部信息的卷積特征提取模塊參考了CoAtNet中的倒殘差瓶頸結構。對于無殘差連接的特征提取結構命名為extract feature(EF),對于需要對圖片分辨率進行下采樣的殘差連接結構命名為extract feature with downsample(EFD)。
FuseNet的整體架構如圖5所示,采用同PVT[29]一樣多階段分辨率下采樣的方式。FuseNet整體結構采用EF模塊在FuseNet block之前的設計,該設計是基于卷積操作可以在模型前期階段更好地處理淺層的局部信息。這樣的設計會導致出現較多的模塊組合,該部分將在3.3.1小節進行闡述。FuseNet應用一個Stem模塊來提取少部分底層信息并加強局部特性,同時將輸入圖片的分辨率下采樣兩倍。然后分為四個不同階段來構建不同層次的特征圖,每個階段同樣對分辨率進行下采樣兩倍的操作。Stem模塊由兩個3×3的普通卷積層組成,步距分別設置為2和1。stage1采用卷積提取模塊extract feature(EF),對圖片分辨率進行下采樣的殘差連接結構使用extract feature with downsample (EFD)。其余stage的特征提取模塊均為本文提出的FuseNet block,下采樣使用EFD模塊。為了減少模型參數和計算復雜度,這四個階段的輸出通道數往往不會過大,故需要一個全連接層來提高輸出通道維度。最后使用類似卷積神經網絡的結構,利用全局平均池化層和一個線性映射層FC來進行分類操作。
本文根據每個階段輸出通道數和重復次數的不同來實例化具有不同規模的模型。表1為FuseNet及其變體的詳細模型分類架構,共有FuseNet-T、FuseNet-S和FuseNet-B三種不同的模型變體。對此作出一些定義:L為對應stage的重復次數,C為對應stage的輸出通道數。
3實驗與分析
3.1數據集與實驗設置
實驗使用ImageNet-1K[30]作為數據集來評估FuseNet的模型性能。ImageNet-1K數據集擁有大約130萬張圖片和1 000個類別,其中訓練集擁有120萬張圖片,測試集擁有超過5萬張圖片。ImageNet-1K擁有龐大的數據量和準確的圖片數據標簽,因而在該數據集上評估的結果通常作為模型的一般性能指標。圖6為ImageNet-1K數據集中的部分圖片。FuseNet通過改變模型各個階段模塊的重復次數和輸出通道數來實例化擁有不同規模的模型變體,分別為FuseNet-T,FuseNet-S和FuseNet-B。在PyTorch訓練環境下,使用8個GPU訓練300個epochs,采用Adam優化器,訓練損失函數采用交叉熵損失函數(cross entropy)。基于FuseNet的三種模型變體都擁有較小的參數量,故實驗使用batch size為1 024,學習率為0.000 2,權重衰減為0.01的設置來訓練FuseNet模型。數據增強方法參照ViT的增強策略進行簡單調整,即隨機大小剪裁和水平豎直翻轉。
3.2模型性能對比
實驗分別將FuseNet與一些先進的輕量級卷積神經網絡和Transformer模型進行了對比。FuseNet根據模型容量大小的不同擁有三種變體,實驗建立在參數量相似的情況下進行性能對比,考慮到基于Transformer的網絡模型參數量往往大于卷積模型,故分為基于卷積模型和Transformer模型兩組對比實驗。
表2展示了FuseNet與一些卷積骨干網絡的性能對比結果。FuseNet-T的準確率比MobileNetv1[13]、MobileNetv3[9]和ShuffleNetv2[14]分別高出了5.8%、6.8%和4.8%。對于參數量稍大的模型變體,FuseNet-S的參數大小為5.9 M,準確率達到了77.8%,比EfficientNet-B0[31]和MobileNetv2[16]的準確率分別高出0.7%和5.9%。參數量較DenseNet-121[32]下降了約25.4%,準確率提高了3.3%。圖7(a)使用折線圖直觀地可視化了實驗結果,與一些先進的輕量型卷積分類網絡進行對比,表明FuseNet在參數量相似的情況下,準確率方面表現出了明顯的優勢。表3展示了FuseNet與一些模型規模相近的Transformer模型的性能對比結果。對于參數量較小的模型,FuseNet-B比T2T-ViT-12[33]和Visformer-Ti[23]準確率分別提升了4%和1.9%。對于ConT-M[34]、PVT-S[29]、PiT-S[35]和DeiT-S[4],這類模型及其變體往往具有更大的參數量,且更加依賴于數據本身,在數據量龐大的數據集上訓練(如使用ImageNet-1K的超類ImageNet-21K進行訓練)或是使用一些高級的圖像增強方法。如DeiT中的注意力蒸餾策略后可以極大提升模型性能。FuseNet只使用了一些簡單的數據增強策略,在保持較低參數量的前提下準確率均高于上述模型。如FuseNet-B比ConT-M的準確率高0.3%,參數量下降了約0.23%。特別地,FuseNet-B在參數量遠小于DeiT-S和PVT-S的情況下準確率較上述模型分別高出0.6%和0.7%。圖7(b)展示了FuseNet-B與上述參數量相近的模型變體的對比結果,表明FuseNet在參數量和準確率方面表現均優于上述Transformer模型。
3.3消融實驗
FuseNet的特征提取部分采用EF block與FuseNet block相結合的設計。本小節將討論如何確定兩種模塊的最佳使用比例,即兩種不同類型模塊(EF block與FuseNet block)的重復次數。其次,實驗分別測試了FuseNet-B使用傳統ViT位置編碼和使用本文提出的可移動位置編碼的性能差別。
3.3.1不同模塊組合的性能比較
本小節共提出了E-E-F-F和E-F-F-F(即EF block和FuseNet block,每一個字母代表模型的一個階段,以下分別簡稱為E和F)兩種模塊的組合模式。由表4可以看出對于兩種模塊的重復堆疊次數的差異主要體現在stage2和stage3,即第二階段的EF block和第三階段的FuseNet block。對于E-E-F-F的組合模式,實驗展示了stage2和stage3堆疊6次的性能結果。當stage3堆疊9次時,模型的參數與計算量會出現不同程度的上升,準確率也達到了相同模式下最高的76.9%。對于E-F-F-F的模式,實驗表明相較于E-E-F-F模式,參數量沒有發生明顯的變化,而計算復雜度出現了顯著地增長,準確率也大幅提升。原因在于FuseNet block所擁有的全局注意力占據了模型大部分的計算復雜度,卷積神經網絡的局部感受野限制了模型長距離的信息交互能力,而更大的感受野往往意味著更大的模型容量和計算復雜度。E-F-F-F模式下stage3堆疊9次后參數量和浮點運算數(FLOPs)較stage2堆疊9次沒有巨大的增加,而準確率則由77.6%上升到了77.8%。由圖8可以看出E-F-F-F模式的FLOPs比E-E-F-F模式下的FLOPs略微高出一些,而模型準確率有了較大的提升。
為了更加全面地比較兩種模式的性能表現,圖9分別展示了E-F-F-F和E-E-F-F兩種模塊組合的訓練損失圖。由圖9可以看出E-E-F-F模式的訓練過程較為穩定,原因是較多的卷積特征提取模塊增加了模型的泛化能力,使得訓練過程較為平滑。而E-F-F-F模式較前者有訓練過程有略微的起伏,準確率方面有明顯的提升,原因是靈活的多頭注意力機制廣泛地收集上下文聯系,體現了全局注意力對于模型性能的重要性。故FuseNet采用E-F-F-F模式,stage2和stage3分別堆疊6次和9次。
實驗說明EF模塊擁有較小的參數量和計算復雜度,但是由于有限的感受野使得缺乏長距離的信息傳遞性能。而FuseNet block則彌補了這一缺點,同時可以利用EF block和FuseNet block合理的組合來改善多頭自注意力所帶來的計算負擔。這種不同模塊的組合方式令FuseNet在參數量較小的情況下擁有卷積局部特征提取的能力和Transformer模型優秀的全局注意力和長距離依賴關系,使得FuseNet很好地結合了兩種架構的優點。
3.3.2不同位置編碼的性能比較
表5展示了FuseNet-B分別使用傳統位置編碼和本文提出的可移動位置編碼的性能表現。當使用原始位置編碼時,參數量與FLOPs分別為14.6 M和4.8 G,準確率為80.3%。而放棄原始位置編碼使用可移動位置編碼后,參數量上升了0.2 M,FLOPs下降了0.1 G,準確率有了顯著的提高,到達了80.5%。總的來說,原始位置編碼使用一組簡單的可學習參數與輸入信息一起送入Transformer block中,雖然沒有增加模型規模卻因為復雜化了純凈的輸入信息而使得計算成本有所增高。可移動位置編碼利用深度可分離卷積提取有限感受野下的空間信息能力和參數量較小的優點,使得FuseNet在略微增加參數量的前提下準確率有了顯著地提升。
3.4注意力圖可視化
Grad-CAM[36]是一種通用的可視化模型識別圖像區域(注意力圖)的工具。圖10分別展示了MobileNetv3、ViT-B和FuseNet-B三種模型的可視化結果。第一行的輸入圖像全部來自于ImageNet-1K的訓練集,可視化類激活圖class activation map(CAM)通過Grad-CAM產生。由圖10可以直觀地看出,MobileNetv3作為一種輕量型的卷積神經網絡,由于有限的感受野使得其只關注特征圖像的一部分而忽略了鑒別物體的其他重要特征。ViT則完全依賴于多頭注意力機制的全局感受野而缺乏卷積模型的局部特征提取能力。ViT對物體的關注點遍布圖像各個部分,這會導致ViT在訓練過程中會學習到許多無關的特征信息,造成注意力退化及特征重復等問題。不僅加大了模型的計算復雜度,還使得準確率沒有因全局注意力而起到明顯的提升作用。FuseNet的整體架構采用卷積運算與自注意力機制相結合的結構。FuseNet block包含了由標準卷積構成的局部特征提取部分和由Transformer block組成的全局注意力提取部分,使得FuseNet在擁有全局視野的前提下也擁有對小范圍鄰域特征信息的識別能力。
4結束語
本文詳細研究了卷積神經網絡與Transformer模型的差異與聯系,提出了一種結合兩者優點的輕量型分類網絡,命名為FuseNet。將卷積運算與Transformer兩者的特性整合進同一個特征提取模塊中,使用卷積局部表示和注意力全局表示兩條路徑來分別構建特征信息。這種融合兩種不同特征表示的方法使得FuseNet擁有卷積神經網絡良好的泛化能力和Transformer模型獲取全局信息交互的能力,同時降低了模型巨大的參數量和計算損耗,解決了傳統Transformer模型難以在移動設備中發揮優勢的問題。深度學習在移動設備領域的實際應用還存在諸多待解決的瓶頸問題。如移動設備無法針對Transformer模型進行特定地優化操作等,這些問題還需要科研人員進一步深挖研究。
參考文獻:
[1]
Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].Communications of the ACM,2017,60(6):84-90.
[2]He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Deep residual lear-ning for image recognition[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2016:770-778.
[3]Dosovitskiy A,Beyer L,Kolesnikov A,et al.An image is worth 16×16 words:transformers for image recognition at scale [EB/OL].(2021-06-03).https://arxiv.org/abs/2010.11929.
[4]Touvron H,Cord M,Douze M,et al.Training data-efficient image transformers amp; distillation through attention[C]//Proc of Internatio-nal Conference on Machine Learning.2021:10347-10357.
[5]Graham B,El-Nouby A,Touvron H,et al.LEVIT:a vision transformer in convnet’s clothing for faster inference[C]//Proc of IEEE/CVF International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2021:12239-12249.
[6]蓋榮麗,蔡建榮,王詩宇,等.卷積神經網絡在圖像識別中的應用研究綜述[J].小型微型計算機系統,2021,42(9):1980-1984.(Gai Rongli,Cai Jianrong,Wang Shiyu,et al.Research review on ima-ge recognition based on deep learning[J].Journal of Chinese Computer Systems,2021,42(9):1980-1984.)
[7]梁緒,李文新,張航寧.人體行為識別方法研究綜述[J].計算機應用研究,2022,39(3):651-660.(Liang Xu,Li Wenxin,Zhang Hang-ning.Review of research on human action recognition methods[J].Application Research of Computers,2022,39(3):651-660.)
[8]李平,喻洪流.基于兩種分類標準的目標檢測算法綜述[J].計算機應用研究,2021,38(9):2582-2589.(Li Ping,Yu Hongliu.Survey of object detection algorithms based on two classification standards[J].Application Research of Computers,2021,38(9):2582-2589.)
[9]Howard A,Sandler M,Chu G,et al.Searching for MobileNetv3[EB/OL].(2019-11-20).https://arxiv.org/abs/1905.02244.
[10]Jin J,Dundar A,Culurciello E.Flattened convolutional neural networks for feedforward acceleration [EB/OL].(2015-11-20).https://arxiv.org/ abs/1412.5474.
[11]Mehta S,Hajishirzi H,Rastegari M.DiceNet:dimension-wise convolutions for efficient networks [EB/OL].(2020-11-30).https://arxiv.org/abs/1906.03516.
[12]Chollet F.Xception:deep learning with depthwise separable convolutions[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2017:1800-1807.
[13]Howard A G,Zhu Menglong,Chen Bo,et al.MobileNets:efficient convolutional neural networks for mobile vision applications [EB/OL].(2017-04-17).https://arxiv.org/abs/1704.04861.
[14]Ma Ningning,Zhang Xiangyu,Zheng Haitao,et al.ShuffleNet v2:practical guidelines for efficient CNN architecture design[C]//Proc of European Conference on Computer Vision.2018:116-131.
[15]Tan Mingxing,Le Q V.MixConv:mixed depthwise convolutional kernels [EB/OL].(2019-12-01).https://arxiv.org/abs/1907.09595.
[16]Sandler M,Howard A,Zhu Menglong,et al.MobileNetv2:inverted residuals and linear bottlenecks[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2018:4510-4520.
[17]游新冬,呂學強,李寶安,等.BETES:一種中文長文檔抽取式摘要方法[J].小型微型計算機系統,2022,43(1):42-49.(You Xindong,Lyu Xueqiang,Li Baoan,et al.Method of extractive summarization Chinese long documents[J].Journal of Chinese Computer Systems,2022,43(1):42-49.)
[18]田永林,王雨桐,王建功,等.視覺Transformer研究的關鍵問題:現狀及展望[J].自動化學報,2022,48(4):957-979.(Tian Yonglin,Wang Yutong,Wang Jiangong,et al.Key problems and progress of vision Transformer:the state of the art and prospects [J].Acta Automatica Sinica,2022,48(4):957-979.)
[19]Jin Y,Han D,Ko H.TrSeg:Transformer for semantic segmentation[J].Pattern Recognition Letters,2021,148:29-35.
[20]Li Kunchang,Wang Yali,Zhang Junhao,et al.Uniformer:unifying convolution and self-attention for visual recognition[EB/OL].(2022-02-19).[2022-05-14].https://arxiv.org/abs/2201.09450.
[21]Xiao Tete,Singh M,Mintun E,et al.Early convolutions help transformers see better[J].Advances in Neural Information Proces-sing Systems,2021,34:30392-30400.
[22]Wu Haiping,Xiao Bin,Codella N,et al.CVT:introducing convolutions to vision transformers[C]//Proc of IEEE/CVF International Confe-rence on Computer Vision.2021:22-31.
[23]Chen Zhengsu,Xie Lingxi,Niu Jianwei,et al.Visformer:the vision-friendly transformer[C]//Proc of IEEE/CVF International Confe-rence on Computer Vision.Piscataway,NJ:IEEE Press,2021:569-578.
[24]Srinivas A,Lin T Y,Parmar N,et al.Bottleneck transformers for visual recognition[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.2021:16519-16529.
[25]Zhou Daquan,Kang Bingyi,Jin Xiaojie,et al.Deepvit:towards deeper vision transformer [EB/OL].(2021-04-19).https://arxiv.org/abs/2103.11886.
[26]Ioffe S,Szegedy C.Batch normalization:accelerating deep network training by reducing internal covariate shift[C]//Proc of Internatio-nal Conference on Machine Learning.New York:ACM Press,2015:448-456.
[27]Dai Zihang,Liu Hanxiao,Le Q V,et al.CoatNet:marrying convolution and attention for all data sizes[C]//Advances in Neural Information Processing Systems.2021,34:3965-3977.
[28]Hu Jie,Shen Li,Sun Gang.Squeeze-and-excitation networks[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2018:7132-7141.
[29]Wang Wenhai,Xie Enze,Li Xiang,et al.Pyramid vision transformer:a versatile backbone for dense prediction without convolutions[C]//Proc of IEEE/CVF International Conference on Computer Vision.2021:568-578.
[30]Deng Jia,Dong Wei,Socher R,et al.ImageNet:a large-scale hierarchical image database[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.2009:248-255.
[31]Tan Mingxing,Le Q.EfficientNet:rethinking model scaling for convolutional neural networks[C]//Proc of International Conference on Machine Learning.2019:6105-6114.
[32]Huang Gao,Liu Zhang,Van Der Maaten L,et al.Densely connected convolutional networks[C]//Proc of IEEE Conference on Computer Vision and Pattern Recognition.2017:2261-2269.
[33]Yuan Li,Chen Yunpeng,Wang Tao,et al.Tokens-to-token vit:training vision transformers from scratch on ImageNet[C]//Proc of IEEE/CVF International Conference on Computer Vision.2021:558-567.
[34]Yan Haotian,Li Zhe,Li Weijian,et al.ConTNet:why not use convolution and transformer at the same time? [EB/OL].(2021-04-27).https://arxiv.org/abs/2104.13497.
[35]Heo B,Yun S,Han D,et al.Rethinking spatial dimensions of vision transformers[C]//Proc of IEEE/CVF International Conference on Computer Vision.2021:11936-11945.
[36]Selvaraju R R,Cogswell M,Das A,et al.Grad-CAM:visual explanations from deep networks via gradient-based localization[C]//Proc of IEEE International Conference on Computer Vision.2017:618-626.
收稿日期:2022-05-14;修回日期:2022-06-27基金項目:國家自然科學基金資助項目(61074087,61703277)
作者簡介:田鑫馳(1999-),男,陜西西安人,碩士研究生,主要研究方向為深度學習與圖像處理;王亞剛(1967-),男(通信作者),山西忻州人,教授,碩導,博士,主要研究方向為系統建模與智能控制(ygwang@usst.edu.cn);尹鐘(1988-),男,浙江人,副教授,碩導,博士,主要研究方向為基于腦電信號的深度學習.