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_ns_pembed 成相似度對,然後用各自研究的策略最小化(s_n-s_p)的值。這種策略提升s_p等同於下降s_n,但其實這種對稱的優化方法很容易存在以下問題:

  • 缺乏優化的靈活性。由於基於損失函數同時優化s_ns_p,導致s_ns_p的梯度的幅值是一樣的。當s_ns_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^{‘}}_ns_p的差距僅為 0.1,這樣的收斂狀態會影響整體樣本的區分性。

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

  • 統一損失函數來表示兩類基礎的深度特徵學習方法 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||)

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

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||)

  結合公式 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_ps_n,各種損失函數的梯度進行了可視化,如圖 2 所示,觀察到了主流損失函數的幾點梯度表現:

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

A New Loss Function


Self-paced Weighting

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

  假定s^i_p的最優值為O_ps^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+mO_n=-m\Delta_p=1-m\Delta_n=m來減少參數,最終將公式 7 轉換為公式 8。基於公式 8 的決策邊界,可以看到其目標為s_n \to 0s_p \to 1,參數m控制決策邊界的半徑可以看作是鬆弛因子,即可將 Circle loss 目標改為s^i_p>1-ms^i_n<m

The Advantages of Circle Loss

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

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

Experiment


Face Recognition

Person Re-identification

Fine-grained Image Retrieval

Impact of the Hyper-parameters

Investigation of the Characteristics

  通過觀察圖 4 發現:

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

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

CONCLUSION


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



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

work-life balance.