杜 炎,呂良福,焦一辰
(天津大學數學學院,天津 300350)
近年來,深度神經網絡的發(fā)展大大提高了圖像分類的準確性與有效性。然而,這種方法需要大量的標記數據進行訓練,數據不足會導致過擬合、泛化差等一系列問題。為了解決這個缺陷,只需少量標記數據的小樣本學習應運而生[1]。
對于一個新事物,人類只需要從簡單的幾張圖片就可以認識它,小樣本學習正是模仿這種能力,使得模型在學習一定量的數據后,只需要少量的樣本就可以對新的圖像進行正確分類。一個簡單的小樣本學習方法是使用圖像增強的手段[2-3],通過對一張圖片進行旋轉、放縮等操作來擴充數據集,再利用擴充后的數據集訓練模型。元學習的引入加速了小樣本學習的研究進度,它將幾張圖片劃分為一個任務,利用一個個任務進行模型訓練,能夠有效地防止小樣本學習因數據過少而產生過擬合。早期小樣本學習在圖像分類中的研究大都是在模型結構、度量函數的基礎上展開的,比較典型的有模型無關的元學習(Model Agnostic Meta Learning,MAML)方法[4]通過調整梯度學習規(guī)則來進行模型參數更新,匹配網絡(Matching Network,MN)[5]利用余弦相似度度量目標圖像與各類圖像的相似性進行分類,以及原型網絡(Prototypical Network,PN)[6]通過度量目標圖像到各個類別原型的歐氏距離來進行分類等方法。后期比較新穎的解決小樣本學習方法也是如此,如利用語義信息進行圖像分類[7]、圖神經網絡方法[8],還有一些類似于多模型融合方法[9]等。
這些方法無論從理論上還是數值實驗方面,均取得了不錯的效果;但它們仍然忽視了數據集具有模糊性的缺陷,這會對實驗結果產生一定的影響。本文受深度模糊神經網絡[10]的啟發(fā),引入模糊神經網絡作輔助嵌入來降低數據的模糊性和不確定性。模糊技術可以模擬人類的邏輯推理,執(zhí)行判斷和決策功能,模糊神經網絡在模糊的技術上增加學習能力,能夠有效降低數據集中模糊和不確定的部分。深度模糊神經網絡[10]一文初次將模糊技術引入到深度學習,文中將模糊神經網絡和簡單的全連接神經網絡進行結合,驗證了模糊神經網絡確實對降低數據的不確定性、模糊性有一定幫助。本文考慮到在小樣本分類任務中也存在著數據模糊的情況,但文獻[10]中模型忽視了圖像的空間結構信息,且不適用于小樣本分類,故嘗試將其模糊神經網絡部分抽離引入到原型網絡中,作為輔助特征提取器,通過對數據集中的模糊數據進行邏輯推理來提升小樣本分類任務的精度。本文將模糊推理與神經網絡進行知識融合得到了新的特征提取器如圖1 所示。對于輸入圖像,模型從模糊部分(方形部分)、神經網絡部分(圓形部分)獲取圖像知識,形成最終的特征向量;再利用得到的特征向量,應用原型網絡來對圖像進行分類。在這種機制下,本文模型可以利用模糊推理和神經網路各自的優(yōu)勢來獲取最佳性能。
圖1 帶有模糊推理的特征提取器Fig.1 Feature extractor with fuzzy reasoning
本文的主要工作總結如下:1)將模糊神經網絡系統(tǒng)應用于小樣本學習以獲取圖像的模糊知識,相比傳統(tǒng)CNN 結構,帶有模糊推理的模型效果更優(yōu);2)本文方法在基于度量的小樣本學習方法上取得了很大的性能提升,如原型網絡;3)本文模型僅在特征提取階段做出改進,極易推廣,可以推廣到其他相關任務中;4)在小樣本分類的多個數據集上驗證了模型的有效性。
小樣本學習的提出,成功克服了深度學習依靠大量標簽數據的缺陷,元學習的引入也防止小樣本學習因數據過少而過擬合。早期的小樣本學習主要使用基于模型、基于度量等方法。其中基于模型的方法主要是調整模型的結構來達到快速更新參數的目的。例如,元網絡(Meta Networks,MN)[11]跨任務學習元級知識,并通過快速參數化來快速泛化偏差。模型包含兩個學習器,分別為基礎學習器和元學習器。元學習器用于學習任務之間的泛化信息,并使用記憶機制保存這種信息;基礎學習器用于快速適應新的任務,并和元學習器交互產生預測輸出。MAML方法通過調整梯度學習規(guī)則的方式來改進模型。該方法在支撐集上訓練一組初始化參數,更新方式為然后在初始參數的基礎上利用查詢集進行一步或多步的梯度調整,更新方式為θ=θ-來達到僅用少量數據就能快速適應新任務的目的。該方法模型簡單有效,同時能夠與任何經過梯度下降訓練的模型兼容,并且適用于各種不同的學習問題,包括分類、回歸和強化學習,因此不少學者對其進行了擴展,如任務無關的元學習(Task Agnostic Meta Learning,TAML)[12]、元隨機梯度下降(Meta-Stochastic Gradient Descent,M-SGD)[13]等方法。
基于度量的方法主要思想是:若一個模型在某一域上具備了度量兩張圖像相似度的能力,那么給定一張目標域的樣本圖像,就可以找到與它相似度最高的帶標簽實例。它采用一種簡單的架構來學習深度嵌入空間進行知識傳遞,目標是學習一個從圖像到嵌入空間的映射,在該空間中,同一類圖像的類內距離最小,而不同類圖像的類間距離最大?;诙攘繉W習的方法主要依賴于學習一個信息相似性度量,這一點已被有代表性的工作證明了[14-15]。其中,匹配網絡利用神經網絡作特征提取器提取圖像特征,并利用余弦相似度來做分類的度量標準。在源域上將少量帶有標簽的圖片和大量無標簽的圖片同時進行訓練,通過無標簽目標分類的準確率來輔助特征提取器進行訓練。這種類似于元學習的方法,可以很自然地過渡到目標域。同時,為了更好地挖掘訓練過程中的完整信息,匹配網絡利用雙向長短期記憶網絡來幫助模型學習注意力機制,從而使得度量學習方法更加魯棒。PN 借助卷積神經網絡提取圖像特征,獲取圖像的特征向量,利用歐氏空間的原型損失函數學習一個度量空間,在這個空間中,可以通過計算到每個類別原型表示的歐氏距離來進行分類。由于這種方法的簡單性和良好的性能,許多擴展改進方法被提出。例如,半監(jiān)督小樣本學習[16]方法證明利用未標記樣本比純粹監(jiān)督的原型網絡效果更好;任務自適應度量算法(Task Dependent Adaptive Metric,TDAM)[17]使用度量縮放方法來改變小樣本算法的參數更新方式。
隨著小樣本學習的不斷研究與發(fā)展,新的方法逐漸被提出,如基于語義和基于圖神經網絡等。文獻[18-19]中指出,結合附加語義信息可以對小樣本學習進一步改進。在文獻[20-21]中結合圖神經網絡的相關知識對小樣本學習進行優(yōu)化。此外,還有一些其他研究也為小樣本學習的發(fā)展做出了重大貢獻,如在文獻[22]中采用數據增強的方法來處理小樣本學習任務等。
考慮到系統(tǒng)的復雜性與所需要的精確性之間的矛盾,且一般復雜系統(tǒng)所具有的不精確性、不確定性,模糊邏輯和神經網絡作為兩種基本方法,各有優(yōu)缺點。神經網絡具有適應性學習的優(yōu)勢,模糊理論則具有模擬人的邏輯推理的能力,模糊深度學習結合二者各自的優(yōu)勢具有邏輯推理和自適應性學習能力[23-25],以及模糊神經網絡本身具有可解釋性[26-28]。
模糊集[29]的概念以及隸屬函數的提出,為處理具有模糊性和不確定性的信息提供了理論基礎。模糊理論在模糊邏輯[30]、模糊推理[31]等相關領域得到了廣泛的應用。隨后,人們逐漸將模糊邏輯同人工神經網絡相結合形成模糊神經網絡,改進了模糊邏輯不能自適應學習的缺陷。Bodyanskiy等[23]提出了一種基于廣義模糊神經元的自編碼器,以及它的快速學習算法。該編碼器同人工神經網絡類似,采用多維非線性突觸相連接,在每個突觸內部采用模糊推理。整個系統(tǒng)可以作為深度學習系統(tǒng)的一部分,具有學習速度快、調整參數少的特點。深度層疊神經網絡(Deep Cascade Neural Network,DCNN)結構[24]是對模糊神經網絡中神經元的一種擴展,前一個輸入信號在神經元中運算同時,將結果傳遞給后一個神經元運算。這種結構較為簡單,并且具有處理速度快、近似性好的特性。另外帶有輔助支持向量機(Support Vector Machine,SVM)級聯的深度模糊規(guī)則圖像分類器[25]指出當主分類器為單個圖像生成兩個高度可信的標簽時,基于SVM 的輔助器起到了沖突解決器的作用,該方法在手寫字識別的問題上具有較高的精度。
傳統(tǒng)的深度學習模型結構常被看作一個黑盒子,處理過程不透明,于是有一大批學者嘗試利用模糊神經網絡的邏輯推理結構來解決神經網絡不能夠解釋的性能。Yeganejou等[26]建議通過將深度神經網絡與模糊邏輯相結合來創(chuàng)建更易于理解的深層網絡,提出了一種可解釋的深度卷積模糊聚類器。該聚類器首先使用卷積神經網絡作為特征提取器,然后在得到的特征空間中進行模糊聚類,之后再使用Rocchio的算法對數據點進行分類。Xi等[27]提出了一種帶有模糊邏輯規(guī)則的卷積神經網絡結構,該結構是通過創(chuàng)建一個神經模糊分類器的分類層,并將其集成到深度神經網絡結構中來實現的。這里的分類層是利用徑向基函數(Radial Basis Function,RBF)神經網絡來實現。通過這種結構,可以直接從深度學習結構中提取基于語言模糊邏輯的規(guī)則來提高整個系統(tǒng)的可解釋性。
此外,現實世界中的數據往往存在一定的模糊性和不確定性,而傳統(tǒng)的深度學習模型是完全確定的,不能解決數據的模糊性和不確定性。這一問題給數據的理解和分類任務帶來了極大的挑戰(zhàn)。Deng 等[10]為降低數據的不確定性,提出了一種將模糊學習的概念引入到深度學習中來克服固定表示法缺陷的模糊系統(tǒng)。該系統(tǒng)的主體是一個深層神經網絡,它從模糊和神經表示兩方面獲取信息,然后,將這兩種不同的信息融合在一起,形成最終的分類表示。區(qū)間2型直覺模糊LSTM 神經網絡[32]一文提出了一種基于長短期記憶機制的區(qū)間型直覺模糊神經網絡。該網絡將長期-短期機制引入模糊神經網絡,有效地提高了長期知識的記憶能力。
不同于上述框架,本文模型利用模糊神經網絡能夠降低數據模糊性和不確定性的特性,將其應用于小樣本學習中來對小樣本現有學習方法進行改進。其次,考慮到原型網絡較為基礎,比較簡單有效,本文將模糊知識應用于原型網絡使得模型從模糊神經網絡和原型網絡兩個方面獲取知識,通過知識融合手段得到圖像最終特征,從而進行分類。
小樣本學習中,將數據集D={(x1,y1),(x2,y2),…,(xn,yn)}分成兩個部分,分別為模型訓練數據集Dtrain和模型測試數據Dtest,其小樣本學習每次的訓練方式為N-way,K-shot,即從訓練集Dtrain中隨機抽取N個類別,每個類別包含K個樣本作為支撐集S,在剩余示例中抽取查詢集Q。小樣本學習就是在給定的支撐集下,最小化查詢集中示例的預測損失。
考慮到小樣本學習的基本模型中,原型網絡較為簡單有效,本文特將模型建立在它之上,通過實驗證明模型的有效性。
其中:Si為支撐集S中的第i個類別。通過計算查詢集中的樣本點到各個類別原型pi歐氏距離的softmax 來預測圖片的標簽。其查詢點的類別分布為:
這里的嵌入函數fθ(·)就是本文需要學習的神經網絡架構。
現實生活中的數據往往具有一定的模糊性和不確定性,傳統(tǒng)的深度神經網絡是完全確定的,不能降低數據的不確定性,模糊神經網絡具有人腦的邏輯推理能力,本文嘗試引入模糊神經網絡來解決小樣本學習中深度神經網絡完全固定的缺陷。
本文所提模型采用基于度量的小樣本學習方法,分別通過傳統(tǒng)卷積神經網絡和模糊神經網絡來獲得各個圖像的特征向量,然后利用這些特征向量計算各個類別的原型表示,通過度量查詢集中的樣本到各個類別原型的歐氏距離來獲取待查詢點的分布狀態(tài)。
不同于其他小樣本學習方法,本文在獲取圖像原型時分為模糊神經網絡模塊、深度神經網絡模塊和知識融合模塊三個部分。對于模糊神經網絡模塊,為了獲取模糊神經網絡的輸入特征,先將圖片通過函數,該函數是一個淺層神經網絡,主要負責將圖片映射為特征。映射后的特征被傳遞到模糊神經網絡,該網絡有三個網絡層,分別是輸入層、隸屬函數層和模糊規(guī)則層,其具體結構如圖2。輸入層接收特征并將其傳遞到隸屬函數層,它的每個節(jié)點被分配給多個帶有參數c和σ的隸屬函數。這里,輸入的是n維特征,用xi來表示輸入特征的第i個節(jié)點。隸屬函數計算的是該節(jié)點屬于某個模糊集的程度,其中第m個模糊神經元μm(·):R→[0,1]將輸入的第i個節(jié)點xi的模糊度映射為:
這里選擇的是更為廣泛的高斯隸屬函數,參數c和σ2分別為均值和方差。之后,在模糊規(guī)則層執(zhí)行一系列的“and”模糊邏輯運算,運算輸出定義如下:
該部分的輸出為模糊度。考慮到原型網絡的特征原型是一個高維向量,本文用一個映射將模糊部分輸出與深度學習部分對齊。對于整個模糊神經網絡用嵌入函數來表示(見圖2)。
圖2 模糊神經網絡模塊Fig.2 Fuzzy neural network module
本文在引入模糊神經網絡的同時也保留了傳統(tǒng)原型網絡的優(yōu)勢部分,即圖像同時輸入到深度神經網絡部分。在這里,通過帶有參數θ1的嵌入函數f將圖像映射為特征向量。
在知識融合部分,考慮到拼接組合將導致維度過大,會增大損失,且嘗試后并沒有較好的效果,本文采用文獻[19]中介紹的融合方法,即利用線性組合的方式將模糊神經網絡和深度神經網絡各自提取的知識進行整合。通過引入可學習的λ,模型可以自適應地學習模糊神經網絡和卷積神經網絡各自所學習到特征的比重。對于含模糊信息較多的數據集,模糊神經網絡將分配到更大的權重。
proθ(·)為最終的原型嵌入函數,參數θ={θ1,φ1,φ2}。對于每個原型為其嵌入支持點所屬類別的均值向量:
訓練過程同傳統(tǒng)的原型網絡類似,根據查詢集中的點到嵌入空間中原型的歐氏距離上的softmax,來生成查詢點x在各個類上的分布:
其中:φ={θ1,φ1,φ2,λ}。損失函數部分選取分類任務中常用的負對數似然函數,即:
模型通過Adam 優(yōu)化器來最小化該損失。其中,對于一個訓練批次的損失計算如下:
本文利用幾個廣泛使用在小樣本學習中的數據集Omniglot[16]、miniImageNet[5]進行實驗,并分別同原型網絡和目前一些主流的小樣本學習方法進行比較來驗證模型的有效性。
Omniglot 包含50 個字母,由1 623 個手寫字符構成,其中每個字符都有20 個不同的樣本。為了同傳統(tǒng)的原型網絡進行比較,本文采用類似的處理方式,先將灰度圖像大小調整為28×28,同樣以90°旋轉圖像來增加字符類。數據集的分割也使用1 200個字符和旋轉后的字符類,共4 800個類進行訓練,余下的類連同旋轉后的字符類用于測試。
miniImageNet 有100 個類,它的每個類中包含有600 張84×84圖片,共計60 000張圖片。其中64個類作為訓練集,16個類作為驗證集,20 個類作為測試集。為了更好地同傳統(tǒng)的原型網絡進行比較,本文在該訓練集下同樣嘗試30-way 1-shot和20-way 5-shot兩種訓練模式,其對應的查詢樣本數均為15。
本文模型主要有三個模塊,模糊神經網絡部分完全是由式(3)、(4)獲取,如圖2 所示,先將其輸出維度通過一個線性層進行擴充,同深度神經網絡對齊。對于深度神經網絡部分,選擇深層的網絡骨干更有利于模型效果的提升,但考慮到實驗對比的公正性,仍然采用原型網絡中的四個卷積塊Conv4作為本文的網絡骨干。
模糊神經網絡前的淺層卷積網絡模塊則是完全使用文獻[8]中的嵌入架構,該架構由四個卷積層和一個全連接層組成,其具體細節(jié)在兩個數據集上略有不同,但最終都得到120維的嵌入。這種輕量級架構能夠突出模型的簡潔性。
分別在Omniglot、miniImageNet 兩個數據集上對本文算法模型同原型網絡PN、匹配網絡MN[5]、模型無關的元學習MAML、圖神經網絡(Graph Neural Network,GNN)、邊緣標記圖神經網絡(Edge-Labeling Graph Neural Network,E-LGNN)[33]等目前主流的小樣本學習方法進行比較。在Omniglot數據集上設置了5-way和20-way兩種實驗設置,在miniImageNet上設置了5-way 一種實驗設置,實驗樣本數則是采用小樣本實驗常用的1-shot和5-shot。由于原型網絡在miniImageNet上的實驗是采用20-way 5-shot和30-way 1-shot兩種實驗設置,本文也對這兩種設置進行了實驗,同原型網絡單獨對比。在其訓練過程中,設置初始學習率為0.001,并且每30個批次衰減到原來的1/10,總計訓練300 個批次??紤]到文獻[34]統(tǒng)一小樣本的查詢樣本數為16,文中也采用相同的實驗設置。在Omniglot 數據集上,本文把原型網絡中訓練類數為60 改為標準的小樣本分類,設置最大批次數為1 000,且訓練200個批次后在驗證集上性能沒有提升則終止訓練。訓練過程中設置初始學習率為0.001 并且每200 個批次衰減為原來的1/10。另外,在所有實驗場景中將模糊神經網絡中的參數c按照均值為0.15、方差為0.05 的正態(tài)分布初始化,參數σ按照均值為1、方差為0.05的正態(tài)分布初始化。
Omniglot 分類:原型網絡對Omniglot 分類在訓練時每次包含60個類,每個類有5個查詢樣本,本文對其訓練規(guī)則進行了簡單修改,采用標準的小樣本分類,即每次訓練包含5 個類和20個類,其中每個類包含16個查詢樣本。文中收集了近幾年小樣本學習先進模型在Omniglot 上的結果,并同本文算法模型進行了對比,實驗結果見表1。盡管本文模型相比原型網絡有一定的進步,但同其他先進模型仍有一些差距。
表1 Omniglot上小樣本學習分類精度對 單位:%Tab.1 Comparison of classification accuracy of few-shot learning on Omniglot unit:%
miniImageNet 分類:原型網絡在每次訓練中使用30-way 1-shot和20-way 5-shot兩種方式,其對應的測試樣本為每類15張。本文同樣采用這種實驗設置和原型網絡進行對比(具體結果見表3),由于實驗條件等一些其他原因,這里同原型網絡文章中的結果有一定的差異,從表中可以看出模糊原型模型無論是在哪種實驗設置下都領先于原型網絡。不僅如此,本文還進行了5-way 1-shot 分類和5-way 5-shot 分類的實驗設置,將它同目前一些主流的小樣本學習方法進行了對比,具體結果見表2。在5-shot 下,相較于這些主流的方法,本文模型效果更好,實驗結果比較先進的E-LGNN 仍高出1 個百分點。在1-shot 下,結果雖然略低于E-LGNN,但考慮到主干網絡層較淺,同時對原型網絡的提高將近5 個百分點,這足以說明本文模型的優(yōu)秀性能。
表2 miniImageNet上小樣本學習分類精度對比 單位:%Tab.2 Comparison of classification accuracy of few-shot learning on miniImageNet unit:%
表3 miniImageNet上FPN與原型網絡分類精度比較 單位:%Tab.3 Comparison of classification accuracy between FPN with prototype network on miniImageNet unit:%
為進一步同原型網絡進行比較,在miniImageNet 數據集上采用與原型網絡相同的實驗設置,在學習率為0.01、衰減批次數為20 的條件下訓練200 個批次,用訓練過程中驗證集上的表現來簡單地衡量模型的收斂速度和效果。
在圖3 中,從損失和精度兩個方面來衡量模型在5-way 1-shot 和5-way 5-shot 下的表現,其中:圖(a)為5-way 1-shot 設置下損失下降趨勢,圖(b)為5-way 5-shot 設置下損失下降趨勢,圖(c)為5-way 1-shot 設置下精度上升趨勢,圖(d)為5-way 5-shot 設置下精度上升趨勢。盡管這種實驗條件對FPN 模型有些苛刻,但不難看出,相比傳統(tǒng)的原型網絡,模糊原型在整體性能上更優(yōu)。
圖3 FPN同傳統(tǒng)原型網絡收斂對比Fig.3 Convergence comparison between FPN and traditional prototype network
此 外,模型的融合方式 為proθ(x)=λ即為模糊神經網絡所占比重,本文將λ值初始化為0.5,通過監(jiān)控λ的值來衡量模糊神經網絡對模型的貢獻大小。在表4 中,監(jiān)控了FPN 在5-way 1-shot,5-way 5-shot 以及30-way 1-shot 和20-way 5-shot 下 的λ值,雖然在5-way 和30-way 的條件下λ值有所下降,但仍占有較大的比重,發(fā)揮了較大的作用。
表4 FPN中的λ值Tab.4 λ value in FPN
本文提出了一種帶有模糊推理的原型網絡來解決小樣本分類問題,這是首次將模糊知識應用于小樣本學習。所提模型簡單、有效,它不僅能夠應用于原型網絡,對其他的小樣本學習方法也同樣適用。數值實驗證明,所提出的模糊原型在不同的數據集和設置上大大提高了基于度量的方法的性能,這也驗證了模糊邏輯知識確實對小樣本的性能提高有所幫助。