Circle Loss:從統一的相似性對的優化角度進行深度特徵學習 | CVPR 2020 Oral

論文提出了Circle loss,不僅能夠對類內優化和類間優化進行單獨地處理,還能根據不同的相似度值調整對應的梯度。總體而言,Circle loss更靈活,而且優化目標更明確,在多個實驗上都有較好的表現,個人認爲是一個很好的工作

來源:曉飛的算法工程筆記 公衆號

論文: Circle Loss: A Unified Perspective of Pair Similarity Optimization

Introduction


  論文認爲兩類基礎的深度特徵學習方法classification learning(比如softmax)和pair-wise learning(比如triplet loss)均是爲了最小化類內相似度sns_n和類間相似度sps_p,理想是(sn=0,sp=1)(s_n=0, s_p = 1)。而大部分常用的損失函數都是將sns_nsps_pembed成相似度對,然後用各自研究的策略最小化(snsp)(s_n-s_p)的值。這種策略提升sps_p等同於下降sns_n,但其實這種對稱的優化方法很容易存在以下問題:

  • 缺乏優化的靈活性。由於基於損失函數同時優化sns_nsps_p,導致sns_nsps_p的梯度的幅值是一樣的。當sns_nsps_p均很小時,依然會使用較大的梯度懲罰sns_n,這是不高效且不合理的。
  • 收斂目標不明確。優化snsps_n-s_p通常會遇到決策邊界問題spsn=ms_p-s_n=m。而這個邊界目前是不夠明確的,首先圖1a中的ABC點均到決策邊界的距離相等,但其收斂點卻不太一樣(梯度正交於sp=sns_p=s_n?)。其次,不同收斂點間的類內和類間相似度差異可能較小,比如樣本{sn,sp}={0.2,0.5}\{s_n, s_p\}=\{0.2, 0.5\}{sn,sp}={0.4,0.7}\{{s^{'}}_n, {s^{'}}_p\}=\{0.4, 0.7\},雖然邊際(margin)均爲0.3,但sn{s^{'}}_nsps_p的差距僅爲0.1,這樣的收斂狀態會影響整體樣本的區分性。

  基於上面的發現,論文認爲不同的相似分數應該有不同的懲罰力度,首先將(snsp)(s_n - s_p)轉換爲(αnsnαpsp)(\alpha_n s_n - \alpha_p s_p)αn\alpha_nαp\alpha_p是獨立的權重因子,分別與sns_nsps_p線性相關,這樣不僅使得sns_nsps_p能以不同的步伐進行學習,還可以更具相似分數調整幅值。這樣的優化策略使得αnsnαpsp=m\alpha_n s_n - \alpha_p s_p=m(sn,sp)(s_n, s_p)空間內呈現圓形,故稱爲Circle loss。
  Circle loss主要從以下3個方面入手改變深度特徵學習的內在特性:

  • 統一損失函數來表示兩類基礎的深度特徵學習方法classification learning(比如softmax)和pair-wise learning(比如triplet loss)。
  • 靈活地優化,由於αn\alpha_nαp\alpha_p會隨着對應的相似度分數來改變對應的梯度,如圖1b的點ABC的梯度是各不一樣的。
  • 明確的收斂目標,在圓形的決策邊界,circle loss有更傾向的決策狀態,如圖2b的ABC點,均偏向於更新到點T,原因後面會講到。

  論文的主要貢獻如下:

  • 提出Circle loss,通過有監督地加權不同相似度分數來進行深度特徵學習,能夠更靈活地優化,並且有明確的收斂目標。
  • Circle loss能夠兼容class-level標籤和pair-wise標籤,通過簡單的修改就能變化爲triplet loss或softmax loss。
  • 在不同的任務(人臉識別,ReID,細粒度圖片檢索等)上進行實驗證明Cirle loss的優勢。

A Unified Perspective


  給予特徵空間的單樣本xx,假設有KK個類內相似分數和LL個類間相似分數關聯xx,定義相似度分數爲{spi}(i=1,2,,K)\{s^i_p\}(i=1,2,\cdots,K){sni}(i=1,2,,L)\{s^i_n\}(i=1,2,\cdots,L)

  爲了最小化每個snjs^j_n以及最大化每個spis^i_p,統一的損失函數如公式1,其中γ\gamma爲縮放因子,mm爲邊際(margin)。公式1迭代每個相似度對來減小(snjspi)(s^j_n-s^i_p),通過簡單的修改就能變爲triplet loss和classification loss。

Given class-level labels

  在分類層計算樣本xx與各類的相似度以及權重向量wi(i=1,2,,N)w_i (i=1,2,\cdots,N),得到(N1)(N-1)個類間相似度snj=wjTx/(wj x)s^j_n=w^T_j x/(||w_j||\ ||x||)以及單個類內相似度sp=wyTx/(wy x)s_p = w^T_y x/(||w_y||\ ||x||)

  結合公式1,得到公式2的softmax變種AM-Softmax,當m=0m=0時,公式2能夠進一步變化爲Normface,當將cosine相似度替換爲內積以及設置γ=1\gamma=1時,則爲softmax loss。

Given pair-wise labels

  計算mini-batch中樣本xx與其它樣本的相似性,得到類間相似度snj=wjTx/(xj x)s^j_n=w^T_j x/(||x_j||\ ||x||)以及單個類內相似度spi=wyTx/(xi x)s^i_p = w^T_y x/(||x_i||\ ||x||)

  結合公式1,K=PK=|\mathcal{P}|L=NL=|\mathcal{N}|,得到帶hard mining的triplet loss,exp()\sum exp(\cdot)用於調節mining的程度,當γ+\gamma \to + \infty時,就是絕對的hard mining。

Gradient analysis

  公式2和公式3展示了公式1的通用性,目標均是優化(snsp)(s_n-s_p)。論文假設僅存在單個sps_psns_n,各種損失函數的梯度進行了可視化,如圖2所示,觀察到了主流損失函數的幾點梯度表現:

  • 在達到決策邊界前,sps_psns_n的梯度是相同的,這缺乏優化的靈活性。
  • 梯度在收斂前幾乎是不變,而在收斂時則突然下降。比如圖2的B點相對於A點是更優的,但是兩點的梯度幾乎一樣,這也表明了優化的不靈活。
  • 決策邊界平行於snsp=ms_n - s_p=m(圖2的白線),不同的點AA BB會可能以邊界上的不同點TTTT^{'}爲目標,導致收斂目標不明確,如之前所述的。

A New Loss Function


Self-paced Weighting

  爲了讓每個相似度分數能夠根據當前優化狀態調整學習的幅度,先忽略公式1的mm並調整爲Circle loss,如公式4所示,αnj\alpha^j_nαpi\alpha^i_p爲非負權重因子。

  假定spis^i_p的最優值爲OpO_psnjs^j_n的最優值爲On(On<Op)O_n(O_n < O_p),則αnj\alpha^j_nαpi\alpha^i_p的計算如公式5,稱爲self-paced manner,[]+[\cdot]_+爲cut-off at zero操作來保證αnj\alpha^j_nαpi\alpha^i_p非負。
  加權是分類loss中的常見操作,所有的相似度分數共享同一個縮放因子γ\gamma,而Circle loss則根據每個相似度分類的值再進行一次獨立的加權,允許不同的學習幅度,能夠更加地靈活。

Within-class and Between-class Margin

  在之前的討論中,主流損失函數的(snsp)(s_n-s_p)的優化是對稱的(減少sns_n等同於增大sps_p),僅需一個邊際(margin)即可。而在Circle loss中,(snsp)(s_n-s_p)的優化是非對稱的,因此需要設置獨立的邊際,如公式6,其中Δn\Delta_nΔp\Delta_p爲類間邊際和類內邊際,目標是spi>Δps^i_p>\Delta_p以及snj<Δns^j_n<\Delta_n,下面探討邊際的設置問題。

  考慮簡單的二分類問題,決策邊界爲αn(snΔn)αp(spΔp)=0\alpha_n(s_n - \Delta_n)-\alpha_p(s_p-\Delta_p)=0,結合公式5和6,決策邊界可轉換爲公式7,其中C=((OnΔn)2+(OpΔp)2)/4C=((O_n-\Delta_n)^2+(O_p-\Delta_p)^2)/4,即爲Circle loss決策邊界爲圓的弧,如圖1b所示,中心點爲(sn=(On+Δn)/2,sp=(Op+Δp)/2)(s_n=(O_n+\Delta_n)/2, s_p=(O_p+\Delta_p)/2),半徑爲C\sqrt{C}

  Circle loss包含5個參數(Op,On,γ,Δp,Δn)(O_p, O_n, \gamma, \Delta_p, \Delta_n),論文通過設置Op=1+mO_p=1+mOn=mO_n=-mΔp=1m\Delta_p=1-mΔn=m\Delta_n=m來減少參數,最終將公式7轉換爲公式8。基於公式8的決策邊界,可以看到其目標爲sn0s_n \to 0sp1s_p \to 1,參數mm控制決策邊界的半徑可以看作是鬆弛因子,即可將Circle loss目標改爲spi>1ms^i_p>1-msni<ms^i_n<m

The Advantages of Circle Loss

  Circle loss關於snjs^j_nspis^i_p的梯度分別爲公式9和公式10,在簡單的二分類問題上,梯度的可視化如圖2c所示,可以觀察到幾點梯度表現:

  • Circle loss能夠平衡地優化sns_nsps_p,動態地調整懲罰各自的力度。
  • 逐漸衰弱的梯度,如圖2c所示,在訓練初期,遠離決策邊際將獲得較大的梯度,隨着逐漸接近收斂,其梯度逐漸衰減,並且對γ\gamma具有魯棒性。
  • 更明確的收斂目標,如圖1b所示,Circle loss更傾向於收斂至點TT,因爲相對於其他點,點TTsps_psns_n差距最小,加上梯度足夠靈活,最容易學習到該狀態。因爲sps_psns_n差距越大,需要將數據劃分地更開,更難學習。

Experiment


Face Recognition

Person Re-identification

Fine-grained Image Retrieval

Impact of the Hyper-parameters

Investigation of the Characteristics

  通過觀察圖4發現:

  • 在初始時,所有的sns_nsps_p都較小,這是由於高維隨機特徵傾向於彼此分離。而在訓練中,sps_p得到了顯著的較大權重,佔據了訓練,使得相似度快速增加,這證明了Circle loss使用更靈活且平衡的優化手段。
  • 在訓練的最後,Circle loss在sps_psns_n的收斂上都比AMSoftmax要好。

  論文可視化了收斂後的相似度分佈,可以看到,Circle loss以更緊密地方式通過了決策邊界,而AMSoftmax則較爲稀疏地通過了,這表明Circle loss的優化目標較爲明確的,特徵空間可分離性更好,這種情況在圖5c中更爲明顯。

CONCLUSION


  論文將classification learning和pair-wise learning進行了統一的表達,並根據目前的損失函數實際存在問題進行了改進,提出了Circle loss,不僅能夠對類內優化和類間優化進行單獨地處理,還能根據不同的相似度值調整對應的梯度。總體而言,Circle loss更靈活,而且優化目標更明確,在多個實驗上都有較好的表現。



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公衆號【曉飛的算法工程筆記】

work-life balance.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章