[2021-CVPR] Fine-grained Angular Contrastive Learning with Coarse Labels 论文简析
[2021-CVPR] Fine-grained Angular Contrastive Learning with Coarse Labels 論文簡(jiǎn)析
論文地址:https://arxiv.org/abs/2012.03515
代碼地址:https://github.com/guybuk/ANCOR
首先通俗地介紹一下細(xì)粒度(fine-grained),細(xì)粒度分類是指在原來(lái)粗分類的基礎(chǔ)上再對(duì)子類進(jìn)行更細(xì)致的分類。舉個(gè)例子,圖中有一只狗,粗(coarse)分類的分類結(jié)果即是一只狗,而細(xì)粒度的分類結(jié)果則會(huì)細(xì)致到這只狗是什么品種,是比格,柯利還是哈巴狗。
本文提出了一個(gè)新任務(wù)C2FS(Coarse-to-Fine Few-Shot),即由粗粒度轉(zhuǎn)向細(xì)粒度的小樣本的分類任務(wù),在訓(xùn)練階段使用粗類樣本進(jìn)行訓(xùn)練,在測(cè)試階段經(jīng)過(guò)細(xì)粒度子類小樣本數(shù)據(jù)集的微調(diào)之后測(cè)試細(xì)粒度子類的分類準(zhǔn)確度。
并提出了一個(gè)針對(duì)該任務(wù)的網(wǎng)絡(luò)架構(gòu),使用有監(jiān)督學(xué)習(xí)對(duì)樣本進(jìn)行粗分類,使用自監(jiān)督對(duì)比學(xué)習(xí)(文中用的是MoCo V2)進(jìn)行細(xì)粒度分類,并針對(duì)兩種分類訓(xùn)練時(shí)損失函數(shù)會(huì)沖突的問(wèn)題提出了Angular Normalization模塊,將自監(jiān)督的infoNCE損失轉(zhuǎn)移到角度空間,從而提升兩個(gè)分類任務(wù)之間損失函數(shù)的協(xié)同性。
整體網(wǎng)絡(luò)結(jié)構(gòu)如下:
其中針對(duì)粗分類的任務(wù),根據(jù)粗類標(biāo)簽進(jìn)行有監(jiān)督學(xué)習(xí),來(lái)將粗類之間分開(kāi),損失函數(shù)就是我們熟悉的交叉熵。而針對(duì)粗類的子類進(jìn)行細(xì)粒度分類時(shí),作者使用了最近大火的自監(jiān)督對(duì)比學(xué)習(xí),具體使用的是何愷明團(tuán)隊(duì)的MoCo V2,使得屬于同一個(gè)粗類內(nèi)的每個(gè)不同的實(shí)例分開(kāi)有一定距離,損失函數(shù)是最近對(duì)比學(xué)習(xí)最常用的infoNCE,但針對(duì)兩損失的沖突問(wèn)題,對(duì)infoNCE的輸入進(jìn)行了一些改動(dòng)。
具體流程是:一張圖片(實(shí)際上訓(xùn)練是在batch內(nèi)進(jìn)行的,這點(diǎn)對(duì)于對(duì)比學(xué)習(xí)來(lái)說(shuō)很關(guān)鍵,上圖簡(jiǎn)明起見(jiàn)用一張圖片表示)輸入進(jìn)來(lái)以后,經(jīng)過(guò)兩種不同的數(shù)據(jù)擴(kuò)增方法(Aug. 1,2)得到同一張?jiān)瓐D的兩張圖片 xqx_qxq? , xkx_kxk?,然后其中 xqx_qxq? 經(jīng)過(guò)backbone B\mathcal{B}B (就是MoCo中的encoder_q)和MLP E\mathcal{E}E 得到 xqx_qxq? 的特征表示 qqq ,這個(gè) qqq 會(huì)經(jīng)過(guò)一個(gè)分類器(全連接+Softmax)得到粗類的預(yù)測(cè)概率,而粗類分類的訓(xùn)練是有標(biāo)簽的,可以直接做交叉熵?fù)p失,這一部分是有監(jiān)督的粗類分類訓(xùn)練。
再說(shuō)兩種數(shù)據(jù)擴(kuò)增得到另一張圖片 xkx_kxk? ,它會(huì)經(jīng)過(guò)動(dòng)量更新的(詳見(jiàn)MoCo)Bk\mathcal{B}_kBk? 和 Ek\mathcal{E}_kEk? ,得到特征表示 k+k_+k+? ,k+k_+k+? 會(huì)在對(duì)比學(xué)習(xí)中與 qqq 組成正對(duì)(positive pair),而從MoCo維護(hù)的隊(duì)列中拿到的與輸入圖片屬于同一粗類(比如圖中的狗類)的不同圖片樣本 k?k_-k?? 會(huì)和 qqq 組成負(fù)對(duì)(negative pair),從而根據(jù) qqq ,k+k_+k+? ,k?k_-k?? 計(jì)算infoNCE損失進(jìn)行對(duì)比學(xué)習(xí),來(lái)使得同一粗類內(nèi)的不同樣本也有一定的距離,方便后面測(cè)試時(shí)進(jìn)行小樣本的細(xì)粒度分類學(xué)習(xí)。
至此看起來(lái)一切順其自然,十分合理。但是作者敏銳地發(fā)現(xiàn)了一個(gè)重要問(wèn)題:如下圖上半部分所示,粗類分類的有監(jiān)督CE損失會(huì)使得同一粗類的每個(gè)樣本都盡量靠到一起,而對(duì)比學(xué)習(xí)infoNCE損失又會(huì)使得粗類中的每個(gè)樣本有一定的距離,也就是說(shuō)這兩個(gè)損失會(huì)有沖突存在。
針對(duì)這個(gè)問(wèn)題,作者提出了Angular Normalization(AN)模塊,來(lái)增強(qiáng)兩個(gè)損失之間的協(xié)同性(synergy)。
首先說(shuō)明一些符號(hào):輸入圖片 III ,它的特征表示 qqq ,它所屬的粗類 yyy ,分類器 CCC 的參數(shù) WWW 的第 yyy 行 WyW_yWy? ,分類器 CCC 中 yyy 類的logit WyqW_yqWy?q 。
這樣,要想使CE損失 LCE=(C(q),y)\mathcal{L}_{CE}=(C(q),y)LCE?=(C(q),y) 最小,要 WyqW_yqWy?q 最大且 Wi≠yqW_{i\neq y}qWi?=y?q 最小,也就是 qqq (單位向量,embedder E\mathcal{E}E 的最后再經(jīng)過(guò)L2 norm)轉(zhuǎn)到 WyW_yWy? 的方向,這對(duì)所有的 yyy 類的圖片都是相同的,會(huì)使他們倒向(collapse to)最接近 WyW_yWy? 的單位向量Wy∣∣Wy∣∣\frac{W_y}{||W_y||}∣∣Wy?∣∣Wy?? 。但是這種倒向(collapse)與 y 類特定的 InfoNCE 對(duì)比損失 Lcont(q,k?,k+)\mathcal{L}_cont(q,k_-,k_+)Lc?ont(q,k??,k+?) 存在沖突,后者試圖將 yyy 類的樣本彼此之間推開(kāi)。
作者提出的解決方法即是AN,定義 yyy 類的angular normalzation:
 A(x,W,y)=∠x(chóng)=x∣∣x∣∣?Wy∣∣Wy∣∣∣∣x∣∣x∣∣?Wy∣∣Wy∣∣∣∣\mathcal{A}(x,W,y)=\angle x = \frac{\frac{x}{||x||}-\frac{W_y}{||W_y||}}{||\frac{x}{||x||}-\frac{W_y}{||W_y||}||} A(x,W,y)=∠x=∣∣∣∣x∣∣x??∣∣Wy?∣∣Wy??∣∣∣∣x∣∣x??∣∣Wy?∣∣Wy???
 這就將單位向量 x∣∣x∣∣\frac{x}{||x||}∣∣x∣∣x? 轉(zhuǎn)換為了表示其與 Wy∣∣Wy∣∣\frac{W_y}{||W_y||}∣∣Wy?∣∣Wy?? 的角度的單位向量。
根據(jù)以上定義,我們將 Lcont\mathcal{L}_{cont}Lcont? 中的 q,k?,k+q,k_-,k_+q,k??,k+? 分別替換為它們的 yyy 類angular normalization的形式:
 ∠q=A(q,W,y)\angle{q}=\mathcal{A}(q,W,y) ∠q=A(q,W,y)
 ∠k?=A(k?,W,y)\angle{k_-}=\mathcal{A}(k_-,W,y) ∠k??=A(k??,W,y)
 ∠k+=A(k+,W,y)\angle{k_+}=\mathcal{A}(k_+,W,y) ∠k+?=A(k+?,W,y)
從而我們損失函數(shù)的最終形式就是:
 L=LCE(C(y),y)+Lcont(∠q,∠k+,∠k?)\mathcal{L}=\mathcal{L}_{CE}(C(y),y)+\mathcal{L}_{cont}(\angle{q},\angle{k_+},\angle{k_-}) L=LCE?(C(y),y)+Lcont?(∠q,∠k+?,∠k??)
 如上圖下方所示,改進(jìn)后的AN形式的 Lcont\mathcal{L}_{cont}Lcont? 運(yùn)作在角度空間中圍繞著 Wy∣∣Wy∣∣\frac{W_y}{||W_y||}∣∣Wy?∣∣Wy?? 的“軌道"(orbit)上。這樣就不會(huì)干擾到 LCE\mathcal{L}_{CE}LCE? 損失使倒向(collapse)Wy∣∣Wy∣∣\frac{W_y}{||W_y||}∣∣Wy?∣∣Wy??,即不會(huì)與CE損失產(chǎn)生沖突,從而提升了兩損失的協(xié)同性。
AN一個(gè)額外的好處是它忽視了(在normalize之后)到權(quán)重向量的距離,這樣可以保護(hù) Lcont\mathcal{L}_{cont}Lcont? 不會(huì)收到不同子類間“松緊”程度的影響。
實(shí)驗(yàn)部分有興趣可以去查看原文。
作為2021 CVPR的 oral,本文的質(zhì)量還是很足的,一個(gè)頗有意思的新任務(wù)C2FS,并結(jié)合了一些最新的方法提出了一個(gè)比較合理的解決方案,還針對(duì)這個(gè)框架存在的一個(gè)關(guān)鍵問(wèn)題有一個(gè)不錯(cuò)的解決方案。
有理解不對(duì)的地方歡迎指正。
總結(jié)
以上是生活随笔為你收集整理的[2021-CVPR] Fine-grained Angular Contrastive Learning with Coarse Labels 论文简析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 未来智能敞篷观光旅游飞行汽车的设计目的是
- 下一篇: 制冷压缩机汽缸频率是多少
