王德文,魏波濤
(華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071000)
大量的圖像樣本數(shù)據(jù)和強(qiáng)大的計(jì)算資源,使得深度學(xué)習(xí)在圖像處理領(lǐng)域有著廣闊的應(yīng)用前景。深度學(xué)習(xí)從大量的樣本中學(xué)習(xí)樣本的特征分布,然后經(jīng)過多次迭代優(yōu)化各層權(quán)重,最后通過分類器實(shí)現(xiàn)圖像分類[1-3]。但是在一些特殊或者難以復(fù)現(xiàn)的場景中,難以獲得足夠的樣本[4]。由于樣本數(shù)量很少,使用深層神經(jīng)網(wǎng)絡(luò)往往會導(dǎo)致過擬合的現(xiàn)象出現(xiàn),減少網(wǎng)絡(luò)層數(shù)則會影響特征提取,導(dǎo)致分類正確率下降[5]。小樣本圖像分類現(xiàn)在仍是深度學(xué)習(xí)中一個重要的研究問題[6]。
小樣本學(xué)習(xí)問題由李飛飛等[7]于2006年提出,使用貝葉斯的方法在一個或少數(shù)幾個圖像學(xué)習(xí)問題中成功提取出了信息模型。文獻(xiàn)[8]于2015年提出分層貝葉斯模型,該模型能從少量樣本中完成計(jì)算任務(wù),并且達(dá)到了相當(dāng)于人類水平的識別率。隨后遷移學(xué)習(xí)的提出給小樣本學(xué)習(xí)帶來了新的處理方法[9]。文獻(xiàn)[10]提出一種基于堆棧降噪自編碼與支持向量回歸機(jī)的混合模型,在相似源域大數(shù)據(jù)上預(yù)訓(xùn)練混合模型借助對該知識的遷移,在目標(biāo)域微調(diào)該混合模型,從而提升支持向量回歸機(jī)在小樣本噪聲數(shù)據(jù)上的學(xué)習(xí)預(yù)測精度。
目前對于小樣本圖像分類問題,主要有增加樣本數(shù)量和根據(jù)問題選擇特定算法兩種方式[11-12]。最初的樣本數(shù)量增強(qiáng)技術(shù),例如原始樣本的旋轉(zhuǎn)、翻轉(zhuǎn)和增加對比度等方法,在一定程度上解決了樣本的數(shù)量問題,但是往往因?yàn)橄嗨贫冗^大,產(chǎn)生過擬合現(xiàn)象。如今,統(tǒng)計(jì)學(xué)上的各種采樣方法、生成對抗網(wǎng)絡(luò)的提出,為樣本的數(shù)量增強(qiáng)提供了新的解決思路[13]。文獻(xiàn)[14]采用Bootstrap法來解決電力負(fù)荷數(shù)據(jù)少的問題,利用放回重復(fù)抽樣的方法得到新的樣本,利用一種類比關(guān)系來進(jìn)行統(tǒng)計(jì)推斷,將小樣本轉(zhuǎn)換為大樣本問題,但是該方法會造成被估參數(shù)的均值過分依賴樣本子集的情況,不利于參數(shù)估計(jì)的穩(wěn)健性。根據(jù)研究問題的不同,選擇特定的算法也可以顯著地提高實(shí)驗(yàn)效果[15-16]。文獻(xiàn)[17]提出了利用蒙特卡洛隨機(jī)試驗(yàn)可以對特征參量進(jìn)行統(tǒng)計(jì)估計(jì)的特性,計(jì)算高光譜圖像的最優(yōu)降維特征數(shù),對小樣本的高光譜圖像進(jìn)行降維,實(shí)驗(yàn)證明使用該方法后圖像的分類精度有了較大提高。但是,蒙特卡羅的結(jié)果和準(zhǔn)確性很大程度依賴于母體所建立的數(shù)學(xué)模型。
2005年Chopra等[18]第一次提出了孿生網(wǎng)絡(luò)的結(jié)構(gòu),該方法在人臉識別數(shù)據(jù)集上進(jìn)行訓(xùn)練和測試,取得了很好的識別效果。孿生網(wǎng)絡(luò)創(chuàng)新地采用了兩個樣本組成一對作為神經(jīng)網(wǎng)絡(luò)的輸入的結(jié)構(gòu)。在不改變樣本數(shù)量的條件下,增加了整體樣本循環(huán)一個批次的訓(xùn)練次數(shù),更有效地完成特征的提取,減少因樣本少帶來的過擬合問題。在處理類別較多、每個類別樣本少的分類任務(wù)有著極強(qiáng)的優(yōu)勢。
為了解決小樣本圖像分類問題,采用以變分自編碼器為核心的孿生網(wǎng)絡(luò)結(jié)構(gòu)來實(shí)現(xiàn)對小樣本圖像數(shù)據(jù)的分類。特征提取通過變分自編碼器來實(shí)現(xiàn),無需人工提取,而孿生網(wǎng)絡(luò)的相似度匹配結(jié)構(gòu),可以有效地提高分類的正確率。
孿生網(wǎng)絡(luò)是一種特殊類型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),與傳統(tǒng)一個學(xué)習(xí)過程對應(yīng)一個輸入然后進(jìn)行分類的模型不同,該神經(jīng)網(wǎng)絡(luò)每個學(xué)習(xí)過程具有兩個輸入,使用相同權(quán)重的神經(jīng)網(wǎng)絡(luò)對兩個輸入數(shù)據(jù)進(jìn)行處理,計(jì)算提取到的特征的相似度來分辨兩個數(shù)據(jù)的是否為同一類別。孿生網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖 1 孿生網(wǎng)絡(luò)結(jié)構(gòu)Fig. 1 Siamese network
最初的孿生網(wǎng)絡(luò)基于全連接網(wǎng)絡(luò)。網(wǎng)絡(luò)有L個全連接層,每層有Nl個神經(jīng)元,h1,l表示在第一個孿生網(wǎng)絡(luò)分支l層的隱向量,h2,l表示在第二個孿生網(wǎng)絡(luò)分支l層的隱向量,網(wǎng)絡(luò)在前L-1 層中使用ReLU作為激活函數(shù),對于l∈{1,2,···,L-1}層網(wǎng)絡(luò)中隱向量h1,m、h2,m按式(1)和式(2)計(jì)算:
式中:Wl-1為Nl-1×Nl共享的權(quán)值矩陣;bl為l層向量的偏置;max為求最大值。
經(jīng)過輸入層和隱藏層的前饋操作后,在距離層按式(3)比較孿生網(wǎng)絡(luò)生成的特征的距離E(W),用來評估特征的相似程度。
孿生網(wǎng)絡(luò)結(jié)構(gòu)具有兩個權(quán)重相同、結(jié)構(gòu)相同的姐妹網(wǎng)絡(luò)。輸入圖像兩兩組成一對,圖像對中的兩個圖像將分別送到兩個姐妹網(wǎng)絡(luò)中,然后使用對比損失函數(shù)來優(yōu)化網(wǎng)絡(luò)。原始的姐妹網(wǎng)絡(luò)使用的是全連接結(jié)構(gòu),全連接網(wǎng)絡(luò)參數(shù)眾多,訓(xùn)練效率低。文獻(xiàn)[19]對網(wǎng)絡(luò)的特征提取過程進(jìn)行改進(jìn),使用卷積神經(jīng)網(wǎng)絡(luò)作為姐妹網(wǎng)絡(luò)來提取圖像特征,取得了很好的效果。但是,卷積神經(jīng)網(wǎng)絡(luò)在樣本數(shù)據(jù)量小時,易于產(chǎn)生過擬合現(xiàn)象。
使用孿生網(wǎng)絡(luò)訓(xùn)練時,由于其逐對訓(xùn)練的原理,將有平方級別對的數(shù)據(jù)可以來訓(xùn)練模型,這讓模型很難過擬合。假設(shè)數(shù)據(jù)集樣本有E類,每類有C個樣本,則一共有C×E張圖片,總共可組成的樣本對數(shù)計(jì)算公式為
以O(shè)mniglot數(shù)據(jù)集為例,對于數(shù)據(jù)集中的964類(每類20個樣本),剔除其中相同類別的配對,仍有183 160對組合。孿生網(wǎng)絡(luò)在不增加樣本的前提下,通過輸入對匹配的方式,增加了樣本的訓(xùn)練次數(shù),從而提高了網(wǎng)絡(luò)的學(xué)習(xí)能力,避免出 現(xiàn)過擬合問題。
變分自編碼器是2014年提出的一種基于變分貝葉斯推斷的生成式結(jié)構(gòu)模型[20]。變分自編碼器總體上分為兩個神經(jīng)網(wǎng)絡(luò):Encoder和Decoder。Encoder通過變分參數(shù)的不斷迭代、更新來最大化觀測數(shù)據(jù)的邊緣似然函數(shù)的下界,近似不可觀測變量的后驗(yàn)概率,輸出隱變量的概率分布。Decoder則是根據(jù)Encoder輸出的隱變量概率分布還原生產(chǎn)原始數(shù)據(jù)的近似概率分布。
變分自編碼器具有和Dropout類似正則化作用的隱層采樣過程,這使得模型的整個訓(xùn)練過程不容易發(fā)生過擬合問題[21],與傳統(tǒng)特征提取模型相比,更加適合解決樣本數(shù)量較少的問題。變分自編碼器現(xiàn)在已經(jīng)廣泛應(yīng)用于高維數(shù)據(jù)降維、特征 提取等方面[17-24]。
綜合變分自編碼器減少過擬合問題和孿生網(wǎng)絡(luò)擴(kuò)大樣本訓(xùn)練次數(shù)的優(yōu)點(diǎn),對孿生網(wǎng)絡(luò)進(jìn)行改進(jìn),使用變分自編碼器的Encoder結(jié)構(gòu)代替全連接網(wǎng)絡(luò)提取樣本特征,減少了網(wǎng)絡(luò)參數(shù),提高訓(xùn)練效率。孿生變分自編碼器首先建立變分自編碼器網(wǎng)絡(luò)進(jìn)行特征提取的無監(jiān)督學(xué)習(xí),然后使用兩個權(quán)重完全相同的變分自編碼器Encoder結(jié)構(gòu)搭建孿生網(wǎng)絡(luò)用于提取樣本特征,在距離層計(jì)算特征向量的相似度,得到輸入樣本的分類結(jié)果。最后,對神經(jīng)網(wǎng)絡(luò)權(quán)重進(jìn)行訓(xùn)練、調(diào)整。孿生變分自編碼器結(jié)構(gòu)如圖2所示。
圖 2 孿生變分自編碼器結(jié)構(gòu)Fig. 2 Siamese variational auto-encoder
Input_1、Input_2是樣本數(shù)據(jù)的一組組合輸入,特征提取功能由變分自編碼器的Encoder實(shí)現(xiàn),(x1,l)、 (x2,l) 為Input_1、Input_2展開得到的輸入向量。(h1,l) 為Input_1輸入第一個Encoder結(jié)構(gòu)得到的隱向量,(h2,l) 為Input_2輸入第二個Encoder結(jié)構(gòu)后得到的隱向量。β1T及 β2T為Encoder的權(quán)重,并且兩個Encoder結(jié)構(gòu)的權(quán)重完全相同。μ、σ為輸入數(shù)據(jù)經(jīng)由Encoder結(jié)構(gòu)提取到的期望與方差,該部分的計(jì)算原理同變分自編碼器相同,z1、z2分別為Input_1、Input_2提取到的特征向量。d為距離層,針對獲得的特征選擇歐式距離計(jì)算相似度,最后將輸出歸一化到[0,1]之間,使用sigmoid函數(shù)使之成為一個概率。
根據(jù)圖2的孿生變分自編碼器結(jié)構(gòu),給出相應(yīng) 孿生變分自編碼器的計(jì)算流程,如圖3所示。
圖 3 孿生變分自編碼器的計(jì)算流程Fig. 3 Computation process of S-VAE
圖3中X1、X2為輸入樣本對展開后得到的一維向量;h1、h2為網(wǎng)絡(luò)第1層的輸出;μenc、σenc為網(wǎng)絡(luò)第2層的輸出。z1、z2為輸入對經(jīng)由變分自編碼器提取到的特征向量;E(W) 在距離層計(jì)算兩個特征向量的歐式距離;p為歸一化后得到的分類準(zhǔn)確率。輸入樣本對經(jīng)過兩個權(quán)重相同的Encoder結(jié)構(gòu)提取到特征,組建成孿生網(wǎng)絡(luò),通過相似度匹配算法,得到最終分類的類別以及正確率。
利用上述孿生變分自編碼器的結(jié)構(gòu)和計(jì)算流程對小樣本圖片進(jìn)行分類的具體過程如下:
1)將數(shù)據(jù)集以適當(dāng)?shù)谋壤譃橛?xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,對訓(xùn)練數(shù)據(jù)集使用變分自編碼器進(jìn)行無監(jiān)督的學(xué)習(xí),訓(xùn)練特征提取模型。
2)初始化孿生變分自編碼器結(jié)構(gòu),載入訓(xùn)練好的特征提取模型,將訓(xùn)練數(shù)據(jù)集作為輸入對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,調(diào)整網(wǎng)絡(luò)各層權(quán)值。
3)將測試數(shù)據(jù)集作為輸入,利用訓(xùn)練好的網(wǎng)絡(luò) 來進(jìn)行分類任務(wù)。
孿生變分自編碼器特征提取采用的是變分自編碼器的Encoder結(jié)構(gòu)。變分自編碼器是一個無監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),本質(zhì)上是構(gòu)建了一個從隱變量z(隱含特征)生成目標(biāo)數(shù)據(jù)Y的模型,通過縮小原始輸入X與輸出Y之間的重構(gòu)誤差進(jìn)行學(xué)習(xí)。變分自編碼器的“瓶頸”的結(jié)構(gòu)可以有效地降低原始數(shù)據(jù)的維數(shù),提取樣本特征,實(shí)現(xiàn)對原始樣本的表示學(xué)習(xí)。變分自編碼器結(jié)構(gòu)如圖4所示。
圖 4 變分自編碼器Fig. 4 Variational auto-encoder
對于原始樣本集X,定義其特征值為隱變量z,根據(jù)貝葉斯準(zhǔn)則,z的后驗(yàn)概率密度函數(shù)為
但是,邊緣似然概率密度函數(shù)p(x) 計(jì)算復(fù)雜,因此變分貝葉斯推理中,通過引入近似分布函數(shù)q(z|x) 來擬合真實(shí)后驗(yàn)分布p(z|x),并利用Kullback-Leibler (KL)散度來比較兩個分布的相似程度。
根據(jù)變分貝葉斯方法,樣本數(shù)據(jù)x的邊緣似然函數(shù)可以簡化為
式中:φ 為真實(shí)后驗(yàn)分布參數(shù);θ 為隱層的近似分布參數(shù);式(7)中第一項(xiàng)為隱層的近似分布與真實(shí)后驗(yàn)分布之間的KL散度,由于KL散度為非負(fù)值,僅當(dāng)兩個分布完全一致時,KL散度為0,因此,可以展開為
通過最大化變分下界,即可以得到樣本集的最優(yōu)估計(jì)。同時,可以(將式()8)重寫為
式中:μenc、σenc為編碼器的輸出;μdec、σdec為解碼器的輸出;j為隱變量z的維度;L為隱變量z在后驗(yàn)分布上的采樣次數(shù)。然后,選擇隨機(jī)梯度下降法(stochastic gradient descent,SGD)來優(yōu)化神經(jīng)網(wǎng)絡(luò)的參數(shù),當(dāng)式(9)收斂,編碼器部分的輸出即為提取的特征值,解碼器的輸出為重構(gòu)的原始樣本。
針對圖3孿生變分自編碼器的計(jì)算流程,孿生變分自編碼器特征提取過程可以表示為
式中:W、b為各層的權(quán)重和偏置項(xiàng);x為輸入數(shù)據(jù),實(shí)際使用的是變換為一維數(shù)據(jù)的Omniglot圖像;h1為網(wǎng)絡(luò)第1層的輸出;μenc、σenc為網(wǎng)絡(luò)第二層的輸出;f是激活函數(shù),基于高斯分布參數(shù)μ、σ,利用qφ(z|x(i)) 采樣得到隱層輸出z, 其中,N(0,1)為 標(biāo)準(zhǔn)正態(tài)分布。
兩個原始數(shù)據(jù)成對輸入Encoder,通過訓(xùn)練好的編碼器網(wǎng)絡(luò)進(jìn)行分布參數(shù)提取,可以得到兩個輸入數(shù)據(jù)的特征向量z1、z2,在距離層計(jì)算兩個特征向量的歐式距離,EW為兩個樣本對輸出特征的歐式距離。
使用sigmoid函數(shù)將匹配度映射到[0,1]之間成為一個分類結(jié)果的概率,同時方便使用交叉熵作為訓(xùn)練網(wǎng)絡(luò)的代價函數(shù)。相似度為
孿生網(wǎng)絡(luò)的對比損失函數(shù)為
式(13)可以展開為
式中:p 表示輸入的總樣本數(shù);i 為當(dāng)前樣本的下標(biāo)。其中 Y 表示樣本對的標(biāo)簽,Y ∈{1,0}。 當(dāng)Y=0時,表明本次輸入樣本對是同一類圖片。此時的樣本對的損失函數(shù) L(W) 越小說明模型的參數(shù)越合理。若 L (W) 很大,則需要網(wǎng)絡(luò)使用反向傳播機(jī)制,對模型參數(shù)進(jìn)行優(yōu)化。當(dāng) Y =1 時,表明本次輸入樣本對 X1、X2不是同一類。此時,優(yōu)化損失函數(shù) L(W) 會使使得來自不類別圖像的損失盡可能變大。(結(jié)合式(12)),本文模型的(代價函)數(shù)為
式中:Y為輸入對是否是同類的標(biāo)簽;p(z1,z2)i為第i個樣本對輸入網(wǎng)絡(luò)后得到的歸一化后的特征距離。代價函數(shù)可以使用標(biāo)準(zhǔn)反向傳播算法進(jìn)行模 型訓(xùn)練。
實(shí)驗(yàn)使用Tensorflow框架設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)并進(jìn)行訓(xùn)練和測試,實(shí)驗(yàn)的硬件環(huán)境為i5-8300H處理器,8 GB內(nèi)存,軟件環(huán)境為Windows 10操作系統(tǒng)。
Omniglot數(shù)據(jù)集擁有50種文字,1 623類手寫字符。對于每類字符僅有20個樣本,每個樣本分別由不同的人繪制而成,分辨率為 10 5×105。圖5為數(shù)據(jù)集的4個示例。
圖 5 Omniglot數(shù)據(jù)集Fig. 5 Omniglot dataset
針對Omniglot數(shù)據(jù)集的測試實(shí)驗(yàn)主要圍繞N-way K-shot展開:每種方法利用未經(jīng)訓(xùn)練的N類中的K個已標(biāo)記的樣本進(jìn)行訓(xùn)練,然后對一組屬于N類中不相交的未標(biāo)記樣本進(jìn)行分類。本文進(jìn)行的實(shí)驗(yàn)是5-way 1-shot、5-way 5-shot、20-w ay 1-shot和20-way 5-shot。
整個模型分為5層,特征提取部分網(wǎng)絡(luò)層數(shù)為3層。第1層輸入層為22 050個節(jié)點(diǎn),第2層為2 048個節(jié)點(diǎn),第3層為4個節(jié)點(diǎn),第4層為4個節(jié)點(diǎn),第5層輸出層為1個節(jié)點(diǎn)。訓(xùn)練該模型提取樣本圖像的高層語義特征,然后再針對樣本圖像提取的高層語義特征利用孿生變分自編碼器模型進(jìn)一步進(jìn)行訓(xùn)練,最后使用分類器進(jìn)行分類。
通過Omniglot數(shù)據(jù)集對孿生變分自編碼器進(jìn)行測試,與原始孿生網(wǎng)絡(luò)以及其他針對小樣本圖像分類方法實(shí)驗(yàn)結(jié)果進(jìn)行對比。實(shí)驗(yàn)中用于對比的小樣本分類方法主要有文獻(xiàn)[25]中引用的原始孿生網(wǎng)絡(luò)實(shí)驗(yàn)結(jié)果、文獻(xiàn)[19]中提出的卷積孿生網(wǎng)絡(luò)、文獻(xiàn)[26]提出的分層貝葉斯學(xué)習(xí)方法(HBPL)以及文獻(xiàn)[27]提出的預(yù)采樣匹配網(wǎng)絡(luò)(SSMN)。實(shí)驗(yàn)結(jié)果如表1所示。
表 1 Omniglot 數(shù)據(jù)集N-way K-shot 平均正確率 Table 1 Average accuracy of N-way K-shot of Omniglot dataset
從表1中可以看出,S-VAE實(shí)驗(yàn)結(jié)果中,4種條件下孿生變分自編碼器分類結(jié)果均高于卷積孿生神經(jīng)網(wǎng)絡(luò)。20-way 1-shot情況下略微低于HBPL模型,較其他方法,孿生變分自編碼器具有更高的分類正確率。20-way 5-shot 情況下本文提出的模型正確率最高,為98.9%。從表中可以看出,S-VAE相較于原始的孿生網(wǎng)絡(luò)分類正確率在4個對比實(shí)驗(yàn)下均有所提高,平均提高3.1%。
由于HBPL模型是一種針對Omniglot進(jìn)行特定處理的方法,在Omniglot筆畫層次上進(jìn)行圖像的分割,繼而進(jìn)行學(xué)習(xí),缺乏在其他問題上的拓展能力。因此,對余下3種算法和本文提出的模型,進(jìn)行訓(xùn)練時間的比較,結(jié)果如表2所示。
從表2的訓(xùn)練時間來看,孿生變分自編碼器在訓(xùn)練接近2個小時后,可以完成訓(xùn)練,并且訓(xùn)練用時最短,這說明孿生變分自編碼器可以實(shí)現(xiàn)對小樣本數(shù)據(jù)的快速分類,相較于另外3種算法,效率更高。
表 2 Omniglot 數(shù)據(jù)集N-way K-shot 訓(xùn)練時間 Table 2 Training time of N-way K-shot of Omniglot dataset
圖6~9為本文提出模型的實(shí)驗(yàn)結(jié)果,主要包括5-way 1-shot、5-way 5-shot、20-way 1-shot和20-way 5-shot的測試錯誤率以及損失函數(shù)值的結(jié)果。結(jié)合表1中的平均正確率,從圖6中5-way 1-shot的測試實(shí)驗(yàn)結(jié)果可以看出,整體樣本正確率達(dá)到98.0%,一部分樣本可以100%地識別出來,與原始孿生網(wǎng)絡(luò)相比,分類正確率提高了4.3%。結(jié)合圖8可以看出,當(dāng)樣本類別數(shù)量增加到20類時,20-way 1-shot場景下整體測試樣本正確率達(dá)到了94.1%,與原始孿生網(wǎng)絡(luò)相比,分類正確率提高了 5.9%。
圖 6 5-way 1-shot測試正確率和損失函數(shù)值Fig. 6 Test accuracy and loss of 5-way 1-shot
圖 7 5-way 5-shot測試正確率和損失函數(shù)值Fig. 7 Test accuracy and loss of 5-way 5-shot
圖 8 20-way 1-shot測試正確率和損失函數(shù)值Fig. 8 Test accuracy and loss of 20-way 1-shot
圖 9 20-way 5-shot測試正確率和損失函數(shù)值Fig. 9 Test accuracy and loss of 20-way 5-shot
圖10~12是以20-way 1-shot和5-way 1-shot為例,反映了不同類別,相同的訓(xùn)練樣本數(shù)據(jù)集經(jīng)過測試后的結(jié)果有著明顯差距。當(dāng)訓(xùn)練數(shù)據(jù)集樣本數(shù)相同時,隨著訓(xùn)練樣本類別的增加,最終識別難度變大,分類正確率下降。當(dāng)樣本類別達(dá)到20,訓(xùn)練樣本只有一個時,訓(xùn)練難度最大,圖10體現(xiàn)出20-way 1-shot收斂速度明顯慢于5-way 1-shot 條件下的收斂速度,正確率也略微下降。結(jié)合圖7以及表1中的平均正確率可以看出在難度最大的20-way 1-shot條件下,樣本在迭代700次之后收斂,測試正確率達(dá)到94.1%。
圖 10 different-way 1-shot訓(xùn)練損失函數(shù)值Fig. 10 Training loss of different-way 1-shot
圖 11 different-way 1-shot訓(xùn)練正確率Fig. 11 Training accuracy of different-way 1-shot
圖 12 different-way 1-shot測試正確率Fig. 12 Test accuracy of different-way 1-shot
圖13~15是以20-way 5-shot和20-way 1-shot為例,反映了相同類別,不同的訓(xùn)練樣本數(shù)據(jù)集經(jīng)過測試后的結(jié)果。當(dāng)訓(xùn)練數(shù)據(jù)集樣本數(shù)相同時,隨著訓(xùn)練樣本類別的增加,最終識別難度變大,分類正確率下降。結(jié)合表1中平均正確率的實(shí)驗(yàn)結(jié)果對比,與原始的Siamese Net[25]相比,在難度最高的20-way 1-shot情況下,孿生變分自編碼器分類正確率提高了5.9%,其他情況下最低提高了0.3%,可以在說明本文所提出的混合模型的先進(jìn)性。與Lake等[26]提出的分層貝葉斯學(xué)習(xí)結(jié)構(gòu)相比,孿生變分自編碼器正確率低0.9%,但是Lake的方法使用的不是原始圖像的像素,而是Omniglot的筆畫數(shù)據(jù),雖然在Omniglot數(shù)據(jù)集上具有極高的分類正確率卻失去了向其他數(shù)據(jù)集拓展的能力,本文所提出的模型與之相比具有更好的泛化能力。從4種條件下的損失函數(shù)結(jié)合表2中幾個方法的訓(xùn)練時間對比,孿生變分自編碼器可以很快速的收斂,在訓(xùn)練1 000次后就已經(jīng)達(dá)到了比較不錯的分類效果。
圖 13 20-way different-shot訓(xùn)練損失函數(shù)值Fig. 13 Training loss of 20-way different-shot
圖 14 20-way different-shot訓(xùn)練正確率Fig. 14 Training accuracy of 20-way different-shot
圖 15 20-way different-shot測試正確率Fig. 15 Test accuracy of 20-way different-shot
針對小樣本圖像分類問題,本文提出了孿生變分自編碼器網(wǎng)絡(luò)模型。首先對訓(xùn)練樣本數(shù)據(jù)使用變分自編碼器進(jìn)行降維處理,提取樣本的隱含特征,然后通過孿生網(wǎng)絡(luò),對成對輸入的兩個樣本進(jìn)行相似度匹配,返回與待測樣本標(biāo)簽為同類的樣本類別以及正確率,完成物體的分類。通過Omniglot數(shù)據(jù)集對模型效果進(jìn)行4組實(shí)驗(yàn)驗(yàn)證,本文提出的改進(jìn)模型與原始孿生神經(jīng)網(wǎng)絡(luò)相比最高提高了5.9%,平均提高3.1%。
下一步工作將本文方法拓展應(yīng)用到實(shí)際問題中。在電力設(shè)備故障診斷中,只有很少的實(shí)際采集樣本,因此,通常會額外生成模擬數(shù)據(jù)進(jìn)行實(shí)驗(yàn),本文下一步工作即通過孿生變分自編碼器在僅使用實(shí)際采集樣本的情況下對故障類型進(jìn)行分類。