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