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)均是爲了最小化類內類似度$s_n$和類間類似度$s_p$,理想是$(s_n=0, s_p = 1)$。而大部分經常使用的損失函數都是將$s_n$和$s_p$embed成類似度對,而後用各自研究的策略最小化$(s_n-s_p)$的值。這種策略提高$s_p$等同於降低$s_n$,但其實這種對稱的優化方法很容易存在如下問題:微信

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

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

  • 統一損失函數來表示兩類基礎的深度特徵學習方法classification learning(好比softmax)和pair-wise learning(好比triplet loss)。
  • 靈活地優化,因爲$\alpha_n$和$\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


  給予特徵空間的單樣本$x$,假設有$K$個類內類似分數和$L$個類間類似分數關聯$x$,定義類似度分數爲$\{s^i_p\}(i=1,2,\cdots,K)$和$\{s^i_n\}(i=1,2,\cdots,L)$。學習

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

Given class-level labels

  在分類層計算樣本$x$與各種的類似度以及權重向量$w_i (i=1,2,\cdots,N)$,獲得$(N-1)$個類間類似度$s^j_n=w^T_j x/(||w_j||\ ||x||)$以及單個類內類似度$s_p = w^T_y x/(||w_y||\ ||x||)$。spa

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

Given pair-wise labels

  計算mini-batch中樣本$x$與其它樣本的類似性,獲得類間類似度$s^j_n=w^T_j x/(||x_j||\ ||x||)$以及單個類內類似度$s^i_p = w^T_y x/(||x_i||\ ||x||)$。blog

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

Gradient analysis

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

  • 在達到決策邊界前,$s_p$和$s_n$的梯度是相同的,這缺少優化的靈活性。
  • 梯度在收斂前幾乎是不變,而在收斂時則忽然降低。好比圖2的B點相對於A點是更優的,可是兩點的梯度幾乎同樣,這也代表了優化的不靈活。
  • 決策邊界平行於$s_n - s_p=m$(圖2的白線),不一樣的點$A$ $B$會可能以邊界上的不一樣點$T$或$T^{'}$爲目標,致使收斂目標不明確,如以前所述的。

A New Loss Function


Self-paced Weighting

  爲了讓每一個類似度分數可以根據當前優化狀態調整學習的幅度,先忽略公式1的$m$並調整爲Circle loss,如公式4所示,$\alpha^j_n$和$\alpha^i_p$爲非負權重因子。

  假定$s^i_p$的最優值爲$O_p$,$s^j_n$的最優值爲$O_n(O_n < O_p)$,則$\alpha^j_n$和$\alpha^i_p$的計算如公式5,稱爲self-paced manner,$[\cdot]_+$爲cut-off at zero操做來保證$\alpha^j_n$和$\alpha^i_p$非負。
  加權是分類loss中的常見操做,全部的類似度分數共享同一個縮放因子$\gamma$,而Circle loss則根據每一個類似度分類的值再進行一次獨立的加權,容許不一樣的學習幅度,可以更加地靈活。

Within-class and Between-class Margin

  在以前的討論中,主流損失函數的$(s_n-s_p)$的優化是對稱的(減小$s_n$等同於增大$s_p$),僅需一個邊際(margin)便可。而在Circle loss中,$(s_n-s_p)$的優化是非對稱的,所以須要設置獨立的邊際,如公式6,其中$\Delta_n$和$\Delta_p$爲類間邊際和類內邊際,目標是$s^i_p>\Delta_p$以及$s^j_n<\Delta_n$,下面探討邊際的設置問題。

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

  Circle loss包含5個參數$(O_p, O_n, \gamma, \Delta_p, \Delta_n)$,論文經過設置$O_p=1+m$,$O_n=-m$,$\Delta_p=1-m$,$\Delta_n=m$來減小參數,最終將公式7轉換爲公式8。基於公式8的決策邊界,能夠看到其目標爲$s_n \to 0$和$s_p \to 1$,參數$m$控制決策邊界的半徑能夠看做是鬆弛因子,便可將Circle loss目標改成$s^i_p>1-m$和$s^i_n<m$。

The Advantages of Circle Loss

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

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

Experiment


Face Recognition

Person Re-identification

Fine-grained Image Retrieval

Impact of the Hyper-parameters

Investigation of the Characteristics

  經過觀察圖4發現:

  • 在初始時,全部的$s_n$和$s_p$都較小,這是因爲高維隨機特徵傾向於彼此分離。而在訓練中,$s_p$獲得了顯著的較大權重,佔據了訓練,使得類似度快速增長,這證實了Circle loss使用更靈活且平衡的優化手段。
  • 在訓練的最後,Circle loss在$s_p$和$s_n$的收斂上都比AMSoftmax要好。

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

CONCLUSION


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



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

work-life balance.

相關文章
相關標籤/搜索