?本綜述探討了深度度量學習的意義、問題、背景、最新改進和與深度學習的關系,詳述了其問題、樣本選擇和度量損失函數(shù),以及現(xiàn)狀和未來。??
1 介紹
如今,機器學習的應用廣泛,包括人臉識別、醫(yī)療診斷等,為復雜問題和大量數(shù)據(jù)提供解決方案。機器學習算法能基于數(shù)據(jù)產生成功的分類模型,但每個數(shù)據(jù)都有其問題,需定義區(qū)別特征進行正確分類。常用的機器學習算法包括k最近鄰、支持向量機和樸素貝葉斯分類器,但需注意特征加權和數(shù)據(jù)轉換。
度量學習(Metric Learning)是機器學習領域中的一個重要分支,它專注于學習數(shù)據(jù)集中樣本之間的相似性或距離度量。這種學習方法在許多機器學習應用中發(fā)揮著關鍵作用,特別是在那些需要比較和區(qū)分不同樣本的任務中。
深度學習提供了新的數(shù)據(jù)表示,自動提取特征,包括非線性結構。深度學習和度量學習結合成深度度量學習(如圖1),基于樣本相似性原理。網(wǎng)絡結構、損失函數(shù)和樣本選擇是深度度量學習成功的關鍵因素。
本綜述旨在探討深度度量學習的意義以及該領域所面臨的問題,介紹了其背景、最新改進、與深度學習的關系,并詳細解釋了深度度量學習問題、樣本選擇和度量損失函數(shù),同時提出了深度度量學習的現(xiàn)狀和未來。
圖1 深度度量的學習
2 ?度量學習
每個數(shù)據(jù)集在分類和聚類方面都有特定的問題,需要一個良好的距離度量才能獲得成功的結果。度量學習方法通過分析數(shù)據(jù)提供了新的距離度量,提高了樣本數(shù)據(jù)的區(qū)分能力。其主要目的是學習一個新的度量,以減少同一類樣本之間的距離并增加不同類樣本之間的距離。這樣可以在不同對象之間創(chuàng)造更大的間隙,從而優(yōu)化分類和聚類的效果,如圖1c。
文獻中的度量學習研究與馬哈拉諾比斯距離度量直接相關。訓練樣本X由N個d維向量組成,xi和xj之間的距離計算公式為馬哈拉諾比斯距離:
dM(xi, xj) 是一種距離度量,需滿足非負性、不可辨別性恒等性、對稱性和三角不等式。M必須是對稱且半正定的,其特征值或行列式需為正或零,分解如下:
從式(3)可知,W具有線性變換性質。因此,兩個樣本在變換空間中的歐幾里得距離等于原始空間中的馬哈拉諾比斯距離。這種線性變換體現(xiàn)了度量學習基礎設施的現(xiàn)實。
更好的數(shù)據(jù)表示能力有助于更準確的分類和聚類預測。度量學習通過學習良好的距離度量,提供更有意義的數(shù)據(jù)表示。線性度量學習方法在轉換后的數(shù)據(jù)空間中提供更靈活的約束并提高學習性能,但捕獲非線性特征性能較差。核方法將問題轉移到非線性空間以實現(xiàn)更高性能,但可能產生過度擬合。深度度量學習提出了更緊湊的解決方案,克服了線性和非線性方法的問題。
3 ?深度度量學習
傳統(tǒng)機器學習受限于數(shù)據(jù)處理能力,需特征工程,如預處理和特征提取,需專業(yè)知識。而深度學習直接在分類結構中學習更高層次數(shù)據(jù)。深度學習需要大量數(shù)據(jù),在小數(shù)據(jù)量下效果不佳,且訓練時間長。NVIDIA推出cuDNNGPU加速庫,用于深度神經(jīng)網(wǎng)絡的高性能計算,許多深度學習框架都是在使用GPU的同時開發(fā)的。
數(shù)據(jù)分類的基本相似性度量包括EuclideanMahalanobis、Matusita、Bhattacharyya和Kullback-Leibler距離,但這些預定義度量在數(shù)據(jù)分類方面的能力有限。為解決這個問題,提出了基于馬哈拉諾比斯度量的方法,將數(shù)據(jù)分類為傳統(tǒng)的度量學習,將數(shù)據(jù)變換到具有更高判別力的新特征空間。然而,這些方法不足以揭示數(shù)據(jù)的非線性知識。深度學習使用具有非線性結構的激活函數(shù)來解決這個問題。
深度學習方法通常基于深層架構,而非新的數(shù)據(jù)表示空間中的距離度量。然而,基于距離的方法在深度學習中越來越受關注。深度度量學習的目的是增加相似樣本之間的距離,減少不同樣本之間的距離,這與樣本之間的距離直接相關。通過執(zhí)行這個過程,度量損失函數(shù)在深度學習中得到了好處。為了使來自相同類別的樣本彼此更接近,我們將來自不同類別的樣本彼此分開(圖2)。在對比損失的情況下,MNIST圖像數(shù)據(jù)集上的實驗證明了該方法的有效性。
圖2 連體網(wǎng)絡的距離關系。(a) 期望的三位數(shù)和八位數(shù)手寫數(shù)據(jù)辨別,(b) Siamese網(wǎng)絡應用于三位數(shù)和八位數(shù)的MNIST數(shù)據(jù)后
3.1 ?深度度量學習問題
深度度量學習通過深層架構學習非線性子空間特征相似性,開發(fā)出基于問題的解決方案。其應用廣泛,包括視頻理解、人員重新識別、醫(yī)療問題、3D建模、人臉驗證和識別、簽名驗證等。
視頻理解。理解視頻存在多種問題,如視頻注釋推薦、搜索等,可通過非度量空間提出解決方案。李等人首先提取音頻和視覺特征,然后提出基于三元組學習的深度神經(jīng)網(wǎng)絡嵌入模型,用于學習基于深度度量學習的度量,以促進視頻監(jiān)控中的人類定位。該方法優(yōu)于其他方法,因為預定義的距離度量可能不足以滿足視覺任務。Hu等人使用基于距離度量的方法進行視覺跟蹤,表明在度量空間中工作的優(yōu)勢。
人員重識別。人員重識別是機器學習的重要問題,旨在識別同一人在不同情況下拍攝的不同圖像。深度學習方法受到質疑,因此需學習合適的距離度量來解決問題。深度度量學習使輸入圖像和變換后的特征空間之間能夠使用端到端學習。模型從兩層捆綁卷積和最大池化開始,計算交叉輸入鄰域差異,利用補丁求和屬性、交叉補丁屬性和softmax函數(shù)來識別同一個人或不同的人。另一項研究中,丁等人改進了三元組生成方案并優(yōu)化了梯度下降算法,以實現(xiàn)三元組損失。
醫(yī)療問題。深度學習在醫(yī)學圖像診斷中應用廣泛,解決分類、檢測、分割和配準等問題。深度度量學習算法通過相似性方法提高數(shù)據(jù)表示級別,區(qū)分正常和異常圖像。與Triplet Network不同,ML2損失考慮嵌入空間全局結構和重疊標簽,為醫(yī)學圖像分析提供更高級別的數(shù)據(jù)。
3D建模。深度度量學習在3D形狀檢索中表現(xiàn)出色,通過共享權重和度量損失函數(shù),圖像草圖和3D形狀都能提高3D形狀檢索效果。基于CNN+Siamese網(wǎng)絡的模型在大型數(shù)據(jù)集上實現(xiàn)高效的3D圖像檢索,使用結合相關性和辨別損失的度量損失。訓練過程中隱藏層也使用度量損失。一種新穎的損失函數(shù)結合三重態(tài)損失和中心損失,用于3D圖像檢索任務。三元組網(wǎng)絡模型用于檢測3D圖像的風格,將三重態(tài)損失值與相似和不相似圖像的距離進行比較。
人臉驗證和識別。深度度量學習在人臉識別和驗證方面取得突破,如胡等人提出的分層非線性變換模型,揭示人與人之間的親屬關系。FaceNet系統(tǒng)使用在線三元組學習模型,關注歐幾里德空間下的人臉相似性,處理驗證、人臉識別和人臉聚類等任務。此外,還有面部表情識別和面部年齡估計等研究。
深度學習在文本理解和信息檢索領域有廣泛研究,如Mueller和Thyagarajan的Siamese網(wǎng)絡識別語義相似性,貝納吉巴等人利用回歸函數(shù)訓練網(wǎng)絡模型,以及基于依賴關系的Siamese LSTM網(wǎng)絡模型。此外,還有研究旨在學習句子之間的主題相似性,通過生成弱監(jiān)督的三元組句子,使用Triplet網(wǎng)絡對高質量句子嵌入的維基百科句子進行聚類。
深度度量學習在音頻信號處理領域取得成果,如Triplet和Quadruple網(wǎng)絡用于說話人二值化。不同的采樣策略和裕度參數(shù)對二值化性能有影響。半硬負挖掘在計算機視覺應用中成功,但在說話人二值化中僅在固定參數(shù)和三元組損失情況下有效。王等人使用原型網(wǎng)絡損失和三元組損失進行說話人驗證和識別任務,在兩個數(shù)據(jù)集中獲得成功結果,其中原型網(wǎng)絡損失效果更好,訓練時間更快。
深度度量學習在音樂相似性、擁擠回歸、相似區(qū)域搜索、體積圖像識別、實例分割、邊緣檢測、全色銳化等領域有廣泛應用,其高性能為文獻做出了貢獻。從學術出版物數(shù)量來看,如圖3,深度度量學習越來越受到關注。
圖3 深度度量學習的學術出版物數(shù)量
深度度量學習在各種主題上取得了顯著成果(表1),如圖像聚類、圖像檢索、3D形狀檢索和語義文本相似性任務。評估指標包括F1、歸一化互信息(NMI)、召回@R(排名精度)、準確性、第一層(FT)、最近鄰(NN)、Emeasure(E)、第二層(ST)、折扣累積增益(DCG)和平均精度(mAP)、皮爾遜相關性(r)、斯皮爾曼相關性(ρ)和均方誤差(MSE)、等錯誤率(EER)和最小決策成本函數(shù)(MDCF)。
表1 深度度量學習問題的基準數(shù)據(jù)集比較
3.2 ?樣本選擇
深度度量學習由信息輸入樣本、網(wǎng)絡模型結構和度量損失函數(shù)組成。信息樣本選擇對分類和聚類至關重要,影響網(wǎng)絡成功率和訓練速度。隨機選擇正負對象對是最簡單的訓練樣本對比損失方法,但在網(wǎng)絡性能達到一定水平后,學習過程可能會減慢。硬負挖掘和三元組網(wǎng)絡等方法可以提高網(wǎng)絡性能,但簡單的三元組可能效果不佳。因此,使用信息豐富的樣本三元組可以提供更好的訓練模型。
硬負樣本是假陽性樣本,半硬負挖掘尋找邊界內負樣本,與硬負樣本相比,負樣本距離錨樣本更遠。三元組挖掘根據(jù)錨點、正樣本和負樣本之間的距離進行負挖掘,如圖 4 所示。負樣本距離錨點太近會導致梯度高方差和低信噪比,建議使用距離加權采樣避免噪聲樣本。負類挖掘使用每個類樣本之一作為三重網(wǎng)絡的負樣本,使用貪婪搜索策略選擇多個負樣本。
圖4 負挖掘
總之,即使有良好的數(shù)學模型和架構,網(wǎng)絡的學習能力也會受到樣本辨別能力的限制。因此,應向網(wǎng)絡呈現(xiàn)有區(qū)別的訓練樣例,以實現(xiàn)更好的學習和表示。樣本選擇作為預處理步驟可以提高網(wǎng)絡模型的成功率。深度度量學習中的負挖掘研究具有高影響價值。選擇信息豐富的樣本可以避免過度擬合,提高學習速度,并減少資源浪費。因此,在選擇信息豐富的樣本后,可以實現(xiàn)性能的顯著提高。
3.3 ?深度度量學習的損失函數(shù)
本節(jié)將介紹用于應用深度度量學習的損失函數(shù),包括其使用方式和差異。這些函數(shù)幫助我們通過調整對象相似性來優(yōu)化特征表示。
Siamese網(wǎng)絡最初用于簽名驗證,基于從基于能量的模型的判別學習框架中學習。該方法將兩張相同圖像放入連體網(wǎng)絡,通過學習獲得二進制值,判斷圖像是否屬于同一類。Siamese網(wǎng)絡作為度量學習方法,接收成對圖像訓練網(wǎng)絡模型。圖像對之間的距離通過損失函數(shù)計算(等式(5))。對比損失使Siamese網(wǎng)絡受益,啟發(fā)了深度度量學習領域的研究人員。Siamese網(wǎng)絡可以最大化或最小化對象之間的距離以提高分類性能。共享權重用于在深度度量學習中獲得圖像中有意義的模式,如圖 5 所示,對神經(jīng)網(wǎng)絡性能產生積極影響。Siamese網(wǎng)絡和卷積神經(jīng)網(wǎng)絡可以結合,同時從直接圖像像素、顏色和紋理信息進行相似性學習。深度度量學習模型結合兩個Siamese卷積神經(jīng)網(wǎng)絡和馬哈拉諾比斯度量進行行人重新識別。
圖5 Siamese 網(wǎng)絡和 Triplet 網(wǎng)絡
Triplet網(wǎng)絡受Siamese網(wǎng)絡啟發(fā),包含三個對象,形成正、負和錨樣本。這種網(wǎng)絡利用歐幾里得空間來比較模式識別過程中的對象,與度量學習緊密相關。從等式(6)中可以看出,三元組損失關注相同類和不同類的成對樣本相似性,通過比較成對樣本的相似性進行分類(圖 6)。三元組網(wǎng)絡不僅利用類內和類間關系,還提供了更高的區(qū)分能力。分層三元組損失通過在線自適應樹更新提高了網(wǎng)絡的性能。另外,角度損失是一種新穎的方法,側重于三重三角形負點處的角度約束,將負點推離正簇的中心,使正點彼此靠近,同時使用作為旋轉和尺度不變度量的角度(等式(8))。四倍損失在每個訓練批次中使用四倍樣本,以獲得更好的接近度。直方圖損失使用四元組訓練樣本,利用直方圖來計算正負對的相似度分布,無需調整參數(shù),在人員重新識別數(shù)據(jù)集的實驗研究中獲得了優(yōu)異的結果。部分損失旨在使用不同的身體部位進行評估,將圖像分為五個部分,計算每個部分的部分損失值。
損失函數(shù)是深度度量學習模型的關鍵,嵌入空間中配對樣本的新表示需要考慮一些損失函數(shù)。例如,一對輸入樣本DW(X1, X2)的距離為:
其中,GW(X1) 和 GW(X2) 是新表示的輸入樣本,DW用于計算損失函數(shù)中兩個輸入之間的距離。用于計算 Siamese 網(wǎng)絡模型中損失函數(shù)的 LContrastive 是:
其中Y是標簽值,如果輸入來自同一類則Y=1,否則Y=0。m是LContrastive中的margin值。三元組網(wǎng)絡有三個輸入:錨輸入X、與X相似的X_p、與X不同的X_n。LTriplet損失是:
其中 α 是裕度值。四元網(wǎng)絡模型還具有與三元網(wǎng)絡模型不同的另一個輸入X。X s 類似于 X 輸入,如 X p 輸入。四倍損失 LQuadruple 是:
角度損失考慮了樣本之間的角度關系。角度損失 LAngular 是:
其中 X c 位于 X 和 X p 的中間。Xc 是:
傳統(tǒng)深度結構度量學習模型,如Siamese和Triplet Networks,忽略了訓練樣本的結構信息。深度結構度量學習方法通過深度網(wǎng)絡中的特殊結構化損失將成對距離向量提升為成對距離矩陣,充分利用上下文信息。Sohn提出了多類N對損失解決Siamese和Triplet網(wǎng)絡收斂速度慢和局部最優(yōu)性差的問題。Npair loss受益于N-1個負類樣本來比較錨樣本(圖 6e)。多重相似性損失同時考慮了自相似性和相對相似性,使模型更有效地收集和加權信息豐富的樣本對。
圖6?度量損失函數(shù)
在訓練階段之前,必須為Siamese、Triplet和n-double網(wǎng)絡準備訓練數(shù)據(jù),此過程需要更多磁盤空間并且非常耗時。宋等人提出了一種新的深度度量學習方法,使用聚類損失將樣本聚集在一個聚類中(圖 6g),防止不同的簇相互接近。里佩爾等人強調三元組損失一次評估一個三元組樣本來訓練數(shù)據(jù)集,減少網(wǎng)絡的學習時間。然而,這種方法會導致性能不佳和培訓不足。因此,他們建議磁體損失,這會懲罰簇重疊并評估簇中最近的鄰居以分離多個簇。所提出的方法具有局部區(qū)分度,并且與優(yōu)化過程全局一致。混合損失受到三元組損失的啟發(fā),除了anchor和負樣本之外,還使用三個正樣本和三個負樣本來建立樣本之間的相似關系。圖6h說明了在使用局部鄰域時相似樣本如何接近最近的集群。表2詳細總結了文獻中最先進的損失指標。
表2 損失指標
4 ?討論
深度度量學習(DML)用于人臉驗證、識別、人員重識別和3D形狀檢索,表1顯示,DML對類別多、樣本少的任務效果顯著。DML由度量損失函數(shù)、采樣策略和網(wǎng)絡結構組成,如Siamese、Triplet和Quadruple網(wǎng)絡。度量損失函數(shù)如對比損失、三重損失、四重損失和n對損失,增加數(shù)據(jù)樣本大小,但可能導致訓練時間過長和內存消耗大。硬負挖掘和半硬負挖掘提供信息豐富的樣本,而正確的采樣策略對快速收斂至關重要。聚類損失作為度量函數(shù),無需數(shù)據(jù)準備步驟。DML通常在GPU上執(zhí)行,但某些策略也可用于CPU集群以使用大批量數(shù)據(jù)。DML高度依賴數(shù)據(jù),度量損失函數(shù)可能無法提供快速收斂。預訓練網(wǎng)絡模型的權重有助于嵌入空間快速收斂和更具辨別力的學習。
5 ?結論
深度度量學習是近年來的研究熱點,旨在學習相似性度量,用于計算對象間的相似性或不相似性。目前,Siamese和Triplet網(wǎng)絡在圖像、視頻、文本和音頻任務中表現(xiàn)出高效性。深度度量學習研究包括信息輸入樣本、網(wǎng)絡模型結構和度量損失函數(shù)。未來研究方向包括優(yōu)化采樣策略、共享權重和度量損失函數(shù)的組合。雖然研究已取得進展,但仍有許多方面有待探索,如現(xiàn)有方法的缺點和局部特征與全局特征的結合。
審核編輯:黃飛
?
評論
查看更多