魏秀參 徐書林 安 鵬 楊 健
1(南京理工大學計算機科學與工程學院 南京 210094)2(綜合業(yè)務網(wǎng)理論及關(guān)鍵技術(shù)國家重點實驗室(西安電子科技大學) 西安 710071)3(高維信息智能感知與系統(tǒng)教育部重點實驗室(南京理工大學) 南京 210094)4(社會安全圖像與視頻理解江蘇省重點實驗室(南京理工大學) 南京 210094)5(計算機軟件新技術(shù)國家重點實驗室(南京大學) 南京 210023)6(中國海洋石油集團有限公司信息技術(shù)中心 北京 100010)
多示例學習(multi-instance learning, MIL)是一種弱監(jiān)督學習,其在藥物活性檢測任務[1]中被自然提出,隨后被廣泛應用于許多現(xiàn)實任務,例如圖像分類或檢索、人臉檢測、文本分類和計算機輔助醫(yī)療診斷等.傳統(tǒng)的單示例學習中一個示例會有一個或多個標簽與之對應.與單示例學習不同:MIL中的訓練單元——多示例包(bag)——由多個示例構(gòu)成,多示例包有對應的標簽,但包中的示例沒有與之對應的標簽.多示例學習系統(tǒng)的目標是對已知標簽的多示例包進行學習后需要能夠?qū)ξ粗亩嗍纠M行類別預測.
另一方面,現(xiàn)實生活中的許多系統(tǒng)需要不斷地從新類新樣本中學習新的知識,并且能夠很好地保存以前學習的舊類別和舊知識,即增量學習(incremental learning)所解決的問題.在過去的幾年里已經(jīng)開發(fā)了很多有效的多示例方法[2-12]解決多示例學習中示例缺失帶來的困難,也有很多方法被提出解決增量學習[13-29]的災難性遺忘問題,然而很少有人提出有效方法來處理多示例學習下的類別增量問題.據(jù)我們所知,只有Mera等人[30]提出了一種以集成學習框架為基礎(chǔ)的方法Learn++.MIL解決此難題.Learn++.MIL使用了在傳統(tǒng)單示例學習中所提出的集成學習的策略去解決增量學習的遺忘問題,并簡單地使用早期的MIL-Boost[31]作為集成學習中的基分類器使之能夠處理多示例數(shù)據(jù).所以此方法并不能很好地解決復雜的面向增量分類的多示例學習問題.同時,傳統(tǒng)增量學習方法由于同樣僅針對單示例數(shù)據(jù)設(shè)計,無法處理多示例學習中一對多的樣本與示例的對應,故而難以解決多示例學習中的訓練樣本歧義而難以良好工作.
本文面向增量分類的多示例學習提出了一種基于注意力機制及原型分類器映射的多示例增量學習方法(multi-instance class-incremental learning, MICIL).我們的方法主要包含2個模塊,基于注意力機制的多示例匯合表示模塊和基于類別原型映射的多示例增量分類器生成模塊.前者將復雜的多示例包表示匯合成統(tǒng)一的特征向量,并且基于注意力機制給予包中關(guān)鍵示例(key instance)更高的匯合權(quán)重,這么做的動機是因為包中的關(guān)鍵示例更能體現(xiàn)包的類別信息.在得到包的統(tǒng)一匯合向量表示之后,我們計算所有同類別多示例包表示的質(zhì)心而得到對應的類別原型并存儲起來.對于后者,類別原型通過一個類別原型映射得到對應的類別分類器,基于所有類別原型生成分類器進行監(jiān)督學習可以學得增量階段新類別的知識,基于上一增量階段生成的舊類別分類器的預測結(jié)果對當前階段生成的舊類別分類器的預測結(jié)果的知識蒸餾便可一定程度保留舊類別的知識.尤其是,使用類別原型我們可以用極小的存儲代價保留舊知識,并且由于每類只有一個類別原型使我們能很好地解決新舊數(shù)據(jù)的不平衡難題,由此得到無偏魯棒的類別分類器.通過上述框架,我們能夠很好地在類別增量環(huán)境下進行多示例學習數(shù)據(jù)挖掘.
在實驗中,我們在3類多示例多類別問題的數(shù)據(jù)集Text[32],COREL[33]和NYU-v1[34]上進行增量學習任務的實驗驗證.實驗結(jié)果表明MICIL方法與其他方法相比取得了最優(yōu)的增量學習識別精度,包括最新針對多示例學習的增量學習方法[30]和目前最新的面向增量分類的多示例學習[29].
本文工作的主要貢獻包括3個方面:
1) 提出一種基于注意力機制及原型分類器映射的多示例增量學習方法MICIL,通過構(gòu)建和存儲多示例類別原型應對多示例類別增量學習任務.
2) 基于注意力機制的多示例匯合操作構(gòu)建了包含了多示例包顯著類別相關(guān)信息的統(tǒng)一特征表示;原型分類映射器能夠生成平衡無偏的分類器,并在知識蒸餾的作用下很好地保留舊類別相關(guān)信息.
3) 在3個不同任務的多示例數(shù)據(jù)集進行實驗驗證,結(jié)果表明我們提出的MICIL方法能夠很好地解決多示例學習環(huán)境下的類別增量問題.
MIL是機器學習中的一種弱監(jiān)督學習任務,其中一個標記的包(bag)與多個未標記的示例相關(guān)聯(lián).隨著MIL在文獻[1]中的開創(chuàng)性提議,許多MIL算法已經(jīng)被開發(fā)出來以幫助人們解決一系列實際應用.近年來,得益于深度學習的發(fā)展,在傳統(tǒng)機器學習方法[2-4]的基礎(chǔ)上,許多基于神經(jīng)網(wǎng)絡的MIL方法[5-8]被提出并取得了不錯的效果.
首個MIL研究[1]中給出了標準假設(shè)(standard assumption).在標準假設(shè)中,通常每個示例都有一個未知的類標簽,將其標識為正或負,當且僅當一個包至少含有一個正示例時這個包才被認為是正的.隨著MIL研究的發(fā)展,這個假設(shè)并不適用于所有MIL問題.在某些情況下,需要一個廣義的假設(shè):集體假設(shè)(collective assumption)被經(jīng)常使用,在這個假設(shè)中包的類標簽是與該包中所有示例相關(guān)的一個屬性.總的來說,在集體假設(shè)中有2種方法可以獲取包的類別標簽.一種是示例級方法[2,10],該方法有一個示例級傳遞函數(shù)來獲取每個示例的分數(shù),然后通過一個MIL匯合(例如最大匯合和均值匯合)來獲得包的類標簽.另一種是包級別方法[5,11],它將多示例數(shù)據(jù)轉(zhuǎn)換為包級別的表示,然后在包級別表示上訓練包級別分類器來預測包的類標簽.在大多數(shù)情況下,包級別方法更顯靈活且更具競爭力.
本文我們研究面向增量分類的多示例學習,除了多示例學習還主要涉及到了增量學習的問題.增量學習意味著我們需要從隨時間出現(xiàn)的一系列數(shù)據(jù)中學習,已有的參考文獻中增量學習主要分為了3類:任務增量學習(task-incremental learning)、領(lǐng)域增量學習(domain-incremental learning)和類增量學習(class-incremental learning, CIL).本文中我們主要關(guān)注類增量學習:隨著時間的推移會出現(xiàn)新類別的數(shù)據(jù)且舊類別的數(shù)據(jù)不可見,我們需要學習一個統(tǒng)一的分類器去識別所有新舊類的組合.這是一個非?,F(xiàn)實的問題,在這個過程中主要面臨舊數(shù)據(jù)遺忘的挑戰(zhàn).
現(xiàn)有的解決CIL中遺忘挑戰(zhàn)的方法有2類主流,分別是基于數(shù)據(jù)的方法和基于參數(shù)的方法.基于數(shù)據(jù)的方法會在新數(shù)據(jù)中放入一部分舊數(shù)據(jù),有的方法[13-15]試圖從舊數(shù)據(jù)中選擇一組代表性的樣本存儲備用,有的方法[16-18]使用合成的樣本來表示舊數(shù)據(jù)的分布.這時新舊任務之間的不平衡問題成為關(guān)鍵挑戰(zhàn).具體而言,文獻[13-14,19]通過減少對新數(shù)據(jù)的偏見來緩解這個問題.基于參數(shù)的方法中主要有基于正則化和基于結(jié)構(gòu)2種策略.前者基于顯式或隱式的正則化策略使用不同的指標來識別和懲罰原始網(wǎng)絡重要參數(shù)的變化,例如彈性權(quán)重鞏固(elastic weight consolidatio)[21]、突觸智能(synaptic intelligence)[22]、記憶感知突觸(memory aware synapses)[23]和知識蒸餾(knowledge distillation)[24-25]等方法.后者[26-28]主要保持與舊類相關(guān)的網(wǎng)絡參數(shù)固定,并以不同形式分配新參數(shù)去學習新類的知識.
本文提出的基于注意力機制及原型分類器映射的多示例增量學習方法,動態(tài)地對類別增量多示例數(shù)據(jù)進行學習和識別.不僅解決了多示例數(shù)據(jù)的統(tǒng)一表示和分類問題,還使其能夠在類別增量的環(huán)境下很好的運行.該方法可以用極低的存儲代價很好地保留舊多示例類別信息,并對不平衡的增量新舊數(shù)據(jù)保持無偏和魯棒的效果.
本節(jié)我們主要介紹針對類別增量數(shù)據(jù)挖掘任務的基于注意力機制及原型分類器映射的多示例增量學習方法MICIL.
MICIL方法流程如圖1所示.首先,針對多示例包(MIL bag),通過基于注意力的多示例匯合操作將每個包表示為包層級特征表示,其中,注意力機制主要設(shè)計用于關(guān)注并增強包中的關(guān)鍵示例(key instance),進而突出包中的類別相關(guān)信息.之后,在每類的包層級特征表示基礎(chǔ)上將得到每類對應的類別原型特征,該原型可包含類別級信息,并具有一定的判別能力與魯棒性.同時,由于類別原型每類僅有一個,可有效緩解增量學習中較為顯著的類別不平衡問題.基于類別原型,我們提出構(gòu)建以多層感知機為實現(xiàn)形式的類別分類器映射函數(shù),將類別原型映射為類別分類器.與此同時,對于增量學習中的已知類別,我們將其類別原型進行存儲,在推理時使用參數(shù)共享的類別分類器映射函數(shù)由存儲的類別原型獲取對應的已知類別分類器.損失函數(shù)方面,對于增量學習新任務中的多示例包,一方面將其作用于已知類類別分類器得到已知類類別預測;另一方面作用于增量新任務的類別分類器得到對應類別預測,對于該2種不同類別預測,將通過對應的損失函數(shù)作為模型驅(qū)動進行參數(shù)訓練及優(yōu)化(詳見第2.4節(jié)內(nèi)容).
Fig. 1 Framework of our proposed MICIL method圖1 基于注意力機制及原型分類器映射的多示例增量學習方法(MICIL)示意圖
根據(jù)2.1節(jié)描述,多示例包具有較為復雜的集合結(jié)構(gòu),對于數(shù)據(jù)挖掘任務的后續(xù)處理構(gòu)成了一定挑戰(zhàn).如何構(gòu)建既能體現(xiàn)多示例包信息又形式統(tǒng)一簡單的包級別特征表示,是MICIL需要解決的首要問題.
此外,多示例包的另一特點為包中示例的無序性與數(shù)量不定性,即多示例包中示例的順序與數(shù)量對于包的類別標記無任何影響.因此,我們提出基于注意力機制設(shè)計適應多示例包形式的包級別匯合操作(MIL bag pooling),用以將多示例包表示為單一的特征向量.
(1)
(2)
其中,αj為權(quán)重參數(shù),其形式化為
(3)
其中,v和M為MICIL法注意力機制中的參數(shù),可通過最終模型的損失函數(shù)進行整體優(yōu)化.
可以發(fā)現(xiàn),上述式(2)的注意力匯合操作可賦予包中示例不同重要程度的權(quán)重,因此包中反映類別信息的關(guān)鍵示例(key instance)可獲得較大權(quán)重,無關(guān)示例則對應較小權(quán)重,如此便可更好地在Xi的包級別特征表示ui上體現(xiàn)類別相關(guān)信息.
(4)
其中,Ωc={k|yk=c}.類別原型表示具備較強泛化能力與魯棒性[35],同時不同類別均只有一個類別原型,因此使用類別原型進行后續(xù)操作可避免不同類別樣本不平衡帶來的影響與挑戰(zhàn).
(5)
MICIL推理時,即使用wc對多示例包Xi的包級別特征ui進行類別預測:
(6)
針對2.1節(jié)的多示例學習類別增量設(shè)定,模型首先根據(jù)已知類別樣本集合Do,由式(4)得到類別原型特征表示并進行存儲,同時基于式(5)獲得Do中類別的類別分類器,根據(jù)式(6)的操作可進行模型訓練獲得初始階段Do對應的類別分類器映射函數(shù).
之后,待第t階段訓練新任務及對應訓練集合Dt到來時,對Dt中的多示例包做式(4)同樣操作得到Dt中對應的類別原型特征表示.隨后,對于存儲的已知類類別原型和Dt中對應的類別原型,一同作用類別分類器映射函數(shù)fmapping(·;θmapping),由式(5)分別可得已知類(old class)類別分類器{wo}及第t階段新任務(new task)中對應類別的分類器{wn}.
(7)
其中,l為當前階段的已知類別數(shù).另一方面,對于第t階段新任務中的類別預測損失則較為直觀.在第t階段,Dt中的樣本同時含有X及其真實標簽y,故其損失函數(shù)可表示為常用的交叉熵損失:
(8)
總體而言,模型訓練的損失函數(shù)為式(7)和式(8)的結(jié)合,即:
L=Lnew+λLold,
(9)
其中,λ為兩項的調(diào)節(jié)因子超參數(shù).
本節(jié)我們首先介紹實驗數(shù)據(jù)集和實驗設(shè)定,之后介紹主要的對比方法及匯報實驗結(jié)果,最后對MICIL方法進行消融實驗并進行討論分析.
我們分別在3類多示例多類別問題上進行增量學習任務的實驗驗證:
1) 文本分類.文本分類是多示例學習的重要應用領(lǐng)域,相關(guān)數(shù)據(jù)中Text[32]是較為常用的標準數(shù)據(jù)集.Text數(shù)據(jù)集共有12個文本類別,每個樣本對應一篇學術(shù)論文,論文摘要和參考文獻中的摘要對應了多示例包中的若干示例.TF-IDF[36]特征用來抽取摘要內(nèi)容的向量表示,此后,主成分分析(principal component analysis, PCA)[37]被用于該向量表示進行去噪操作,最終示例的向量表示長度為300維.
2) 物體圖像識別.圖像識別亦是多示例學習的重要應用任務.本文我們在物體圖像識別(object-centric image recognition)和場景圖像分類(scene-centric image classification)這2類經(jīng)典的圖像識別任務進行實驗驗證.在物體圖像識別任務中,我們選用多示例學習中常用的COREL數(shù)據(jù)集[33]進行實驗.COREL共有10個圖像類別,每類含有100張384×256分辨率的圖像,其示例表示形式我們遵循文獻[36]中的設(shè)定,即將圖像劃分為6個大小相同的圖像塊,之后通過預訓練的Alex-Net[38]抽取4096維特征,再經(jīng)過主成分分析降維到200維.
3) 場景圖像分類.該任務中我們選用NYU-v1[34]進行實驗驗證.該數(shù)據(jù)集共含有2 284張640×480分辨率的圖像,對應7個場景類別.與COREL不同的是,NYU-v1還提供了超分辨率圖像塊作為像素語義標簽.我們根據(jù)語義標簽產(chǎn)生相應的圖像區(qū)域并將其作為示例進行特征抽取[36],與COREL類似,最終的示例特征為200維的經(jīng)PCA后的特征向量.
對于MICIL方法中的實現(xiàn)細節(jié),式(1)中的特征嵌入函數(shù)我們將其實現(xiàn)為2層多層感知機,中間層使用ReLU作為激活函數(shù).式(5)中的類別原型映射函數(shù)我們將其實現(xiàn)為3層多層感知機,中間層使用ELU作為激活函數(shù).式(9)中的超參數(shù)設(shè)置為1.另對于增量學習設(shè)定而言,我們共設(shè)置4個階段,3個數(shù)據(jù)集的各階段類別劃分如表1所示:
Table 1 Categories Splitting in the Incremental Learning Setting表1 增量學習設(shè)定下的類別劃分
本文主要選取代表性方法作為對比方法進行實驗驗證與結(jié)果對比,簡述如下:
1) FineTune[39].直接基于MICIL方法中存儲的類別原型映射生成分類器,并在當前輪次數(shù)據(jù)上進行模型微調(diào)(fine-tuning),但可以預計該方法會引起模型“災難性遺忘”.
2) LwF[25].通過知識蒸餾進行類別增量學習.但LwF原方法不支持多示例形式數(shù)據(jù),故實驗時將多示例包通過簡單的平均匯合操作變換為單一向量后,使用LwF方法進行模型學習與性能評估.
3) Coil[29].通過建模類別語義關(guān)系學習相關(guān)增量任務間關(guān)系,從而支持已知類和新增類別的共同識別.需指出的是,Coil方法同樣不支持多示例形式數(shù)據(jù),類似LwF中的處理手段,依然使用平均匯合操作變換為單一向量后進行實驗評估.
4) Learn++.MIL[30].在集成學習框架下,通過動態(tài)選擇適合當前輪次數(shù)據(jù)的多示例分類器并以此進行更新來支持增量類別識別,該方法可直接處理多示例形式數(shù)據(jù).
3個多示例、多類別增量任務的對比實驗結(jié)果分別如表2、表3和表4所示:
Table 2 Comparison Results on Text Dataset表2 Text數(shù)據(jù)集上的結(jié)果對比
Table 3 Comparison Results on COREL Dataset表3 COREL數(shù)據(jù)集上的結(jié)果對比
Table 4 Comparison Results on NYU-v1 Dataset表4 NYU-v1數(shù)據(jù)集上的結(jié)果對比
其中,為了避免類別不平衡帶來的評估不準確問題,我們選用macro-averageF1 score作為評測指標.我們對最好的結(jié)果進行了加粗展示,從這3個表中可以看到我們的方法都取得了最好的結(jié)果.我們提出的MICIL方法比先前最好的方法在連續(xù)的增量階段中:在Text數(shù)據(jù)集上分別提升2.61%,4.68%和4.52%;在COREL數(shù)據(jù)集上分別提升2.62%,1.76%和3.29%;在NYU-v1數(shù)據(jù)集上分別提升2.91%和3.20%.
總體來看,我們方法幾乎在3個數(shù)據(jù)集上都隨著增量數(shù)據(jù)的增長能夠比對比方法展示更大的優(yōu)勢.這說明了我們的方法在多示例學習中可以更好地緩解舊數(shù)據(jù)遺忘的挑戰(zhàn).
如表5所示,為了驗證提出的MICIL方法中2個核心模塊的有效性,我們在Text數(shù)據(jù)集上進行了消融實驗.其中行2是我們的方法去掉注意力機制直接使用平均匯合操作的結(jié)果.對比行1和行2的結(jié)果,可以看到我們基于式(7)的知識蒸餾能夠有效地緩解舊數(shù)據(jù)遺忘的問題,在3個增量階段分別有16.67%,23.4%和30.95%的精度提升.對比行2和行3可以看出,我們提出的MICIL方法中注意力機制在3個增量階段分別帶來了4.36%,6.61%和6.05%的穩(wěn)定提升,這驗證了挖掘包中體現(xiàn)類別相關(guān)信息的關(guān)鍵示例十分有益于MIL任務.
Table 5 Ablation Studies on Text Dataset表5 基于Text數(shù)據(jù)集的消融實驗結(jié)果
如2.2節(jié)所述,為應對多示例包的復雜集合結(jié)構(gòu),我們采用基于注意力機制的包表示方法來刻畫多示例樣本.本節(jié)我們針對COREL數(shù)據(jù)集對其完成注意力機制后的示例權(quán)重進行分布情況分析.
COREL數(shù)據(jù)集因每個樣本對應6個示例(即圖像塊),在注意力機制完成前,其示例權(quán)重αj=1/6;而完成注意力機制后,我們將所有示例權(quán)重組織為圖2的柱狀圖形式.
Fig. 2 Histogram of the attention weights in MICIL圖2 MICIL方法中的示例注意力權(quán)重分布.
可以看出,在經(jīng)過注意力機制的操作后,多示例包中的示例權(quán)重有了明顯的改變.大部分示例權(quán)重集中在0~0.15左右,該部分示例對應多示例包中的類別無關(guān)示例.而可有效刻畫類別的關(guān)鍵示例則占比較小,但其權(quán)重值較大,多集中在0.75左右,這與多示例包中關(guān)鍵示例的自然觀察較為一致.
本文提出了一種基于注意力機制及原型分類器映射的多示例增量學習方法以應對面向增量分類的多示例學習任務.首先,多示例包匯合操作利用注意力機制關(guān)注并增強多示例包中的關(guān)鍵示例并將其匯合形成包層級特征表示.之后,包層級特征表示被用于生成對應的包類別原型特征表示并且包類別原型特征將以極小的代價存儲下來用于緩解遺忘.然后,類別原型映射函數(shù)將所有新舊類別原型特征映射為對應的類別分類器,以對所有新舊類進行預測;同時使用知識蒸餾,將上一階段類別原型映射函數(shù)對舊類別生成的分類器的預測結(jié)果作為“教師”,指導當前階段更新后的類別原型映射函數(shù)對舊類別生成的分類器的預測結(jié)果,使得類別原型映射函數(shù)能夠很好地保留舊類別的知識.通過注意力機制對多示例包類別信息的表示、交叉熵損失對增量類別的學習以及知識蒸餾對舊類的指導,我們的方法能夠很好地處理面向增量分類的多示例學習問題,并在3個不同任務的多示例數(shù)據(jù)集上驗證了我們MICIL方法的有效性.
未來,考慮多示例包與類別原型關(guān)系的類別原型特征表示的構(gòu)造方法值得進一步研究.