【論文筆記】Deep Metric Learning via Facility Location

Deep Metric Learning via Facility Location論文筆記

2017 CVPR的,因爲end to end 思想,metric learning所以需要學習。

Abstract

基於結構化預測,提出新的度量學習準則,用於優化聚類指標。

Introduction

myopic 目光短淺的。我沒見過說別人方法這麼狠的

現有方法都沒有考慮向量空間中的全局結構,具體看圖就瞭解了。

Related Work

從FaceNet開始講起,Lifted Structured embedding, N-pairs embedding 以及其他。

其實與本文主要思想沒什麼太大的關係,metric learning就是metric learning

Methods

主要的一個assumption非常有意思。作者認爲在metric learning的時候,光靠傳統的一個對比方式可能會出現同類別embedding的偏差較大。如圖:

在這裏插入圖片描述
可以看到黃色的方塊與綠色的菱形集中在一起。這沒什麼太大的問題。而由於選取hard或者semi-hard的sample來distance measure並且讓二者遠離。就可能會使得左右兩側的紫色圓球逐漸的被分離爲兩個較遠的group。這一點很有趣,作者也針對這個提出了對應了的loss,避免這個問題。如下圖所示。

在這裏插入圖片描述

3.1 Facility location problem

給定輸入爲XiX_i, 轉換爲embedding方程f(Xi;Θ)f(X_i; \Theta), 此時需要選取一個子集SVS \subseteq \mathcal{V} 其中V={1,...,X}\mathcal{V} = \{1, ..., |X|\}

後半段換成通俗易懂的語言就是我們在XiX_i個輸入中選取一部分作爲類別或者聚類中心。

具體的優化方程如下:

F(X,S;Θ)=iXminjSf(Xi;Θ)f(Xj;Θ) F(X, S ; \Theta)=-\sum_{i \in|X|} \min _{j \in S} \| f\left(X_{i} ; \Theta\right)-f\left(X_{j} ; \Theta\right) \|
對每一個輸入樣例,在類別集合SS,選取使樣例XiX_i到類別代表XjX_j距離最小的。

那麼使得這個方程的loss最大,就是最終的優化目標。

筆者注:

此處和原始的Facility location problem 略有不同,general的定義是在圖上任意定義中心的位置並且中心的數量增多會使得結果變得糟糕。同時考慮中心數量的同時也考慮每一個最近的點到中心的距離。(若不考慮中心數量,則毫無疑問最優解是每一個點都是中心。)

此處相當於中心僅能能從輸入樣例中的選取並且不考慮中心的cost。

原問題是個NP-hard的問題,用子模塊的貪心算法優化可以使得結果在O(11e)O(1-\frac{1}{e})的誤差範圍內接近最佳。

3.2 Structured facility location for deep metric learning

考慮到上述的優化方程FF之後,結合ground truth一起進行訓練。
F~(X,y;Θ)=kYmaxj{i:y[i]=k}F(X{i:y[i]=k},{j};Θ) \tilde{F}\left(X, \mathbf{y}^{*} ; \Theta\right)=\sum_{k}^{|\mathcal{Y}|} \max _{j \in\left\{i: \mathbf{y}^{*}[i]=k\right\}} F\left(X_{\left\{i: \mathbf{y}^{*}[i]=k\right\}},\{j\} ; \Theta\right)
意爲對於每一個label kyk \in \mathcal{y}, 從所有樣例XX中取出對應label下的輸入X{i:y[i]=k}X_{\{i: \mathbf{y}^{*}[i]=k\}},並分別對每一個類別進行maxmize。

作者希望聚類的分數會比最大違反聚類的情況要好。因此定義如下的損失函數:
(X,y)=[maxSVS=Y{F(X,S;Θ)+γΔ(g(S),y)}()F~(X,y;Δ)]+ \ell\left(X, \mathbf{y}^{*}\right)=[\underbrace{\max _{S \subset V \atop|S|=|\mathcal{Y}|}\left\{F(X, S ; \Theta)+\gamma \Delta\left(g(S), \mathbf{y}^{*}\right)\right\}}_{(*)} - \tilde{F}(X, \mathbf{y}^{*}; \Delta)]_+
最大違反聚類的情況這話就說挺離譜的

公式前半部分:模型輸入進行metric表徵並且得到結果g(S)g(S)然後與y\mathbf{y}^*計算誤差(具體爲NMI)

後半部分:與最佳的聚類結果進行比較。

並且保證不超過最佳的結果(最後處的加號,使得結果不爲正(通過上下文猜的))

這樣對模型進行反向傳播訓練,可以得到不錯的結果。

個人總結

主要思想是結合了facility location function,將標準的label融入進行,使用NMI可以用來做反向傳播。

metric learning,可以在下游任務clustering中完成的比較好。

此時回頭,仔細看本文第二張圖,加粗的紫色圓圈代表了答案的聚類中心,並且用淺灰色方框圈了出來。這是FLF的思想,並且使用cluster的標準答案,使得左半部分的紫色圓圈類會盡可能的向右半部分靠攏,從而得出更好的聚類結果。

調研階段,後面反向傳播就暫時不啃了,如果到時候需要用這個方法,應該會過來填坑。

數學還是差了一些。希望大家指正與交流。

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