莫建文,朱彥橋,歐陽寧,林樂平+
(1.桂林電子科技大學 信息與通信學院 認知無線電與信息處理省部共建教育部重點實驗室, 廣西 桂林 541004;2.桂林電子科技大學 信息與通信學院,廣西 桂林 541004)
人類和動物可以持續地積累和鞏固從先前觀察到的任務中獲取的知識,并不斷地學習解決新的問題或任務。但現如今的大多數深度學習系統卻缺乏這樣的能力,當它們無法一次性訪問所有數據的時候,為了適應當前的數據,它們必須通過反向傳播來調整先前學習到的參數,這就會導致先前學習到的知識被干擾甚至被完全覆蓋,這樣的現象被稱為災難性遺忘[1]。
克服災難性遺忘是深度學習領域中一個長期研究的問題,其本質上是如何令系統在穩定性與可塑性之間尋求平衡,穩定性指的是在學習新知識的同時記憶舊知識的能力,可塑性指的是模型整合新知識的能力。近年來,許多增量學習方法相繼涌現,但這并不意味著深度學習模型已經能很好地適應增量式場景,因為現有的多數增量學習方法都過度關注如何提高模型的穩定性,卻忽視了模型學習的可持續性。這就使得深度學習模型必須將大量資源耗費在對舊知識的鞏固上,但當處于模型容量有限的環境時,這些模型往往會因為無法合理地利用有限的資源而導致其難以適應新任務。
基于這樣的觀察,提出一種更均衡的增量學習策略,它吸收了穩定性與可塑性間的互補優勢,同時最小化它們各自的弱點,實現一個更高效的增量學習模型。
最近的研究[2]中,緩解災難性遺忘的方法大致可分為3類:基于樣本重現的方法、基于網絡結構的方法、基于正則化的方法。
基于樣本重現的方法根據一些篩選標準,從舊數據集中抽取一些具有代表性的原始樣本,將它們和新任務的樣本進行聯合訓練來達到記憶的目的。例如Rebuffi等提出的增量分類與表示學習(incremental classifier and representation learning,iCaRL)[3],他們根據樣本的特征向量從舊樣本集中抽取最接近平均特征向量的樣本,并使用它們來模擬已訓練數據的特征分布。而何麗等[4]則通過快速查找發現密度峰值進行聚類的方法來篩選典型樣本。在某些場景中,舊任務的樣本并非隨時都是可用的,當無法獲取舊樣本集的時候,一個替代方案是通過一些生成模型合成與原始樣本相似度較高的偽樣本。例如文獻[5,6]利用對抗網絡合成高質量的偽樣本來代替原始樣本。
基于網絡結構的方法則采用更直觀的方法來克服災難性遺忘,它們將網絡劃分為多個獨立的部分,每個部分都對應特定的任務,在對當前任務進行訓練時,則將其它部分隔離,以防止任何可能的干擾。此類方法又分為兩種場景,當對網絡結構大小沒有限制時,可以通過凍結先前任務學習到的參數集,并為新任務增加新的分支來實現[7,8]。而當處于無法進行擴展的靜態模型中時,則可以通過在訓練新任務期間將用于舊任務的部分屏蔽來實現,例如Packnet[9]借鑒了模型剪枝的思想,使用二進制掩碼隔離舊任務的權值。而HAT[10]則使用基于節點的硬注意力機制來隔離重要節點。
基于正則化的方法通過在損失函數上引入額外的正則項來對權值的調整進行約束。這方面最早的工作為Kirkpatricka等提出的彈性權值固定——EWC(elastic weight consolidation)[11],它通過Fisher信息來評估網絡權值對歷史任務的重要性,然后根據權值的重要性對權值施加相應的固定力度,使重要性較高的權值進行更小幅度的調整來保存舊樣本的特征。之后的很多方法都借鑒了EWC的思想,主要區別在于獲取參數信息量的方法。例如,Aljundi等提出的MAS(memory aware synapses)[12]根據模型的輸出對權值變化的敏感性,為網絡的權值積累重要度。還有一些工作探索過如何通過不確定性判斷模型參數的重要性。例如Hur等[13]將不確定性作為參數重要性的衡量標準,并應用于模型裁剪,而Jian等[14]則將不確定性應用到了持續學習領域,他們認為如果權值具有較低的熵值,則說明權值已處于穩態,相反,熵較大的權值具有更大的隨機性,通過保留熵值較低的權值而更新那些熵較高的權值,更有利于模型的持續學習。
貝葉斯增量學習是正則化方法在貝葉斯神經網絡中的應用模式,在貝葉斯神經網絡的框架下,網絡權值不再是某個固定的數值,而是由均值和方差定義的概率分布。Ebrahimi等提出在貝葉斯神經網絡的框架下,通過權值的不確定性來定義權值重要性并對權值的更新進行相應限制的持續學習框架——UCB(uncertainty-guided continual bayesian neural networks)[15]。
以上方法都在增量學習領域取得了很好的效果,但正如引言所述,它們仍然存在可以改進的空間。例如基于正則化的方法[11,12,14,15]過于注重克服模型的遺忘問題,在訓練過程中參數重要性的累積會導致優先訓練的任務占用了大部分資源,由于這些參數已經被施加了很強的正則化力度,它們對于新任務來說是難以訓練的,隨著網絡中可訓練參數的急劇減少,網絡的訓練很快便會變得不可持續。通過注意力機制為任務劃分參數集的方法[9,10]也同樣存在這樣的問題,優先訓練的任務總是能獲得更多資源,隨著訓練的深入,資源分配不均的問題會愈發凸顯。
針對以上問題,提出一種結合了貝葉斯神經網絡和權值篩選策略的增量學習方法。首先它在貝葉斯神經網絡的框架下,根據權值的不確定性調整每個權值的學習率,令重要性較高的權值保持較低的學習率,避免它們被過度調整。然后考慮到一昧地限制權值的變化會影響后續任務的學習效果,所以提出一種可選擇性進行權值釋放的策略,通過有選擇地提高部分權值的更新步長,將它們從正則化的束縛中釋放,使它們能更好地適應新任務。該方法的參數計算量始終保持恒定,在不進行網絡結構擴展的情況下仍然能更學習到一個持續學習能力更強的模型。
貝葉斯推理需要一個完整的概率模型,其中包括模型參數的先驗分布P(Z) 和數據的似然P(D|Z), 然后通過貝葉斯公式求出模型的后驗分布
(1)
但由于式(1)中的分母P(D) 是一個僅與訓練數據有關的概率分布,其實際構成比較復雜,所以導致直接求解后驗分布在實際場景中很難實現,在實際操作中往往結合變分推理來近似求解模型的真實后驗分布。
基于變分推理的貝葉斯優化,首先要假設一個基于參數θ=(μ,σ) 的高斯分布簇Q(Z|θ), 然后通過最小化Q(Z|θ) 與P(Z|D) 間的KL散度令Q(Z|θ) 近似于P(Z|D)

(2)
式(2)中的logP(D)是與變量無關的常數,也稱為證據(evidence),右邊第二項被稱為最小證據因子下界(evidence lower bound,ELBO)。若保持logP(D) 不變,則最小化KL散度的問題也可以轉化為針對ELBO的優化問題

(3)
其中, KL[Q(Z|θ)‖P(Z)] 在式(3)中充當了正則項的角色,公式通過最小化Q(Z|θ) 與先驗P(Z) 間的KL散度,將模型的對數似然最大化。同時,為了適應一些復雜的后驗分布,可以將先驗指定為由兩個零均值高斯分布組成的混合高斯分布,并通過多次蒙特卡洛采樣求出式(3)的近似表達式

(4)
其中,Zn表示第n次采樣后得到的權值,由于直接從概率分布中采樣權值無法對參數進行梯度估計,所以一般使用重參數技巧來獲取用于前向傳播的權值
Z=μ+σ·ε
(5)
結合了變分估計的貝葉斯推理,因為需要通過正則項來近似后驗分布,所以為將貝葉斯推理應用于增量學習場景提供了可能性。
Ebrahimi等提出的思想[15],參數的更新步長可以定義為前一任務學習到的標準差σt-1與初始學習率ηinit的乘積,然后在訓練當前任務時,根據權值的標準差動態地調整均值更新的步長。與信息熵類似,標準差反映了模型參數的信息量大小,當標準差較大時,意味著權值采樣具有更大的不確定性,從貝葉斯優化的角度考慮,這樣的權值具有更大的訓練價值,此時相應的更新步長Λ會更大,以促使權值做出更多改變來適應新任務,相反,標準差較小的權值,表示其在學習舊任務時已經達到穩態,需要限制它的變化來保存舊任務的信息
(6)

以上操作實現了基本的對權值的彈性約束,但這樣的方法無法適應長序列的任務,因為權值的重要性會隨著訓練次數的增加而不斷累積,從而使權值變得越來越難以訓練,這對后續任務的學習非常不利。Schwarz等[16]針對這樣的問題提出了另一種克服災難性遺忘的思路,他們認為為了能保持模型的學習能力,對于已經學習過的舊任務,最好能以一種優雅而非災難性的方式遺忘它們。這種理念也是增量學習的重要組成部分,尤其是在無法對網絡進行擴展的環境下,緩慢地遺忘舊任務能為新任務的學習提供更多空間。
根據這樣的理念,提出一個選擇性釋放資源的機制,它的概念如圖1所示。

圖1 選擇性釋放機制概念
如圖1所示,兩個橢圓分別表示訓練了前t-1個任務后形成的參數空間和訓練第t個任務后的參數空間,傳統的訓練方式采用隨機梯度下降法令參數完全落入任務t的參數空間。而以EWC[12]為代表的正則化方法則通過控制權值的更新方向,令權值落入舊任務與新任務參數空間的交匯處,但隨著任務量的增加,越來越多的權值被限制,權值更新方向會逐漸向舊任務的參數空間偏移,即模型越來越傾向于記憶舊任務而非學習新任務。本文的方法采取一個折中策略,它令參數的調整方向逐漸向任務t的參數空間靠攏,即適當地提高模型的學習能力來促進新任務的學習,同時緩慢地遺忘舊任務。
2.3.1 權值篩選
該機制的目的在于令舊任務主動舍棄部分資源來為未來任務騰出足夠的學習空間,而自己則緩慢地遺忘先前學習過的知識。所以為了避免任務性能的突然崩潰,在釋放前,首先需要確立一個篩選標準來對權值進行篩選。
首先將一層內的所有權值按標準差大小排序
(7)
然后設置一個釋放比例r
r=i/I
(8)
然后根據比例將這I個權值中標準差最大的i個視為重要性較低,將它們歸入集合GA,另外I-i個標準差較小的權值則視為重要性相對更高,將它們組成集合GB,在訓練過程中,將對集合GA內的權值進行釋放。
2.3.2 資源釋放
對權值進行釋放的具體操作,則通過在式(6)增加一個動態因子α來實現
(9)
(10)
如式(9)和式(10)所示,Y中的元素γi定義了每個權值釋放的強度。式(6)僅根據權值對歷史任務的重要性來對權值的調整進行約束,但加入了Y后,式(10)能根據權值的標準差大小在釋放與固定之間進行動態切換,對于GA內的權值,對應位置的γ的取值為1,在優化時仍傾向于令權值的分布保持與先前相同的均值。但當權值的標準差高于該閾值時,對應的γ切換為一個大于1的常數,此時在優化過程中權值的學習率相較于式(6)會有所提高,這就允許權值在優化過程中可以做更大的調整來適應新任務。
權值篩選是基于正則化方法的一個有效補充,但因為以上操作都沒有考慮到概率分布的均值,所以在權值的選擇策略上仍然可以進行改善。因此,在原基礎上將權值的篩選標準進行進一步完善
(11)
如式(11)所示,在原來的基礎上,使用均值的絕對值與標準差的比值(信噪比)取代原來單一的標準差作為權值的篩選標準。信噪比是工程領域的常用參數,通過信噪比能更準確地反映權值的重要程度,當權值的信噪比較小時,表示權值的重要性相對較低,模型按比例篩選出信噪比最小的i個權值歸入集合GA,然后仍然按照式(9)對它們進行釋放,而集合GB內的I-i個權值,則繼續維持原狀。接下來的實驗結果表明,通過信噪比篩選權值再進行釋放,能讓模型具有更高的魯棒性。整個算法的流程見表1。
MNSIT:由手寫數字組成,共有10個類別,包括60 000個訓練樣本和10 000個測試樣本。在實驗中,以隨機排列的方式將MNIST中的圖像像素進行重新排序[11],形成多個分布不同的數據集(Perturbation-MNIST)來進行

表1 基于權值篩選策略的增量學習方法流程
多任務測試。對于類增量測試,則將MNIST劃分為5個獨立的子集(Split-MNIST),每個子集包含兩個獨立的類別,并按順序輸入網絡進行類增量測試。
Fashion-MNIST:由10類服裝圖像組成,相較于MNIST,Fashion-MNIST更貼近真實場景,也更能反映模型的分類性能。在實驗中,和MNIST一樣,將其劃分為5子集(Split-Fashion),并逐一輸入網絡進行二分類學習。
數據集的示例圖如圖2所示。

圖2 數據集樣本示例圖
為了驗證方法的有效性,將完整的算法和經過簡化后的算法在數據集上進行實驗對比。實驗使用含有兩個隱藏層的全連接神經網絡,對于Perturbation-MNIST,將每層的神經元數目設為256個,對于Split-MNIST,則將神經元數目設為150個,而對于較難訓練的Split-Fashion,則將每層節點增加到250個。實驗遵循持續學習的原則,每個階段僅對當前任務的樣本樣本進行訓練,先前任務的數據樣本無法再次訪問,圖3展示了每次訓練結束后所有任務的平均分類精度。

圖3 3種設置的分類精度
由圖3可知,無論是多任務設置(Perturbation-MNIST)還是類增量設置(Split-MNIST、Split-Fashion),以信噪比為標準的權值篩選策略都能獲得最高的分類精度。而只以標準差為標準的釋放策略在Perturbation-MNIST和Split-MNIST上可以取得比只有固定操作的方法更好的精度,但在更難訓練的Split-Fashion上未能表現出更好的性能。以上結果表明,主動釋放資源的理念的確為模型的持續學習帶來了積極的影響。
本節將分析釋放策略對模型穩定性與可塑性的影響。表2和表3展示了在3.2節的網絡配置中,Split-MNIST和Perturbation-MNIST在訓練完成后,每個任務的最終分類精度。

表2 Split-MNIST上單個任務的最終分類精度/%

表3 Perturbation-MNIST單個任務的最終分類精度/%
由表2和表3可知,引入釋放策略后的方法,其在兩個數據集中的第一個任務的分類精度都要略低于僅有固定操作的模型,但后續任務的分類精度都要高于后者,這說明當沒有引入權值篩選策略時,模型為了記憶舊任務的知識而限制了權值的調整,因此先前任務都能保持較高的分類精度,但當加入釋放機制后,舊任務的資源得到釋放,這些被釋放的資源促進了后續任務的學習使得后續任務的分類性能得到提高,而且只要釋放的比例與釋放的強度控制得當,并不會嚴重損害舊任務的性能。釋放機制的引入更充分地發掘了模型的持續學習能力。


圖4 均值變化趨勢分析
如圖4所示,當加入權值篩選策略后,均值的變化量在任何一個訓練階段都要高于僅有固定操作的模型。由于范數的大小一定程度上反映了矩陣中的元素大小,所以圖4的結果說明了權值篩選策略的引入使得模型對參數的約束力度得到一定程度的減小,模型也就能做更多調整來適應新任務。
將本文提出的權值篩選策略與目前最常用的幾種增量學習方法進行比較。
為了更準確地評估模型的分類性能,對網絡規模進行了不同設置。同時為了驗證提出的方法同樣適用于卷積神經網絡,對Split-Fashion改用resnet18網絡進行測試,其中表4列出了對resnet18的網絡規模進行的3種不同設置的具體參數信息。對于Perturbation-MNIST和Split-MNIST,則繼續沿用3.2節中的全連接神經網絡,但同樣對中間兩個隱藏層的節點數目進行不同設置。

表4 resnet18的3種網絡規模
表5、表6、表7顯示了每種方法在完成所有任務訓練后的平均分類精度,其中括號內數據表示每種方法的分類精度與本文方法的差距。由實驗結果可知,本文提出的方法不僅能在不同規模的網絡結構都保持著最高的分類精度,而且隨著網絡規模的縮小,其它方法與本文方法的差距基本上呈現拉大的趨勢,例如使用Perturbation-MNIST測試時,當每層節點數目為256時,UCB的分類精度與本文算法的差距僅為1.05%,但當節點數目減少到150時,這個差距擴大到4.24%。這說明在資源有限的環境下,資源釋放理念的引入能更好地保持網絡的學習能力,促進有限資源的合理分配。

表5 Split-Fashion在不同網絡中的分類精度/%
本節列出了本文的方法在3.5節中的每個實驗上當達到最高分類精度時釋放策略的兩個主要超參數釋放比例r和釋放強度γ各自的取值。

表6 Split-MNIST在不同網絡中的分類精度/%

表7 Perturbation-MNIST在不同網絡中的分類精度/%
通過表8、表9、表10可知,當網絡資源相對充足時,可以將r和γ設置得更大,例如每層神經元數目達到256個和使用Network 1訓練時,r和γ可以達到50%和2。當網絡資源較少時,則需要將兩個參數的取值適當減小,例如當每層神經元僅有100個或使用Network 3訓練時,在Perturbation-MNIST和Split-Fashion上r和γ需要減小至20%和1.5才能達到最優的分類精度。

表8 Split-Fashion

表9 Split-MNIST

表10 Perurbation-MNIST
針對通過正則化保留重要參數的增量學習方法存在的穩定性與可塑性失衡的問題,提出了一個選擇性釋放網絡資源來促進模型持續學習的策略。該策略首先在貝葉斯神經網絡框架下通過權值的不確定性對權值的調整施加相應強度的限制,然后為了提高模型學習的持續性,根據信噪比篩選出部分權值進行適當強度的釋放,該方法可以在不增加網絡參數量的前提下將模型的學習能力維持在一個較高的水平,同時又不會嚴重損害舊任務的性能。實驗結果表明,無論在多任務場景還是在類增量場景,本文提出的方法在幾種對比方法中都保持著最高的分類性能。