一、什么是度量學習?
度量學習 (Metric Learning) == 距離度量學習 (Distance Metric Learning,DML) == 相似度學習。
在數學中,一個度量(或距離函數)是一個定義集合中元素之間距離的函數。一個具有度量的集合被稱為度量空間。度量學習(Metric Learning) 是人臉識別中常用的傳統機器學習方法,由Eric Xing在NIPS 2002提出,可以分為兩種:
- 通過線性變換的度量學習
- 通過非線性變化的度量
其基本原理是根據不同的任務來自主學習出針對某個特定任務的度量距離函數。后來度量學習又被遷移至文本分類領域,尤其是針對高維數據的文本處理,度量學習有很好的分類效果。
二、為什么用度量學習?
K-means、K近鄰方法、SVM等算法,比較依賴於輸入時給定的度量,比如:數據之間的相似性,那么將面臨的一個基本的問題是如何獲取數據之間的相似度。為了處理各種各樣的特征相似度,我們可以在特定的任務通過選擇合適的特征並手動構建距離函數。然而這種方法會需要很大的人工投入,也可能對數據的改變非常不魯棒。度量學習作為一個理想的替代,可以根據不同的任務來自主學習出針對某個特定任務的度量距離函數。
三、度量學習內容
根據不同的任務來自主學習出針對某個特定任務的度量距離函數。通過計算兩張圖片之間的相似度,使得輸入圖片被歸入到相似度大的圖片類別中去。
與經典識別網絡相比
經典識別網絡有一個bug:必須提前設定好類別數。 這也就意味着,每增加一個新種類,就要重新定義網絡模型,並從頭訓練一遍。
比如我們要做一個門禁系統,每增加或減少一個員工(等於是一個新類別),就要修改識別網絡並重新訓練。很明顯,這種做法在某些實際運用中很不科學。
因此,Metric Learning作為經典識別網絡的替代方案,可以很好地適應某些特定的圖像識別場景。一種較好的做法,是丟棄經典神經網絡最后的softmax層,改成直接輸出一根feature vector,去特征庫里面按照Metric Learning尋找最近鄰的類別作為匹配項。
目前,Metric Learning已被廣泛運用於人臉識別的日常運用中。
參考博客:https://cloud.tencent.com/developer/article/1347494
參考鏈接:http://www.cs.cmu.edu/~liuy/distlearn.htm