王彩玲,魏清晨,仇 真,蔣國平
(1.南京郵電大學 自動化學院、人工智能學院,江蘇 南京 210023 2.蘇州科技大學 電子與信息工程學院,江蘇 蘇州 215000)
深度神經(jīng)網(wǎng)絡(DNN)在廣泛的應用中取得了顯著的成果,如圖像分類[1]、機器翻譯[2]、目標檢測[3]等。 深度學習模型在大量已標注樣本中進行學習,利用梯度更新策略不斷更新網(wǎng)絡權(quán)重的參數(shù),網(wǎng)絡模型利用從圖像上學習到的表征知識,用于圖像識別和分類任務。 但是從大規(guī)模數(shù)據(jù)集上訓練深度模型存在著一些問題,例如模型訓練不僅需要大量的已標注的訓練樣本,并且每次訓練新的模型需要很大的時間成本。 另外,已訓練好的模型不能識別新類,即模型面對新的分類任務時,往往需要重新訓練適合于當前任務的模型。 而在實際情況下,無法獲得大量標注好的樣本,或者獲得所需樣本的代價過高。 由于傳統(tǒng)的圖像分類任務存在以上的局限性,受到人類能夠快速適應少量樣本學習能力的啟發(fā),研究人員開始逐漸關(guān)注小樣本學習(Few?shot Learning)[4]。 小樣本學習的研究緩解了上面出現(xiàn)的問題,網(wǎng)絡模型從少量的樣本中快速地抽象出圖像中具有代表性的特征,并使得網(wǎng)絡模型在遇見相似任務時能夠快速地對比出圖像的重要信息,從而完成對新類別的分類,不需要重新訓練模型。 具體而言,小樣本學習也是圖像分類問題的一個分支,首先在具有相似任務的大量樣本上預訓練深度網(wǎng)絡,使模型不斷學習圖像的公共知識,然后利用已訓練好的模型對當前小樣本任務進行微調(diào),考慮到訓練樣本與當前任務分布的不平衡性,并具有很大的差異性,所以在訓練中需要快速地提高模型的適應能力。
小樣本學習方法與傳統(tǒng)的深度學習不同的是,該方法對包含少量類別的樣本數(shù)據(jù)也能獲得較好的分類結(jié)果,而不需要對大規(guī)模的標注標簽樣本進行訓練,小樣本學習關(guān)注的是圖像之間的通用特征,因此能夠更好地適應新的分類任務。 對于小樣本學習任務,遷移學習(Transfer Learning)[5-6]是比較常用的方法,即神經(jīng)網(wǎng)絡在大量樣本上進行訓練,最后再遷移到當前任務的數(shù)據(jù)集上,通過微調(diào)訓練好的網(wǎng)絡,最終得到一個能夠快速適應目標任務的模型。然而,由于實際小樣本分類任務中目標樣本集中每類的樣本數(shù)量較少,無法很好地利用模型微調(diào)方法[7]來學習實際樣本中的類別信息。
據(jù)此小樣本領域出現(xiàn)了很多常用的方法,例如數(shù)據(jù)增強(Data Augmentation)[8]、元學習(Meta Learning)[9]、度量學習(Metric Learning)[5]。 針對小樣本分類任務中樣本不足的問題,最直接的方式是對圖像進行旋轉(zhuǎn)、加噪、裁剪、壓縮等[10]來擴充樣本的數(shù)量,以此來達到擴充樣本的目的。 為了更好地使數(shù)據(jù)樣本服從真實的樣本分布,利用生成對抗網(wǎng)絡(Generative Adversarial Nets, GAN)[11]來增加目標數(shù)據(jù)集的樣本,GAN 主要分為生成器網(wǎng)絡和鑒別器網(wǎng)絡兩部分。 主要思想就是利用生成器不斷模仿已知樣本,生成與真實樣本無法區(qū)分的樣本。 鑒別器則用來區(qū)分輸入樣本中的生成樣本和真實樣本。 雖然上述方法都在一定的程度上擴充了訓練樣本,但是當前任務的數(shù)據(jù)分布較少,即可學習的樣本數(shù)很少,導致可擴充的樣本空間比較有限,使得增強的樣本仍然不能夠覆蓋真實的樣本分布,從而很難從根本上解決因訓練樣本不足帶來的過擬合現(xiàn)象。元學習的方法是讓網(wǎng)絡模型從少量的標簽樣本中學習任務之前的共性,確保元學習能夠快速地解決新任務的能力,這種方法比較適合小樣本的訓練任務,受到研究者的青睞。 模型利用學習好的模型權(quán)重,對任務層面上的模型更新策略[12]或者RNN(Recurrent Neural Network)[13]構(gòu)建外部記憶存儲器(External Memory)[14]來學習大量樣本的經(jīng)驗,以此在測試時比對出真實的類別信息。 元學習模型(Model?Agnostic Meta?Learning,MAML)[15]提 出 的是一種與模型無關(guān)的元學習方法。 元學習網(wǎng)絡通過構(gòu)建元學習器和基學習器(基學習器用于預測,元學習器用于訓練基學習器)使得模型訓練出一組初始化參數(shù)。 通過大量的先驗知識不斷修正初始化的參數(shù),使其能夠在不同種類的樣本上快速收斂。 度量學習[16]的方法主要是在學習樣本數(shù)據(jù)和網(wǎng)絡所提取特征之間的映射關(guān)系,將樣本數(shù)據(jù)特征向量映射到特征空間上。 訓練過程使得相同類別的樣本之間距離不斷縮小,不同類別之間的樣本距離逐漸增大,最后利用距離函數(shù)計算圖像數(shù)據(jù)之間相似度,并根據(jù)相似度將查詢集樣本劃分到正確的支持集中。
基于度量學習在小樣本分類任務上取得了很好的效果,本文也采用基于度量學習方法,主要采用episode 方法來模擬小樣本學習[16-17]。 圖像在分類過程中使用頂層的特征進行度量學習,從特征提取的角度來看,頂層的樣本特征分辨率較低,圖像的通道信息和位置信息等細節(jié)信息基本丟失,導致小樣本分類的精度較差[18]。 因此如何能夠豐富圖像的頂層特征,使之能夠更好地融合圖像的位置信息和通道信息成為了研究的重點。
本文主要的貢獻:
(1) 分析了小樣本學習的現(xiàn)狀,提出了一種基于多角度學生子注意力網(wǎng)絡框架MCP。 從不同的角度出發(fā)構(gòu)建不同的學生分支,迫使網(wǎng)絡關(guān)注圖像的全局表征信息。 驗證了MCP 能夠挖掘出圖像的細節(jié)信息,增強了網(wǎng)絡的特征提取能力,有利于提升小樣本的分類準確性。
(2) 本文將互學習思想應用到網(wǎng)絡模型中。迫使兩個分支預測的概率分布能夠相互監(jiān)督,相互學習,防止單角度的注意力網(wǎng)絡過早地出現(xiàn)過擬合。
(3) 在多個基準測試集上進行了大量實驗,實驗結(jié)果優(yōu)于已有算法,驗證了框架的有效性。
小樣本學習方法在訓練階段構(gòu)造出多個不同的元任務,通過在這些元任務上的學習,學習到一個能夠快速適應新任務的模型。 與傳統(tǒng)的分類任務不同,小樣本學習的訓練集Dtrain和測試集Dtest由來自同一類的樣本組成,小樣本學習旨在解決Dtrain和Dtest之間標簽空間不相交的問題。 遵循Vinyals 等人定義的標準N?way k?shot 分類場景來研究少鏡頭學習問題。 為了能夠構(gòu)建不同的新任務,支持集和查詢集都會隨機產(chǎn)生不同類別組合,通過不斷進行周期性迭代訓練的方式,使之任務更加具有普遍性,使得網(wǎng)絡能夠提取出圖像之間的通用特征,更能適應新的測試任務。
支持集和查詢集的公式定義為
式中,Ssupport表示支持集,Squery表示查詢集,x與y分別表示支撐集中圖像以及其對應的標簽,N×K與C分別表示支撐集與查詢集中圖像的總數(shù)量。
每次從目標數(shù)據(jù)集合Cbase中隨機選出N個類別,再從已有的N個類別中隨機選取k個樣本作為支持集Ssupport,即為N?way k?shot 再從已選的N個類別中隨機選出m個樣本組成查詢集Squery,一組查詢集和一組支持集組成一個task 任務。 學習不同的task 分類,不同的task 之間類別不同,訓練任務與測試的類別不相交。
注意力機制(Attention Mechanism)[19]的提出是源自于人類著重關(guān)注視覺場景中的一部分,使網(wǎng)絡在全面觀察整張圖像時快速關(guān)注圖像的重點區(qū)域,把主要的視覺資源投入到圖像的重點區(qū)域中,對圖像的焦點區(qū)域信息著重處理,從而加強網(wǎng)絡的特征提取能力。
通道注意力機制:通道注意力機制在SENet[20]網(wǎng)絡中被提出,關(guān)注圖像的通道信息旨在找出圖像每個通道之間的內(nèi)部依賴性,通過給圖像不同的通道賦予不同的注意力權(quán)重的方式,得到通道注意力權(quán)重向量,從而豐富了圖像的全局信息。
位置注意力機制:關(guān)注圖像中位置信息,對圖像每一個位置的特征進行加權(quán)聚合得到位置注意力權(quán)重向量,使之能夠更加關(guān)注圖像的特征分布。
互學習[21]是近年來在許多領域興起的一種新的蒸餾模式,它打破了傳統(tǒng)的“師生”結(jié)構(gòu),即固定的監(jiān)督方向。 通過對不同的分支子網(wǎng)絡采用隨機初始化,利用KL(Kullback?Leibler)散度使分支間預測的差異性減小。 網(wǎng)絡在初期階段監(jiān)督損失較大,分支間的交互損失較小,每個分支都受到監(jiān)督損失和其余分支之間的交互損失的約束。
在實際的生活中,不同的人面對相同的問題,由于考慮的角度不同,解決問題的方法也不會相同。受到此現(xiàn)象的啟發(fā),我們提出了一種基于多角度學生子注意力分支網(wǎng)絡的互學習網(wǎng)絡以便于從不同的注意力角度來求解小樣本分類問題。 如圖1 所示,多角度學生子注意力網(wǎng)絡框架MCP 主要包含3 個部分:基礎特征提取器、多角度學生子注意力模塊、互監(jiān)督學習模塊。
圖1 多角度學生子注意力網(wǎng)絡架構(gòu)示意圖(MCP)
在MCP 中將Conv64 所提取的特征視為后續(xù)子注意力分支學習網(wǎng)絡的先驗知識,進而利用通道注意力和位置注意力著重從不同的角度關(guān)注圖像的全局信息,并生成兩個學生分支,最后利用不同角度的注意力預測的概率分布進行互監(jiān)督學習,迫使分支網(wǎng)絡能夠相互模仿,相互學習,從而抑制網(wǎng)絡在訓練過程中出現(xiàn)過擬合現(xiàn)象。
多角度學生子注意力模塊包含了位置局部子注意力學生分支以及通道局部子注意力學生分支。
2.2.1 位置局部子注意力分支
圖像中的物體是由各個位置的像素點拼接而成,提取越豐富的圖像細節(jié)信息對于圖像分類的準確性越重要,考慮到高維圖像特征的位置細節(jié)信息逐漸丟失,不利于圖像的分類,使用的局部特征不能使網(wǎng)絡關(guān)注圖像的位置信息。 為了在圖像局部特征上建立豐富的上下文關(guān)系模型,考慮到注意力可能會集中于不重要的對象特征上,我們添加了一個位置注意力模塊,能夠從全局的角度適應地整合圖像的相似信息,著重關(guān)注圖像的位置信息,作為分類的參考依據(jù)。 對于特定位置的特征進行加權(quán)求和,有選擇地聚合每一位置的特征,相似的特征彼此相互關(guān)聯(lián),根據(jù)兩個位置之間的相似度來確定權(quán)重,能夠在一定的程度上解決上述問題。 如圖2 所示,圖像的位置空間上下文信息獲取包含以下步驟:
圖2 位置局部子注意力流程
給定一個局部特征B∈RC×H×W,首先將其輸入到卷積層中,分別生成新的特征圖矩陣C、D和E,對特征圖矩陣C進行調(diào)整使得m=H×W,然后與特征圖矩陣D進行矩陣乘法,接著再通過softmax得到位置注意力圖Q即
由式(4)可知,最終的輸出特征是原始特征和注意力圖的加權(quán)和,因此生成的特征圖B′具有上下文信息的全局視圖,根據(jù)位置注意力矩陣可以選擇性地聚合上下文信息,使得圖像相似的語義特征相互促進,從而豐富了圖像的表征信息。
2.2.2 通道局部子注意力分支
圖像的高維特征都可以看作是類的響應,圖像經(jīng)過卷積運算后都會產(chǎn)生新的特征圖,每個新的通道特征向量都是局部區(qū)域特征的表達,我們構(gòu)建了一個通道全局子注意模塊來對圖像通道信息進行建模。 從通道信息的角度出發(fā),關(guān)注圖像之間的通道依賴關(guān)系,作為另一個求解問題的判別方法。 本文采用壓縮的方式對圖像進行全局池化,把每一個通道的特征向量映射成全局特征向量,以此獲得全局的圖像描述特征,在經(jīng)過激發(fā)后,可以進一步抓取通道之間的關(guān)系,網(wǎng)絡能夠獲得各個通道之間的非線性關(guān)系,保證通道之間的關(guān)系不互斥。 我們利用特征圖在各個通道的信號來獲取通道信息的映射,采用的全局池化去除了空間的影響,讓網(wǎng)絡只關(guān)注通道間的依賴信息。 對圖像的每一個通道賦予一個權(quán)重來代表該通道與關(guān)鍵信息的相關(guān)程度,通過網(wǎng)絡學習出的權(quán)重來表示圖像的相關(guān)性大小。 通道全局子注意力模塊的結(jié)構(gòu)如圖3 所示。
圖3 通道局部子注意力流程
通道注意力模塊與位置注意力模塊的計算方式不同,直接對輸入的初始特征A∈RC×H×W進行計算獲得通道注意力圖X,通道注意力矩陣依靠通道之間的依賴關(guān)系生成。 注意力矩陣X通過一個softmax 計算生成,即
式(4)中的系數(shù)β從0 開始逐漸學習,生成的E′就是全局通道的上下文信息的特征圖。 每個通道獲得的特征來自于通道注意力特征和原始特征的加權(quán)和,這有助于提高通道全局子注意力對圖像信息的表征能力。
互學習模塊通過位置子注意力分支和通道子注意力分支進行互監(jiān)督學習來抑制單個網(wǎng)絡容易出現(xiàn)的過擬合現(xiàn)象。 在其一個分支中,利用圖像的監(jiān)督信息計算出該分支的分類損失,同時利用兩個分支各自的網(wǎng)絡預測概率分布之間的KL 散度來使得兩個分支互相模擬對方網(wǎng)絡的概率分布,從而增加自身模型的魯棒性。 將位置注意力分支預測的概率分布記為Pposition,另一個分支預測的概率分布記為Pchannel,分支在計算自己監(jiān)督損失的同時,也會受到其余分支對它的約束,即需要衡量兩個分支之間對同一種樣本的預測值之間的距離,則互監(jiān)督損失記為
式中,LSSL表示小樣本分類的監(jiān)督損失,LKL則表示不同分支之間的互監(jiān)督損失。
多角度學生子注意力網(wǎng)絡的核心在于多角度學生子注意力模塊和互學習模塊,其中不同的注意力從不同的角度提取圖像表征,使得提取的特征富含了不同角度的信息。 融入位置和通道注意力的特征還能從不同的粒度上反映圖像的潛在特征,豐富了圖像特征的表達[7]。 網(wǎng)絡將特征映射到高維空間,對不同的角度注意力所提取的特征進行了相似性度量,查詢集和支持集之間的距離越小,表明兩者同屬于一個類別。 考慮到添加的注意力會使得圖像出現(xiàn)過擬合,引入互學習模塊,讓單一分支受到其余分支的監(jiān)督,最終的分類結(jié)果受到分類和互監(jiān)督共同作用,進一步提升了網(wǎng)絡的分類能力。
我們在常用的數(shù)據(jù)集Mini?ImageNet 和Tiered?ImageNet 上對設計的網(wǎng)絡框架在解決小樣本分類問題上的性能進行了實驗驗證并和先進的方法進行比較。 同時,進行了消融實驗,驗證了模型中相關(guān)模塊的有效性。
Mini?ImageNet 是ImageNet 的子集,常用于小樣本分類任務中。 它包含100 個類,每個類別包含600張圖像,把樣本集分為64,16 和20 個類,分別用于訓練、驗證和測試。 Tiered?ImageNet 總共有608 個類別,每個類有1 281 圖像。 在該數(shù)據(jù)集上,對它進行了拆分,對351、97 和160 個類分別用于小樣本學習的訓 練、驗 證 和 測 試。 對Mini?ImageNet 和Tiered?ImageNet,所有圖像的分辨率都調(diào)整為84×84。
本文所有的實驗均在Ubuntu18 的環(huán)境下測試,由于深度學習的特點,模型的性能很大程度上取決于網(wǎng)絡結(jié)構(gòu)的設計和參數(shù)的初始化。 為了公平,選擇了Conv64 作為特征提取器。 在訓練和測試階段按照標準的元學習方法,即在訓練和測試的每一個任務中,數(shù)據(jù)嚴格按照N?way k?shot 形式。 小樣本分類任務的目標是判斷查詢集圖像和支持集中的哪一張圖像屬于同一類別。 和其他論文一樣,均采用5?way 1?shot 和5?way 5?shot 的形式來衡量模型的準確率。 在訓練過程中,本文選用Adam 作為優(yōu)化器,設置網(wǎng)絡學習率為0.001,每訓練10 000 次,學習率減半。 參數(shù)采用Normal 方式進行初始化,其余參數(shù)都采用默認方式。 從訓練集中隨機抽取10 000 個任務作為一個Epoch,訓練50 個epoch。 每次新任務都隨機抽取5個類別,每個類別的訓練數(shù)據(jù)只有1 個樣本,再從已選擇的每個類別中隨機抽取15 張作為支持集,共75張支持集即組成一個5?way 1?shot 任務,判斷這75 張圖片所屬于5 個類別中的哪一類。 5?way 5?shot 和5?way 1?shot 類似,不同的是每個隨機抽取的5 個類別都有5 個樣本,在測試過程中,在測試數(shù)據(jù)集中隨機抽取600 個任務,以top1 的平均準確率作為當次的模型準確率,并重復5 次,最終5 次的平均值記為最后的模型精度。
對提出的MCP 方法和當前最先進的小樣本學習方法在Mini?ImageNet 和Tiered?ImageNet 上進行了對比,結(jié)果分別如表1 和表2 所示。 實驗結(jié)果表明,與其他的先進方法相比,本文在分類任務上的準確率有較大的提升,說明本文模型能夠更加有效地用于小樣本的分類任務。 遵循上述實驗設置的描述,本文對5?way 1?shot 和5?way 5?shot 這兩個規(guī)模進行了比較,準確率是3 000 個任務的場景的平均值。
3.3.1 Mini?ImageNet 數(shù)據(jù)集
為了評估模型的性能,將MCP 模型與其他的優(yōu)秀的小樣本分類模型在Mini?ImageNet 數(shù)據(jù)集上進行比較,本文模型在5?way 1?shot、5?way 5?shot 任務上都獲得了不錯的表現(xiàn),實驗結(jié)果如表1 所示。
表1 Mini?ImageNet 上的5?way 任務的分類精度
續(xù)表
從表1 中可以發(fā)現(xiàn),本文提出的基于多角度學生子注意力網(wǎng)絡MCP 與其他的小樣本分類方法相比,在Mini?ImageNet 數(shù)據(jù)集上的精度提升比較顯著。 在5?way 1?shot 任務上,與ATLNet 相比,準確率 提 高 了2. 24%。 在5?way 5?shot 任 務 上, 比ATLNet 準確率提高0.65%。 由于Mini?ImageNet 是一個多種類的數(shù)據(jù)集,所以在該數(shù)據(jù)集上有好的效果,可以從側(cè)面驗證本文的模型具有較好的魯棒性。
3.3.2 Tiered?ImageNet 數(shù)據(jù)集
為了驗證模型的泛化能力,將基于多角度學生子注意力網(wǎng)絡MCP 模型在Tiered?ImageNet 數(shù)據(jù)集上采取了5?way 1?shot、5?way 5?shot 兩種實驗方式,實驗結(jié)果如表2 所示。
表2 Tiered?ImageNet 上的5?way 任務的分類精度
從表2 中可以看出,基于多角度學生子注意力網(wǎng)絡MCP 在5?way 1?shot、5?way 5?shot 任務上,與其他的小樣本分類方法相比,MCP 在Tiered?ImageNet數(shù)據(jù)集上取得了較好的效果。 在5?way 1?shot 任務上,與ADM 相比,準確率提高了3.51%。 在5?way 5?shot 任務上比ADM 準確率提高了2.78%。 通過分析可知,本文提出的基于多角度學生子注意力網(wǎng)絡從不同角度上提取圖像更細致的特征信息,利用互學習的方法使各個子分支網(wǎng)絡相互監(jiān)督學習,此舉能夠有效地緩解網(wǎng)絡在訓練過程中出現(xiàn)過擬合現(xiàn)象,在不同數(shù)據(jù)集中仍然具有較強的表示能力,使模型具有良好的泛化能力。
為了分析每個模塊對網(wǎng)絡模型產(chǎn)生的影響,本文使用控制變量法在Mini?ImageNet 數(shù)據(jù)集上進行了消融實驗:我們的模型MCP 消去位置注意力分支僅保留通道注意力分支,與消去通道注意力分支僅保留位置注意力分支和MCP。 消融實驗的最終結(jié)果如表3 所示。
表3 提出的網(wǎng)絡在單一注意力網(wǎng)絡下的情況
結(jié)果表明,同時使用兩個不同角度的學生子注意力模塊對于模型的分類精度會有很大程度的提升;若僅僅使用單一注意力,會導致模型對于圖像的抗噪聲能力較弱,模型的分類精度不高。 因此,本文在5?way 1?shot、5?way 5?shot 任務上引入互監(jiān)督學習方法,將同時使用兩個模塊使得網(wǎng)絡的提升作用更大,從而極大地抑制了網(wǎng)絡的過擬合現(xiàn)象。
在實際的生活中,不同的人面對相同的問題,由于考慮的角度不同,解決問題的方法也不會相同。本文提出的多角度學生子注意力網(wǎng)絡框架MCP,從不同角度來求解小樣本的分類問題;學生子注意力網(wǎng)絡從位置和通道特性角度出發(fā),有針對性地提取圖像之間的位置和通道信息,豐富了網(wǎng)絡提取圖像特征的能力;引入了互學習的思想,有效地抑制了子注意力分支網(wǎng)絡在訓練過程中出現(xiàn)的過擬合現(xiàn)象,提高了小樣本分類的準確率。 在未來的研究中,可以考慮添加不同的提取圖像特征的角度,構(gòu)建多組學生分支,通過更多角度的學生分支來提升分類的準確率。