Hybrid-PSC:基于對(duì)比學(xué)習(xí)的混合網(wǎng)絡(luò),解決長尾圖片分類 | CVPR 2021

?論文提出新穎的混合網(wǎng)絡(luò)用于解決長尾圖片分類問題,該網(wǎng)絡(luò)由用于圖像特征學(xué)習(xí)的對(duì)比學(xué)習(xí)分支和用于分類器學(xué)習(xí)的交叉熵分支組成,在訓(xùn)練過程逐步將訓(xùn)練權(quán)重調(diào)整至分類器學(xué)習(xí),達(dá)到更好的特征得出更好的分類器的思想。另外,為了節(jié)省內(nèi)存消耗,論文提出原型有監(jiān)督對(duì)比學(xué)習(xí)。從實(shí)驗(yàn)結(jié)果來看,論文提出的方法效果還是很不錯(cuò)的,值得一看

來源:曉飛的算法工程筆記 公眾號(hào)

論文: Contrastive Learning based Hybrid Networks for Long-Tailed Image Classification

[圖片上傳失敗...(image-c3ac3-1654002352477)]

Introduction


?在實(shí)際場(chǎng)景中,圖片類別通常都會(huì)呈現(xiàn)長尾分布,不常見的類別通常由于數(shù)據(jù)不足而無法被充分學(xué)習(xí),給分類器的學(xué)習(xí)帶來巨大的挑戰(zhàn)。當(dāng)前大多研究都通過減輕尾部類別的數(shù)據(jù)短缺來應(yīng)對(duì)數(shù)據(jù)不平衡的問題,防止模型被頭部類別控制,如數(shù)據(jù)重采樣和數(shù)據(jù)增強(qiáng)等。
?最近,有新的研究提出將長尾數(shù)據(jù)分類問題分解為特征學(xué)習(xí)和分類器學(xué)習(xí)兩個(gè)階段,認(rèn)為這兩個(gè)階段適用不同的數(shù)據(jù)采樣策略進(jìn)行學(xué)習(xí),比如隨機(jī)采樣更適合特征學(xué)習(xí),而類別平衡采樣更適合分類器學(xué)習(xí)。

[圖片上傳失敗...(image-93dbde-1654002352478)]

?但有一點(diǎn)需要注意的是,上述兩類研究都沒有考慮到,在數(shù)據(jù)不平衡場(chǎng)景下,交叉熵?fù)p失是否仍為特征學(xué)習(xí)的理想損失函數(shù)。交叉熵?fù)p失學(xué)習(xí)到的特征分布可能會(huì)高度傾斜,如上圖所示,導(dǎo)致分類器存在偏向性,會(huì)影響長尾分類。
?為此,論文研究了高效的對(duì)比學(xué)習(xí)策略,將其適配到不平衡數(shù)據(jù)中學(xué)習(xí)特征表達(dá),提高長尾圖片分類場(chǎng)景的性能。論文采用了新穎的混合網(wǎng)絡(luò)結(jié)構(gòu),由用于特征表達(dá)學(xué)習(xí)的對(duì)比損失和用于分類器學(xué)習(xí)的交叉熵?fù)p失組成。兩個(gè)損失聯(lián)合訓(xùn)練,在訓(xùn)練過程中逐漸調(diào)整兩個(gè)損失的權(quán)重,從特征學(xué)習(xí)逐步轉(zhuǎn)移為分類器學(xué)習(xí),遵循更好的特征產(chǎn)生更好的分類器的思想。

[圖片上傳失敗...(image-1b1aa5-1654002352478)]

?論文一開始采用從無監(jiān)督對(duì)比(UC)中延伸出來的有監(jiān)督對(duì)比(SC)損失用于特征學(xué)習(xí),該損失使用batch內(nèi)的樣本進(jìn)行相互對(duì)比,通過區(qū)分負(fù)樣本來優(yōu)化正樣本間的一致性,如圖左所示。如果想要保證優(yōu)化效果,需要確保對(duì)比的正樣本夠多以及負(fù)樣本覆蓋足夠多的類別,通常需要使用較大的batch,導(dǎo)致內(nèi)存消耗過多。為了解決這個(gè)問題,論文提出了原型有監(jiān)督對(duì)比(PSC)學(xué)習(xí)策略,從batch內(nèi)的樣本間對(duì)比改為batch內(nèi)的樣本與額外維護(hù)的原型進(jìn)行對(duì)比,如圖右所示。在保持原本有監(jiān)督對(duì)比的特性的情況下,原型有監(jiān)督對(duì)比避免了過多的內(nèi)存消耗,還能使數(shù)據(jù)采樣更靈活和高效。
?論文的主要貢獻(xiàn)如下:

  • 提出用于長尾數(shù)據(jù)分類的混合網(wǎng)絡(luò)結(jié)構(gòu),由用于特征表達(dá)學(xué)習(xí)的對(duì)比損失和用于分類器學(xué)習(xí)的交叉熵?fù)p失組成。在訓(xùn)練過程中逐漸調(diào)整兩個(gè)損失的權(quán)重,從特征學(xué)習(xí)逐步轉(zhuǎn)移為分類器學(xué)習(xí),遵循更好的特征產(chǎn)生更好的分類器的思想。
  • 研究高效的有監(jiān)督對(duì)比學(xué)習(xí)策略用于更優(yōu)的特征學(xué)習(xí),提高長尾分類性能。另外,論文提出原型有監(jiān)督對(duì)比來解決標(biāo)準(zhǔn)有監(jiān)督對(duì)比的內(nèi)存問題。
  • 驗(yàn)證在長尾分類場(chǎng)景中,有監(jiān)督對(duì)比學(xué)習(xí)能更好地替代交叉熵?fù)p失進(jìn)行特征學(xué)習(xí)。得益于學(xué)習(xí)到更好的特征,論文提出的混合網(wǎng)絡(luò)能夠極大地超越基于交叉熵的網(wǎng)絡(luò)。

Contrastive learning


Unsupervised contrastive

[圖片上傳失敗...(image-8ceb50-1654002352478)]

?無監(jiān)督對(duì)比學(xué)習(xí)在無標(biāo)簽的場(chǎng)景下,通過同源圖片與非同源圖片之間的特征對(duì)比來進(jìn)行特征表達(dá)的學(xué)習(xí)。比如先隨機(jī)選取n張?jiān)瓐D片,經(jīng)過數(shù)據(jù)增強(qiáng)后變成2n張圖片組成batch,將同源副本相互認(rèn)為正樣本、非同源副本認(rèn)為負(fù)樣本進(jìn)行距離學(xué)習(xí)。

Supervised contrastive

[圖片上傳失敗...(image-b16cba-1654002352478)]

?有監(jiān)督對(duì)比學(xué)習(xí)主在有標(biāo)簽的場(chǎng)景下,通過同類別圖片與非同類別圖片之間的特征對(duì)比來進(jìn)行特征表達(dá)的學(xué)習(xí)。有監(jiān)督對(duì)比學(xué)習(xí)也是需要進(jìn)行數(shù)據(jù)增強(qiáng)生成同源副本的,所以正樣本包含同源副本和同類別副本。比如選取n張?jiān)瓐D片,經(jīng)過數(shù)據(jù)增強(qiáng)后變成2n張圖片組成batch,將同類圖片相互認(rèn)為正樣本、非同類圖片認(rèn)為負(fù)樣本進(jìn)行距離學(xué)習(xí)。這里的n張圖片選取不能隨機(jī)選,為達(dá)到有監(jiān)督的目的,同類別圖片要大于1張。

Main Approach


A Hybrid Framework for Long-tailed Classification

[圖片上傳失敗...(image-1e3ba2-1654002352478)]

?論文提出的用于長尾圖像分類的混合框架如上圖所示,包含兩個(gè)分支:

  • 用于圖像特征學(xué)習(xí)的對(duì)比學(xué)習(xí)分支,構(gòu)造同類內(nèi)聚、異類分離的特征空間。
  • 用于分類器學(xué)習(xí)的交叉熵分支,基于對(duì)比學(xué)習(xí)分支得到的顯著特征學(xué)習(xí)類別偏向較少的分類器。

?為了達(dá)到用更好的特征幫助分類器進(jìn)行學(xué)習(xí),從而得到更通用的分類器的目的。論文參考了BBN的雙分支聯(lián)合訓(xùn)練方法,在訓(xùn)練階段逐步調(diào)整這兩個(gè)分支的權(quán)重。在訓(xùn)練初期以特征學(xué)習(xí)作為主導(dǎo),隨著訓(xùn)練的進(jìn)行,分類器學(xué)習(xí)逐級(jí)主導(dǎo)訓(xùn)練。
?主干網(wǎng)絡(luò)在分支間共享,共同幫助主干網(wǎng)絡(luò)學(xué)習(xí)每個(gè)圖片的特征r\in\mathcal{R}^{D_E}。兩個(gè)分支分別進(jìn)行不同的操作:

  • 對(duì)比學(xué)習(xí)分支先通過MLP層f_e(\cdot)將圖片特征r映射成向量表達(dá)z\in\mathcal{R}^{D_S},適配后續(xù)對(duì)比損失函數(shù)的計(jì)算。另外,這樣的特征向量化轉(zhuǎn)換也有助于提升前一層的特征質(zhì)量。隨后,對(duì)特征z進(jìn)行\mathcal{l}_2歸一化,使其能夠用于距離計(jì)算。最后,使用輸出的歸一化特征計(jì)算有監(jiān)督對(duì)比損失\mathcal{L}_{SCL}。
  • 分類器學(xué)習(xí)分支先通過單個(gè)線性層從圖像特征r預(yù)測(cè)類別結(jié)果s\in\mathcal{R}^{D_C},隨后直接計(jì)算交叉熵?fù)p失\mathcal{L}_{CE}

?需要注意的是,為了適應(yīng)其損失函數(shù)的特性,兩個(gè)分支的數(shù)據(jù)采樣方式是不同的。特征學(xué)習(xí)分支需要附帶樣本x_i的同類正樣本\{x^{+}_i\}=\{x_j|y_i=y_j,i\ne j\}和異類負(fù)樣本\{x^{-}_i\}=\{x_j|y_i=y_j,i\ne j\},組成單個(gè)batch輸入\mathcal{B}_{SC}=\{x_i, \{x^{+}_i\}, \{x^{-}_i\}\},而分類器學(xué)習(xí)分支則直接輸入圖片和標(biāo)簽\mathcal{B}_{CE}=\{\{x_i, y_i\}\}即可。
?混合網(wǎng)絡(luò)的最終損失函數(shù)為:

[圖片上傳失敗...(image-a80300-1654002352478)]

?\alpha是權(quán)重因子,與周期數(shù)成反相關(guān)。

Supervised contrastive loss and its memory issue

?有監(jiān)督對(duì)比損失(supervised contrastive loss, SC loss)是對(duì)無監(jiān)督對(duì)比損失(unsupervised contrastive loss, UC loss)的擴(kuò)展,區(qū)別在于單batch內(nèi)的正負(fù)樣本構(gòu)成。假設(shè)目標(biāo)圖片的正負(fù)樣本的向量特征為\{z^{+}_i\}\{z^{-}_i\},對(duì)于大小為N的minibatch,SC loss的計(jì)算為:

[圖片上傳失敗...(image-5e37df-1654002352478)]

[圖片上傳失敗...(image-8c10c2-1654002352478)]

?相對(duì)于UC loss,SC loss可采用任意數(shù)量的正樣本。由于對(duì)比損失是通過區(qū)分負(fù)樣本來優(yōu)化正樣本間的一致性,所以負(fù)樣本數(shù)量十分重要的,而SC損失加入同類圖片作為正樣本,為保證負(fù)樣本數(shù)量而不得不成倍地增加batch大小,導(dǎo)致內(nèi)存消耗成倍地增加,導(dǎo)致內(nèi)存消耗的成倍地增加,限制了SC loss的使用場(chǎng)景。
?一個(gè)解決內(nèi)存消耗的做法就是縮小負(fù)樣本數(shù)量,但這樣在類別數(shù)多的場(chǎng)景下會(huì)有問題。負(fù)樣本數(shù)小意味著只能采樣到少量負(fù)樣本類別,肯定會(huì)影響學(xué)到的特征質(zhì)量。

Prototypical supervised contrastive loss

?為了同時(shí)兼顧內(nèi)存消耗和特征質(zhì)量,論文提出了原型有監(jiān)督對(duì)比損失(prototypical supervised contrastive loss, PSC loss),為每個(gè)類別學(xué)習(xí)一個(gè)原型,強(qiáng)迫每個(gè)圖片的數(shù)據(jù)增強(qiáng)副本盡量靠近其所屬類別的原型以及遠(yuǎn)離其他類別的原型。使用原型有兩個(gè)好處:1)允許更靈活的數(shù)據(jù)采樣方式,不再需要顯示地控制正負(fù)樣本,可使用隨機(jī)采樣或類別平衡采樣。2)數(shù)據(jù)采樣更高效,假設(shè)有\mathcal{C}類別,則每次采樣保證都有\mathcal{C}-1個(gè)負(fù)樣本,這對(duì)于類別多的數(shù)據(jù)集特別重要。
?PSC loss的計(jì)算如下:

[圖片上傳失敗...(image-2e4929-1654002352478)]

?p_{ij}是類別y_i的原型特征,歸一化為\mathcal{R}^{D_S}下的單位超球面,即滿足L2歸一化。這里沒有提到原型是如何初始化和學(xué)習(xí)的,需要等源碼放出來再看看。
?PSC loss也可以延伸為每個(gè)類別多個(gè)原型,主要為了迎合單類別可能存在有多種數(shù)據(jù)分布的情況。多原型有監(jiān)督對(duì)比損失(multiple prototype supervised contrastive loss, MPSC loss)的計(jì)算為:

[圖片上傳失敗...(image-b6d62e-1654002352478)]

?M為每個(gè)類別的原型數(shù),p^i_j為類別j的第i個(gè)原型,w_{i,k}(w_{i,k}\ge 0,{\sum}^M_{k=1})w_{i,k}=1z_i與第k個(gè)原型之間的關(guān)系值,用于更細(xì)粒度地控制每個(gè)樣本,這將會(huì)在未來的工作中進(jìn)行進(jìn)一步地驗(yàn)證。

Experiment


Datasets

?論文主要在三個(gè)長尾圖片分類數(shù)據(jù)集進(jìn)行實(shí)驗(yàn):

  • Long-tailed CIFAR-10和CIFAR-100:原版的CIFAR數(shù)據(jù)集是平衡的,通過減少每個(gè)類別的圖片數(shù)來生成長尾版本,注意驗(yàn)證集不變。用一個(gè)不平衡比例\beta=N_{max}/N_{min}來表示生成的長尾數(shù)據(jù)集的不平衡程度。
  • iNaturalist 2018:iNaturalist 2018是一個(gè)大型的生物品種數(shù)據(jù)集,包含8142個(gè)品種、437513張訓(xùn)練圖片以及24424張驗(yàn)證圖片。

Implementation details

?對(duì)于長尾CIFAR數(shù)據(jù)集和iNaturalist數(shù)據(jù)集,論文使用了不同的實(shí)驗(yàn)配置:

  • Implementation details for long-tailed CIFAR:混合網(wǎng)絡(luò)使用ResNet-32作為主干,兩個(gè)分支共享的數(shù)據(jù)增強(qiáng)方法有:32\times 32的隨機(jī)裁剪、水平翻轉(zhuǎn)以及概率為0.2的隨機(jī)灰度。另外,PSC loss也跟隨SC loss使用額外的數(shù)據(jù)增強(qiáng)方法。在實(shí)驗(yàn)中,論文簡(jiǎn)單地使用有顏色擾動(dòng)和無顏色擾動(dòng)的圖片作為數(shù)據(jù)增強(qiáng)副本對(duì),batch size為512,使用momentum=0.9、weight decay=1\times 10^{-4}的SGD優(yōu)化器。網(wǎng)絡(luò)共訓(xùn)練200個(gè)周期,學(xué)習(xí)率初始為0.5并在第120周期和160周期下降10倍。權(quán)重因子\alpha=1-(T/T_{max})^2與周期數(shù)成拋物線衰減。對(duì)于SC loss,公式3的\tau固定為0.1,而對(duì)于PSC loss,在CIFAR-10和CIFAR-100上分別設(shè)置為1和0.1。
  • Implementation details for iNaturalist 2018:混合網(wǎng)絡(luò)使用ResNet-50作為主干網(wǎng)絡(luò),數(shù)據(jù)增強(qiáng)跟長尾CIFAR一樣,只是隨機(jī)裁剪的圖片大小為224\times 224,batch size為100。網(wǎng)絡(luò)共訓(xùn)練100輪,使用momentum=0.9、weight decay=1\times 10^{-4}的SGD優(yōu)化器,學(xué)習(xí)率初始為0.05并在第60周期和第80周期下降10倍??紤]這個(gè)數(shù)據(jù)集的類別多,學(xué)習(xí)器訓(xùn)練較難,權(quán)重因子\alpha=1-T/T_{max}設(shè)置為線性下降,公式3的\tau固定為0.1。對(duì)于SC loss,正樣本數(shù)固定為2。

Result

[圖片上傳失敗...(image-2ee76b-1654002352478)]

?長尾CIFAR上的結(jié)果對(duì)比。

[圖片上傳失敗...(image-3127c5-1654002352478)]

?iNaturalist 2018上的結(jié)果對(duì)比。

Conclusion


?論文提出新穎的混合網(wǎng)絡(luò)用于解決長尾圖片分類問題,該網(wǎng)絡(luò)由用于圖像特征學(xué)習(xí)的對(duì)比學(xué)習(xí)分支和用于分類器學(xué)習(xí)的交叉熵分支組成,在訓(xùn)練過程逐步將訓(xùn)練權(quán)重從特征學(xué)習(xí)調(diào)整至分類器學(xué)習(xí),遵循更好的特征可得出更好的分類器的思想。另外,為了節(jié)省內(nèi)存消耗,論文提出原型有監(jiān)督對(duì)比學(xué)習(xí)。從實(shí)驗(yàn)結(jié)果來看,論文提出的方法效果還是很不錯(cuò)的,值得一看。

?

參考內(nèi)容

?
?
?

如果本文對(duì)你有幫助,麻煩點(diǎn)個(gè)贊或在看唄~
更多內(nèi)容請(qǐng)關(guān)注 微信公眾號(hào)【曉飛的算法工程筆記】

work-life balance.
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容