程虎威
(北京交通大學(xué)計算機與信息技術(shù)學(xué)院,北京 100044)
深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNNs)在多個領(lǐng)域取得了顯著的成功,包括計算機視覺,自然語言處理和強化學(xué)習(xí)等。然而,傳統(tǒng)的DNNs方法在訓(xùn)練時需要所有訓(xùn)練樣本,這在現(xiàn)實世界中很難實現(xiàn),因為現(xiàn)實中的數(shù)據(jù)往往會隨著時間、地點的變化以及其他條件而逐漸被收集。針對這種情況,研究人員提出令DNNs按照人類的學(xué)習(xí)方式進(jìn)行增量學(xué)習(xí)。但是,研究人員發(fā)現(xiàn)如果DNNs按照人類學(xué)習(xí)的方式順序?qū)W習(xí)一系列任務(wù),DNNs會遭受災(zāi)難性遺忘而忘記先前學(xué)習(xí)的知識。因此,如何解決增量學(xué)習(xí)中出現(xiàn)的災(zāi)難性遺忘問題是研究人員關(guān)注的重點。
當(dāng)前解決災(zāi)難性遺忘的增量學(xué)習(xí)研究工作大致可以分為三類。第一類方法通過重放先前的任務(wù)樣本來解決災(zāi)難性遺忘問題,不過這些基于重放的方法需要額外的存儲空間來存儲舊任務(wù)的樣本和舊模型的權(quán)重;第二類方法在學(xué)習(xí)新任務(wù)時引入了控制參數(shù)變化的約束,從而緩解舊任務(wù)權(quán)重丟失,然而在這類方法中遺忘仍然會發(fā)生,尤其是當(dāng)任務(wù)數(shù)量增加時;第三類方法在凍結(jié)舊任務(wù)參數(shù)的同時,通過添加少量參數(shù)來完全避免遺忘。以上這些增量學(xué)習(xí)方法雖然可以緩解災(zāi)難性遺忘問題,但是通常存在三個缺點:性能較差,開銷較大,以及設(shè)計復(fù)雜。為了解決上述問題,本文提出了一個有效的并且能夠克服災(zāi)難性遺忘的增量深度學(xué)習(xí)方法(incremental structure learning model,ISLM)。
圖1顯示了本文實現(xiàn)增量式深度學(xué)習(xí)模型的方法概述。該方法進(jìn)行增量學(xué)習(xí)時主要有兩個流程,首先,根據(jù)新任務(wù)樣本借助注意力機制對模型通道進(jìn)行區(qū)分,然后根據(jù)區(qū)分的結(jié)果進(jìn)行增量訓(xùn)練。模型通道的區(qū)分過程如圖1(①③④)所示,首先,在空神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中插入注意力模塊;其次,訓(xùn)練插入注意力模塊的空網(wǎng)絡(luò),得到可以度量通道重要性的統(tǒng)計量;再次,挑選一定比例的重要通道作為新任務(wù)下的共享通道,未挑選的通道作為新任務(wù)的輔助通道;最后,挑選的新共享通道與舊模型的共享通道進(jìn)行交操作,相同的通道作為當(dāng)前模型下的共享通道,其余通道作為當(dāng)前模型下的輔助通道。區(qū)分結(jié)束后,模型根據(jù)區(qū)分結(jié)果進(jìn)行增量學(xué)習(xí),增量訓(xùn)練過程如圖1(②⑤)所示。本文在共享通道上對所有任務(wù)使用一組參數(shù),每次訓(xùn)練新任務(wù)時以微調(diào)的方式更新參數(shù),并且在輔助通道上保持舊任務(wù)參數(shù)。此外,ISLM還會為特定任務(wù)在輔助通道上并行添加濾波器來提高識別精度。
圖1 ISLM方法概述
注意力機制最初被應(yīng)用在機器翻譯領(lǐng)域,它能夠在大量信息中迅速找到所關(guān)注的重點區(qū)域并忽略不相關(guān)的部分。由于其出色的性能,注意力機制被越來越多的研究人員應(yīng)用在計算機視覺領(lǐng)域。在計算機視覺領(lǐng)域中,其通過輸入特征圖來生成通道權(quán)重,從而在對重要特征信息進(jìn)行增強的同時抑制非重要信息表達(dá)。
目前根據(jù)區(qū)分標(biāo)準(zhǔn)的不同,注意力可以分為以下三類:空間注意力,通道注意力以及混合注意力。其中,與空間注意力考慮使用空間域信息來生成權(quán)重參數(shù)不同的是,通道注意力主要關(guān)注通道域信息。然而,無論是根據(jù)空間域還是通道域信息產(chǎn)生權(quán)重的方式,均會忽略部分信息。因此,研究人員提出混合注意力,其通過綜合考慮空間和通道域信息,更為準(zhǔn)確地分辨特征圖中重要與非重要通道。與此同時,ISLM方法需要極其精確地分辨出模型的共享通道、輔助通道,以達(dá)成在共享通道上訓(xùn)練新任務(wù),輔助通道上保持舊任務(wù)的設(shè)計目標(biāo),因此本文將混合注意力機制引入ISLM作用于通道選擇,保障模型性能。
通道區(qū)分算法
為空模型插入注意力模塊
其中,R是參數(shù)的正則化因子,本文在優(yōu)化參數(shù)模型時,采用范數(shù)對W進(jìn)行正則化,其中ε≥0。通過這種方式,使得參數(shù)總數(shù)存在上界,從而避免退化的情況,并且本文在共享通道上以微調(diào)的方式訓(xùn)練新任務(wù),在輔助通道上保持舊任務(wù)參數(shù)不變,來最大程度避免改變損失函數(shù)。
在此基礎(chǔ)上,本文在輔助通道上采用固定任務(wù)參數(shù)并且為特定任務(wù)添加濾波器的方式,進(jìn)一步提高模型緩解災(zāi)難性遺忘的能力以及模型性能。假設(shè)模型( )·;W中每個卷積層為φ,設(shè)F∈R是該層的一組濾波器,其中C是輸出特征的數(shù)量,C是輸入的數(shù)量,×是卷積核大小,那么F中濾波器的值為:
此外,如果任務(wù)精度較差,本文把f∈R濾波器并行添加到對應(yīng)任務(wù)的濾波器上。在進(jìn)行增量訓(xùn)練時,權(quán)重保持不變,同時學(xué)習(xí)f參數(shù)。那么,每個卷積層的輸出()將變?yōu)?;)。
由于ISLM是通過添加濾波器的方式來提高緩解災(zāi)難性遺忘的能力,會增加額外的參數(shù)。因此,為了驗證ISLM方法的有效性,本文對模型進(jìn)行了基于范數(shù)的通道剪枝,使得ISLM精度近似達(dá)到3.3節(jié)中Baseline精度,進(jìn)而比較模型大小以體現(xiàn)ISLM方法的優(yōu)勢。相比于其他壓縮方法,基于范數(shù)的通道剪枝會避免模型權(quán)重稀疏,并且范數(shù)具備計算簡單,操作性強的優(yōu)勢,所以本文采用基于范數(shù)的通道剪枝對增量深度模型進(jìn)行網(wǎng)絡(luò)壓縮。它可以表示為:
其中,二進(jìn)制掩碼中的每一項表示對應(yīng)的輸出通道是否需要修剪,并且是保存下來的輸出通道的數(shù)量。參數(shù)用來控制中非零值的數(shù)量,越大,中的非零值就越少。
本實驗中,采用的是PyTorch 1.1.0深度學(xué)習(xí)框架,開發(fā)語言為Python 3.6.9,訓(xùn)練和推理平臺均為GeForce RTX 2080Ti。采用的數(shù)據(jù)集包含ImageNet、Omniglot、CIFAR-10和CIFAR-100數(shù)據(jù)集,它們是圖像分類任務(wù)中常用的經(jīng)典數(shù)據(jù)集。特別的是,我們在3.3節(jié)的實驗中將CIFAR-100數(shù)據(jù)集拆分為20個任務(wù),每個任務(wù)分為5個類,用來模擬增量學(xué)習(xí)環(huán)境。網(wǎng)絡(luò)模型選用的是VGG16、ResNet50兩種典型的網(wǎng)絡(luò)結(jié)構(gòu)。
在本節(jié)中,我們先后通過實驗探索了注意力機制對ISLM模型結(jié)構(gòu)的影響。然后,通過對比實驗尋找最優(yōu)ISLM模型最佳注意力模塊。接下來,將詳細(xì)介紹實驗結(jié)果并進(jìn)行分析。
本文對引用注意力機制和未引用注意力機制的ISLM模型進(jìn)行對比實驗,分別以10%、30%、50%、70%、90%共享通道比例來比較注意力模塊的影響。值得注意的是,我們引入目前流行的注意力模塊SCA作為實驗比較對象。實驗結(jié)果如表1所示。其中,Baseline表示網(wǎng)絡(luò)模型訓(xùn)練CIFAR-10識別精度。實驗結(jié)果表明,不論是基于VGG16的ISLM增量模型,還是基于ResNet50的ISLM增量模型,在引入注意力模塊后,ISLM增量模型對CIFAR-10的識別精度都有所提升,并且基于ResNet50的ISLM增量模型以70%共享通道比例區(qū)分通道時精度提升最大,提高了0.94%,而基于VGG16的ISLM增量模型以50%共享通道比例區(qū)分通道時精度提升最大,提高了0.62%。
表1 基于CIFAR-10數(shù)據(jù)集的ISLM模型對比
此外,為了驗證注意力機制對ISLM模型結(jié)構(gòu)通道區(qū)分有效,我們使用基于VGG16的ISLM模型分別順序訓(xùn)練ImageNet、CIFAR-100數(shù)據(jù)集和ImageNet、Omniglot數(shù)據(jù)集。圖2(a)和圖2(b)分別顯示了不同任務(wù)上ISLM模型上的注意力權(quán)重。如圖2(a)所示,當(dāng)這兩個任務(wù)相似時(ImageNet和CIFAR-100都由自然圖像組成),這兩個任務(wù)的重要通道大部分相同;當(dāng)使用兩個截然不同的任務(wù)時(ImageNet和Omniglot),如圖2(b)所示,這兩個任務(wù)的重要通道相差很大,導(dǎo)致大部分通道區(qū)分為輔助通道。上述實驗結(jié)果表明,注意力機制能夠區(qū)分出有效的通道。
圖2 不同數(shù)據(jù)集生成的注意力權(quán)重
最后,本文對比了幾種目前流行的注意力模塊在ISLM增量模型上的性能,它們分別是SCA、CBAM、SGE、DMSA和EPSA注意力模塊。在本次實驗中,本文挑選75%重要通道作為共享通道,剩余通道為輔助通道。其中,Baseline表示網(wǎng)絡(luò)模型順序訓(xùn)練CIFAR-10識別精度,實驗結(jié)果如表2所示。通過分析實驗結(jié)果,我們可以得到以下結(jié)論:首先,引入注意力模塊后的ISLM模型在精度上都有提升;其次,SCA模塊和DMSA模塊不論是對基于VGG16的ISLM增量模型,還是對基于ResNet50的ISLM增量模型,都有優(yōu)秀的性能。其中SCA模塊在VGG16上精度提高1.39%,在ResNet50上精度提高了0.84%;DMSA模塊在VGG16上精度提高1.45%,在ResNet50上精度提高了1.03%。但是相比較SCA,DMSA參數(shù)量更多,并且設(shè)計方法也比SCA更加復(fù)雜。所以,本文選擇SCA模塊作為區(qū)分ISLM模型共享通道的注意力模塊。
表2 基于CIFAR-10數(shù)據(jù)集的不同注意力模塊性能比較
為了評估插入ISLM模型的最優(yōu)區(qū)分通道比例,本文以基于VGG16的ISLM模型為例,在拆分的CIFAR-100數(shù)據(jù)集上進(jìn)行實驗,比較了19組不同比例的ISLM模型。得到順序訓(xùn)練20個任務(wù)的平均精度如圖3所示。
圖3 不同通道劃分對ISLM模型性能影響
從實驗結(jié)果可以得出以下結(jié)論:共享率會影響ISLM增量模型的性能。例如,當(dāng)共享率為70%時,增量模型精度達(dá)到最高值,為78.51%,并且此時的模型結(jié)構(gòu)所帶來的參數(shù)量也較少;如果共享率太低,ISLM增量模型會為每個未達(dá)到目標(biāo)精度的任務(wù)增添濾波器,這樣會導(dǎo)致模型過擬合并且參數(shù)量也會增多;如果共享率太高,ISLM增量模型就會退化成普通的微調(diào)增量模型,緩解災(zāi)難性遺忘不顯著。以上實驗結(jié)果全都表明了合適的共享率會提高ISLM增量模型性能,并且ISLM增量模型以70%通道區(qū)分比例在CIFAR-100數(shù)據(jù)集上有著最優(yōu)的性能。因此,本文在接下來的實驗中都挑選70%重要通道來區(qū)分共享通道與輔助通道。
最后,本文分別將基于VGG16和基于ResNet50的ISLM模型與目前最為流行的增量深度模型,包括EWC,CPG,HAT進(jìn)行比較,它們都是增量深度模型領(lǐng)域具有代表性的工作。為了減少訓(xùn)練時間,本文只對前十個任務(wù)的實驗結(jié)果進(jìn)行對比。需要注意的是,在本次實驗中,我們把單獨訓(xùn)練每個任務(wù)生成的模型作為Baseline。實驗結(jié)果如圖4和表3所示。
表3 不同深度增量模型平均精度及參數(shù)量
圖4 基于CIFAR-100數(shù)據(jù)集的不同深度增量模型性能對比
對實驗結(jié)果進(jìn)行分析得到以下結(jié)論:首先,本文提出的方法和目前流行的增量學(xué)習(xí)方法都有不錯的緩解災(zāi)難性遺忘的能力;其次,ISLM模型在CIFAR-100數(shù)據(jù)集識別的平均精度分別達(dá)到了76.20%和76.14%,提高了1.87%和0.27%。此外,為了驗證剪枝后的ISLM模型仍然具有較好性能,本文進(jìn)一步對訓(xùn)練后的ISLM模型進(jìn)行通道剪枝,實驗結(jié)果如表4所示。當(dāng)基于VGG16的ISLM模型剪枝率為0.6時,ISLM精度達(dá)到Baseline精度,并且與Baseline模型相比其模型大小減少了47%;當(dāng)基于ResNet50的ISLM模型剪枝率為0.4時,模型精度達(dá)到Baseline精度,模型大小比Baseline模型減少21%。以上實驗結(jié)果說明,基于VGG16的ISLM模型要優(yōu)于其他流行的增量學(xué)習(xí)方法。
表4 不同剪枝率下ISML模型平均精度及參數(shù)量
在這項工作中,本文提出了一種新的增量學(xué)習(xí)方法ISLM,用于克服DNN連續(xù)學(xué)習(xí)中的災(zāi)難性遺忘問題。ISLM方法的核心思想是根據(jù)注意力模塊提供的注意力統(tǒng)計信息把模型通道區(qū)分為共享通道和輔助通道,本文使用共享通道以微調(diào)的方式訓(xùn)練增量任務(wù),而當(dāng)無法滿足任務(wù)精度需求時在輔助通道上為其添加特定濾波器以提升性能,與此同時,舊任務(wù)的輔助通道參數(shù)保持不變。本文在拆分的CIFAR-100數(shù)據(jù)集上進(jìn)行DNN的持續(xù)學(xué)習(xí),ISLM不僅能夠正確區(qū)分模型通道,而且利用通道共享和為特定任務(wù)添加濾波器的方法可以有效避免災(zāi)難性遺忘,優(yōu)于其他主流增量學(xué)習(xí)方法。在未來工作中,我們計劃將ISLM與其他模型優(yōu)化方法(如模型量化等)相結(jié)合,以進(jìn)一步提升其性能。