范純龍 王翼新 宿 彤 張振鑫
1(沈陽(yáng)航空航天大學(xué)計(jì)算機(jī)學(xué)院 遼寧 沈陽(yáng) 110136) 2(遼寧省大規(guī)模分布式系統(tǒng)實(shí)驗(yàn)室 遼寧 沈陽(yáng) 110136)
近幾年,圖像識(shí)別及其分類是深度學(xué)習(xí)領(lǐng)域中的重要應(yīng)用,其中有監(jiān)督學(xué)習(xí)是重要方法之一。但是利用該方法解決圖像分類問(wèn)題需要大量的有標(biāo)簽數(shù)據(jù),然后利用分類器的參數(shù)學(xué)習(xí)樣本中的特征,從而達(dá)到較好的分類效果。對(duì)于大量有標(biāo)簽數(shù)據(jù)的需求,網(wǎng)絡(luò)技術(shù)的普遍應(yīng)用可以使人們很容易獲得海量數(shù)據(jù),但是在一些實(shí)際應(yīng)用中[1-3],取得無(wú)標(biāo)簽樣本很容易而標(biāo)注樣本是代價(jià)昂貴或耗費(fèi)時(shí)間的?;诖祟惓R?jiàn)的問(wèn)題,Angluin[1]提出了“主動(dòng)學(xué)習(xí)”。
主動(dòng)學(xué)習(xí)的目的是減少對(duì)樣本數(shù)據(jù)的標(biāo)注成本,用最少的有標(biāo)簽樣本達(dá)到接近全樣本訓(xùn)練效果。主動(dòng)學(xué)習(xí)按照樣本抽樣模式可分為流樣本模式和池樣本模式,由于流樣本模式的選擇策略需要根據(jù)不同的任務(wù)進(jìn)行適當(dāng)?shù)恼{(diào)整,很難作為通用方法使用。所以,近些年來(lái)主動(dòng)學(xué)習(xí)主要在池樣本模式上發(fā)展[4-6],即在固定的大量無(wú)標(biāo)簽樣本集中,根據(jù)選擇策略反復(fù)選擇對(duì)當(dāng)前分類器而言信息量大的樣本,其中按照選擇策略原理不同,主要有基于不確定度[3,5,7-8]、泛化能力[9-10]、模型空間[11-12]等方法。這些策略都是根據(jù)樣本與當(dāng)前分類器或樣本分布之間的關(guān)系,每次選擇的樣本數(shù)量多、信息量大且訓(xùn)練效果明顯,但是沒(méi)有考慮到樣本對(duì)分類器而言信息重疊問(wèn)題,即信息冗余問(wèn)題。盡管每次選擇樣本的信息量足夠大,但是信息冗余問(wèn)題會(huì)導(dǎo)致選擇多余的無(wú)意義樣本,主動(dòng)學(xué)習(xí)會(huì)因此失去意義。
主動(dòng)學(xué)習(xí)的分類器選擇主要有SVM[5,7,13]、神經(jīng)網(wǎng)絡(luò)[3,8-9,14]和KNN分類器[15]。為了解決選擇樣本信息冗余問(wèn)題,很多學(xué)者在以SVM為分類器的基礎(chǔ)上做了很多研究[13,16-17],提出了樣本相似性、代表性等概念解決了該問(wèn)題。但是這些方法在計(jì)算這些指標(biāo)時(shí)的計(jì)算量很大,且在多分類時(shí)訓(xùn)練分類器個(gè)數(shù)較多,實(shí)用性不高。進(jìn)一步地,有學(xué)者提出將神經(jīng)網(wǎng)絡(luò)作為分類器,神經(jīng)網(wǎng)絡(luò)有能同時(shí)進(jìn)行多分類且分類效果好的優(yōu)點(diǎn)。目前方法主要考慮如何更準(zhǔn)確度量樣本不確定性,利用不確定性選擇分類邊界附近樣本,并將之作為信息量大的樣本。在解決信息冗余問(wèn)題上,由于神經(jīng)網(wǎng)絡(luò)沒(méi)有明確的可解釋性,除了可視化方法外,無(wú)法明確地判斷樣本對(duì)神經(jīng)網(wǎng)絡(luò)的信息具體是什么,所以目前方法考慮更好地度量樣本對(duì)分類器的不確定性[3,8-9,14,18],沒(méi)有考慮冗余問(wèn)題。
綜上所述,SVM在計(jì)算量大、樣本類別多的情況下訓(xùn)練麻煩,在以神經(jīng)網(wǎng)絡(luò)為分類器條件下沒(méi)有解決多個(gè)樣本之間信息冗余問(wèn)題。針對(duì)此問(wèn)題,提出DRAL(Discriminative And Redundancy Active Learning)方法,該方法用帶有多層感知機(jī)(multi-layer perception,MLP)的卷積神經(jīng)網(wǎng)絡(luò)CNN計(jì)算得到樣本潛變量向量表示樣本信息,用不確定性方法選擇信息量大的樣本構(gòu)成候選集,利用余弦距離從候選集選出信息量大且冗余度小的樣本集。不確定性方法經(jīng)過(guò)該方法提升后,在LeNet-5和NIN(Network in Network)[19]神經(jīng)網(wǎng)絡(luò)上,用Mnist、Fashion-mnist和Cifar-10數(shù)據(jù)集測(cè)試,在相同準(zhǔn)確率條件下,最低減少11%標(biāo)記樣本。
本文的主要貢獻(xiàn)在于:通過(guò)利用神經(jīng)網(wǎng)絡(luò)計(jì)算的潛變量,在度量樣本信息量基礎(chǔ)上提出一種降低樣本冗余度方法。
樣本選擇策略是主動(dòng)學(xué)習(xí)過(guò)程中的核心問(wèn)題,在池樣本模式下,根據(jù)不同分類器有不同選擇策略。
以SVM為分類器條件下,利用樣本與支持向量之間的距離明確地度量了樣本的信息量,例如SVM的批模式主動(dòng)學(xué)習(xí)方法等[20-22],但是考慮到樣本之間分布問(wèn)題,使用最大均值差異(Maximum Mean Discrepancy,MMD)[23]度量了樣本集之間的分布差異,從而保證了無(wú)標(biāo)簽集和有標(biāo)簽集的分布一致性,例如邊緣分布批模式方法(Batch Mode Active Learning,BMAL)[13]、代表性方法(Discriminative and Representative Model Active Learning,DRMAL)[16]。進(jìn)一步地,使用相似度稀疏模型(Dissimilarity-based Sparse Modeling Representative Selection,DSMRS)[24]和互信息方法度量了樣本集之間相似性從而降低了樣本集之間的冗余性。例如自適應(yīng)主動(dòng)學(xué)習(xí)方法[15]、凸規(guī)劃主動(dòng)學(xué)習(xí)方法(Convex Programming Active Learning,CPAL)[25]等。
以神經(jīng)網(wǎng)絡(luò)為分類器條件下,與SVM類似,越接近分類邊界的樣本信息量越大,目前大多數(shù)采用不確定性方法度量。由于神經(jīng)網(wǎng)絡(luò)未能明確解釋原因,有些學(xué)者認(rèn)為當(dāng)前方法選擇樣本不夠接近分類邊界,需要重新選擇在分類邊界附近的樣本,例如:計(jì)算多次dropout后的結(jié)果均值作為最終分類結(jié)果的貝葉斯算法(Deep Bayesian Active Learning, DBAL)[8];利用生成對(duì)抗樣本的Deepfool算法[26]攻擊無(wú)標(biāo)記樣本(Deep Fool Active Learning, DFAL)算法;考慮到樣本分布關(guān)系,為了保證有標(biāo)記樣本集和無(wú)標(biāo)記樣本集的分布一致性,利用加入了分類器自定標(biāo)簽的高可信樣本方法(Cost-Effective Active Learning,CEAL)[27],用歐氏距離把樣本選擇問(wèn)題變成K中心問(wèn)題[9],這些方法都保證了分布一致性且可以選擇信息量大且數(shù)量多的樣本,但是沒(méi)有解決信息冗余問(wèn)題。本文提出DRAL方法降低了冗余度,達(dá)到更好的效果。
本節(jié)定義了主動(dòng)學(xué)習(xí)問(wèn)題,通過(guò)帶有MLP的CNN中的“潛變量”間接度量了樣本信息量和樣本信息冗余度。結(jié)合主動(dòng)學(xué)習(xí)過(guò)程,定義了最小化冗余度問(wèn)題。
假設(shè)有m類n個(gè)樣本。基于池樣本選擇樣本模式的主動(dòng)學(xué)習(xí)問(wèn)題如下:
問(wèn)題1假設(shè)有標(biāo)記集樣本數(shù)量為nL,L={xi|i=1,2,…,nL};無(wú)標(biāo)記集樣本數(shù)量為nU,U={xi|i=1,2,…,nU},xi∈Rk且nL+nU=n;樣本標(biāo)簽集:Y={yi|i=1,2,…,nL}且yi∈Rm。CNN模型的損失函數(shù)為l(L,Y;f(θ)),其映射為RnL×k×RnL×m→RnL。每次從U中選擇k個(gè)樣本構(gòu)成Si集放入到L中,主動(dòng)學(xué)習(xí)問(wèn)題為:
minLE[l(L,Y;f(θ))]-E[l(L+U;f(θ))]
其中損失函數(shù)是信息交叉熵函數(shù),即:
(1)
式中:T是迭代次數(shù);1{·}是指示函數(shù),當(dāng)CNN預(yù)測(cè)正確時(shí)為1,否則為0;p(yi=j|xi;θ)是經(jīng)過(guò)Softmax過(guò)程后在j類的輸出結(jié)果。
由于CNN沒(méi)有明確的可解釋性,所以明確樣本對(duì)CNN的具體信息是什么很困難。鑒于此問(wèn)題,假定CNN經(jīng)過(guò)卷積層后接有MLP全連接層,并規(guī)定MLP中的隱層輸出向量為潛變量,通過(guò)潛變量抽象表示樣本信息。潛變量向量的模長(zhǎng)表示信息量,通過(guò)計(jì)算樣本間距離大小表示信息冗余。常用距離度量有歐氏距離和余弦距離,余弦距離計(jì)算效果更好且計(jì)算得出結(jié)論相同,所以選擇余弦距離。進(jìn)一步地,內(nèi)積度量樣本間的信息冗余度,即內(nèi)積越大表示潛變量的相似度越高,被比較的兩個(gè)樣本間的信息量冗余度越高。
I=[I1,I2,…,In]
為了解決問(wèn)題1,通過(guò)降低冗余度達(dá)到該目的,即選擇信息量大且冗余度小的樣本集。問(wèn)題1變?yōu)槿绾芜x擇樣本集Si,使得樣本間冗余度最小。
問(wèn)題2假設(shè)已有冗余度矩陣R,從U中選擇樣本集Si,使得R的均值最小,即:
minLaverage(R)
冗余問(wèn)題主要在多次選擇的Si樣本集之間或者單次選擇的Si集中樣本之間。假設(shè)每次選擇完Si,經(jīng)過(guò)標(biāo)記后CNN在集合L上收斂,因此,每次迭代選擇的Si樣本集之間信息冗余少,冗余問(wèn)題主要在Si集中的樣本之間。
圖1 si集的冗余度問(wèn)題分析情況
(1) 低可信度[26]:
x*=argmaxx[1-p(ymax|xi;θ)]
(2)
式中:ymax=max(yi=j|xi;θ)。樣本在各個(gè)分類概率中的最大值由小到大排序,選擇前K個(gè)樣本。
(2) 信息熵[26]:
(3)
按照信息熵由大到小排序,選擇前K個(gè)樣本。
(3) 貝葉斯估計(jì)[8]:
(4)
在多次dropout值條件下平均分類結(jié)果,然后結(jié)合式(2)和式(3)選擇樣本。
如圖1(a)所示,上述不確定性方法選擇樣本過(guò)程僅是按照給定計(jì)算指標(biāo)排序選擇一些樣本作為Si集,該過(guò)程中并沒(méi)有考慮樣本冗余,從而選擇了無(wú)意義的樣本?;诖藛?wèn)題提出DRAL方法,如圖1(b)所示,將位于CNN分類邊界附近的樣本構(gòu)成候選樣本集,該集合包括所有類別。最后,從該候選樣本集中選擇冗余度小的樣本子集。
根據(jù)不確定性方法選擇位于CNN分類邊界附近的樣本構(gòu)成候選樣本集。計(jì)算所有候選樣本間的潛變量間余弦距離矩陣:
(5)
利用距離矩陣得到冗余度小的樣本集,即每次從候選集選出與待標(biāo)記集最不相似的樣本,特別地,若L為空集則選擇與候選集最相似樣本。冗余度算法如算法1所示。
算法1冗余度算法
輸入:距離矩陣D;樣本數(shù)目k。
輸出:待標(biāo)記樣本集L。
1. While |L| 2. IfL=?: 3.P=average_column(D);/*根據(jù)式(5)計(jì)算距離矩陣D行均值向量*/ 4. Index=min(P);/*得到與整個(gè)候選集最相似的樣本索引*/ 5. Else 6.D1=D(L);P=average_row(D1);/*按照L中樣本在候選集中索引,把D行向量拼接成D矩陣,計(jì)算D列均值*/ 7. Index=max(P);/*取出與L樣本集最不相似的樣本*/ 8.L=L+index;/*做標(biāo)記,放入L中*/ 9.D=L-D;/*按照L中樣本在候選集中索引,把D列向量刪除*/ 10. End while 11. returnL 從上述算法可看出,利用余弦距離、冗余度算法的目的是從候選樣本集中選擇具有類別多樣性、冗余度小的樣本集。結(jié)合上述不確定性方法,DRAL算法過(guò)程如算法2所示。 算法2DRAL算法 輸入:有標(biāo)簽樣本集L;無(wú)標(biāo)記樣本集U;每次選擇樣本數(shù)K;候選樣本數(shù)NK;最大迭代次數(shù)T;當(dāng)前迭代次數(shù)t。 輸出:CNN模型。 1. 在L上初始化CNN; 2. whilet 3.C=uncertain(U); /*根據(jù)不確定方法(1)或方法(2)或 /方法(3),在U中選擇NK個(gè)樣本,構(gòu)成候選集C*/ 4.Dis=D(C); /*計(jì)算所有樣本之間余弦距離,構(gòu)成距離矩陣D*/ 5.Q=R(Dis,K); /*由算法1可得,從候選集C中得到樣本 /數(shù)目為K的待標(biāo)記樣本集Q*/ 6.L=L+Q;U=U-Q; /*在有標(biāo)簽集添加Q,從無(wú)標(biāo)簽集刪除Q*/ 7. CNN=train(CNN,L); /*在L上訓(xùn)練CNN*/ 8. end while 9. return CNN 假設(shè)在無(wú)標(biāo)記樣本池中,一輪內(nèi)選出K個(gè)樣本,以LeNet-5網(wǎng)絡(luò)為分類器有S個(gè)卷積核,設(shè)單個(gè)卷積核計(jì)算時(shí)間為ts,DRAL方法和不確定性方法的時(shí)間復(fù)雜度分析如下: 不確定性方法: TU=Ts+Tk (6) DRAL方法: TD=Ts+Tk+TR (7) 式中:Ts是經(jīng)過(guò)網(wǎng)絡(luò)訓(xùn)練時(shí)間;Tk是排序選擇樣本時(shí)間;TR是冗余度計(jì)算時(shí)間。 Ts=tsKS=O(tsS) (8) Tk=K=O(1)TR=NK=O(N) (9) 顯然,tsS?N>1,則Ts?TR>Tk,時(shí)間主要消耗在訓(xùn)練神經(jīng)網(wǎng)絡(luò)上,則式(6)與式(7)有如下關(guān)系: TU≈TD≈O(tsS) (10) 由式(10)可得出兩種方法的運(yùn)行時(shí)間大致相同。 在Lenet和NIN模型上對(duì)Mnist、Fashion-mnist,以及Cifar-10進(jìn)行多次實(shí)驗(yàn)。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)見(jiàn)表1和表2,數(shù)據(jù)集的說(shuō)明如下: (1) Mnist:28×28灰度圖,共10類。用于識(shí)別手寫數(shù)字?jǐn)?shù)據(jù)集,其中:訓(xùn)練集50 000幅,驗(yàn)證集5 000幅,測(cè)試集10 000幅。實(shí)驗(yàn)用10 000幅作為無(wú)標(biāo)記樣本池。 (2) Fashion-mnist:28×28灰度圖,共10類。用于識(shí)別時(shí)尚服裝數(shù)據(jù)集,其中:訓(xùn)練集50 000幅,測(cè)試集10 000幅。由于復(fù)雜度比Mnist更高,實(shí)驗(yàn)用20 000幅作為無(wú)標(biāo)記樣本池。 (3) Cifar-10:32×32×3彩色圖,共10類。用于識(shí)別普適物體的小型數(shù)據(jù)集,其中:訓(xùn)練集50 000幅,測(cè)試集10 000幅。實(shí)驗(yàn)用20 000幅作為無(wú)標(biāo)記樣本池。 表1 Mnist和Fashion-mnist實(shí)驗(yàn)網(wǎng)絡(luò)結(jié)構(gòu) 表2 Cifar-10實(shí)驗(yàn)網(wǎng)絡(luò)結(jié)構(gòu) 續(xù)表2 為了降低實(shí)驗(yàn)偶然性的影響,每個(gè)數(shù)據(jù)集實(shí)驗(yàn)都是平均了5次的結(jié)果。每次實(shí)驗(yàn)中,為了避免模型在訓(xùn)練過(guò)程中具有傾向性,每次迭代選擇的驗(yàn)證集是從現(xiàn)有的有標(biāo)簽集中的每類隨機(jī)均勻抽取2%樣本,且在各個(gè)數(shù)據(jù)集實(shí)驗(yàn)的CNN初始化網(wǎng)絡(luò)參數(shù)一樣。 實(shí)驗(yàn)使用Python平臺(tái)的Keras工具包,將DRAL方法與不確定性方法中的低可信度[26]、信息熵[26]和貝葉斯方法[8]進(jìn)行了多次對(duì)比。對(duì)于Mnist數(shù)據(jù)集,n0=100,T=15,N=3,K=100,特征向量長(zhǎng)度128,網(wǎng)絡(luò)結(jié)構(gòu)見(jiàn)表1。對(duì)于Fashion-mnist數(shù)據(jù)集,n0=200,T=20,N=10,K=150,特征向量長(zhǎng)度256,網(wǎng)絡(luò)結(jié)構(gòu)見(jiàn)表1,特別地,F(xiàn)c層輸出長(zhǎng)度變?yōu)?56。Cifar-10數(shù)據(jù)集,考慮到數(shù)據(jù)集復(fù)雜性和網(wǎng)絡(luò)訓(xùn)練問(wèn)題為了能減少過(guò)擬合和結(jié)果穩(wěn)定性,dropout值降低,n0=1 000,T=20,N=30,K=150,dropout=0.25,特征向量長(zhǎng)度512。本文實(shí)驗(yàn)對(duì)比的是3.1節(jié)的不確定性方法。 為了驗(yàn)證DRAL算法有效性,由于數(shù)據(jù)集的復(fù)雜度不同,因此不同的數(shù)據(jù)集使用不同的網(wǎng)絡(luò)結(jié)構(gòu)。結(jié)果見(jiàn)圖2。 圖2 DRAL算法在不同數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果 可以明顯看出,DRAL算法在原有的不確定性方法中有明顯的提升。以不確定性方法的最高準(zhǔn)確率所需樣本為對(duì)比,在Mnist中,不確定性方法達(dá)到98%時(shí),entropy最高減少28%樣本,Bayesian方法最低減少16%樣本;在Fashion-mnist中,不確定性方法達(dá)到85%時(shí),least最高減少30%樣本,entropy最少減少14%樣本;在Cifar-10中,三種方法在達(dá)到52%準(zhǔn)確率時(shí),least最高減少22%,Bayesian最少減少11%樣本。從上述結(jié)果分析可知,DRAL方法在三種方法最高減少30%樣本,最低減少11%樣本。 從這些結(jié)果中可以發(fā)現(xiàn),原來(lái)的三種不確定性方法所選擇的樣本的信息對(duì)于分類器而言具有冗余性。因?yàn)镈RAL算法主要是經(jīng)過(guò)冗余度算法選出冗余度小的樣本集。圖2中準(zhǔn)確率升高,相同樣本數(shù)目下,信息量變大,冗余度因此降低。以時(shí)間為代價(jià),DRAL方法可以合理有效提升不確定性方法。 為了降低潛變量特征向量長(zhǎng)度和候選樣本數(shù)目對(duì)樣本冗余度研究的影響,對(duì)潛變量特征向量長(zhǎng)度和候選樣本數(shù)目進(jìn)行了實(shí)驗(yàn)。在Fashion-mnist中,特征向量分別是128和256以及候選樣本數(shù)目分別是300和1 000的條件下,都經(jīng)過(guò)DRAL-least方法的兩組實(shí)驗(yàn)。信息冗余度與特征向量長(zhǎng)度和候選樣本數(shù)目關(guān)系實(shí)驗(yàn)結(jié)果如圖3所示。 圖3 DRAL算法中特征向量長(zhǎng)度和候選樣本數(shù)與冗余度的關(guān)系 圖3(a)實(shí)驗(yàn)是在Fashion-mnist數(shù)據(jù)集中,候選樣本數(shù)量1 000的條件下,特征向量長(zhǎng)度分別為128和256。由于CNN在最后一層的寬度不同,所以初始化網(wǎng)絡(luò)參數(shù)不一致,對(duì)于此問(wèn)題,本實(shí)驗(yàn)盡可能讓初始化網(wǎng)絡(luò)在測(cè)試集上效果相同??梢钥闯?,當(dāng)模型準(zhǔn)確率達(dá)到80%時(shí),前者比后者多了100個(gè)有標(biāo)記樣本。所以,特征向量越長(zhǎng)所帶有的信息量更多。 圖3(b)實(shí)驗(yàn)是在同樣的數(shù)據(jù)集中,在n0=200、T=20、K=100、特征向量長(zhǎng)度為256的條件下,候選集的樣本數(shù)量分別是300和1 000,初始化網(wǎng)絡(luò)參數(shù)均相同。同樣地,當(dāng)模型準(zhǔn)確率達(dá)到80%時(shí),前者比后者多用了100個(gè)有標(biāo)記樣本。通過(guò)該實(shí)驗(yàn)可以比較出,若候選樣本數(shù)量較少時(shí),候選樣本集所帶有的信息量不足,但冗余度小,此時(shí)會(huì)受到樣本數(shù)目的影響。 經(jīng)過(guò)上述實(shí)驗(yàn)可以看出,經(jīng)過(guò)CNN計(jì)算得出的特征向量維度越高,候選樣本越多帶有的信息量越多,經(jīng)過(guò)DRAL算法提升后效果越明顯。而所選擇的候選樣本數(shù)目越多,信息冗余性越強(qiáng)。經(jīng)過(guò)DRAL算法提升效果越好。 在主動(dòng)學(xué)習(xí)池樣本選擇模式下,本文提出一種減少樣本信息冗余的DRAL方法,使用不確定性方法經(jīng)過(guò)CNN選擇大量的候選樣本構(gòu)成候選集,在候選集中利用樣本余弦距離關(guān)系進(jìn)行第二次篩選,從而得到信息量較大且冗余度小的樣本集。該方法可以有效地減少樣本數(shù)據(jù)冗余,進(jìn)一步減少模型所需的有標(biāo)記樣本數(shù)量。未來(lái)可以進(jìn)一步優(yōu)化不確定性方法。3.3 DRAL方法
4 實(shí)驗(yàn)與結(jié)果分析
4.1 數(shù)據(jù)集和網(wǎng)絡(luò)結(jié)構(gòu)
4.2 實(shí)驗(yàn)參數(shù)
4.3 實(shí)驗(yàn)結(jié)果分析
5 結(jié) 語(yǔ)