張 明,翟俊海,許 壘,高光遠(yuǎn)
(1.河北大學(xué)數(shù)學(xué)與信息科學(xué)學(xué)院,河北 保定 071002) (2.河北大學(xué)河北省機(jī)器學(xué)習(xí)與計算智能重點(diǎn)實驗室,河北 保定 071002)
近年來,深度學(xué)習(xí)在圖像分類[1]、目標(biāo)檢測[2]、人臉識別[3]等計算機(jī)視覺任務(wù)中取得了巨大的成績. 然而,當(dāng)深度學(xué)習(xí)模型遇到長尾分布數(shù)據(jù)時,往往會表現(xiàn)不佳. 這是因為長尾分布數(shù)據(jù)集的頭部少數(shù)類占據(jù)了大多數(shù)數(shù)據(jù),而尾部多數(shù)類卻占據(jù)了很少的一部分?jǐn)?shù)據(jù). 深度學(xué)習(xí)模型在處理長尾分布數(shù)據(jù)集時會偏向頭部類,但對其期望是可以在所有類上都表現(xiàn)良好,而不是偏向頭部類. 長尾識別的本質(zhì)便是這兩者之間的不匹配問題[4].
由于尾部類也是整個長尾分布數(shù)據(jù)集的重要組成部分,所以僅僅為了獲得均勻的分布而將其去除是不可取的. 但傳統(tǒng)的機(jī)器學(xué)習(xí)方法和具有先進(jìn)性能的深度模型對長尾分布建模是具有挑戰(zhàn)性的.
將長尾學(xué)習(xí)困難的本質(zhì)分為以下3個方面:一是長尾分布數(shù)據(jù)集中尾部類樣本太少,整個數(shù)據(jù)集的不平衡程度太高. 二是深度模型的損失由頭部類主導(dǎo),使分離的超平面嚴(yán)重偏離尾部類. 三是尾部類數(shù)據(jù)太少,類內(nèi)多樣性太低.
我們并以這些困難作為解決方案的線索將現(xiàn)有的解決方案分為5類:一是重采樣,其策略是試圖構(gòu)造出平衡的數(shù)據(jù)集. 二是重加權(quán),其策略是在損失函數(shù)中給小的類別分配大的權(quán)重. 三是遷移學(xué)習(xí),分別對頭部類和尾部類建模,將學(xué)到的頭部類的信息、表示、知識遷移給少數(shù)類使用. 四是解耦特征學(xué)習(xí)和分類器學(xué)習(xí),由于類別重新平衡方法(重采樣和重加權(quán))都會損害深度網(wǎng)絡(luò)學(xué)習(xí)到的深度特征的表示能力,該方法把不平衡學(xué)習(xí)分為兩個階段,在特征學(xué)習(xí)階段正常采樣,在分類器學(xué)習(xí)階段平衡采樣,以此來克服類別重新平衡方法的缺點(diǎn). 五是其他方法,是一些長尾學(xué)習(xí)在其他領(lǐng)域的相關(guān)研究工作.
本文針對已經(jīng)提出解決長尾識別的方法進(jìn)行綜述,并對這些方法按照重采樣、重加權(quán)、遷移學(xué)習(xí)、解耦特征學(xué)習(xí)和分類器學(xué)習(xí)方法以及其他方法進(jìn)行分類. 對每一種方法的創(chuàng)新點(diǎn)、優(yōu)缺點(diǎn)進(jìn)行論述,這為從事相關(guān)研究的人員提供了一些有價值的內(nèi)容.
長尾識別問題涉及數(shù)據(jù)不平衡問題和少樣本問題. 下文分5類介紹,包括重采樣、重加權(quán)、遷移學(xué)習(xí)、解耦特征學(xué)習(xí)和分類器學(xué)習(xí)以及其他方法.
數(shù)據(jù)重采樣可以分為兩種類型:一種是對擁有小部分?jǐn)?shù)據(jù)的類別進(jìn)行過采樣[5-7]. 由于隨機(jī)過采樣這種重復(fù)采樣方法往往會導(dǎo)致嚴(yán)重的過擬合,所以現(xiàn)在主流的過采樣方法是數(shù)據(jù)合成[8-10]. 即通過某種方式人工合成一些少數(shù)類樣本,從而達(dá)到類別平衡的目的. 經(jīng)典方法Smote[11]的思路就是選取任意的少數(shù)類樣本,用K近鄰[12]選取其相似樣本,通過對樣本線性插值得到新樣本. 生成對抗網(wǎng)絡(luò)[13]在最近幾年中取得了顯著的進(jìn)步. 然而,增加具有高多樣性的樣本仍然具有挑戰(zhàn)性.
另一種是對于擁有大部分?jǐn)?shù)據(jù)的類別進(jìn)行欠采樣[14-15]. 隨機(jī)欠采樣是從多數(shù)類樣本中隨機(jī)選取一些樣本去除掉. 這種方法的缺點(diǎn)是被去除的樣本可能包含著一些重要信息,這樣會導(dǎo)致學(xué)習(xí)出來的模型效果不好. 而EasyEnsemble和BalanceCascade[16]便是采用集成學(xué)習(xí)的機(jī)制來處理傳統(tǒng)隨機(jī)欠采樣中的信息丟失問題.
經(jīng)典的重加權(quán)方法[17-20]通常在目標(biāo)函數(shù)上對尾部類的訓(xùn)練數(shù)據(jù)施加較大懲罰,借此克服不平衡問題. 一般而言,損失函數(shù)中的懲罰權(quán)重與類別對應(yīng)樣本數(shù)成反比. 但最近,Cui等提出了一種基于有效樣本數(shù)來重新加權(quán)損失的方法,替代了之前根據(jù)樣本數(shù)目比例確定懲罰權(quán)重的做法[21].
除了上述在類別上調(diào)整權(quán)重的方法外,還有一些研究側(cè)重于在樣本上重新加權(quán)損失[22-24]. 這些方法通過提高難學(xué)樣本的權(quán)重和降低易學(xué)樣本的權(quán)重,來進(jìn)行重新加權(quán)損失.
目前,重加權(quán)方法還包括對已有損失函數(shù)的改進(jìn)[25]和提出新型的損失函數(shù)[26]. 其中,對分類器做正則化[27]和修改損失函數(shù)來為不同的類施加不同的懲罰的方法都有局限性. 分類器權(quán)重正則化與優(yōu)化器的選擇有關(guān),修改損失函數(shù)大多不能滿足損失函數(shù)在降到最低時,錯誤率也要達(dá)到最小. 因此,Menon等[28]提出了一種基于logit的訓(xùn)練方法來克服重加權(quán)方法帶來的不穩(wěn)定影響.
遷移學(xué)習(xí)[29-32]通常分別對頭部類和尾部類建模,將學(xué)到的頭部類的信息、表示、知識遷移給少數(shù)類使用. Wang等[33]構(gòu)造了一個元網(wǎng)絡(luò),學(xué)習(xí)如何逐步將元知識從頭部類遷移到尾部類. Mostafa 等[34]提出了一種長尾信息網(wǎng)絡(luò)模型,使用元數(shù)據(jù)驅(qū)動的方法在網(wǎng)絡(luò)發(fā)布的數(shù)據(jù)集之間建立語義信息網(wǎng)絡(luò),改善了跨學(xué)科的信息可重用性.
解耦特征學(xué)習(xí)和分類器學(xué)習(xí)方法是把不平衡學(xué)習(xí)分為兩個階段,在特征學(xué)習(xí)階段正常采樣,在分類器學(xué)習(xí)階段平衡采樣,這樣可以帶來更好的學(xué)習(xí)效果,這也是我目前認(rèn)為最優(yōu)的長尾識別方法.
Zhou等[35]提出了一種具有特定累積學(xué)習(xí)策略的雙邊分支網(wǎng)絡(luò),徹底改善了長尾識別的性能. Kang等[36]提出了一個解耦的訓(xùn)練模式,首先聯(lián)合特征學(xué)習(xí)和分類器學(xué)習(xí),然后通過使用類別平衡采樣方法重新訓(xùn)練分類器來獲得平衡分類器,這樣有助于模型更好的學(xué)習(xí)尾部類特征.
此外,還有一些其他類型的方法[37-38]來解決長尾識別問題. Ma等[39]提出了一種新的聚合-分散訓(xùn)練方式,從而實現(xiàn)了對每個類別的準(zhǔn)確分類. Tong等[40]提出了一種低復(fù)雜度的大規(guī)模多標(biāo)簽學(xué)習(xí)算法,其目標(biāo)是通過自適應(yīng)地修剪尾部標(biāo)簽來促進(jìn)模型的快速預(yù)測.
以上方法都是用來解決長尾識別問題的,有些雖然不是專門為解決長尾問題而設(shè)計的,但是也可以部分解決. 下面對其中的一些方法進(jìn)行詳細(xì)的論述,并對每一類方法的創(chuàng)新點(diǎn)、優(yōu)缺點(diǎn)進(jìn)行討論.
2.1.1 Smote
(1)
式中,δ∈[0,1],是一個隨機(jī)數(shù).
Smote為每個少數(shù)類合成相同數(shù)量的新樣本,這樣就存在一些潛在的問題:一方面是增加了類別之間重疊的可能性,另一方面是生成一些沒有提供有益信息的樣本. 為了解決這個問題,Han等[8]提出了 Borderline-Smote方法.
Borderline-Smote為每個少數(shù)類樣本計算K近鄰,但只為其中K近鄰中有一半以上多數(shù)類樣本的少數(shù)類樣本生成新樣本. 直觀地講,只為那些周圍大部分是多數(shù)類樣本的少數(shù)類樣本生成新樣本,因為這些樣本往往是邊界樣本. 在確定了為哪些少數(shù)類樣本生成新樣本后再利用Smote生成新樣本.
2.1.2 NearMiss
NearMiss本質(zhì)上是一種原型選擇方法,即從多數(shù)類樣本中選取最具代表性的樣本用于訓(xùn)練,主要是為了緩解隨機(jī)欠采樣中的信息丟失問題. NearMiss采用一些啟發(fā)式的規(guī)則來選擇樣本,根據(jù)規(guī)則的不同可分為3類:
(1)NearMiss-1:選擇到最近的K個少數(shù)類樣本平均距離最近的多數(shù)類樣本.
(2)NearMiss-2:選擇到最遠(yuǎn)的K個少數(shù)類樣本平均距離最近的多數(shù)類樣本.
(3)NearMiss-3:對于每個少數(shù)類樣本選擇K個最近的多數(shù)類樣本,目的是保證每個少數(shù)類樣本都被多數(shù)類樣本包圍.
總的來說,重采樣就是在已有數(shù)據(jù)不平衡的情況下,人為地讓模型學(xué)習(xí)時接觸到的訓(xùn)練數(shù)據(jù)是類別平衡的. 不過由于尾部類的少量數(shù)據(jù)往往被反復(fù)學(xué)習(xí),缺少足夠多的樣本差異,魯棒性較差. 而頭部類擁有豐富多樣性的大量數(shù)據(jù)又往往得不到充分學(xué)習(xí). 因此,重采樣在非平衡程度相對較小的長尾分布數(shù)據(jù)集上往往可以取得比較好的效果. 但是如果在極端失衡的長尾分布下,這種方法的效果就微乎其微了,所以重采樣也并非是個真正完美的解決方案.
2.2.1 基于有效樣本數(shù)的重加權(quán)方法
在直覺上,我們認(rèn)為數(shù)據(jù)越多越好,但是由于數(shù)據(jù)之間存在信息重疊,隨著樣本數(shù)量的增加,模型可以從數(shù)據(jù)中提取的有益信息逐漸減少. 基于此觀察,Cui等[21]提出了一種考慮數(shù)據(jù)重疊來幫助量化有效樣本數(shù)的方法,它與每個類別的有效樣本數(shù)成反比來重新加權(quán)損失.
給定一個類,將其特征空間中所有可能的數(shù)據(jù)集合表示為S.我們假設(shè)S的體積為N,N≥1.將每個樣本表示為S的一個子集,其單位體積為1,并且可能與其他樣本重疊.本文定義樣本的有效數(shù)量是樣本的期望體積.將樣本的有效數(shù)量(期望體積)表示為En,其中n是樣本數(shù)量.
En=(1-βn)/(1-β).
(2)
式中,β∈[0,1],β=(N-1)/N是一個超參數(shù).
當(dāng)N較大時,有效樣本數(shù)與樣本數(shù)n趨近相同.這時唯一的原型數(shù)N較大,因此不存在數(shù)據(jù)重疊,每個樣本都是唯一的.在另一個極端,如果N=1,這意味著只有一個原型,所以這個類中的所有數(shù)據(jù)都可以通過數(shù)據(jù)擴(kuò)充、轉(zhuǎn)換等由這個原型表示.
為了解決不平衡數(shù)據(jù)的訓(xùn)練問題,文中還提出了一種類別平衡損失.引入一個與有效樣本數(shù)成反比的加權(quán)因子,該因子與i類樣本的有效樣本數(shù)量成反比:αi=1/Eni.類別平衡損失為:
(3)
式中,ny是真實類別y中的樣本數(shù).β=0對應(yīng)沒有重新加權(quán)損失,而β→1對應(yīng)通過相反的類別頻率重新加權(quán)損失.
文中在大規(guī)模數(shù)據(jù)集上進(jìn)行了對比實驗,證實了類別平衡損失比Softmax損失、Sigmoid損失、Focal 損失[23]等有了顯著的性能提升. 但是該方法還做不到給每個類別都找到超參數(shù). 下面通過在數(shù)據(jù)分布中納入合理的假設(shè)或設(shè)計,用基于自適應(yīng)的方法來擴(kuò)展當(dāng)前方法的框架.
2.2.2 均衡損失
當(dāng)某個類別的樣本用于訓(xùn)練時,模型對其他類別的預(yù)測參數(shù)就會受到副作用梯度的影響,使得對其他類別的預(yù)測概率變低. 由于稀有類別的樣本幾乎不會出現(xiàn),因此在網(wǎng)絡(luò)參數(shù)更新期間,起副作用的梯度會嚴(yán)重影響這些類別的預(yù)測參數(shù).
為了解決這個問題,Tan等[25]提出了一種均衡損失函數(shù),它忽略了尾部類的梯度. 在網(wǎng)絡(luò)參數(shù)更新過程中,保護(hù)了模型對尾部類的學(xué)習(xí)能力.
在原始的Softmax交叉熵?fù)p失函數(shù)中引入權(quán)重項w,以減少負(fù)樣本對尾部類的影響.均衡損失可以表示為
(4)
式中,
(5)
并且權(quán)重項w為
w=1-βTλ(fk)(1-yk).
(6)
式中,β是一個隨機(jī)變量,用于維護(hù)負(fù)樣本的梯度.fk是類別k在數(shù)據(jù)集中出現(xiàn)的頻率.Tλ(x)是閾值函數(shù),當(dāng)x<λ時輸出1,否則輸出0.對于數(shù)量頻率低于閾值的稀有類別,忽略負(fù)樣本的副作用梯度.文中利用λ將尾部類別與所有其他類別區(qū)分開來.
通過在大規(guī)模數(shù)據(jù)集上進(jìn)行的對比實驗,證實了均衡損失比Focal損失[23]、Class-aware采樣[6]、Repeat Factor采樣[41]和類別平衡損失[21]有了顯著的性能提升.這種方法簡單而有效,在目標(biāo)檢測和圖像分類方面效果顯著.
2.2.3 距離損失
Zhang等[42]在研究了長尾數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)訓(xùn)練的影響時,提出了一種新的距離損失函數(shù),以便在訓(xùn)練過程中有效地利用尾部數(shù)據(jù).
距離損失與中心損失[43]很類似,都是增大了類別間的距離,減小了類別內(nèi)的距離.但是距離損失還可以減小尾部部分?jǐn)?shù)據(jù)對識別率的影響.
距離損失可以表示為
(7)
(8)
文中利用調(diào)和平均值來解決類別內(nèi)的距離,其中k的值,按照經(jīng)驗設(shè)置為2.
(9)
最終損失函數(shù)可以表示為
(10)
在LFW和YTF數(shù)據(jù)集上進(jìn)行了對比實驗,證實了距離損失比Softmax損失、中心損失[43]、DeepFace[44]等有了顯著的性能提升,為解決長尾識別問題提供了新方法.
通過重加權(quán)方法來解決長尾識別問題. 大部分實現(xiàn)簡單,往往只需修改下?lián)p失函數(shù),就可以取得非常具有競爭力的結(jié)果. 但重加權(quán)方法也是具有局限性的,因為其以犧牲深度網(wǎng)絡(luò)的特征學(xué)習(xí)模塊的性能為代價,顯著提升了深度網(wǎng)絡(luò)的分類器學(xué)習(xí)模塊的性能,所以重加權(quán)也并非是個真正完美的解決方案.
2.3.1 開放長尾識別
2019年,UC Berkeley的研究人員們深入研究了視覺識別問題的背景和設(shè)定,重新定義了開放長尾識別問題,通過融合不平衡分類、少樣本學(xué)習(xí)和開放集識別三方面,大幅度提升長尾數(shù)據(jù)識別的表現(xiàn)[45].
長尾識別不僅要處理封閉世界中的不平衡分類和少樣本學(xué)習(xí),而且還要處理開放集識別. 基于此觀察,Liu等[45]提出了一種集成的長尾識別模型,來處理開放集識別.
如圖1所示,提出的長尾識別模型主要由兩個模塊組成:動態(tài)元嵌入和調(diào)節(jié)注意力[45]. 前者在頭部類和尾部類之間建立聯(lián)系并傳遞知識,而后者則在頭部類和尾部類之間保持區(qū)別.
圖1 長尾識別模型Fig.1 Long-tailed recognition model
由于長尾分布的頭部類數(shù)據(jù)足夠豐富,因此特征提取器一般可以很好地提取出頭部類的特征. 而尾部類嚴(yán)重缺乏數(shù)據(jù),導(dǎo)致特征提取器無法很好地提取出這些類別的特征.
為了解決尾部類問題,文中引入了一個記憶模塊,里面存儲著每個類的原型. 通過類似中心損失的方式考慮了類別內(nèi)與類別間信息構(gòu)造出來的. 當(dāng)用特征提取器提取特征時,會從記憶模塊中借鑒一些有用的信息來擴(kuò)充當(dāng)前的特征表示. 另外,提出了用概念選擇器來控制融合特征的數(shù)量和種類. 由于頭部類別已經(jīng)具有豐富的數(shù)據(jù),只需小部分特征用于針對它們的融合. 而對于尾部類別來說,數(shù)據(jù)較少所以記憶特征中對它們有著較大的提升作用.
通過實驗發(fā)現(xiàn),對特征圖添加空間注意力可以進(jìn)一步增強(qiáng)特征的判別能力. 對于不同類別的圖像,具有判別能力的信息往往分布在圖片的不同位置上,如果能自適應(yīng)地給出一個注意力更關(guān)注這些位置,或許會使最終學(xué)到的特征更適合分類這樣. 所以為了讓模型能具備這種自適應(yīng)的提取判別特征的效果,文中提出了調(diào)節(jié)注意力,它由圖像上的自注意力和空間注意力構(gòu)成.
將這一模型應(yīng)用到ImageNet-LT、Places-LT數(shù)據(jù)集上,比Focal損失[23]、距離損失[42]、Plain Model[46]等有了顯著的性能提升.
基于開放長尾識別問題的視覺任務(wù)更適合于數(shù)據(jù)的自然分布,能夠更準(zhǔn)確貼切地描述真實狀況,將會為目標(biāo)檢測、分割和強(qiáng)化學(xué)習(xí)帶來新的提升.
2.3.2 為尾部類樣本構(gòu)造特征云
2020年,Liu等提出了一種為尾部類樣本構(gòu)造特征云的方法,在訓(xùn)練過程中來擴(kuò)展尾部類的分布,在特征空間中將頭部類的類內(nèi)分布轉(zhuǎn)移到尾部類[47]. 目標(biāo)是使尾部類在訓(xùn)練中實現(xiàn)與頭部類相似的類內(nèi)角度變化.
首先,計算頭部類特征與其對應(yīng)類中心之間的夾角分布. 然后平均所有頭部類的角方差,就得到了頭部類的總體方差. 然后,考慮將頭部類的方差傳遞給每個尾部類. 文中提出在每個尾部類實例的深層特征空間中增加一定的擾動. 隨著特征向量的增加,一個特定的特征向量變成一組散布在其周圍的可能特征,這被稱為特征云.
特征云的本質(zhì)是一個概率模型. 既然尾部類自身由于樣本數(shù)量稀少,導(dǎo)致類內(nèi)多樣性不足,那么就要向頭部類學(xué)習(xí),將頭部類的類內(nèi)多樣性遷移到尾部類用特征云來填充尾部類的特征空間.
每個具有相應(yīng)特征云的實例都會有一個相對較大的分布范圍,使得尾部類與頭部類具有相似的角度分布. 因此,它減輕了學(xué)習(xí)到的特征空間的失真,并改善了對長尾數(shù)據(jù)的深度表示學(xué)習(xí).
大規(guī)模進(jìn)行了對比實驗,證實了文中方法比Advesarial[48]、AACN[49]等有了顯著的性能提升,為解決長尾識別問題提供了新的思路.
2.3.3 IEM
通常用一個原型表示一個類別,但是長尾數(shù)據(jù)有更高的類內(nèi)方差,導(dǎo)致學(xué)習(xí)起來更困難. 因此,Zhu等[50]引入膨脹片段記憶(inflated episodic memory,IEM)來存儲每個類別最具判別性的特征. 同時,IEM各個類的參數(shù)是獨(dú)立更新的,不會受到多數(shù)類的影響.
IEM遵循鍵值存儲格式. IEM中的每個鍵存儲器都對應(yīng)一個值存儲器. IEM通過查找與鍵存儲器中相關(guān)關(guān)鍵字之間的相似性度量來生成權(quán)重. 當(dāng)進(jìn)行讀取操作時,可以獲得檢索到的預(yù)測值,使用均方差損失(mean square error,MSE)來評估檢索到的預(yù)測值與真實標(biāo)簽之間的距離.
提出一種新的區(qū)域自注意力機(jī)制(regional self-attention,RSA),來從特征圖中提取局部特征. 在訓(xùn)練過程中,在分類前的最后一個卷積塊插入RSA. 然后聚合區(qū)域統(tǒng)計信息,在每個尺度上為區(qū)域生成一個特征. 為所有類別提供了更強(qiáng)大的區(qū)分功能,從而提高了識別能力.
模型的整體損失為分類的交叉熵?fù)p失和IEM的MSE損失.
(11)
式中,READ是IEM的讀取操作.
大規(guī)模進(jìn)行了對比實驗,證實了IEM比Focal損失[23]、距離損失[42]、OLTR等有了顯著的性能提升[45]. 通過引入IEM來存儲每個類別最具判別性的特征,加快了尾部類的學(xué)習(xí)速度,同時也加強(qiáng)了模型的識別能力,但模型的泛化性能不高.
對于遷移學(xué)習(xí)方法而言,從頭部類中學(xué)習(xí)通用知識,然后遷移到尾部類中的這種理念和實際效果都非常好. 但是這類方法實現(xiàn)起來比較困難,因為往往還需要設(shè)計額外比較復(fù)雜的模塊. 不過目前的偏好也并非絕對,也許未來可以設(shè)計出簡單有效的遷移模型.
2.4.1 雙邊分支網(wǎng)絡(luò)(bilateral-branch network,BBN)
2020年,Zhou等[35]首次揭示了重采樣和重加權(quán)這類類別重新平衡方法,其奏效的原因在于它們顯著提升了深度網(wǎng)絡(luò)的分類器學(xué)習(xí)的性能. 但是,也損害了所學(xué)習(xí)的深層特征的表示能力.
基于這一觀察,如圖2所示,Zhou等[35]提出了一個BBN,以同時兼顧特征學(xué)習(xí)和分類器學(xué)習(xí). 將深度模型的這兩個重要模塊進(jìn)行解耦,從而保證兩個模塊互不影響,共同達(dá)到優(yōu)異的收斂狀態(tài),協(xié)同促進(jìn)深度網(wǎng)絡(luò)在長尾數(shù)據(jù)分布上的泛化性能.
圖2 雙邊分支網(wǎng)絡(luò)的框架Fig.2 The framework of a bilateral branch network
BBN主要由3部分組成:常規(guī)學(xué)習(xí)分支、再平衡分支、累計學(xué)習(xí)策略. 常規(guī)學(xué)習(xí)分支和再平衡分支分別用于特征學(xué)習(xí)和分類器學(xué)習(xí). 這兩個分支使用了同樣的殘差網(wǎng)絡(luò)結(jié)構(gòu),除最后一個殘差模塊,兩個分支的網(wǎng)絡(luò)參數(shù)是共享的. 為這兩個分支分別配備均勻采樣器和逆向采樣器,得到兩個樣本(xc,yc)和(xr,yt)作為輸入數(shù)據(jù),其中前者用于常規(guī)學(xué)習(xí)分支,后者用于再平衡分支.然后,將這兩個樣本送入各自對應(yīng)的分支后,通過殘差網(wǎng)絡(luò)和全局平均池化(gobal overage pooling,GAP)得到特征向量fc和fr.最后,通過使用一個自適應(yīng)權(quán)衡參數(shù)α來控制fc和fr的權(quán)重,將加權(quán)特征向量αfc和(1-α)fr分別發(fā)送到分類器Wc和Wr,再通過逐元素累加的方式將其輸出整合到一起.
經(jīng)實驗驗證,BBN在多個長尾分布的標(biāo)準(zhǔn)數(shù)據(jù)集(iNaturalist2017/2018、CIFAR-10-LT和CIFAR-100-LT)上均取得了目前最佳的視覺識別性能,徹底改善了長尾任務(wù)的識別性能.
2.4.2 一種輔助學(xué)習(xí)方法
Zhang等[51]提出了一種簡單有效的輔助學(xué)習(xí)方法. 其核心思想與BBN相同,也是將深度模型的分類器和特征提取兩部分進(jìn)行解耦,然后對每個部分采用不同的訓(xùn)練策略.
為了避免訓(xùn)練過程被頭部類主導(dǎo),采用類別平衡采樣方法(class balanced sampling,CBS)對整個網(wǎng)絡(luò)進(jìn)行訓(xùn)練. 為了避免過擬合的風(fēng)險,對于特征提取部分,提出了一個輔助訓(xùn)練方法,在常規(guī)隨機(jī)采樣(routine random sampling,RRS)方法下訓(xùn)練一個分類器.
深度神經(jīng)網(wǎng)絡(luò)可以分解為特征提取器φ(·)和分類器h(·).分類器h(·)使用CBS方案進(jìn)行訓(xùn)練,在原分類器h(·)之外構(gòu)造了另一個分類器ha(·).h(·)和ha(·)都附加到相同的特征提取器φ(·)上,進(jìn)行聯(lián)合訓(xùn)練.
訓(xùn)練ha(·)時不使用CBS,而是使用RRS. 這樣分類器只受CBS訓(xùn)練的影響,而特征提取器是從CBS和RRS方案中學(xué)習(xí)的. CBS損失的頭部類信息可以通過ha(·)來恢復(fù). 因此,特征提取器可以充分利用整個數(shù)據(jù)集的信息,從而避免了過擬合問題.
通過實驗證明,此方法比Focal損失[23]、距離損失[42]和IEM[50]具有更好的性能.
在深度學(xué)習(xí)中,特征學(xué)習(xí)和分類器學(xué)習(xí)通常被耦合在一起進(jìn)行端到端的模型訓(xùn)練. 但在長尾分布數(shù)據(jù)的極度不平衡因素影響下,特征學(xué)習(xí)和分類器學(xué)習(xí)的效果均會受到不同程度干擾. 解耦特征學(xué)習(xí)和分類器學(xué)習(xí)這類方法,將深度模型這兩個模塊進(jìn)行解耦,從而保證兩個模塊互不影響,共同達(dá)到優(yōu)異的收斂狀態(tài),協(xié)同促進(jìn)深度網(wǎng)絡(luò)在長尾數(shù)據(jù)分布上的泛化性能. 該方法簡單有效,易于實現(xiàn),是目前最優(yōu)的長尾識別解決方法.
長尾的方法,一般以犧牲頭部類的性能為代價,提升了尾部類的性能. Wang等[52]設(shè)計了一種能同時提高頭部類和尾部類性能的模型融合方法. 首先,訓(xùn)練多個classifiers experts,這些experts共享一部分模塊,再對classifiers experts進(jìn)行差異性地訓(xùn)練. 然后,設(shè)計了expert assignment 模塊來處理難學(xué)樣本. 對難學(xué)樣本特殊處理這一做法并不新鮮,比如Focal Loss[23]. 但文中設(shè)計的模塊可以動態(tài)調(diào)整,而不是像Focal Loss依賴先驗的統(tǒng)計進(jìn)行加權(quán).
因為設(shè)計了多個classifier experts,而一些簡單樣本顯然不需要這么多的experts,所以就根據(jù)樣本難易程度進(jìn)行動態(tài)分配. 簡單來說就是通過一個路由模塊,去動態(tài)地決定哪些classifier expert應(yīng)該參與分類,這樣可以更高效地對難學(xué)和易學(xué)樣本,進(jìn)行不同程度的處理. 之后對多個classifier experts的輸出取幾何均值.
該方法在包括CIFAR100-LT、ImageNet-LT和iNaturist的數(shù)據(jù)集上測試,表現(xiàn)明顯優(yōu)于Focal損失[23]、OLTR[45]等方法. 但是此方法跟長尾分布似乎沒有太大關(guān)系,對于多個模型的融合很明顯會提升分類性能. 而且模型融合似乎對尾部類性能的提升更明顯.
本文對解決長尾識別問題的若干方法進(jìn)行了介紹和討論,一些傳統(tǒng)的非平衡學(xué)習(xí)方法也可以用來解決長尾識別問題. 例如,重采樣和重加權(quán)方法,可以直接影響深度網(wǎng)絡(luò)中分類器權(quán)重的更新,從而促進(jìn)了分類器的學(xué)習(xí). 但是,它們也在一定程度上損害所學(xué)習(xí)深層特征的表示能力. 另外,還介紹了一些遷移學(xué)習(xí)、解耦特征學(xué)習(xí)和分類器學(xué)習(xí)的方法. 遷移學(xué)習(xí)方法通過從頭部類中學(xué)習(xí)通用知識,然后遷移到尾部類中的思想取得了很好的效果. 但是它們往往還需要設(shè)計額外比較復(fù)雜的模塊,并且還存在領(lǐng)域偏移問題. 解耦特征學(xué)習(xí)和分類器學(xué)習(xí)方法其核心思想是將深度模型的特征學(xué)習(xí)和分類器學(xué)習(xí)兩部分進(jìn)行解耦,然后對每個部分采用不同的訓(xùn)練策略. 這類方法簡單有效,易于實現(xiàn),是我目前認(rèn)為最優(yōu)的長尾識別方法. 關(guān)于長尾識別的研究仍然有一些值得進(jìn)一步深入研究的問題,例如,面向大數(shù)據(jù)環(huán)境的長尾可視識別研究、面向開放環(huán)境的長尾識別研究等,這些都值得我們進(jìn)一步探索.