機器之心原創

作者:思源

全球計算機視覺頂級會議 CVPR 2019 已於今日在美國長灘落幕。從日前公佈的獲獎論文中,我們能夠發現華人聲音在該領域愈為響亮,研究成果也備受關注。作為今年大會的黃金贊助商,碼隆科技在 CVPR 2019 上不僅發表了優秀的研究工作,同時還與 Google Research 等合辦了 FGVC6 Workshop,主辦了細粒度商品識別挑戰賽。本文將對碼隆科技的 CVPR 2019 論文進行解讀,介紹碼隆是如何為影象搜尋任務提出一個通用的損失函式框架,並將該領域近十年的損失函式都統一在該框架下。

對於很多研究者而言,以前我們針對影象搜尋任務設計損失函式並沒有統一的框架,很多研究者都透過直觀理解嘗試新的損失函式。但在碼隆科技的這篇論文中,研究者探索了影象搜尋的核心問題:即如何為損失函式的設計提供一個標準框架,從而透過深度度量學習實現更優質的影象檢索。

論文:Multi-Similarity Loss with General Pair Weighting for Deep Metric Learning

論文地址:

https://

arxiv。org/pdf/1904。0662

7。pdf

統一的損失函式框架:GPW

General Pair Weighting(GPW)是一種通用樣本對加權框架,它希望從底層理解影象檢索中的損失函式(深度度量學習)。簡單而言,GPW 透過梯度分析將深度度量學習轉化為樣本對的加權問題,為理解基於樣本對的損失函式提供了統一的視角和有力的工具。

注意這裡有兩個關鍵點,即度量學習和基於樣本對的損失函式。首先在機器學習中,度量學習的目的在於學習一種低維空間,在這個空間內同類樣本相距非常近,異類樣本距離比較遠。深度度量學習利用卷積網路的強大的特徵抽取能力,能學習更好的嵌入空間。

其次,GPW 框架關注的是基於樣本對的損失函式,這類損失函式一般可以表示為嵌入空間中的成對餘弦相似性。例如最直觀的對比損失(Contrastive loss),它希望正樣本對(或同類樣本對)越近越好,負樣本對之間至少要有大於某個給定的距離,具體而言可以表示為:

機器之心丨為損失函式定個框架,碼隆CVPR 2019提出影象檢索新正規化

其中 I 表示指示函式,如果 i 和 j 為正樣本,則 I_ij 為 1,否則它就等於 0。我們可以瞭解到,正樣本對的損失就直接是負的相似性 -S_ij,負樣本對只有在相似度高於閾值 λ時損失函式才大於0。從這個簡單的案例,我們可以發現這類損失函式的目標,即在嵌入空間中將標籤相同的同類樣本拉得更近,將標籤不同的異類樣本推得更遠。

既然這類損失函式的基本思想、目標都有這樣的共同點,那麼我們是不是能從本質上理解它們,並提出一種統一的框架呢?這就正是 GPW 希望做到的。

從歸納到統一

為了完成統一,碼隆 AI 中心的研究者探索了十多年來比較常用的基於樣本對的損失函式,並發現它們的一些本質區別。研究者表示:「不同損失函式其實是在給予不同的力度來拉近或推遠某個樣本。例如對比損失,它的基本思想即平均拉近或拉遠所有樣本;又例如三元組損失(triplet loss),它會選取部分樣本來實現拉近或拉遠。」

既然各種損失函式都在給樣本加權以確定「拉或推」的力度,那麼使用什麼樣的函式來加權就非常重要了。在 GPW 框架下,我們可以瞭解各種損失函式是怎樣做這種加權的。因為 GPW 本身相當於一種理論分析,它把各種基於樣本對的損失函式都放在一個統一的框架下,所以我們能快速瞭解各種損失函式如何做加權這一本質。

研究者表示,這一本質即是在學習不同樣本對時給它們不同的權重,如果某個樣本包含的資訊比較多或比較難學習,那麼它就需要比較大的權重。

如果我們再從 GPW 出發解釋已有的損失函式,那麼就能把它們的加權方式直接寫出來,這是過去沒有人做到的一點。在原論文中,作者們就從 GPW 框架出發解釋了 Contrastive、Triplet、Lifted Structure 等多種基於樣本對的損失函式,感興趣的讀者可查閱原論文。

更強大的 Multi-Similarity 損失函式

其實 GPW 還有更重要的實踐意義,我們可以在它定義的框架下構建效能更強大的損失函式。碼隆 AI 中心的研究者就設計一種名為 Multi-Similarity 的損失函式(MS Loss),它可以顯著提高影象搜尋的效能。研究者表示,該損失函式在多個主要的影象檢索基準資料庫上都獲得了當時最好的結果。

如下圖所示,MS Loss 透過取樣和加權兩次迭代,實現更加高效的樣本訓練。它透過定義自相似性和相對相似性,在訓練過程中更加全面地考慮了局部樣本分佈,從而能更高效精確的對重要樣本對進行採用和加權。這裡重要樣本對通常是含有更大的資訊量的樣本對。

機器之心丨為損失函式定個框架,碼隆CVPR 2019提出影象檢索新正規化

原論文圖 1:MS Loss 的兩個階段,其結合了三種相似性。

在 MS Loss 的第一階段取樣中,它會透過某種相似性判斷哪些樣本對學習嵌入空間更重要。例如上圖連著黑線的藍色、紅色樣本點,它們就比同色的其它樣本點重要,資訊量更大,因為黃色樣本點要是想與這兩種樣本分離,那就需要把這兩個樣本推開。

第二階段的加權則是在取樣的基礎上進行的,第一階段取樣的樣本有正樣本(黃色)也有負樣本(紅色、藍色),我們需要另外兩種相似性來確定它們的重要性。具體而言,如果正樣本相似性越高,那麼加的權就越少,因為它已經不太需要進一步拉近距離。但如果負樣本的相似性太高,就表示它離 anchor 非常近,我們需要提供更大的權重以令模型學會把它們推地更遠。

MS Loss 定義的三種相似性

前面我們看到 MS Loss 綜合考慮了三種相似性,它們能概括目前大多數基於樣本對的損失函式。它們可以分為自相似性與相對相似性,正如作者所言,給樣本對加權的核心在於判斷區域性分佈 - 即它們之間的相似性,區域性樣本之間的分佈和相互關係並不是僅僅決定於兩個樣本之間的距離和相似性,還取決於當前樣本對與其周圍樣本對之間的關係。

因此,對於每一個樣本對,我們不僅需要考慮樣本對本身的自相似性,同時還要考慮它與其它樣本對的相對相似性。其中相對相似性又可以分為正相對相似性 (正樣本)、負相對相似性(負樣本)兩種相似性,它們三者共同構建了上圖 1 的 MS Loss 兩步迭代策略。

自相似性(餘弦相似性):隨著負樣本接近 anchor,樣本對相似性增加;

負相對相似性(Negative relative similarity):隨著周圍負樣本聚集在一起,樣本對相似性降低;

正相對相似性(Positive relative similarity):隨著周圍正樣本聚集在一起,樣本對相似性降低。

下圖展示了上面三種相似性的直觀變化,我們希望計算實線樣本對間的相似性:

機器之心丨為損失函式定個框架,碼隆CVPR 2019提出影象檢索新正規化

原論文圖 2:負樣本對間的三種相似性,從左到右分別為自相似性、負相對相似性、正相對相似性。

圖 2 中 case 1 的相似性是增加的,case 2 和 case 3 的相似性都將降低。因為 case 1 中的自相似性很明顯沒有考慮與周圍樣本的關係,所以作者引入了後面兩種相對相似性。

在 case 2 中,即使 anchor 與負樣本的自相似性不變,但我們還需要考慮負樣本的近鄰。如果負樣本間的自相似性增加,那麼它與 anchor 間的相對相似就自然降低。case 3 也是同樣的道理,正樣本間的自相似要是增加了,那麼 anchor 與負樣本的相對相似性就要降低。

如下表 1 所示,基於樣本對的各種損失函式都可以歸類到這三種相似性,目前只有該論文提出的 MS Loss 能同時考慮三種相似性。

機器之心丨為損失函式定個框架,碼隆CVPR 2019提出影象檢索新正規化

原論文表 1:不同損失函式為樣本對加權所採用的相似性度量,其中 S、N、P 分別表示自相似性、負相對相似性和正相對相似性。

作者表示:「其它損失函式之所以沒能全部考慮三種相似性,是因為它們並沒有特意關注這一本質區別,很多損失函式都是從直覺的角度設計的,因此只考慮到其中一種相似性度量,能考慮到兩種的情況都很少。」此外,如果不能將三種相似性都構建進去,那麼度量方法總會有一些缺陷,效果也就達不到最優。

MS Loss 表示式

前面已經瞭解到,MS Loss 採用取樣和加權交替迭代的訓練策略來實現上述三種相似性。研究者表示他們實際上也是站在前人的肩膀上,巧妙地融合表 1 中 Triplet、Lifted Structure 和 BinomialDeviance 三種損失函式,它們都只採用三種相似性中的一種。

作者說:「我們需要分兩步完成目標。因為我們很難構建單個訓練和最佳化步驟來同時實現三種相似性,這樣的公式不僅複雜,同時還容易產生衝突。此外,分為兩步實現也不會違反 GPW 的基本思想。

因為第一步的取樣就是拋棄一些非常不重要,資訊量很少的樣本,可以看作將它們的權重設定為 0。這個權重與第二步的權重類似,它們結合起來可以視為一種加權方法。」

總體而言,第一步透過正相對相似性確定哪些是資訊量大的樣本對,然後第二步透過自相似性和負相對相似性為重要的樣本對進一步賦不同的權重。

對於正相對相似性,我們可以度量在相同 anchor 下正樣本和負樣本對之間的相似性。具體而言,如果 anchor 與負樣本的相似性比它與最不相似的正樣本對還要大,那麼該負樣本就是重要的樣本。

同理,如果 anchor 與正樣本的相似性比它與最相似的負樣本還要小,那麼該正樣本也含有重要資訊。這兩者加起來就是該 anchor 第一步選出的重要樣本。

對於第二步的兩個相似性,研究者結合了 binomial deviance 和 lifted structure 兩種損失函式,且分別利用了自相似性和負相似性。例如給負樣本加權,那麼計算式可以表示為:

機器之心丨為損失函式定個框架,碼隆CVPR 2019提出影象檢索新正規化

其中 λ-S_ij 表示自相似性,S_ik-S_ij 表示相對相似性,上式將兩種相似性結合起來。如果將分母的這兩項分開,那麼它就和前面兩種損失函式非常像。與上式類似,給正樣本加權也由這兩部分組成。

最後,作者將取樣和加權策略結合起來,從而產生了 MS Loss 這種新型基於成對樣本的損失函式。這裡省略了很多具體表達式,包括第一步的挑選準則與最後的融合表示式等等。

因為 MS Loss 在大部分影象檢索基準資料庫上都有很好的效能,且相比最新的方法也有較大的優勢,所以想要試試該損失函式的讀者不妨查閱原論文細節。

細粒度商品識別挑戰賽

在 CVPR 2019 中,碼隆除了在影象檢索方面提出非常優秀的演算法,同時在細粒度識別方面還舉辦 iMaterialist Challenge on Product Recognition 挑戰賽。透過主辦此次競賽,碼隆科技希望能夠引發學界和產業界對商品識別這一技術領域的更多關注,共同探究提升細粒度物體識別的演算法效能,探索出更好、更強的技術路徑。

據碼隆介紹,該挑戰賽共涵蓋 2019 類 SKU,超過一百萬影象資料,是 CVPR 迄今資料規模最大、種類最多的商品識別競賽。兩個月的賽程中,全球共有 96 支隊伍、152 位選手透過 1600 次提交參加了競賽。

美國時間 6 月 17 日,碼隆科技在 FGVC6 Workshop 上公佈大賽最終結果,前三名分別為京東 AI 研究院、美團點評視覺影象中心和東信北郵。

機器之心丨為損失函式定個框架,碼隆CVPR 2019提出影象檢索新正規化

本文為機器之心原創,轉載請聯絡公眾號“機器之心”(微訊號:almosthuman2014)獲得授權。