吳楚,王士同
1.江南大學(xué) 人工智能與計(jì)算機(jī)學(xué)院,江蘇 無(wú)錫214122
2.江蘇省物聯(lián)網(wǎng)應(yīng)用技術(shù)重點(diǎn)建設(shè)實(shí)驗(yàn)室,江蘇 無(wú)錫214122
持續(xù)學(xué)習(xí)(continual learning)[1]是受哺乳動(dòng)物大腦學(xué)習(xí)過(guò)程啟發(fā)的一種思想,用于學(xué)習(xí)一系列非獨(dú)立同分布的連續(xù)任務(wù),目的是在不影響先前學(xué)習(xí)任務(wù)性能的情況下不斷學(xué)習(xí)新任務(wù)。普通的深度神經(jīng)網(wǎng)絡(luò)在單一任務(wù)中有不錯(cuò)表現(xiàn),而使用微調(diào)的遷移學(xué)習(xí)方法能高效地遷移源域的知識(shí)至目標(biāo)域,并提升學(xué)習(xí)性能,但它在連續(xù)的任務(wù)序列中表現(xiàn)不佳:為了學(xué)習(xí)與當(dāng)前任務(wù)相關(guān)的特征,不得不修改網(wǎng)絡(luò)的權(quán)重,導(dǎo)致對(duì)先前任務(wù)性能的大幅降低,也就是“災(zāi)難性遺忘”(catastrophic forgetting)[2]。而持續(xù)學(xué)習(xí)的優(yōu)勢(shì)恰恰在于能整合先前任務(wù)的知識(shí)用于當(dāng)前任務(wù)的學(xué)習(xí)上,且不會(huì)發(fā)生“災(zāi)難性遺忘”。
常用的持續(xù)學(xué)習(xí)方法主要分為三種[3]:
第一種是樣本重演方法,這類方法以原本形式存儲(chǔ)樣本或者在一個(gè)生成模型中存儲(chǔ)樣本的“壓縮版本”。在學(xué)習(xí)新任務(wù)時(shí)通過(guò)重演先前的任務(wù)樣本來(lái)減輕遺忘。例如,梯度情景記憶思想(gradient episodic memory for continual learning,GEM)由Lopez和Ranzato[4]提出,作者受啟發(fā)于人腦生理結(jié)構(gòu),將先前任務(wù)訓(xùn)練過(guò)的數(shù)據(jù)保存用于后續(xù)訪問(wèn)(梯度記憶),為此定義一個(gè)梯度記憶損失函數(shù),并用一個(gè)不等式約束允許這個(gè)損失函數(shù)不增加,進(jìn)而整體地優(yōu)化目標(biāo)。重演方法的主要缺點(diǎn)是類別規(guī)模方面的限制,需要額外的內(nèi)存空間去存儲(chǔ)原始的輸入樣本。受限的存儲(chǔ)空間也限制了原始分布的復(fù)現(xiàn)。除此之外,存儲(chǔ)原始的樣本往往涉及隱私問(wèn)題。
第二種是基于正則化的方法,這種方法考慮到數(shù)據(jù)隱私和內(nèi)存需求,不使用先前任務(wù)的數(shù)據(jù)和標(biāo)簽,而是在損失函數(shù)中引入了一個(gè)額外的正則化項(xiàng),在學(xué)習(xí)新任務(wù)時(shí)鞏固先前的知識(shí)。典型的有Li等人[5]于2017年提出的無(wú)遺忘學(xué)習(xí)(learning without forgetting,LwF),該方法運(yùn)用了知識(shí)蒸餾技術(shù)來(lái)應(yīng)對(duì)“災(zāi)難性遺忘”問(wèn)題,對(duì)于新任務(wù)數(shù)據(jù),使用舊任務(wù)模型作為教師模型,并用教師模型輸出的軟標(biāo)簽對(duì)新任務(wù)模型的參數(shù)進(jìn)行約束,以平衡新舊任務(wù)的性能。Kirkpatrick 等人[6]引入了一種彈性權(quán)重固化的思想(elastic weight consolidation,EWC),它用費(fèi)舍爾矩陣定義模型中的參數(shù)的重要程度并進(jìn)行保護(hù),讓其變得不那么容易被更新,使得新任務(wù)的最優(yōu)參數(shù)中包含了一定程度先前任務(wù)的重要信息,從而避免遺忘先前任務(wù)的知識(shí)。此類方法的不足之處在于,由于包含了保護(hù)鞏固知識(shí)的額外損失項(xiàng)[7],這些損失項(xiàng)在數(shù)據(jù)樣本有限的情況下,可能導(dǎo)致對(duì)新舊任務(wù)性能的權(quán)衡問(wèn)題。
第三種方法是參數(shù)獨(dú)立方法,此類方法為每個(gè)任務(wù)分配了不同的模型參數(shù)。當(dāng)網(wǎng)絡(luò)規(guī)模沒有限制的時(shí)候,每個(gè)任務(wù)都可以擁有部分相應(yīng)網(wǎng)絡(luò),同時(shí)凍結(jié)先前任務(wù)參數(shù)或?yàn)槊總€(gè)任務(wù)分配不同的模型參數(shù),以防止遺忘。Rusu 等人2016年[8]提出的漸進(jìn)神經(jīng)網(wǎng)絡(luò)(progressive neural networks,PNN)結(jié)合了深度網(wǎng)絡(luò)應(yīng)用到持續(xù)學(xué)習(xí)中。這種網(wǎng)絡(luò)結(jié)構(gòu)的構(gòu)成易理解,對(duì)所有之前任務(wù)的網(wǎng)絡(luò)進(jìn)行保留,并且每學(xué)習(xí)一個(gè)新任務(wù)就新建立一個(gè)同樣的網(wǎng)絡(luò)分支,新任務(wù)的網(wǎng)絡(luò)層接收先前所有任務(wù)網(wǎng)絡(luò)分支的輸出與當(dāng)前任務(wù)對(duì)應(yīng)網(wǎng)絡(luò)層的輸出相結(jié)合一起輸出到下一層。Wu等人于2020年[9]則提出了一個(gè)漸進(jìn)學(xué)習(xí)的深度框架??蚣馨糠郑赫n程、漸進(jìn)、剪枝。其中漸進(jìn)過(guò)程采用了級(jí)聯(lián)運(yùn)算而不是求和運(yùn)算,以鼓勵(lì)特征重用。課程策略思想提倡有意義的任務(wù)順序,實(shí)驗(yàn)表明采用課程策略訓(xùn)練的模型要優(yōu)于未經(jīng)課程策略訓(xùn)練的模型。然而這種方法沒有考慮到不同任務(wù)間的相關(guān)程度對(duì)學(xué)習(xí)性能的影響,同時(shí)級(jí)聯(lián)所有先前任務(wù)的參數(shù)進(jìn)行訓(xùn)練對(duì)存儲(chǔ)和學(xué)習(xí)效率也是不小的考驗(yàn)。
本文關(guān)注的是參數(shù)獨(dú)立方法,通過(guò)在漸進(jìn)學(xué)習(xí)階段添加新的網(wǎng)絡(luò)分支來(lái)學(xué)習(xí)新參數(shù)來(lái)避免遺忘問(wèn)題和增強(qiáng)模型學(xué)習(xí)當(dāng)前任務(wù)的能力,并做出了一些改進(jìn)。主要貢獻(xiàn)可以歸納如下:
(1)提出了一種任務(wù)相似度引導(dǎo)的漸進(jìn)學(xué)習(xí)方法。這種方法的主體基于一個(gè)用于持續(xù)學(xué)習(xí)的深度網(wǎng)絡(luò),參考了PNN 的漸進(jìn)網(wǎng)絡(luò)[8],為每個(gè)任務(wù)分配網(wǎng)絡(luò)分支(漸進(jìn)塊)來(lái)漸進(jìn)地學(xué)習(xí)。
(2)在漸進(jìn)網(wǎng)絡(luò)PNN的基礎(chǔ)上,本文在漸進(jìn)過(guò)程前加入了任務(wù)相似性評(píng)估這一步驟,而評(píng)估以后再漸進(jìn)學(xué)習(xí)的兩段式的思想符合人腦的直覺和解決問(wèn)題的認(rèn)知行為:首先估計(jì)任務(wù)之間的大致相似程度;然后據(jù)此利用腦中的相關(guān)知識(shí)來(lái)求解當(dāng)前問(wèn)題。這暗示在進(jìn)行漸進(jìn)學(xué)習(xí)時(shí),應(yīng)該有一個(gè)評(píng)估任務(wù)間相似度的過(guò)程,然后將此作為漸進(jìn)階段知識(shí)遷移的度量。本文采用了一種應(yīng)用于不同域之間數(shù)據(jù)分布差異計(jì)算的方法來(lái)評(píng)估任務(wù)間的相似度。漸進(jìn)階段參照當(dāng)前任務(wù)與先前任務(wù)的相似度,并以此引導(dǎo)任務(wù)之間的參數(shù)遷移,有選擇地吸收先前任務(wù)中的知識(shí),從而使當(dāng)前任務(wù)的性能提升。實(shí)驗(yàn)結(jié)果表明,有指導(dǎo)的漸進(jìn)過(guò)程相比PNN學(xué)習(xí)得更快、更穩(wěn)定。
(3)對(duì)于各個(gè)任務(wù)間知識(shí)遷移過(guò)程,該方法將各漸進(jìn)塊間的網(wǎng)絡(luò)層的輸出級(jí)聯(lián)為一個(gè)級(jí)聯(lián)層,并作為當(dāng)前漸進(jìn)塊的下一網(wǎng)絡(luò)層的輸入,保留了各任務(wù)的信息,對(duì)級(jí)聯(lián)層基于閾值剪枝來(lái)選擇關(guān)鍵特征能促進(jìn)正向遷移。在SPLIT-CIFAR100 和MNISTPermutation、MNIST-Rotation 數(shù)據(jù)集上實(shí)驗(yàn)結(jié)果表明,任務(wù)相似度引導(dǎo)的漸進(jìn)神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)多個(gè)連續(xù)任務(wù)時(shí),能利用之前任務(wù)的知識(shí)來(lái)幫助學(xué)習(xí)當(dāng)前任務(wù),多項(xiàng)評(píng)估指標(biāo)與單任務(wù)學(xué)習(xí)、多任務(wù)學(xué)習(xí)模型和其他持續(xù)學(xué)習(xí)方法相比都要更好。
神經(jīng)網(wǎng)絡(luò)是基于感知機(jī)的擴(kuò)展,而深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)是有很多隱藏層的前饋神經(jīng)網(wǎng)絡(luò)。在測(cè)試與訓(xùn)練分布相同時(shí)表現(xiàn)良好。其中卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別領(lǐng)域具有很好的效果,循環(huán)神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于時(shí)間序列任務(wù)上。從DNN按不同層的位置劃分,DNN內(nèi)部的神經(jīng)網(wǎng)絡(luò)層可以分為三類:輸入層、隱藏層和輸出層。對(duì)于一個(gè)多層的深度神經(jīng)網(wǎng)絡(luò),其第l層的輸出表示如下:
其中,σ為隱藏層的激活函數(shù),θ(l)、b(l)分別表示第l層的權(quán)重矩陣和偏置向量矩陣。
深度神經(jīng)網(wǎng)絡(luò)常用卷積層[10]來(lái)高效提取更復(fù)雜的特征,使用ReLU[11]激活函數(shù)以克服梯度消失問(wèn)題,對(duì)于復(fù)雜的網(wǎng)絡(luò)采用Dropout[12]技巧有效減少過(guò)擬合,同時(shí)隨著計(jì)算設(shè)備計(jì)算能力的飛速發(fā)展,大大縮短了網(wǎng)絡(luò)的訓(xùn)練時(shí)間。此后新的深度網(wǎng)絡(luò)架構(gòu)不斷被提出和改進(jìn),如殘差網(wǎng)絡(luò)(residual network,ResNet)、生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)等,網(wǎng)絡(luò)向更深、更復(fù)雜的方向發(fā)展。在如語(yǔ)音識(shí)別、機(jī)器翻譯、問(wèn)答系統(tǒng)等具體細(xì)分領(lǐng)域,深度神經(jīng)網(wǎng)絡(luò)也表現(xiàn)出了極佳的性能。
深度神經(jīng)網(wǎng)絡(luò)為目標(biāo)域任務(wù)特化網(wǎng)絡(luò)結(jié)構(gòu),以達(dá)到出色的性能。然而,在連續(xù)學(xué)習(xí)多個(gè)任務(wù)時(shí),單個(gè)的深度神經(jīng)網(wǎng)絡(luò)不會(huì)記住先前任務(wù)的任何特征或知識(shí),這種遺忘現(xiàn)象可以視為一次性的單向?qū)W習(xí)行為,并不具備任何持續(xù)學(xué)習(xí)能力,克服這種遺忘現(xiàn)象是機(jī)器學(xué)習(xí)領(lǐng)域邁向更加智能化的重要一步,進(jìn)行有效的持續(xù)學(xué)習(xí)也是人工智能的未來(lái)發(fā)展趨勢(shì)。
人和高級(jí)哺乳動(dòng)物能在整個(gè)生命歷程中不斷、微調(diào)和轉(zhuǎn)移知識(shí)和技能。這種能力,被稱為終身學(xué)習(xí)(lifelong learning)或持續(xù)學(xué)習(xí)[13],是由一系列神經(jīng)認(rèn)知機(jī)制協(xié)調(diào)的過(guò)程,這些機(jī)制共同促進(jìn)了感知運(yùn)動(dòng)技能的發(fā)展以及對(duì)長(zhǎng)期記憶的鞏固和檢索。而在機(jī)器學(xué)習(xí)中,持續(xù)學(xué)習(xí)通常指的是一個(gè)智能系統(tǒng)能夠從連續(xù)的非獨(dú)立同分布的任務(wù)中不斷地學(xué)習(xí)新知識(shí),同時(shí)在新任務(wù)的學(xué)習(xí)過(guò)程中不會(huì)忘記以前學(xué)習(xí)到的知識(shí)。
一個(gè)從零開始的有監(jiān)督學(xué)習(xí)是指,基于獨(dú)立同分布的帶有標(biāo)簽的數(shù)據(jù)集D={(x(i),y(i))|1 ≤i≤N}學(xué)習(xí)目標(biāo)任務(wù),最終訓(xùn)練出一個(gè)模型f來(lái)準(zhǔn)確預(yù)測(cè)同一個(gè)域內(nèi)的未知數(shù)據(jù)(x*,y*)。
在連續(xù)學(xué)習(xí)的環(huán)境中,多個(gè)非獨(dú)立同分布的數(shù)據(jù)集D={D1,D2,…,DN}共同組成一個(gè)連續(xù)的任務(wù)序列T={t1,t2,…,tN}。任務(wù)序列可以來(lái)自于輸入域的各種變換(例如圖像的翻轉(zhuǎn)、裁剪),也可以是不同但相關(guān)聯(lián)的任務(wù)(例如細(xì)粒度分類任務(wù))。連續(xù)學(xué)習(xí)的目標(biāo)是依照任務(wù)的順序依次學(xué)習(xí),最終訓(xùn)練出一個(gè)模型f能夠準(zhǔn)確預(yù)測(cè)這些不同域內(nèi)的未知數(shù)據(jù)≤i≤N}。與從零開始的單任務(wù)學(xué)習(xí)相比,連續(xù)學(xué)習(xí)能兼顧多個(gè)任務(wù),且可以利用已經(jīng)學(xué)習(xí)過(guò)的任務(wù)知識(shí)來(lái)幫助學(xué)習(xí)新任務(wù)。
研究表明,深度神經(jīng)網(wǎng)絡(luò)能很好地提取數(shù)據(jù)的特征,而參數(shù)獨(dú)立的持續(xù)學(xué)習(xí)方法結(jié)合了深度神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)。一方面,參數(shù)獨(dú)立方法不需要訪問(wèn)或存儲(chǔ)先前任務(wù)的數(shù)據(jù)來(lái)避免災(zāi)難性遺忘;另一方面,參數(shù)獨(dú)立方法也不需要通過(guò)正則化手段對(duì)新任務(wù)的參數(shù)進(jìn)行二次懲罰來(lái)權(quán)衡新舊任務(wù)間的性能。圖1示意了結(jié)合深度神經(jīng)網(wǎng)絡(luò)的參數(shù)獨(dú)立的持續(xù)學(xué)習(xí)方法。對(duì)于三個(gè)非獨(dú)立同分布的圖像識(shí)別序列任務(wù),在持續(xù)學(xué)習(xí)過(guò)程中,為新任務(wù)分配額外的新網(wǎng)絡(luò),將各個(gè)任務(wù)網(wǎng)絡(luò)之間的參數(shù)重疊共享于新任務(wù)的參數(shù)訓(xùn)練中,而網(wǎng)絡(luò)設(shè)計(jì)為深度結(jié)構(gòu)能獲取到更多的特征表示。這類持續(xù)學(xué)習(xí)方法注重的是前向遷移能力[14],其性能可以用平均分類精度(average accuracy,AA)和漸進(jìn)知識(shí)遷移率(progressive knowledge transfer,PKT)[4,9]這兩項(xiàng)指標(biāo)評(píng)估,這些評(píng)估標(biāo)準(zhǔn)將在實(shí)驗(yàn)部分詳細(xì)介紹。
圖1 結(jié)合深度神經(jīng)網(wǎng)絡(luò)的參數(shù)獨(dú)立的持續(xù)學(xué)習(xí)方法Fig.1 Parameter-isolated continuous learning method combined with deep neural network
但是任務(wù)網(wǎng)絡(luò)之間的參數(shù)遷移是一個(gè)值得探究的問(wèn)題,學(xué)習(xí)新任務(wù)時(shí)逐層全部遷移先前任務(wù)的參數(shù)是通用的基準(zhǔn)方法,但不考慮任務(wù)間的相似程度很有可能造成負(fù)向遷移[15],導(dǎo)致新任務(wù)性能的降低。為改善這一問(wèn)題,本文提出了一種任務(wù)相似度引導(dǎo)的漸進(jìn)深度神經(jīng)網(wǎng)絡(luò)(task-similarity guided progressive neural network,TSGPNN)。
現(xiàn)實(shí)世界中,人腦在學(xué)習(xí)不同任務(wù)時(shí)常常用到“遷移”的概念,即人腦具有由一任務(wù)域到目標(biāo)任務(wù)域適配的機(jī)制。考慮一組識(shí)別家貓和獵豹的任務(wù),在識(shí)別獵豹的過(guò)程中往往會(huì)借鑒家貓的特征,相反,在識(shí)別家貓和犬類的任務(wù)中,想要準(zhǔn)確識(shí)別犬類,可能僅需要借鑒家貓的一些基本特征。在持續(xù)學(xué)習(xí)過(guò)程中,新舊任務(wù)之間的相似程度越高,數(shù)據(jù)的分布差異越小,它們之間可共用的特征信息也就越多,也就越能提升學(xué)習(xí)目標(biāo)任務(wù)的性能。如果新舊任務(wù)之間的相似度很低,那么遷移過(guò)來(lái)的特征信息可能會(huì)對(duì)新任務(wù)的學(xué)習(xí)性能產(chǎn)生負(fù)影響[16]。
本文定義了一種不同域間距離計(jì)算的方法,利用這種計(jì)算方法衡量不同任務(wù)域的相似度,并依據(jù)相似度決定任務(wù)間參數(shù)的遷移量。這種方法受Shen的域適配計(jì)算方法——最大密度散度(maximum density divergence,MDD)啟發(fā)。于是在設(shè)置的多個(gè)漸進(jìn)任務(wù)內(nèi),任務(wù)i有Ni個(gè)樣本{xi,1,xi,2,…,xi,Ni},任務(wù)j有Nj個(gè)樣本{xj,1,xj,2,…,xj,Nj},本文定義了一個(gè)參照量來(lái)評(píng)估這兩個(gè)具有不同分布的任務(wù)間的相似程度,相似度計(jì)算公式如下:
其中,是與xi獨(dú)立同分布的副本,為歐幾里德距離范數(shù)的平方。在上式中,參照量λi,j由兩部分組成,分子項(xiàng)代表兩個(gè)不同任務(wù)間的域間散度,分母項(xiàng)表示同一任務(wù)的域內(nèi)密度。在有限的概率空間中,如果兩個(gè)域相同,那么MDD 就等于0。相同地,在等式(2)中,因?yàn)槭桥cxi獨(dú)立同分布的副本,所以如果兩個(gè)任務(wù)Ni與Nj十分相似,它們各自的域是近似對(duì)齊的,那么任務(wù)Ni中樣本與任務(wù)Nj中樣本的距離應(yīng)接近其副本域中樣本的距離,參照量λ應(yīng)趨近于1。本文選用這種計(jì)算方式進(jìn)行任務(wù)間相似性評(píng)估主要有以下理由[17]:(1)在有限的概率空間內(nèi),MDD是對(duì)稱KL散度的一個(gè)下界。(2)這種計(jì)算方式繼承了MDD的優(yōu)勢(shì),直接考慮了兩個(gè)任務(wù)域間所有樣本的距離信息,而不需要知道兩個(gè)域的概率分布信息,這與連續(xù)學(xué)習(xí)的場(chǎng)景十分契合。
對(duì)于N個(gè)任務(wù)的任務(wù)池,兩兩任務(wù)之間進(jìn)行相似度計(jì)算后得到一個(gè)上三角的相似度矩陣λ,λi,j∈λ={λi,j|1 ≤i,j≤N,i≠j}表示第i個(gè)任務(wù)與第j個(gè)任務(wù)的相似度。
學(xué)習(xí)當(dāng)前任務(wù)時(shí)理應(yīng)借鑒舊任務(wù)的知識(shí),但是這部分舊任務(wù)的知識(shí)并不應(yīng)全部參與當(dāng)前任務(wù)的訓(xùn)練。因此在修剪漸進(jìn)任務(wù)間的參數(shù)特征時(shí),本算法在Han 等人的深度神經(jīng)網(wǎng)絡(luò)權(quán)重修剪方法[18]的基礎(chǔ)上,設(shè)置了相似度敏感因子c這一超參數(shù),它反映參數(shù)修剪量受各個(gè)任務(wù)間相似度的影響程度,用于懲罰漸進(jìn)學(xué)習(xí)中與它較為不相似的任務(wù),根據(jù)它對(duì)舊任務(wù)漸進(jìn)塊中的參數(shù)進(jìn)行修剪,c將在不同的實(shí)驗(yàn)中分別取不同值。修剪過(guò)程的具體步驟將在2.2.2小節(jié)中介紹。
參數(shù)修剪完成后,再將保留下來(lái)的參數(shù)與新任務(wù)前一層的輸出級(jí)聯(lián)作為新任務(wù)對(duì)應(yīng)漸進(jìn)塊的輸入進(jìn)行再訓(xùn)練。實(shí)驗(yàn)中對(duì)SPLIT-CIFAR100、MNISTPermutation 和MNIST-Rotation 數(shù)據(jù)集都進(jìn)行了這樣的設(shè)置。
本文依據(jù)參數(shù)獨(dú)立的思想,提出了任務(wù)相似度引導(dǎo)的在多個(gè)任務(wù)間漸進(jìn)學(xué)習(xí)的深度網(wǎng)絡(luò)TSGPNN。TSGPNN的基本結(jié)構(gòu)參考了Rusu等人[8]提出的PNN。本質(zhì)上是為每個(gè)任務(wù)單獨(dú)構(gòu)建一個(gè)深度網(wǎng)絡(luò),在整個(gè)漸進(jìn)神經(jīng)網(wǎng)絡(luò)里稱為漸進(jìn)塊,訓(xùn)練時(shí)凍結(jié)先前任務(wù)的參數(shù)并基于任務(wù)相似度來(lái)引導(dǎo)吸收從先前任務(wù)的漸進(jìn)塊級(jí)聯(lián)而來(lái)的參數(shù),在避免災(zāi)難性遺忘的同時(shí),提升當(dāng)前任務(wù)性能。漸進(jìn)學(xué)習(xí)的目標(biāo)是在任務(wù)池T訓(xùn)練出一個(gè)包含多個(gè)漸進(jìn)塊fi的模型F。每個(gè)漸進(jìn)塊fi都是對(duì)應(yīng)于任務(wù)ti基于數(shù)據(jù)集Di訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)。圖2 舉例介紹了TSGPNN 基于SPLITCIFAR100 數(shù)據(jù)集的第四個(gè)任務(wù)的漸進(jìn)學(xué)習(xí)的過(guò)程,其中虛線代表輸入僅前向傳播。漸進(jìn)學(xué)習(xí)過(guò)程分為漸進(jìn)前向傳播、漸進(jìn)塊間參數(shù)修剪和反向傳播三部分。
圖2 SPLIT-CIFAR100數(shù)據(jù)集第四個(gè)任務(wù)的漸進(jìn)學(xué)習(xí)過(guò)程Fig.2 Progressive learning process of the fourth task in SPLIT-CIFAR100 dataset
2.2.1 漸進(jìn)前向傳播
在漸進(jìn)前向傳播過(guò)程中,首先對(duì)包含N個(gè)不同域的規(guī)定任務(wù)順序的任務(wù)池T={t1,t2,…,tN}中的所有任務(wù)使用等式(2)進(jìn)行相似度計(jì)算,得到一個(gè)上三角的相似度矩陣λ,λi,j∈λ={λi,j|1 ≤i,j≤N,i≠j}表示第i個(gè)任務(wù)數(shù)據(jù)集Di與第j個(gè)任務(wù)數(shù)據(jù)集Dj間的相似度。
之后進(jìn)行漸進(jìn)神經(jīng)網(wǎng)絡(luò)的搭建,從任務(wù)池T={t1,t2,…,tN}中選出第一個(gè)任務(wù)t1。任務(wù)t1的數(shù)據(jù)集D1由樣本集X(1)和對(duì)應(yīng)標(biāo)簽集Y(1)構(gòu)成。確定任務(wù)后,隨后為該任務(wù)建立一個(gè)漸進(jìn)神經(jīng)網(wǎng)絡(luò)f1,在整個(gè)漸進(jìn)學(xué)習(xí)中統(tǒng)稱為漸進(jìn)塊。首個(gè)任務(wù)的網(wǎng)絡(luò)前向傳播與一般的深度神經(jīng)網(wǎng)絡(luò)相同。
其中,σ為隱藏層的激活函數(shù),θ(l)表示此漸進(jìn)塊中第l層的權(quán)重矩陣。在訓(xùn)練完首個(gè)任務(wù)的漸進(jìn)塊后,將該漸進(jìn)塊中的參數(shù)凍結(jié)。從任務(wù)池T中選出新任務(wù){(diào)ti|1 <i≤N} 。確定任務(wù)后,為其建立漸進(jìn)塊{fi|1 <i≤N},漸進(jìn)塊fi的不考慮偏置項(xiàng)的網(wǎng)絡(luò)層的前向傳播表示如下:用[19],從而使新任務(wù)漸進(jìn)塊的每一層與舊任務(wù)漸進(jìn)塊的相應(yīng)層建立了聯(lián)系,這點(diǎn)在Wu 等人[9]的實(shí)驗(yàn)中已得到驗(yàn)證。圖3為漸進(jìn)過(guò)程中網(wǎng)絡(luò)層的級(jí)聯(lián)操作。
圖3 級(jí)聯(lián)操作表示Fig.3 Concatenation operation representation
2.2.2 漸進(jìn)塊間參數(shù)修剪
這部分的修剪策略具體為設(shè)置一個(gè)修剪閾值用來(lái)刪除傳播到級(jí)聯(lián)層中不重要的小的參數(shù)。本文認(rèn)為當(dāng)前塊fi的修剪閾值應(yīng)由該塊與先前塊fk的任務(wù)相似度決定。相似度關(guān)系到漸進(jìn)塊間各個(gè)網(wǎng)絡(luò)層輸出向量的修剪量r,相似度越低,修剪量r越大。如下式所示:
2.2.3 反向傳播
漸進(jìn)學(xué)習(xí)中漸進(jìn)塊的反向傳播與單個(gè)神經(jīng)網(wǎng)絡(luò)的反向傳播相同,所設(shè)置的目標(biāo)函數(shù)為多分類任務(wù)常用的交叉熵?fù)p失函數(shù):
其中,m為輸入漸進(jìn)塊的樣本數(shù)量,n為類別的數(shù)量。labelij為標(biāo)簽的實(shí)際分布,當(dāng)樣本i的真實(shí)類別等于j,取1,否則取0。yij為樣本i在漸進(jìn)塊中經(jīng)前向傳播計(jì)算后的向量的第j個(gè)分量,pij為預(yù)測(cè)輸出,即漸進(jìn)塊前向傳播中softmax分類器預(yù)測(cè)樣本i屬于類別j的概率值,在0 到1 之間,計(jì)算如等式(8)。交叉熵能夠衡量同一個(gè)隨機(jī)變量中的兩個(gè)不同概率分布的差異程度,在機(jī)器學(xué)習(xí)中就表示為真實(shí)概率分布與預(yù)測(cè)概率分布之間的差異。這個(gè)差異越小,代表模型預(yù)測(cè)效果就越好。
TSGPNN 使用帶動(dòng)量的隨機(jī)梯度下降算法(stochastic gradient descent,SGD)[21],是受物理領(lǐng)域啟發(fā)的梯度下降優(yōu)化方法。一般而言,一個(gè)物體的動(dòng)量指的是這個(gè)物體在它運(yùn)動(dòng)方向上保持運(yùn)動(dòng)的趨勢(shì)。在當(dāng)前梯度更新時(shí),引入動(dòng)量會(huì)加強(qiáng)與歷史梯度方向相似的更新,減弱與歷史梯度方向不同的更新,使得梯度改變時(shí)就會(huì)有一段逐漸加速或逐漸減速的過(guò)程,從而加速學(xué)習(xí)過(guò)程,可以在鞍點(diǎn)處繼續(xù)前行,也可以逃離一些較小的局部最優(yōu)區(qū)域。算法2 舉例描述了漸進(jìn)塊fi的參數(shù)θi的更新迭代過(guò)程。
算法2漸進(jìn)塊fi的參數(shù)θi的更新迭代步驟
輸入:學(xué)習(xí)率α,漸進(jìn)塊fi參數(shù)θi,動(dòng)量m,動(dòng)量的衰減率β,訓(xùn)練次數(shù)epochs。
輸出:收斂后的參數(shù)θi,t。
t為迭代步時(shí),mt為梯度gt的動(dòng)量,超參數(shù)β為動(dòng)量mt的衰減率。在漸進(jìn)塊fi訓(xùn)練完收斂后,依次為剩余任務(wù)建立漸進(jìn)塊并訓(xùn)練,待最后一個(gè)任務(wù)學(xué)習(xí)完成后,用于持續(xù)學(xué)習(xí)任務(wù)池T={t1,t2,…,tN}所有任務(wù)的整個(gè)漸進(jìn)神經(jīng)網(wǎng)絡(luò)的模型F訓(xùn)練完成。算法3簡(jiǎn)要描述了以監(jiān)督學(xué)習(xí)為例的任務(wù)相似度引導(dǎo)的漸進(jìn)式學(xué)習(xí)的基本步驟。
算法3任務(wù)相似度引導(dǎo)的漸進(jìn)式學(xué)習(xí)在監(jiān)督學(xué)習(xí)實(shí)例中的基本步驟
輸入:有序任務(wù)池T={t1,t2,…,tN} ;數(shù)據(jù)池D={D1,D2,…,DN};訓(xùn)練次數(shù)epochs。
輸出:模型F={f1,f2,…,fN}。
本章展示任務(wù)相似度引導(dǎo)的漸進(jìn)神經(jīng)網(wǎng)絡(luò)在SPLIT-CIFAR100 和MNIST-Permutation 和MNISTRotation數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,并在相同的實(shí)驗(yàn)環(huán)境下與單任務(wù)學(xué)習(xí)、多任務(wù)學(xué)習(xí)以及一些有代表性的持續(xù)學(xué)習(xí)方法進(jìn)行了對(duì)比。環(huán)境配置為AMD Ryzen 5 3600 6-Core Processor 3.59 GHz,內(nèi)存16 GB,在python3.6基于Tensorflow-gpu2.5.0的框架下實(shí)現(xiàn)。
在實(shí)驗(yàn)中主要考慮了以下3個(gè)持續(xù)學(xué)習(xí)數(shù)據(jù)集:
MNIST-Permutation 數(shù)據(jù)集[6]:它是手寫數(shù)字MNIST 數(shù)據(jù)集的一種變體,其中每個(gè)不同任務(wù)的圖像都由不同排列的像素打亂轉(zhuǎn)換而成。在這個(gè)數(shù)據(jù)集中,每個(gè)任務(wù)的分布都是不相關(guān)的。據(jù)此具體設(shè)置了5 個(gè)任務(wù),這些任務(wù)的訓(xùn)練集為10 000 張28×28像素大小的圖像,測(cè)試集為2 000 張28×28 像素大小的圖像。
MNIST-Rotation數(shù)據(jù)集[4]:它也是手寫MNIST數(shù)據(jù)集的一種變體,其中每個(gè)不同任務(wù)的圖像都進(jìn)行0°到180°內(nèi)的隨機(jī)角度旋轉(zhuǎn)處理。任務(wù)數(shù)量的設(shè)置和訓(xùn)練集、測(cè)試集的劃分和大小都與MNIST-Permutation數(shù)據(jù)集相同。
SPLIT-CIFAR100 數(shù)據(jù)集[9,22]:它是CIFAR100 數(shù)據(jù)集[23]進(jìn)行重新切分的變體。據(jù)此設(shè)置了10 個(gè)任務(wù),每個(gè)任務(wù)將從CIFAR100 數(shù)據(jù)集中的100 類中隨機(jī)抽取10個(gè)類,所有任務(wù)中的類別是互斥的,對(duì)于每個(gè)任務(wù),訓(xùn)練集為5 000張32×32×3像素的圖像,測(cè)試集為1 000 張32×32×3 像素的圖像。而對(duì)于MNIST變形數(shù)據(jù)集(MNIST-Permutation、MNIST-Rotation)的實(shí)驗(yàn)和SPLIT-CIFAR100 數(shù)據(jù)集的實(shí)驗(yàn)采用了不同的網(wǎng)絡(luò)結(jié)構(gòu),如表1和表2所示。
表1 MNIST-Permutation和MNIST-Rotation數(shù)據(jù)集網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of MNIST-Permutation and MNIST-Rotation datasets
在以上3個(gè)數(shù)據(jù)集的漸進(jìn)學(xué)習(xí)實(shí)驗(yàn)中,第一個(gè)任務(wù)上使用與單任務(wù)學(xué)習(xí)相同的網(wǎng)絡(luò)結(jié)構(gòu),而在隨后的任務(wù)中為每個(gè)塊后添加如表1、表2 所示的級(jí)聯(lián)層(concatenation layer)。漸進(jìn)學(xué)習(xí)過(guò)程中級(jí)聯(lián)層級(jí)聯(lián)上一個(gè)任務(wù)平行的層的輸出,并作為當(dāng)前任務(wù)下一層的輸入進(jìn)行前向傳播,如圖2所示。在每個(gè)新任務(wù)漸進(jìn)過(guò)程中,新任務(wù)所構(gòu)建的網(wǎng)絡(luò)參數(shù)將被重新初始化,并使用與先前任務(wù)相同的訓(xùn)練超參數(shù)設(shè)置進(jìn)行訓(xùn)練。使用了早停法對(duì)SPILT-CIFAR100數(shù)據(jù)集實(shí)驗(yàn)的訓(xùn)練過(guò)程做監(jiān)控。為防止過(guò)擬合現(xiàn)象,訓(xùn)練時(shí)每隔一個(gè)epoch 查看驗(yàn)證集的loss 變化情況,如果在驗(yàn)證集的loss 在給定的epoch 內(nèi)仍然沒有下降,則停止訓(xùn)練,如圖4所示。
圖4 早停監(jiān)控演示Fig.4 Early stop monitoring demonstration
表2 SPLIT-CIFAR100數(shù)據(jù)集網(wǎng)絡(luò)結(jié)構(gòu)Table 2 Network structure of SPLIT-CIFAR100 dataset
本文所提出的方法將與單任務(wù)學(xué)習(xí)、多任務(wù)學(xué)習(xí)和三類經(jīng)典(樣本重演、正則化方法和參數(shù)獨(dú)立方法)的持續(xù)學(xué)習(xí)方法進(jìn)行對(duì)比。為確保對(duì)比的公平性,以下對(duì)比方法所使用的網(wǎng)絡(luò)結(jié)構(gòu)都是相同的(除多任務(wù)學(xué)習(xí)外),所使用的優(yōu)化器、學(xué)習(xí)率以及迭代次數(shù)、訓(xùn)練批次數(shù)與漸進(jìn)學(xué)習(xí)實(shí)驗(yàn)也都相同,如表3。各方法介紹如下:
表3 實(shí)驗(yàn)的超參數(shù)設(shè)置Table 3 Hyperparameter settings in experiments
(1)ONE(one task learning):?jiǎn)稳蝿?wù)學(xué)習(xí)。使用與TSGPNN相同的網(wǎng)絡(luò)結(jié)構(gòu)分別針對(duì)每個(gè)任務(wù)進(jìn)行訓(xùn)練和測(cè)試,即每個(gè)任務(wù)用一個(gè)重新初始化的模型來(lái)訓(xùn)練。
(2)GEM(gradient episodic memory):梯度情景記憶。在學(xué)習(xí)當(dāng)前任務(wù)時(shí),訪問(wèn)之前所有任務(wù)的部分?jǐn)?shù)據(jù),這些數(shù)據(jù)被收集在一個(gè)稱為“梯度記憶”的地方。在復(fù)現(xiàn)實(shí)驗(yàn)中,本文的超參數(shù)梯度記憶空間大小和記憶權(quán)分別為(256,256,1 024)、(0.5,0.5,0.5)。
(3)EWC(elastic weight consolidation):彈性權(quán)重固化。通過(guò)選擇出對(duì)于先前任務(wù)較重要的權(quán)重進(jìn)行保護(hù),在優(yōu)化時(shí)確保權(quán)重的更新不會(huì)對(duì)先前任務(wù)性能產(chǎn)生較大影響。在復(fù)現(xiàn)實(shí)驗(yàn)中,本文的超參數(shù)設(shè)置參考了Facebook官方的復(fù)現(xiàn)腳本(https://github.com/facebookresearch)。
(4)MTL(multi-task learning):多任務(wù)學(xué)習(xí)。建立了一個(gè)比單任務(wù)學(xué)習(xí)模型更復(fù)雜的類似ZenkeNet[22]的網(wǎng)絡(luò)模型,采用了shared-bottom 結(jié)構(gòu)[24],不同的任務(wù)間共用輸入層和中間層(4個(gè)卷積層組成),而每個(gè)任務(wù)享有不同的頂層輸出(由兩個(gè)全連接層組成)。
(5)PNN(progressive neural network):漸進(jìn)神經(jīng)網(wǎng)絡(luò),為每個(gè)任務(wù)建立相同的基礎(chǔ)網(wǎng)絡(luò),對(duì)所有的之前任務(wù)的網(wǎng)絡(luò)保留并固定。每次有一個(gè)新任務(wù)就新建一個(gè)網(wǎng)絡(luò),訓(xùn)練時(shí)通過(guò)逐層的側(cè)邊連接以求和的方式融合參數(shù)來(lái)完成不同任務(wù)間的知識(shí)遷移。
本文使用平均分類精度(average accuracy,AA)、漸進(jìn)知識(shí)遷移率(progressive knowledge transfer,PKT)和各任務(wù)精度標(biāo)準(zhǔn)差(pertask-accuracy standard deviation,STD)這3項(xiàng)指標(biāo)評(píng)估模型的性能。
所有任務(wù)的平均分類精確率作為主要的評(píng)估標(biāo)準(zhǔn):
其中,N是已學(xué)習(xí)任務(wù)的數(shù)量,Ai是指漸進(jìn)網(wǎng)絡(luò)模型評(píng)估任務(wù)ti的精確率。
漸進(jìn)知識(shí)遷移率被用來(lái)評(píng)估漸進(jìn)學(xué)習(xí)模型和單任務(wù)學(xué)習(xí)模型同一任務(wù)之間的性能差異。一般而言,PKT越大,模型學(xué)習(xí)完序列任務(wù)后對(duì)先前任務(wù)的性能提升越大。如下所示:
其中,Ai指漸進(jìn)網(wǎng)絡(luò)模型評(píng)估對(duì)應(yīng)任務(wù)ti的精確率,指單任務(wù)學(xué)習(xí)下第i個(gè)任務(wù)的精確率。漸進(jìn)知識(shí)遷移率是從i=2 時(shí)開始計(jì)算的,因?yàn)楫?dāng)i=1時(shí),漸進(jìn)學(xué)習(xí)僅有一個(gè)漸進(jìn)塊,等同于獨(dú)立學(xué)習(xí),二者間無(wú)性能差異。
漸進(jìn)學(xué)習(xí)任務(wù)間的精度標(biāo)準(zhǔn)差一定程度上反映了各任務(wù)學(xué)習(xí)過(guò)程中任務(wù)學(xué)習(xí)的穩(wěn)定程度。理想情況下,漸進(jìn)學(xué)習(xí)多個(gè)任務(wù)時(shí),應(yīng)盡量避免負(fù)向遷移的出現(xiàn),各任務(wù)的性能都應(yīng)處于較高的水平,使標(biāo)準(zhǔn)差控制在較小的范圍內(nèi)。
考慮到深度網(wǎng)絡(luò)帶來(lái)的精度波動(dòng),本文將如下所有對(duì)比方法與TSGPNN(相似度敏感因子c分別為0.5、5.0、12.0)在各數(shù)據(jù)集上運(yùn)行10 次后,取各項(xiàng)評(píng)估標(biāo)準(zhǔn)的平均值進(jìn)行對(duì)比和分析。
3.4.1 不同epoch學(xué)習(xí)性能分析
在MNIST-Permutation數(shù)據(jù)集上的5項(xiàng)任務(wù)中進(jìn)行不同迭代次數(shù)的訓(xùn)練后,測(cè)試集精度的對(duì)比實(shí)驗(yàn)顯示,如圖5 所示。為確保比較公平性,所有比較方法網(wǎng)絡(luò)的參數(shù)初始化方法都是相同的。在1 到5 個(gè)epoch的訓(xùn)練后進(jìn)行測(cè)試,GEM方法的5項(xiàng)任務(wù)的平均學(xué)習(xí)性能表現(xiàn)最佳,能在較少的epoch 內(nèi)接近收斂,TSGPNN 次之。在10 到20 個(gè)epoch 后漸進(jìn)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法(PNN、TSGPNN)的各項(xiàng)任務(wù)的學(xué)習(xí)性能表現(xiàn)均優(yōu)于單任務(wù)學(xué)習(xí)和其他持續(xù)學(xué)習(xí)方法,側(cè)面體現(xiàn)了漸進(jìn)式學(xué)習(xí)明顯的學(xué)習(xí)速率優(yōu)勢(shì),而本文提出的方法還要優(yōu)于PNN,這是因?yàn)門SGPNN 從體現(xiàn)了先前任務(wù)知識(shí)的各個(gè)漸進(jìn)塊中使用級(jí)聯(lián)操作獲得了更多的信息,相較于其他方法收斂變得更平穩(wěn)和迅速。
圖5 不同epoch下MNIST-Permutation平均精確度Fig.5 Average accuracy on MNIST-Permutation dataset under different epochs
3.4.2 綜合評(píng)估標(biāo)準(zhǔn)對(duì)比
任務(wù)相似度引導(dǎo)的漸進(jìn)學(xué)習(xí)方法與其他方法的平均精度、漸進(jìn)知識(shí)遷移率以及精度標(biāo)準(zhǔn)差如表4~表6所示。實(shí)驗(yàn)的超參數(shù)設(shè)置如表3。結(jié)合圖6可以看出,與基準(zhǔn)方法相比,TSGPNN 帶來(lái)了更好的分類性能。在MNIST 變體數(shù)據(jù)集的5 項(xiàng)任務(wù)上,本文平均精度達(dá)到了91.75%和95.08%,每項(xiàng)任務(wù)的漸進(jìn)遷移率為0.65%和0.63%。而在SPLIT-CIFAR100 這樣的類別信息較為復(fù)雜的數(shù)據(jù)集中,本文方法相比其他持續(xù)學(xué)習(xí)方法表現(xiàn)更好,平均精度提升到了65.36%,漸進(jìn)知識(shí)遷移率達(dá)到了1.81%。
從表4~表6和圖6可以看出,對(duì)比參數(shù)正則化方法EWC和樣本重演方法GEM,漸進(jìn)式學(xué)習(xí)方法的平均精度更高,且學(xué)習(xí)每個(gè)任務(wù)的效果相較于從零開始的單任務(wù)學(xué)習(xí)有明顯提升。與同樣是采用參數(shù)獨(dú)立方法的PNN 相比,TSGPNN 在MNIST-Permutation和MNIST-Rotation 數(shù)據(jù)集上的平均精度要更高,穩(wěn)定度也基本持平,而在SPLIT-CIFAR100數(shù)據(jù)集10個(gè)漸進(jìn)任務(wù)的實(shí)驗(yàn)中,PNN在前幾項(xiàng)任務(wù)中表現(xiàn)尚可,但是在最后的幾項(xiàng)任務(wù)中精度開始變差。在0.05的學(xué)習(xí)率下出現(xiàn)了較大的負(fù)遷移現(xiàn)象,需要對(duì)學(xué)習(xí)率等超參數(shù)進(jìn)行一定的調(diào)整才能使后續(xù)任務(wù)性能達(dá)到理想水平,而在同樣的實(shí)驗(yàn)參數(shù)設(shè)置上,本文提出的方法三項(xiàng)評(píng)估標(biāo)準(zhǔn)都要明顯優(yōu)于PNN,這表明了本文基于PNN改進(jìn)的思路是正確的。
表4 MNIST-Permutation數(shù)據(jù)集上的測(cè)試結(jié)果(5漸進(jìn)任務(wù))Table 4 Test result on MNIST-Permutation dataset(5 tasks) 單位:%
表5 MNIST-Rotation數(shù)據(jù)集上的測(cè)試結(jié)果(5漸進(jìn)任務(wù))Table 5 Test result on MNIST-Rotation dataset(5 tasks) 單位:%
表6 SPLIT-CIFAR100數(shù)據(jù)集上的測(cè)試結(jié)果(10漸進(jìn)任務(wù))Table 6 Test result on SPLIT-CIFAR100 dataset(10 tasks) 單位:%
圖6 各方法在SPLIT-CIFAR100數(shù)據(jù)集上的平均精度(10漸進(jìn)任務(wù))Fig.6 Average accuracy of each method on SPLIT-CIFAR100 dataset(10 tasks)
3.4.3 相似度敏感因子分析
本文對(duì)不同漸進(jìn)學(xué)習(xí)數(shù)據(jù)集的相似度敏感因子c的取值做了研究。c控制了各個(gè)任務(wù)漸進(jìn)塊間的參數(shù)修剪量,而c由各個(gè)任務(wù)間的相似度決定(上文的等式(5)~(7)可以體現(xiàn))。如圖7所示,根據(jù)不同數(shù)據(jù)集的多個(gè)任務(wù)的相似度矩陣,為任務(wù)較多且任務(wù)域間相似度差別較小的數(shù)據(jù)集SPLIT-CIFAR100 實(shí)驗(yàn)設(shè)置較大的c值,為任務(wù)較少且任務(wù)域間相似度差別較大的數(shù)據(jù)集MNIST-Permutation 實(shí)驗(yàn)設(shè)置較小的c值,以防止修剪掉過(guò)多的先前任務(wù)知識(shí)。而對(duì)MNIST-Rotation數(shù)據(jù)集實(shí)驗(yàn)選擇了折中的設(shè)置。
圖7 各個(gè)數(shù)據(jù)集的多個(gè)任務(wù)的相似度矩陣Fig.7 Similarity matrix of multiple tasks of each dataset
基于此,本文對(duì)超參數(shù)相似度敏感因子c做了多組不同的取值,在三個(gè)漸進(jìn)數(shù)據(jù)集上做了實(shí)驗(yàn),MNIST變體數(shù)據(jù)集的各個(gè)任務(wù)(除第一個(gè)任務(wù),因?yàn)樵跐u進(jìn)學(xué)習(xí)過(guò)程中,第一個(gè)任務(wù)相當(dāng)于獨(dú)立學(xué)習(xí))的平均精度變化隨c值影響如圖8 所示。MNIST-Permutation實(shí)驗(yàn)各項(xiàng)任務(wù)的最佳表現(xiàn)的c值在0.5 附近;而MNIST-Rotation實(shí)驗(yàn)各項(xiàng)任務(wù)的最佳表現(xiàn)的c值在2或5附近。
圖8 不同敏感因子在MNIST變體數(shù)據(jù)集上的精度Fig.8 Accuracy of different sensitive factors on variants of MNIST dataset
此外本文還關(guān)注了SPLIT-CIFAR100 數(shù)據(jù)集實(shí)驗(yàn)的其他兩個(gè)評(píng)估標(biāo)準(zhǔn),如表7所示??梢钥闯鲈诨贚eNet5 網(wǎng)絡(luò)的漸進(jìn)式學(xué)習(xí)下,c值取在9 到15 之間能使整個(gè)模型表現(xiàn)更好,在能較高地提升對(duì)于任務(wù)的精度的同時(shí)使各個(gè)任務(wù)間精度的標(biāo)準(zhǔn)差也較小。而三項(xiàng)實(shí)驗(yàn)的最佳c值都不處于兩端,這說(shuō)明漸進(jìn)任務(wù)之間過(guò)多或過(guò)少的參數(shù)修剪都將使得性能變差,特別是在任務(wù)數(shù)量多和數(shù)據(jù)場(chǎng)景較為復(fù)雜的情況下。在處理不同任務(wù)時(shí),任務(wù)相似度引導(dǎo)的漸進(jìn)階段需要有選擇地吸收不同任務(wù)間的知識(shí),進(jìn)而減少相關(guān)度小的任務(wù)間的負(fù)向影響,以此控制學(xué)習(xí)知識(shí)的穩(wěn)定性和緊湊性。
表7 不同敏感因子在SPLIT-CIFAR100數(shù)據(jù)集上的表現(xiàn)(10漸進(jìn)任務(wù))Table 7 Performance of different sensitive factors on SPLIT-CIFAR100 dataset(10 tasks)
為了提高持續(xù)學(xué)習(xí)過(guò)程中的知識(shí)的前向遷移能力,本文提出了一種任務(wù)相似度引導(dǎo)的漸進(jìn)深度網(wǎng)絡(luò)。一般的漸進(jìn)神經(jīng)網(wǎng)絡(luò)PNN采用了參數(shù)獨(dú)立的思想,為每個(gè)任務(wù)額外分配網(wǎng)絡(luò)分支來(lái)漸進(jìn)地學(xué)習(xí)任務(wù),以避免災(zāi)難性遺忘,且通過(guò)側(cè)邊連接的方式融合參數(shù)促進(jìn)任務(wù)間的知識(shí)重用。本文認(rèn)為不同任務(wù)域間的分布對(duì)漸進(jìn)學(xué)習(xí)的參數(shù)遷移過(guò)程有重要影響。為避免任務(wù)間的負(fù)向遷移,將各任務(wù)的漸進(jìn)塊間的參數(shù)級(jí)聯(lián),并以任務(wù)間相似度為參考修剪漸進(jìn)塊的參數(shù),使當(dāng)前任務(wù)能吸收先前任務(wù)重要的特征,從而提升當(dāng)前任務(wù)的性能。實(shí)驗(yàn)表明,該方法在多個(gè)的連續(xù)任務(wù)場(chǎng)景中對(duì)比單任務(wù)學(xué)習(xí)、多任務(wù)以及持續(xù)學(xué)習(xí)方法性能有較明顯的提升,且在各個(gè)任務(wù)的穩(wěn)定性也更佳,而對(duì)于不同的連續(xù)學(xué)習(xí)任務(wù)域需要選擇不同的任務(wù)相似度敏感因子。未來(lái)將關(guān)注差異更大的域之間任務(wù)對(duì)漸進(jìn)式學(xué)習(xí)的影響以及探究在線的任務(wù)間相似度計(jì)算方法。