莫建文,陳瑤嘉
(1.桂林電子科技大學 信息與通信學院 認知無線電與信息處理省部共建教育部重點實驗室, 廣西 桂林 541004;2.桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
自然學習系統本質上是漸進的,新知識是隨著時間的推移而不斷學習的,而現有的知識是保持不變的[1]。在現實世界中,許多計算機視覺應用都需要內置的學習能力。例如,人臉識別系統應該能夠在不忘記已學過的面孔的情況下添加新面孔。然而,大多數深度學習方法都遭遇了災難性的遺忘[2],即當無法獲得過去的數據時,性能會顯著下降。這是完成能不斷學習的人工智能體目前最迫切需要解決的問題。
偽樣本重排練(pseudo-rehearsal)被提出作為一個在神經網絡中進行增量學習解決災難性遺忘的方案。當需要對網絡進行新任務訓練時,偽樣本重排練會通過生成捕獲舊任務結構的網絡行為樣本來保護先前的舊任務學習。這是通過隨機生成輸入樣本并使其通過網絡分配其目標輸出來完成的。然后可以在學習新任務時,對這些隨機生成的輸入與其輸出對一同進行訓練。偽樣本重排練限制了網絡功能的更改,因此,對于以前學習的任務的輸入空間,該功能將保持大致相同,而對于新任務的輸入空間,該功能將進行更改。偽排練與突觸可塑性假說是一致的,因為只要網絡的整體功能保持一致,編碼上一個任務的單個神經元的權重就可以改變。
然而,在深層學習中,純隨機生成的偽樣本不太可能很好地表示訓練數據。這對于圖像來說尤其明顯,因為生成具有均勻分布的偽圖像會生成不代表自然圖像的靜態圖像。此外,這些靜態圖像不能很好地表示類的分布。當這些靜態圖像被用于偽樣本重排練時,網絡對之前所學的任務幾乎一無所知。
針對這個問題,本文采用變分自編碼器(variational autoencoder,VAE)生成偽樣本的方法來實現偽排練。VAE是一種利用無監督學習生成隨機圖像的神經網絡模型。它能很好生成與真實圖像相似的偽圖像。此外,引入Large-Margin Softmax Loss(L-Softmax損失)[3]來訓練分類器,它能使得分類器學習到類間距離更大,類內距離更小的特征。最后,因為采用的VAE是無監督模型,且樣本的生成是隨機的,隨著類數目的增加,僅靠著VAE模型的隨機生成很難準確把控每個舊類的樣本生成數量及其質量。因此,提出一種基于類均值特征的偽樣本選擇策略,它基于分類器訓練樣本的類均值特征,使得篩選出來的偽樣本更具代表性。
災難性遺忘是對基于神經網絡的人工智能的一個根本性挑戰。最近的文獻中,改善增量學習中存在的災難性遺忘現象的方法大致可分為4大類:正則化方法、網絡擴展方法、精餾方法和重放方法。
正則化方法:近年來,將正則化函數應用到由舊任務訓練的網絡中學習新任務的概念受到了廣泛的關注。這種方法可以解釋為一個連續貝葉斯的近似。具體來說,正則化方法對權值更新施加額外的約束,以便在學習新概念的同時保留以前的記憶。受神經可塑性的啟發,文獻[4]提出一種記憶感知突觸(memory aware synapses,MAS)的增量學習方法來減少災難性遺忘,該方法基于神經網絡主動應用的數據以無監督的方式計算神經網絡參數的重要性。學習完任務后,每當樣本被網絡接收時,都會根據預測的輸出對該參數變化的敏感程度,為網絡的每個參數積累重要度。當學習新任務時,對重要參數的更改會受到處罰。文獻[5]基于增量矩匹配(incremental moment matching,IMM)的方法來解決災難性遺忘,IMM首先用正則化方法對網絡進行細化,然后通過矩匹配將得到的模型與原始模型進行混合。為了使后驗參數的搜索空間平滑,IMM過程中加入了各種轉移學習技術,包括權值轉移、新老參數的L2范數、舊參數的dropout變式等。文獻[6]提出一種彈性權重鞏固(elastic weight consolidation,EWC)的方法,該方法允許在新的學習過程中對網絡參數進行選擇性正則化,它使用Fisher信息矩陣(FIM)來判斷網絡中權值對執行已學習任務重要的重要性,并通過約束重要的權值來保持網絡對舊任務的性能。其中Fisher信息矩陣是一個可以用來描述神經網絡模型參數關于任務的信息量,即它對每個網絡參數計算一個值,這個值表明了這個網絡參數對任務的重要程度,值越大,越重要。
網絡擴展方法:基于網絡擴展的增量學習方法類似于域自適應和轉移學習。域自適應將為任務獲取的知識從一個數據集轉移到另一個(相關)數據集。轉移學習利用從一項任務中學到的知識來協助學習另一項任務。文獻[7]提出一種殘差適配器的方法,該方法通過在相對較小的殘差網絡中壓縮許多可視域,并在它們之間共享大量的參數來解決災難性遺忘問題。文獻[8]提出了一種擴展的網絡架構(ExpandNet)來增強CNN的增量學習能力。它一方面保留了原始網絡的過濾器,另一方面又為卷積層和全連接層添加了額外的過濾器。新的體系結構不需要原始數據集的任何信息,它只使用新數據集進行訓練。文獻[9]提出一種增量式神經網絡來支持任務序列間的轉移。增量式神經網絡在整個訓練過程中保留了一組預訓練的模型,并從中學習橫向連接以提取新任務的有用特征。通過以這種方式組合先前學習的特征,增量式神經網絡實現了更豐富的組合性,其中先驗知識不再是瞬時的,可以在特征層次結構的每一層進行集成。
精餾方法:知識精餾[10]一開始提出的目的是為了實現知識遷移,其主要思想是將復雜網絡得到的軟目標作為總損失的一部分,誘導簡單網絡的訓練,使得簡單網絡能達到復雜網絡的性能。文獻[11]提出了一種學而不忘(learning without forgetting,LWF)的方法,該方法利用蒸餾損失和標準交叉熵損失來保持舊任務的性能,在學習新任務之前,將新任務的訓練數據放入舊網絡中,并將輸出作為偽訓練數據的偽標簽。雖然這種方法通過優化舊任務的偽訓練數據和新任務的真實數據在某種程度上減少了災難性遺忘,特別是在簡單的場景中,舊樣本和新樣本來自不同的數據集,它們之間幾乎沒有混淆,但因其舊類的知識表示較弱,其性能遠非理想。文獻[12]基于文獻[11]的方法,使用自動編碼器而不是蒸餾損失來保留舊任務的知識,該方法還在一個限制性場景中進行了評估,其中舊網絡和新網絡在不同的數據集上進行訓練,結果類似于文獻[11]。文獻[13]蒸餾損失應用到增量目標檢測器的學習中,并在目標檢測方面取得了較好的效果,但是這種特定體系結構不太適用于更一般的分類場景。
偽樣本重排練方法:基于偽樣本重排練方法的神經網絡模型不再保留關鍵濾波器或權重,通過訓練生成器模擬舊類的數據和標簽來估計舊類數據的分布,如文獻[14]中,通過使用遞歸神經網絡生成代表舊類的隨機圖像來實現類增量學習。但生成模型要求為每個學習的類別存儲每個像素的平均值和標準差,這導致模型的存儲需求隨所學習的類的數量而增加。文獻[15]提出的深度生成重放(deep generative replay,DGR)方法對每個任務都訓練一個無條件的GAN來累積生成和區分圖像,由于提出的GAN是無條件的,因此DGR使用了一個額外的分類器,該分類器經過并行訓練,對生成的圖像進行分類并分配相應的標簽;文獻[16]提出一種記憶重放GAN(memory replay GANs,MeRGAN)方法通過對DGR框架進行修改,將無條件的GAN替換為ACGAN,從而消除了額外分類器的需要。文獻[17]結合這兩個方面提出了一種閉環記憶GAN(closed-loop memory GAN,CloGAN)方法將非常小的內存緩沖區與訓練生成器結合使用,用內存緩沖區中的真實樣本充當生成器的外部正則化,以降低生成器生成的圖像隨類增量次數增多引起的生成圖像退化問題。
盡管有越來越多的解決方案,但災難性遺忘并不是一個已經解決的問題。正則化方法在類增量類學習中表現不佳,例如EWC[6]方法,文獻[17]中的實驗驗證了這一局限性。另一方面,網絡擴展的方法雖然通常為約束的增量問題提供簡潔的解決方案,但很快就會變得不可持續,因為隨著參數或網絡層數量的快速增加,導致大量內存占用。
本文采用變分自編碼器生成偽樣本的方法來實現偽樣本重排練。首先在訓練分類器時加入L-Softmax損失來使得各類樣本通過分類器能得類間距離更大,類內距離更小的特征,這使得接下來的基于類均值特征的偽樣本選擇能得到更具代表性的偽樣本。其次需要訓練一個VAE通過生成舊類的偽樣本來保留舊類在分類器上的性能。最后基于類均值特征的偽樣本選擇能在平衡生成的每個類的偽樣本數量的前提下,基于均值特征保留更具代表性的偽樣本。總體的實現流程如圖1所示。

圖1 類增量學習實現流程
分類器基于全連接神經網絡模型,該框架采用了Softmax分類方法來預測輸入的類別,Softmax的定義如下
(1)
其中,φ(x)為前級輸出單元的輸出,表示的是將輸入的樣本x映射為一組D維的特征,即φ∶x→RD,i表示類別的索引,Si表示x屬于類i的可能性,C表示總的類別數,對應的權值為w1,…,wC。
在神經網絡中,帶Softmax的交叉熵損失是最常用的監督組件,盡管它很常用而且很簡單,但是它并沒有明顯地鼓勵區別性地學習特性。本文的分類器應用了L-Softmax損失,該損失明顯地促進了學習特征之間的類間的可分性和類內的緊密性。具體地,對于二分類問題,假設x是屬于0類的一個樣本,為了正確的分類x,原始的Softmax是使
(2)
其中,θ是特征和權值之間的夾角。而L-Softmax損失則設置了更為嚴格的限制,即
(3)
其中,m為一個正整數。如上述公式所示,則新的分類損失是對正確分類x的一個更嚴格的要求,它為類0生成一個更嚴格的決策邊界。對于更一般的分類問題,設輸入樣本x的標簽為y,C為總的類別數,則對標簽y進行one-hot編碼后,可以獲得帶有C維向量的軟標簽{y1,y2,…,yC}。則L-Softmax損失的定義如下
(4)
其中
(5)
其中,k∈[0,m-1],且k為整數,m(前面提到過)是與分類邊界密切相關的正整數。當m=1時,L-Softmax等于Softmax,更大的m意味著學習的邊界更大,學習目標更困難。為了方便前向和反向傳播,L-Softmax損失分別將cos(θj)與cos(mθy)替換為
(6)

(7)
其中,n為整數,且2n 為了更直觀顯示L-Softmax與Softmax在學習特征之間的類間的可分性和類內的緊密性,分別使用L-Softmax與Softmax損失在MNIST訓練集上完成訓練后,在MNIST的測試集的特征可視化如圖2所示。 圖2 MNSIT測試集的特征可視化 從圖2中可以看到,運用L-Softmax損失訓練分類器能得到類間距離更大,類內距離更小的特征。 圖3 VAE的實現過程 (8) 通過得到專屬于xk的均值與方差后,就能從這個專屬分布中采樣Zk,即 Zk=μk+ε·σk (9) 其中,ε為均值為0,方差為1的標準正態分布,即ε∈N(0,1)。 x′>k=ψ(Zk) (10) 最后為VAE的損失函數,VAE有兩個損失函數,一個為重構損失LR,一個為Kullback-Leibler散度(KL散度)損失LKL。其中重構損失LR是為了使解碼出來的重構樣本與真實樣本盡可能的一致,即 LR=(xk-x′>k)2 (11) 對于KL散度,描述的是兩個概率分布間的差異,因為最終得到的解碼網絡是要從標準正態分布N(0,1)中采樣Z來解碼生成偽樣本,所以VAE利用KL散度來讓所有通過解碼器得到的分布都向N(0,1)看齊,即 (12) 為了確認VAE可以用來生成看起來與真實圖像相似的偽圖像,將VAE應用于MNIST數據集。圖4(b)說明了所生成的圖像與MNIST的真實圖像(圖4(a))相似,盡管在仔細檢查時會發現差異,但生成的圖像仍然包含網絡可以學習保留的類特定特征。通過將VAE在上一輪訓練類的圖像上進行訓練,可以將其用于生成代表上一輪類的偽圖像,而無需存儲實際數據集。 圖4 MNIST真實圖像(a)與生成圖像(b)的比較 步驟1 計算分類器訓練樣本的類均值特征Fk,即 (13) 其中,nk為k類訓練樣本的總數,φ(xkj)代表第j個k類訓練樣本在分類器輸出層前一層得到的特征。 步驟2計算每個k類訓練樣本到其均值特征Fk的距離,并得最大距離dkmax和最小距離dkmin,即 (14) (15) (16) (17) 且當 dkmin (18) 則令偽樣本x′>j的標簽yj=k,且將偽樣本x′>j和標簽yj放入對應的數據集,即 (19) 經過樣本選擇后的偽樣本如圖5所示,通過圖5與直接用VAE生成的偽圖像(圖4(b))的比較,可以很明顯看出經過樣本選擇后,不僅能平衡每個舊類的偽樣本數量,且能夠剔除生成效果差的,基于類均值特征保留更具代表性的偽樣本。 圖5 經過樣本選擇后的偽樣本的比較 綜上所述,基于VAE的偽樣本重排練實現的類增量學習,不僅能使基于神經網絡的分類模型克服災難性遺忘問題,且不需要額外的內存來保留舊類的數據。此外,基于VAE的偽樣本重排練不需要為每次添加新類擴展網絡,且對于分類模型的單個神經元應該如何學習新類,網絡也沒有任何硬性約束。 實驗采用MNIST與FASHION數據集,其中MNIST數據集是機器學習中用于識別手寫數字的分類任務的常用基準數據集,問題的簡單性使得測試精度很高。現代機器學習方法可以很容易地在MNIST上實現97%的測試精度。這種高測試精度使得機器學習算法之間的比較不是那么明顯。FASHIO作為MNIST的一個更困難的替代被認為是解決這一問題的更好的選擇。FASHION數據集包含從在線購物網站檢索到的標記服裝圖像,由于圖像更加多樣化,使得算法區分類的問題更加困難,能更準確地對模型的表現進行反饋。在表1中總結了MNIST與FASHION數據集的統計信息。 表1 使用的數據集的統計信息 在這里,以類的平均分類精度評估類增量學習,每次類增量學習都是來自整個數據集的類的一個不相交子集,MNIST與FASHION數據集每個子集有2個類,總共5個子集覆蓋數據集所有的類。在MNIST與FASHION數據集中評估各種類增量學習方法,其中包括閉環記憶GAN(closed-loop memory GAN,CloGAN)、EWC與微調。CloGAN是一種將非常小的內存緩沖區與生成器結合使用的方法,該方法用內存緩沖區中的真實樣本充當生成器的外部正則化,以此降低生成器生成的圖像隨類增量次數增多引起的生成圖像退化問題。微調方法是使用隨機梯度下降僅在新類的數據上直接微調現有的分類模型,這會導致分類模型完全遭受災難性遺忘的影響。此外,在本實驗中,CloGAN在MNIST與FASHION數據集上的預留圖像緩沖區分為數據集訓練樣本數量的0.16%。各種方法的對比結果如圖6所示。 圖6中各個折線圖的縱坐標為分類精度,橫坐標為類名,通過比較各種方法的結果表明基于VAE的偽樣本重排練方法比起CloGAN具有更好的分類效果,即使是不使用舊類的圖像作為緩沖區,也能有效地降低災難性的遺忘的影響。其次,從圖6可以看出,隨著類增量學習的進行,EWC方法的準確性迅速下降,逐漸接近微調方法,即接近完全遭受災難性遺忘的效果,驗證了EWC在類增量學習中表現不佳。 圖6 各種方法在MNIST(a)與FASHION (b)數據集上的平均分類精度 表2比較了各種類增量學習方法在完成每個數據集的所有類增量訓練后的最大平均分類精度。 表2 各種增量學習方法的平均分類精度 為了進一步說明基于VAE的偽樣本重排練實現的類增量學習的有效性,在MNIST與FASHION數據集上進行了額外的實驗,在實驗中分離了算法的各個模塊,其中包含:①基于均值特征的偽樣本選擇;②基于L-Softmax損失的分類器。創建了3種混合設置:第一種設置為基于傳統VAE+one-hot標簽;第二種設置為基于傳統VAE+偽樣本選擇;第三種設置為基于CF-VAE+偽樣本選擇+L-Softmax。 以平均分類精度作為衡量標準,實驗結果如圖7所示。 圖7 3種混合設置的平均分類精度 圖7表明每增加一個模塊,分類性能都能有所提升,即提出的基于VAE的偽樣本重排練實現的類增量學習的各個模塊都可以為其良好的性能做出貢獻,所有這些模塊結合能夠獲得最優的結果。 綜上所述,實驗驗證了與簡單的梯度下降來微調模型的微調方法、保留重要權值的EWC方法或結合生成器與圖像內存緩沖區的CloGAN方法相比,本文的基于VAE的偽樣本重排練方法具有主要的優勢,因為它不需要為每次添加新類擴展網絡,且對于分類模型的單個神經元應該如何學習新類,網絡也沒有任何硬性約束。并且它不僅在分類效果上更佳,更因為其完全不需要保留舊類樣本數據,降低內存的占用,使其在內存資源受限的移動設備上進行類增量學習成為可能。
2.2 基于VAE的偽樣本生成器





2.3 基于類均值特征的偽樣本選擇






3 實驗結果與分析
3.1 實驗數據集

3.2 對比實驗分析



4 結束語