Smooth-AP: Smoothing the Path Towards Large-Scale Image Retrieval(翻譯)

s123l4發表於2020-11-06

論文地址:https://arxiv.org/pdf/2007.12163.pdf

摘要:

優化一個基於排名的度量,比如平均精度(AP),是出了名的具有挑戰性,因為它是不可微的,因此不能直接使用梯度下降方法進行優化。為此,我們引入了一個目標,而不是優化AP的平滑近似(we introduce an objective that optimises instead a smoothed approximation of AP),即Smooth-AP。Smooth-AP是一個即插即用的目標函式,允許對深度網路進行端到端培訓,實現簡單而優雅。我們還分析了為什麼直接優化基於AP的排名度量比其他深度度量學習損失更有好處。
我們對標準檢索基準應用Smooth-APs : Stanford Online products and VehicleID,並且也在更大規模的資料集上進行評估:INaturalist用於細粒度的類別檢索,VGGFace2和IJBC用於人臉檢索。在所有情況下,我們都比最先進的技術提高了效能,特別是對於更大規模的資料集,從而證明了 Smooth-AP在真實場景中的有效性和可伸縮性

1 簡介

本文的目標是提高“例項查詢”的效能,其任務是:給定一個查詢影像,根據例項與查詢的相關性對檢索集中的所有例項進行排序。例如,假設你有一張朋友或家人的照片,想要在你的大型智慧手機圖片集合中搜尋那個人的所有圖片;或者在照片授權網站上,您希望從一張照片開始查詢特定建築或物件的所有照片。在這些用例中,高召回率(high recall)是非常重要的,不同於“谷歌鏡頭”應用程式從影像中識別一個物體,其中只有一個“擊中”(匹配)就足夠了。
檢索質量的基準度量是平均精度(AP)(或其廣義變數,歸一化折現累積增益,其中包括非二進位制相關性判斷)。隨著深度神經網路的興起,端到端訓練已經成為解決特定視覺任務的實際選擇。然而,AP和相似度量的核心問題是,它們包含了一個既不可微也不可分解的離散排序函式。因此,他們的直接優化,例如梯度下降方法,是出了名的困難。
在本文中,我們引入了一種新的可微AP近似,即Smooth-AP,它允許深度網路基於排序的任務的端到端訓練。Smooth-AP是一種簡單、優雅、可伸縮的方法,它採用即插即用的目標函式的形式,使用sigmoid函式放寬不可微AP中的Indicator函式。為了證明其有效性,我們在兩個常用的影像檢索基準上進行了實驗,Stanford Online Products和 VehicleID,Smooth-AP優於所有最近的AP近似方法[5,54]以及最近的深度度量學習方法。我們還在三個進一步的大規模檢索資料集(VGGFace2, IJB-C, INaturalist)上進行了實驗,這些資料集比現有的檢索基準大了一個數量級。據我們所知,這是第一個證明了在擁有數百萬張影像的資料集上訓練為了AP網路以完成影像檢索任務的可能性的工作。我們發現,與最近提出的所有AP近似方法相比,效能有了很大的提高,而且,有些令人驚訝的是,效能也顯著優於強驗證系統[14,36],這反映了這樣一個事實,即度量學習方法在訓練大規模檢索系統時確實效率低下,而這些系統是由全球排名指標來衡量的。
優化Smooth-AP函式,大幅提升了影像檢索的精確度

2 相關工作

作為資訊檢索[38]的重要組成部分,優化排序指標的演算法多年來一直是廣泛研究的焦點。一般來說,之前的方法可以分為兩種研究路線,即度量學習和直接逼近平均精度。
影像檢索。這是視覺界研究最多的話題之一。幾個主題已經在文獻中探索,例如,一個主題是關於檢索的速度和探索近似近鄰的方法[13,28,29,31,47,60]。另一個主題是關於如何獲得用於檢索的緊湊的影像描述符,以減少記憶體佔用。描述符通常是通過區域性特徵的集合來構造的,例如Fisher向量[46]和VLAD[2,30]。最近,神經網路在學習影像檢索表徵方面取得了令人印象深刻的進展[1,3,18,51,69],但所有的共同點是用於訓練的損失函式的選擇;特別是,理想情況下應該是會鼓勵良好排名的損失。
度量學習。為了避免直接優化基於排序的度量標準的困難,比如平均精度,有大量的工作集中在度量學習[1,2,4,8,10,12,31,34,42,44,52,64,70,73]。例如,對比性[12]和三元組[73]的損失考慮了元素的成對或三元組,在高維的嵌入空間中,強迫所有正面的例項接近,同時用固定的距離(邊界)分隔負面的例項。然而,正如Burges等人[4]指出的那樣,由於一對/三個一組所提供的有限的秩位意識,模型很可能會浪費能力來改善低(差)秩的積極例項的順序,而犧牲高秩的積極例項的順序。更為相關的是,列表(list-wise)方式[4,8,42,44,70]可以從檢索集中檢視許多示例,並已被證明可以提高訓練效率和效能。儘管取得了成功,但度量學習方法的一個缺點是,它們大多是由最小化距離驅動的,因此忽略了改變排名順序的重要性——後者在使用基於排序的度量時至關重要。
優化平均精度(AP)。最近在檢索界,直接優化不可微AP的趨勢又重新流行起來。複雜的方法[5,10,16,23,24,25,40,48,53,54,61,63,64,76,78]已經開發出來,以克服AP優化中不可分解和不可微性的挑戰。方法包括:通過將每個相關性得分作為高斯隨機變數來建立一個排名分佈[63],損失增廣推論[40],直接損失最小化[25,61],優化AP的光滑可微上界[40,41,78],訓練一個LSTM來近似離散排序步長[16],可微直方binning[5,23,24,53,64],錯誤驅動更新方案[11],以及最近的blackbox優化[54]。資訊檢索界在AP優化方面取得了顯著進展[4,9,19,35,50,63],但是這些方法在很大程度上被視覺界所忽視,這可能是因為它們從未在大規模影像檢索中得到證明,或者由於所提出的平滑目標的複雜性。這項工作的動機之一是為了表明隨著深度學習研究的進展,例如自分化、更好的優化技術、大規模資料集和快速計算裝置,直接優化AP近似值是可能的,而且實際上非常容易。

3 背景

在這一節中,我們定義了整篇文章中使用的符號。
任務的定義。給定輸入查詢,檢索系統的目標是根據與查詢的相關性,對檢索集中的所有例項Ω= {Ii,i = 0,…,m}進行排序。對於每個查詢例項Iq,檢索集被分割成正的
Pq集和負Nq集,分別由同一類的所有例項和不同類的所有例項組成。注意,每個查詢都有不同的正集和負集。
平均精度(AP)。AP是資訊檢索任務[38]的標準度量之一。它是一個單一值,定義為精確召回曲線下的面積。對於一個查詢Iq,檢索集中所有例項的預測相關性得分是通過一個選定的度量來度量的。在我們的例子中,我們使用餘弦相似度(儘管Smooth-AP方法與這個選擇無關):在這裡插入圖片描述
SΩ= SP∪SN, SP ={ζ,∀ζ∈Pq}, SN ={ξ,∀ξ∈Nq}是積極的和消極的相關性分數集,vq是指查詢向量,vi是指向量化的檢索集。查詢智商的Iq可以計算為:
在這裡插入圖片描述
其中R(i,SP)和R(i,SΩ)分別表示例項i在P和Ω中的排名。需要注意的是,本文中提到的排名被假設為適當的排名,這意味著沒有兩個樣本排名相同。
排名函式®。考慮到AP是一種基於排序的方法,直接優化的關鍵元素是定義一個例項i的排序R,這裡我們定義如下[50]:
在這裡插入圖片描述
其中1{·}充當指示函式,S為任何集,例如Ω。這可以通過計算一個差分矩陣D ∈ Rm×m來方便地實現:
在這裡插入圖片描述
從Eq. 2中查詢例項Iq的精確AP變成:
在這裡插入圖片描述
指示函式的導數。在計算AP時使用的特殊指示函式是Heaviside階躍函式H(·)[50],其分佈導數定義為Dirac delta函式:
在這裡插入圖片描述
這要麼是處處平坦的,零梯度的,要麼是不連續的,因此不能用基於梯度的方法進行優化(圖2)。
在這裡插入圖片描述
離散指標函式可能的不同近似。第一行:指標函式(a),三個隨溫度升高的sigmoids (b, c, d),線性(e),指數(f),第二行:它們的導數。

4 近似平均精度(AP)

如上所述,AP和類似的度量標準包括一個既不可微也不可分解的離散排序函式。在本節中,我們首先描述了SmoothAP,它本質上用一個sigmoid函式代替了離散的指標函式,然後我們分析了它與其他排序損失的關係,如三元組損失[26,73],FastAP[5]和Blackbox AP[54]。

4.1 Smoothing AP

為了簡化排名程式,從而可以直接優化AP,Smooth-AP採用了一種簡單的解決方案,即用sigmoid函式G(·;τ)代替指標函式1 {·},其中τ代表溫度,來調整銳度:
在這裡插入圖片描述
將G(·;τ)代入等式 5,真實AP可以近似為:
在這裡插入圖片描述
指標的逼近度和收斂度更趨於τ→0。優化過程中的目標函式為:
在這裡插入圖片描述
平滑引數τ控制代替指示器功能1 {·}的sigmoid的溫度。它定義了一個工作區域,其中通過Smooth-AP損耗為差分矩陣的項提供一個梯度。如果這些術語排名不正確,Smooth-AP將嘗試將其轉換為正確的順序。 具體而言,較小的τ值會導致較小的工作區域(圖2(b)–注意在S型導數中看到的具有梯度的小區域),並且更接近真實AP。零點附近梯度的強烈加速(圖2(b)-(c)第二行)對於複製所需的AP質量至關重要,因為它會鼓勵例項在嵌入空間中移動,從而導致等級變化 (並因此更改AP),而不是將例項移動較大距離,但不會更改等級。較大的值提供了一個大的操作區域,然而,代價是AP的一個鬆散的近似,因為它偏離了指標函式。
與三元組損失的關係。在這裡,我們證明了三重損失(一個流行的替代排序損失)實際上是優化了距離度量而不是排序度量,後者在使用排序度量進行評估時是次優的。如Eq. 5所示,優化AP的目標等價於最小化所有的在這裡插入圖片描述
,即違規例子。我們之所以這樣稱呼它們,是因為這些術語指的是根據查詢的相關性將否定例項排在肯定例項之上的情況,並且只有當所有肯定例項排在所有否定例項之上時,才能獲得最佳AP。例如,考慮一個具有預測相關性得分和ground-truth相關性標籤的查詢例項:
例項按分數排序: (s0 s4 s1 s2 s5 s6 s7 s3 )
Ground truth labels :(1 0 1 1 0 0 0 1)
違規例子:{(s4−s1),(s4−s2),(s4−s3),(s5−s3),(s6−s3),(s7−s3)}.理想的AP損失實際上會不平等地對待每個術語,即模型將被迫在s4和s1之間而不是s3和s7之間轉移訂單上花費更多的能力,因為這對改善AP產生了更大的影響。
從三元組損失的角度,也可以對這些違規例子進行另一種解釋。 具體來說,如果我們將查詢例項視為“錨”,則sj表示“錨”與否定例項之間的相似性,而si表示“錨”與肯定例項之間的相似性。 在此示例中,三元組損失嘗試優化邊際關鍵損失:
在這裡插入圖片描述
這可以看作是對AP優化目標的可微近似,其中指標函式已被邊際關鍵損失取代,從而解決了梯度問題。然而,使用三元組損失來近似AP可能會遇到兩個問題:首先,所有的項都是線性合併的,並且在Ltriplet中同等對待。這樣的替代損失可能迫使模型優化對AP僅具有很小影響的項,例如。 在三元組損失方面,優化s4-s1與s7-s4相同,但是,從AP角度來看,重要的是糾正高階錯序例項。其次,線性導數意味著優化過程純粹基於距離(而不是排序順序),這使得AP在評估時處於次優狀態。例如,在三元組損耗的情況下,將s4−s1的距離從0.8減小到0.5,與從0.2減小到−0.1是一樣的。然而,在實踐中,後一種情況(移動順序)對AP計算的影響顯然要比前一種情況大得多。
與其他AP優化方法的比較。Smooth-AP與最近推出的FastAP和Blackbox AP之間的兩個主要區別是,Smooth-AP(i)提供了更接近平均精度的近似值,並且(ii)實施起來非常簡單。首先,由於採用了sigmoid函式,SmoothAP優化了排名度量,因此具有與平均精度相同的目標。相比之下,FastAP和Blackbox AP對不可微(分段常數)函式進行線性插值,這可能會導致與三元組損失相同的潛在問題,即優化距離度量,而不是排名。其次,Smooth-AP只需用sigmoid函式代替AP目標中的指標函式。 FastAP使用直方圖合併等抽象,Blackbox AP使用數值導數的變體。 通過改善多個資料集上的Smooth-AP效能,可以肯定這些差異(第6.5節)。

5 實驗設定

在本節中,我們將描述用於評估、測試協議和實現細節的資料集。接下來的步驟是採用一個預先訓練好的網路,並使用Smooth-AP損失進行微調。具體來說,ImageNet預先訓練的網路用於物件/動物檢索資料集,高效能的人臉驗證模型用於人臉檢索資料集。

5.1 資料集

我們評估Smooth-AP損失的五個資料集包含廣泛的領域和大小。這些包括常用的基準檢索資料集,以及一些額外的大尺度(>100K影像)資料集。表1描述了它們的詳細資訊。
在這裡插入圖片描述

5.2 測試方案

在這裡,我們描述了評估檢索效能的協議,平均平均精度(mAP)和Recall@K (R@K)。對於所有資料集,每個類的每個例項依次用作查詢Iq,並且從所有其餘例項中形成檢索集Ω。我們確保所有資料集中的每個類都包含幾個影像(表1),這樣,如果一個類的例項被用作查詢,那麼在檢索集中還有大量的正例項。對於物件/動物檢索評估,我們使用Recall @ K指標來與現有作品進行比較。 對於人臉檢索,從每個查詢的結果輸出排名中計算出AP,並通過對資料集中每個例項的AP取平均,得出mAP得分,得出一個值。

5.3 實現細節

物/動物檢索(SOP, vehicle, INaturalist)。與之前的工作一樣[5,5,56,58,72,74],我們使用ResNet50[21]作為主幹架構,它是在ImageNet[57]上預先訓練的。我們將最終的softmax層替換為一個線性層(按照[5,54],尺寸設定為512)。 所有影像的大小均調整為256×256。在訓練時,我們使用隨機裁切和翻轉作為增強,在測試時,使用大小為224×224的單箇中心裁切。 對於所有實驗,我們將τ設定為0.01(第6.4節)。
人臉檢索資料集(VGGFace2, IJB-C)。
Mini-batch訓練。在訓練過程中,我們通過對類進行隨機抽樣,形成每個小批,使每個表示的類每個類都有|P|樣本。在所有實驗中,我們對嵌入進行L2-normalize,使用餘弦相似度計算查詢和檢索集之間的相關性得分,將|P|設為4,並使用基本學習率為10−5且權重衰減為4e−5的Adam [33]優化器。我們採用與[5,54]相同的硬負採技術,僅對線上產品資料集。否則,我們不使用特殊的抽樣策略。

6 結果

在本節中,我們首先通過檢查五個檢索資料集上各種模型的效能來探索所提出的Smooth-AP的有效性。具體來說,我們比較了最近在標準基準SOP和vehicle上的AP優化和更廣泛的度量學習方法(章節6.1),然後轉向進一步的大規模實驗,例如INaturalist用於動物/植物檢索,IJB-C和用於人臉檢索的VGGFace2(章節6.2-6.3)。然後,我們對影響Smooth-AP效能的各種超引數進行了消融研究:sigmoid溫度,正集合的大小和批量大小(第6.4節)。 最後,我們討論各種發現並分析各種模型之間的效能差距(第6.5節)。
請注意,儘管關於度量學習方法已有大量文獻[15,17,20,32,34,37,42,43,45,49,54,61,62,64,68,70,71,72 [74,75,77]使用這些影像檢索基準,我們只列出了最新的最新方法,並嘗試儘可能公平地與它們進行比較,例如,沒有模型集合,並且使用相同的骨幹網和影像解析度。 但是,在一些小的實驗細節上仍然存在差異,比如嵌入維度、優化器和學習率。 INaturalist資料集的定性結果如圖3所示。
在這裡插入圖片描述
圖3:使用Smooth-AP損失的INaturalist資料集的定性結果。對於每個查詢影像(第一行),檢索集中的前3個例項按從上到下的順序顯示。 顯示的每個檢索到的例項都是真實的肯定值。

6.1 史丹佛線上產品(SOP)評價

我們將其與各種最先進的影像檢索方法進行比較,例如深度度量學習方法[56,58,72,74]和AP近似方法[5,54]。如表2所示,我們觀察到Smooth-AP在SOP基準測試中達到了最先進的結果。特別是,我們的最佳模型對Recall @ 1的效能優於最近的AP近似方法(Blackbox AP和FastAP)1.5%。在這裡插入圖片描述
表2:史丹佛線上產品的結果。 將深度度量學習和最新的AP近似方法與使用ResNet50架構進行了比較。 BS:mini-batch大小。

此外,Smooth-AP的效能與併發工作相當(跨批處理記憶體[72])。這是特別令人印象深刻的,因為[72]利用記憶技術為每個權重更新同時從許多小批中取樣,而Smooth-AP只在每個訓練迭代中使用單個小批。圖4定量分析了sigmoid溫度τ對AP近似值的緊密度的影響,可以通過AP近似誤差進行繪製:
在這裡插入圖片描述
其中APpred是當使用 sigmoid代替公式5中的指標函式時的預測近似AP,AP是真實AP。 正如預期的那樣,較低的τ值會導致平均精度的近似值更加嚴格,這由較低的近似值誤差表示。
在這裡插入圖片描述
圖4:AP近似誤差,針對不同的sigmoid退火溫度τ,線上產品的一個訓練時期內的APe。

6.2 在VehicleID 和INaturalist上的評價

在表3中,我們顯示了在VehicleID 和INaturalist資料集上的結果。我們觀察到Smooth-AP在具有挑戰性和大規模的VehicleID資料集上實現了最先進的結果。特別是,對於小協議Recall@1,我們的模型的效能顯著優於FastAP 3%。此外,Smooth-AP在6個召回指標中的4個上超過了[72]。
因為我們是第一個報告INaturalist影像檢索結果的,除了Smooth-AP,我們重新訓練了最先進的度量學習和AP近似方法,使用各自的官方程式碼,如Triplet和ProxyNCA [55], FastAP [6], Blackbox AP[66]。如表3所示。在使用相同批量大小的實驗中,Smooth-AP在Recall@1上比所有方法的效能都好2 - 5%(224)。如果將Smooth-AP的批大小增加到384,那麼Recall@1的批大小將進一步增加1.4%至66.6。這些結果表明Smooth-AP特別適合於大規模檢索資料集,從而顯示了它在實際檢索問題中的可擴充套件性。我們在這裡注意到,這些大型資料集(> 100k影像)受超引數調整的影響較小,因此提供了理想的測試環境來演示改進的影像檢索技術。
表3:VehicleID(左)和INaturalist(右)的結果。
在這裡插入圖片描述
表4:人臉檢索資料集上的mAP結果。 Smooth-AP持續提高VGGFace2和ArcFace的AP效能,同時勝過其他標準度量學習損失(Pairwise contrastive和Triplet)。在這裡插入圖片描述
表5:對不同引數的消融研究:溫度τ,小批量取樣期間的正集合大小| P |和批量B。效能以VGGFace2-Test和IJB-C為基準。
在這裡插入圖片描述

6.5 進一步討論

在上述結果中有幾個重要的觀察結果。Smooth-AP在三個影像檢索基準(SOP、VehicleID、Inaturalist)上優於所有以前的AP近似方法,以及度量學習技術(pair, triplet, and list-wise),在大規模的Inaturalist資料集上,效能差距尤其明顯。同樣,當縮放到包含數百萬張影像的人臉資料集時,Smooth-AP能夠提高最先進的人臉驗證網路的檢索指標。我們假設,相對於其他現有的AP近似方法,這些效能增益來自於對AP的更緊密的近似,從而證明了Smooth-AP的有效性和可伸縮性。此外,深度度量學習損失的許多屬性都採用了各自的方法(基於距離的權重[61,74],類別間的邊距[12,59,61,70],類別內的邊距[70]), 是我們的AP公式中自然內建的,從而提高了泛化能力。

7 結論

我們介紹了Smooth-AP,這是一種直接優化AP平滑近似的新穎損耗。這與現代對比法、三重和列表式深度度量學習損失相反,後者是鼓勵排名的替代方法。我們展示了Smooth-AP優於最近的ap優化方法,以及深度度量學習方法,並使用了簡單優雅的即插即用風格的方法。我們提供了對Smooth-AP勝過其他損失的原因的分析,即Smooth-AP保留了AP的目標,即優化排名而不是嵌入空間中的距離。此外,我們還證明了通過附加Smooth-AP損失來微調人臉驗證網路可以顯著提高效能。最後,為了縮小實驗設定和真實檢索場景之間的差距,我們在幾個大規模資料集上進行了實驗,結果顯示平滑- ap損失比以前的近似方法具有更大的可伸縮性。

補充材料

1 進一步定性結果

在本節中,我們將為實驗中使用的四個資料集提供額外的定性結果(VGGFace2測試集、Stanford Online Products和INaturalist)。對於每個資料集,我們顯示基線模型中各種查詢的頂級檢索例項,包括新增或不新增SmoothAP損失的例項。在所有情況下,查詢示例都以藍色顯示。與查詢屬於同一類的檢索例項(即正集)顯示為綠色,而與查詢屬於不同類的例項(即負集)顯示為紅色。對於所有檢索示例,我們在下面顯示了相應的精確呼叫曲線,其中基線模型用藍色表示,而同一查詢例項的Smooth-AP模型用綠色表示。對於圖S1, S2,檢索集從查詢旁邊的第一行開始從左到右排列。對於圖S3, S4, S5, S6,檢索集是從上到下排列的。在每種情況下,將在排序例項的下方或旁邊提供在整個檢索集中計算的平均精度(AP)。

圖S1: SENet-50[7]基線模型VGGFace2測試集的定性結果。我們顯示了一個查詢例項(藍色)和基線模型檢索集中在Smooth-AP被新增之前和之後的前79個排序例項(從左到右排序,從查詢旁邊開始)。由精確回憶曲線可知,Smooth-AP使平均精度上升了令人印象深刻的52.9%,而在排名最靠前的檢索例項中的誤報數(紅色顯示)顯著下降。在這裡插入圖片描述
在這裡插入圖片描述
圖S2:這裡,我們顯示了VGGFace2測試集上SENet50[7]基線模型的第二個查詢例項在附加Smooth-AP損失之前和之後的定性結果。在這裡,我們看到平均精度有54.9%的大幅提高,這是由於Smooth-AP損失的增加。我們看到,在新增Smooth-AP損失後,從排名最高的檢索例項中刪除了所有誤報(紅色顯示)。假設情況排名最高的例項的每一行對應於使用檢索系統向使用者顯示的檢索結果頁面。 使用基準模型,使用者在前幾頁會遇到許多誤報。追加Smooth-AP損失後,使用者至少在前五個頁面中沒有誤報。 這證明了將Smooth-AP附加到檢索網路對使用者體驗的好處。
在這裡插入圖片描述
圖S3:這裡,我們顯示了VGGFace2測試集上SENet50[7]基線模型的第三個查詢例項在新增Smooth-AP損失之前和之後的定性結果。這些結果證實了Smooth-AP確實是為解決排序問題而量身定做的。
在這裡插入圖片描述

2 原始碼

在這裡,我們提供了以PyTorch樣式編寫的Smooth-AP損失的虛擬碼。該方法的簡單性通過簡短的實現得以證明。
演算法1:Pytorch風格的Smooth-AP的虛擬碼。
在這裡插入圖片描述

相關文章