嚴(yán)家金
(1.安徽理工大學(xué) 計算機科學(xué)與工程學(xué)院,安徽 淮南 232001;2.安徽理工大學(xué) 環(huán)境友好材料與職業(yè)健康研究院(蕪湖),安徽 蕪湖 241003)
目前,深度學(xué)習(xí)已得到了廣泛的研究和應(yīng)用,深度學(xué)習(xí)的引入使圖像數(shù)據(jù)集上的分類準(zhǔn)確率得到了極大的提高,而這些模型大部分是基于卷積神經(jīng)網(wǎng)絡(luò)并且需要大規(guī)模的數(shù)據(jù)集,但在實際應(yīng)用中存在著很大的局限性,例如在疾病診斷、害蟲分辨、工業(yè)故障檢測等方面都沒有足夠數(shù)量的樣本去訓(xùn)練,這就是所謂的小樣本學(xué)習(xí)。
小樣本學(xué)習(xí)是從人類能夠運用少量數(shù)據(jù)快速學(xué)習(xí)中得到的啟發(fā)。當(dāng)訓(xùn)練數(shù)據(jù)不足時,如何實現(xiàn)以及怎樣獲得一個具有良好性能和泛化能力的學(xué)習(xí)模型,是小樣本學(xué)習(xí)的最終目的。小樣本圖像分類的學(xué)習(xí)模型基于卷積神經(jīng)網(wǎng)絡(luò)模型,一般分為兩種:元學(xué)習(xí)和度量學(xué)習(xí)。基于元學(xué)習(xí)的小樣本學(xué)習(xí)有兩種:基于數(shù)據(jù)增強的小樣本學(xué)習(xí),基于模型優(yōu)化的小樣本學(xué)習(xí)。
對于小樣本問題,多采用對抗生成網(wǎng)絡(luò)(Generative Adversarial Nets, GAN)進(jìn)行數(shù)據(jù)增強。雖然GAN能使用現(xiàn)有數(shù)據(jù)來緩解數(shù)據(jù)量不足的問題,但是標(biāo)準(zhǔn)數(shù)據(jù)擴充只能產(chǎn)生有限的替代數(shù)據(jù)?;贕AN改進(jìn)的DAGAN模型可以從數(shù)據(jù)集中獲取數(shù)據(jù),并推衍生成同類數(shù)據(jù)項,是一種有效的數(shù)據(jù)增強模型。卷積神經(jīng)網(wǎng)絡(luò)VGG是牛津大學(xué)計算機視覺組和Google DeepMind公司一起研發(fā)的,不僅在ILSVRC分類和定位任務(wù)上取得極高的準(zhǔn)確性,而且還適用于其他類型的圖像識別。但在訓(xùn)練樣本較少的情況下,單純的VGG模型很難取得理想的分類結(jié)果。使用注意力機制能夠使網(wǎng)絡(luò)模型更加關(guān)注重要信息并且適當(dāng)過濾那些與目標(biāo)任務(wù)無關(guān)的信息,使模型能夠在有限的樣本下提取到更多的有效信息。
綜合上述分析,本文為了解決樣本數(shù)量不足的問題采用了DAGAN網(wǎng)絡(luò),在網(wǎng)絡(luò)中輸入圖片能夠按類生成多張圖片以此來擴充樣本。為了取得更好的分類效果,本文在VGG19中引入了注意力機制,在每個卷積層之后加入SE模塊以提高分類準(zhǔn)確率,最后對主動學(xué)習(xí)進(jìn)行改進(jìn)并結(jié)合DAGAN提出了主動數(shù)據(jù)增強學(xué)習(xí)(Active Data Augmentation Learning)策略,通過主動數(shù)據(jù)增強學(xué)習(xí)策略找到最利于分類的樣本集大小,這樣不但可以減少不必要的訓(xùn)練,而且還可以在有限的時間和資源的條件下,進(jìn)一步提高分類的效率和準(zhǔn)確率。
在DAGAN中生成網(wǎng)絡(luò)模型由一個編碼器組成,該編碼器獲取輸入圖像(class C),將其向下投影到低維空間。對隨機向量(z)進(jìn)行變換并與該向量連接;它們都將被傳送到解碼器網(wǎng)絡(luò),再由解碼器網(wǎng)絡(luò)生成增強圖像。對抗網(wǎng)絡(luò)模型經(jīng)過訓(xùn)練,能夠區(qū)分來自真實分布和虛假分布的樣本。這樣的對抗博弈訓(xùn)練能夠使模型從舊圖像生成同類但看起來完全不同的樣本,能有效地擴大訓(xùn)練集,從而很好地解決訓(xùn)練樣本數(shù)量不足的問題。
VGG在AlexNet的基礎(chǔ)上進(jìn)行了改進(jìn),在VGG中使用3個3×3卷積核代替7×7卷積核,使用2個3×3卷積核代替5×5卷積核。這是因為使用3×3卷積核在感受野不變的情況下可使參數(shù)和層數(shù)變得更深,并使用三個全連接層。同時驗證了通過適當(dāng)?shù)丶由罹W(wǎng)絡(luò)結(jié)構(gòu)能夠提升性能。VGG結(jié)構(gòu)圖如圖1所示。
圖1 VGG結(jié)構(gòu)圖
注意力機制可以用人的視覺機制來直觀地解釋。例如,人類的視覺系統(tǒng)往往把注意力集中在圖像中的某些重要信息上,從而會忽略一些不重要的信息。所以注意力機制也可以理解成在輸入上不同的部分施加不同的注意力,去影響某個時刻的輸出,這里的注意力就是權(quán)重。同時通過反向傳播算法,使網(wǎng)絡(luò)能夠自適應(yīng)地學(xué)習(xí)到最合適的權(quán)重參數(shù)。
在現(xiàn)實世界中,某些方面的某些類別只有少量的樣本數(shù)據(jù),但深度學(xué)習(xí)模型在很大程度上依賴大量的訓(xùn)練數(shù)據(jù)。那么在疾病診斷、人臉識別、臨床實驗、手寫字體識別等在現(xiàn)實中只能得到較少樣本的領(lǐng)域,深度學(xué)習(xí)模型的準(zhǔn)確率是比較低的。因此,本文為了提高深度學(xué)習(xí)模型的分類準(zhǔn)確率,同時緩解訓(xùn)練過程中樣本數(shù)量不足的問題,提出了VGG-SE和主動數(shù)據(jù)增強學(xué)習(xí)。VGG-SE和主動數(shù)據(jù)增強學(xué)習(xí)模型結(jié)構(gòu)如圖2所示。
圖2 VGG-SE主動數(shù)據(jù)增強網(wǎng)絡(luò)模型
由圖2可以看出,本文模型包含兩個部分:引入注意力機制的分類網(wǎng)絡(luò)(VGG-SE)和基于DAGAN的主動數(shù)據(jù)增強學(xué)習(xí)。VGG-SE用于樣本的識別和分類,而主動數(shù)據(jù)增強學(xué)習(xí)則用來緩解樣本數(shù)量不足的問題。
為了提升VGG的性能,在VGG中引入注意力機制(即VGG-SE)來提高整體網(wǎng)絡(luò)模型的分類準(zhǔn)確率。由Momenta公司設(shè)計的SENET(Squeeze-and-Excitation Networks)在2017年ImageNET中榮獲分類比賽的冠軍,其提出的SE模塊結(jié)構(gòu)簡單、易于實現(xiàn),可以十分方便地加載到現(xiàn)有的網(wǎng)絡(luò)模型中。SE模塊能夠根據(jù)不同特征通道的重要程度對通道進(jìn)行排序,以此增強重要的通道,減弱不重要的通道。SE模塊結(jié)構(gòu)圖如圖3所示。
圖3 SE模塊結(jié)構(gòu)
對輸入特征圖Z進(jìn)行Squeeze操作,將它的每一個二維通道都變成一個具有全局感受野的實數(shù),再使其變成1×1×C向量;再對這個向量進(jìn)行Excitation操作,為每個特征通道生成權(quán)重;最后通過Scale操作,將計算得出的各通道權(quán)重和輸入特征圖Z相對應(yīng)通道的二維矩陣相乘就可以得到輸出特征圖Z。
本文將SE模塊加在VGG每一個卷積層的后面,以便在每次卷積之后都能對所獲得特征圖的每個通道進(jìn)行加權(quán)處理,從而在每次訓(xùn)練過程中都能有效地提升有用的特征并抑制不重要的特征,如此進(jìn)行良性循環(huán)達(dá)到更為準(zhǔn)確的分類結(jié)果。改進(jìn)的模型結(jié)構(gòu)如圖4所示。
圖4 VGG-SE模型結(jié)構(gòu)
使 用Global pooling作 為Squeeze操 作,兩 個Fully Connected層構(gòu)成一個Bottleneck結(jié)構(gòu)就可以去建模通道間的相關(guān)性,且輸出與輸入特征相同數(shù)目的權(quán)重。首先將特征維度降低到輸入的1/(是經(jīng)過訓(xùn)練后得到的參數(shù)),再經(jīng)過ReLu函數(shù)激活后通過Fully Connected 層回到之前的維度,通過Sigmoid函數(shù)獲得0~1之間歸一化的權(quán)重,最后對歸一化后的權(quán)重進(jìn)行Scale操作加權(quán)到每一個通道的特征上。
事實證明深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)存在著訓(xùn)練時間過長、計算量過大、過擬合、欠擬合等各種問題。為了適當(dāng)緩解這些問題,本文對主動學(xué)習(xí)進(jìn)行改進(jìn),提出了主動數(shù)據(jù)增強學(xué)習(xí)策略。
學(xué)習(xí)策略主要包括兩大部分:
(1)讓各個類別的少量樣本構(gòu)成初始訓(xùn)練集(),用經(jīng)過訓(xùn)練DAGAN的每50輪生成的樣本數(shù)據(jù)集作擴充訓(xùn)練集(,,),再用初始訓(xùn)練集去訓(xùn)練網(wǎng)絡(luò)模型VGGSE,按類別計算模型輸出的loss,當(dāng)某類別的loss大于預(yù)先設(shè)定的閾值時,則向該類別加入擴充訓(xùn)練集,在該類別輸出的loss小于預(yù)先設(shè)定的閾值時則停止擴充。
(2)對每個類別進(jìn)行標(biāo)號(分別為1,2…),每個初始訓(xùn)練集為,…X,,…I為其對應(yīng)的擴充訓(xùn)練集,L為每個類別輸出的loss值,設(shè)計一個分段閾值=0.2、=0.1、=0.05。訓(xùn)練總共分為2輪,前輪時L與比較,中間/2輪時L與比較,后/2輪時L與比較輪時比較;當(dāng)L大于閾值時則向該類別加入擴充訓(xùn)練集,若小于閾值則不用加入。
主動數(shù)據(jù)增強學(xué)習(xí)結(jié)構(gòu)示意圖如圖5所示。
圖5 主動數(shù)據(jù)增強學(xué)習(xí)結(jié)構(gòu)示意圖
為了測試所提出改進(jìn)模型的有效性,采用MiniImageNet和Omniglot兩個數(shù)據(jù)集。MiniImageNet數(shù)據(jù)集包含100個類,每100個類都有600張圖片,每張圖片的大小為84×84。Omniglot數(shù)據(jù)集包含50個不同的字母及其1 623個不同的手寫字符,每個字符都有20張圖片,通過將圖片進(jìn)行90°、180°、270°旋轉(zhuǎn)來擴充訓(xùn)練集。
MiniImageNet數(shù)據(jù)集信息描述如表1所示。
表1 MiniImageNet信息描述
Omniglot數(shù)據(jù)集信息描述如表2所示。
表2 Omniglot信息描述
改進(jìn)模型在兩塊Tesla P100 16 GB的顯卡上進(jìn)行訓(xùn)練和測試。本文改進(jìn)的模型使用VGG19作為主干網(wǎng)絡(luò),輸出層采用Sigmoid激活函數(shù),其他層均采用Relu激活函數(shù)。
在實驗中,改進(jìn)模型的訓(xùn)練初始學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練總輪數(shù)為2輪,前輪時loss值與主動數(shù)據(jù)增強學(xué)習(xí)中的閾值比較,中間/2輪時loss值與比較,后/2輪時loss值與比較;當(dāng)loss值大于設(shè)定的閾值時則向該類別加入擴充訓(xùn)練集,若小于閾值則不用加入,學(xué)習(xí)率每次下降百分之零點一,在本次實驗中使用MiniImageNet數(shù)據(jù)集的運行輪數(shù)為400輪,使用Omniglo數(shù)據(jù)集的運行輪數(shù)為200輪。通道數(shù)從3通道擴充到64,從64擴充到128,從128擴充到256,再從256擴充到512,在每一層擴充通道的時候加上SENet對通道追加注意力機制,在對通道進(jìn)行注意力操作時,首先對通道進(jìn)行壓縮,在通過Sigmoid激活函數(shù)學(xué)習(xí)訓(xùn)練權(quán)重后,對通道進(jìn)行還原。實驗結(jié)果如表3、表4所示。
表3 在MiniImageNet數(shù)據(jù)集上的實驗結(jié)果
表4 在Omniglot數(shù)據(jù)集上的實驗結(jié)果
由表3和表4可以看出,在MiniImageNet數(shù)據(jù)集中,本文提出的方法在5-way 1-shot方式中的測試準(zhǔn)確率比其他實驗?zāi)P推骄?.98%,在5-way 5-shot方式中的測試準(zhǔn)確率比其他實驗?zāi)P推骄?.67%;在Omniglot數(shù)據(jù)集中,本文提出的方法在20-way 1-shot方式中的測試準(zhǔn)確率比其他實驗?zāi)P推骄?.86%,在20-way 5-shot方式中的測試準(zhǔn)確率比其他實驗?zāi)P推骄?.24%。這是因為本文通過設(shè)置閾值對loss值的時刻關(guān)注,在避免網(wǎng)絡(luò)過擬合的同時,在不同階段加入新的訓(xùn)練樣本,使網(wǎng)絡(luò)的魯棒性更好。實驗中對通道進(jìn)行壓縮可以適當(dāng)降低學(xué)習(xí)成本。在每經(jīng)過一個大的特征提取層時,網(wǎng)絡(luò)就能學(xué)習(xí)到更多抽象的高維特征,緊接著通過對通道注意力機制的關(guān)注,使網(wǎng)絡(luò)能夠輕松捕捉到各個類別間的差異,從而使得在樣本數(shù)量越少、類別數(shù)量越少時,本文模型可以取得較好的分類結(jié)果。
本文提出了主動數(shù)據(jù)增強學(xué)習(xí),并在已有的網(wǎng)絡(luò)VGG上引入了注意力機制。主動數(shù)據(jù)增強學(xué)習(xí)能夠有效地緩解在小樣本分類中樣本數(shù)量不足的問題,用DAGAN進(jìn)行數(shù)據(jù)增強能生成大量的同類型樣本,再通過主動數(shù)據(jù)增強學(xué)習(xí)合理使用訓(xùn)練集的樣本量防止過擬合或欠擬合。在VGG中引入注意力機制能通過不同的通道去提升重要的特征或抑制不重要的特征從而提高網(wǎng)絡(luò)的分類效果。實驗證明,本文提出的方法在MiniImageNet數(shù)據(jù)集和Omniglot數(shù)據(jù)集上都取得了比基準(zhǔn)模型更好的效果。