看到一篇知乎大神Flood Sung發表在CVPR2018上的paper,介紹了一種基於metric的模式識別方法,創新之處在於它不同於常用的matric-based方法,使用人為定義的度量,像簡單的歐式距離、馬氏距離,而是采用了用神經網絡去訓練這個度量,模型雖然簡單,但是效果卻很顯著。
1、度量(Metric)
先說一下關於度量這個概念:在數學中,一個度量(或距離函數)是一個定義集合中元素之間距離的函數。一個具有度量的集合被稱為度量空間。
2、度量學習的作用
度量學習也叫作相似度學習,根據這個叫法作用就很明確了。
之所以要進行度量學習,一方面在一些算法中需要依賴給定的度量:如Kmeans在進行聚類的時候就用到了歐式距離來計算樣本點到中心的距離、KNN算法也用到了歐式距離等。這里計算的度量,就是比較樣本點與中心點的相似度。
這里的度量學習在模式識別領域,尤其是在圖像識別這方面,在比較兩張圖片是否是相同的物體,就通過比較兩張圖片的相似度,相似度大可能性就高。
因為在研究時間序列這方面的問題,所以想到了在時間序列中度量學習的體現,如果是判斷兩個區間的相似性,通常用到的度量方式就是采用常用到的歐式或者其他人為定義的距離函數,這樣也就局限於了這樣一個二維或者多維的空間中,而如果是用到Flood Sung大神提出的方法的話,我們把思路拓寬,能不能也是用神經網絡來訓練這個度量,這樣的好處就是:
- 長度不同的片段也可以進行比較。
- 可以拓寬維度,從其他維度上尋找關聯。
以下摘自:https://blog.csdn.net/nehemiah_li/article/details/44230053
3、常用到的度量學習方法
從廣義上將度量學習分為:通過線性變換的度量學習和度量學習的非線性模型。
3.1線性變換的度量學習
線性的度量學習問題也稱為馬氏度量學習問題,可以分為監督的和非監督的學習算法。
3.1.1監督的全局度量學習
- Information-theoretic metric learning(ITML)
- Mahalanobis Metric Learning for Clustering(MMC)
- Maximally Collapsing Metric Learning (MCML)
3.1.2監督的局部度量學習
- Neighbourhood Components Analysis (NCA)
- Large-Margin Nearest Neighbors (LMNN)
- Relevant Component Analysis(RCA)
- Local Linear Discriminative Analysis(Local LDA)
3.1.3非監督的度量學習
- 主成分分析(Pricipal Components Analysis, PCA)
- 多維尺度變換(Multi-dimensional Scaling, MDS)
- 非負矩陣分解(Non-negative Matrix Factorization,NMF)
- 獨立成分分析(Independent components analysis, ICA)
- 鄰域保持嵌入(Neighborhood Preserving Embedding,NPE)
- 局部保留投影(Locality Preserving Projections. LPP)
3.2度量學習的非線性模型
非線性降維算法可以看作屬於非線性度量學習:
- 等距映射(Isometric Mapping,ISOMAP)
- 局部線性嵌入(Locally Linear Embedding, LLE)
- 拉普拉斯特征映射(Laplacian Eigenmap,LE )
通過核方法來對線性映射進行擴展:
- Non-Mahalanobis Local Distance Functions
- Mahalanobis Local Distance Functions
- Metric Learning with Neural Networks
4、論文推薦
- Distance metric learning with application to clustering with side-information
- Information-theoretic metric learning(關於ITML)
- Distance metric learning for large margin nearest neighbor classification(關於LMNN)
- Learning the parts of objects by non-negative matrix factorization(Nature關於RCA的文章)
- Neighbourhood components analysis(關於NCA)
- Metric Learning by Collapsing Classes(關於MCML)
- Distance metric learning a comprehensive survey(一篇經典的綜述)
個人總結
想了一下,度量學習定位的話應該是最基礎的部分。現在在用的無論是深度學習、強化學習還是神經網絡或是監督學習,為了避免結果發散或者收斂結果好些,在使用前一般需要一個特征轉換或者聚類的處理,在進行特征轉換或者聚類時最基本的和最容易忽略的部分就是關於度量的學習,使用人為定義的方法必然有其局限性,那么通過神經網絡或者其他方法是否效果會更好呢,將這個可以進一步研究。
《Discriminative Deep Metric Learning for Face Verification in the Wild》閱讀記錄
簡介
度量學習(Metric Learning)也就是常說的相似度學習。如果需要計算兩張圖片之間的相似度,如何度量圖片之間的相似度使得不同類別的圖片相似度小而相同類別的圖片相似度大(maximize the inter-class variations and minimize the intra-class variations)就是度量學習的目標。
例如如果我們的目標是識別人臉,那么就需要構建一個距離函數去強化合適的特征(如發色,臉型等);而如果我們的目標是識別姿勢,那么就需要構建一個捕獲姿勢相似度的距離函數。為了處理各種各樣的特征相似度,我們可以在特定的任務通過選擇合適的特征並手動構建距離函數。然而這種方法會需要很大的人工投入,也可能對數據的改變非常不魯棒。度量學習作為一個理想的替代,可以根據不同的任務來自主學習出針對某個特定任務的度量距離函數。
conventional Mahalanobis distance metric learning
傳統馬氏距離度量學習是從訓練集XX中尋找矩陣M∈Rd×dM∈Rd×d,計算兩個樣本x1x1,x2x2之間的馬氏距離:
dM(xi,xj)=(xi−xj)TM(xi−xj)−−−−−−−−−−−−−−−−−√dM(xi,xj)=(xi−xj)TM(xi−xj)
由於MM為對稱半正定矩陣,因此可以分解為:
M=WTWM=WTW
其中W∈Rp×d,p<dW∈Rp×d,p<d 。那么:
dM(xi,xj)=(xi−xj)TWTW(xi−xj)−−−−−−−−−−−−−−−−−−−−√=∥Wxi−Wxj∥2dM(xi,xj)=(xi−xj)TWTW(xi−xj)=‖Wxi−Wxj‖2
根據上面公式可知傳統的馬氏距離度量學習是通過尋找一個線性轉換將每一個樣本xixi投影到低維子空間中(因為 p<dp<d),投影后樣本間的歐式距離即為原空間中的馬氏距離。
discriminative deep metric learning (DDML)
由於傳統方法用到的線性變換不能夠捕捉面部圖片所依賴的非線性流形(nonlinear manifold)
線性流型
幾何空間的直線或平面具有性質:集合中任意2點生成的直線一定包含在這個集合里,即直線和平面是平和直的。把平和直的概念推廣到高維就能得到線性流形的概念。
為了解決傳統方法的限制,論文提到將樣本投影到高維特征空間中,在高維空間中進行距離度量。
度量學習之論文參考
2018.07.24 22:53 142瀏覽
字號
一. 傳統的距離度量學習方法:
監督方法
1.NIPS 2005(LMNN):Distance Metric Learning for Large Margin Nearest Neighbor Classification
1.1 AAAI 2017(LMNN的拓展):Parameter Free Large Margin Nearest Neighbor for Distance Metric Learning
2. Lecture Notes(FLD(LDA的一種),必看):Fisher Linear Discriminant Analysis(FLD)
2.1 NIPS 2003(MMC,解決了LDA樣本少出現不可逆的問題):Efficient and Robust Feature Extraction by Maximum Margin Criterion
2.2 CVPR 2007(ANMM,注意與LDA的關系以及與MMC,LMNN的區別聯系):Feature Extraction by Maximizing the Average Neighborhood Margin
2.3 ICCV 2005(SNMMC,同樣是解決LDA出現的四大問題,逐步的思想以及margin的設定很不錯):Face Recognition By Stepwise Nonparametric Margin Maximum Criterion
2.4 ECML 2004(MMDA,將分類器與數據降維特征提取結合,非常棒的發現):Margin Maximizing Discriminant Analysis
3.NIPS 2009(相似度學習(Similarity Learning),放棄了對稱和半定的約束,但實驗效果也不變差,建議看一下):An Online Algorithm for Large Scale Image Similarity Learning
無監督方法:
1.Lecture Notes(PCA,必看):Principal Component Analysis(PCA)
二. 深度距離度量學習:
1.CVPR 2014: Discriminative Deep Metric Learning for Face Verification in the Wild
2.CVPR 2015(注意與1的區別與聯系):Multi-Manifold Deep Metric Learning for Image Set Classification
3.CVPR 2016(最大化使用batch)Deep Metric Learning via Lifted Structured Feature Embedding
4.NIPS 2016(注意與3的區別)Improved Deep Metric Learning with Multi-class N-pair Loss Objective
三. 輔助論文學習(上述距離度量論文中涉及的內容):
1.CVPR2016(近似近鄰搜索): FANNG: Fast Approximate Nearest Neighbour Graphs
基於深度學習的Person Re-ID(度量學習)
度量學習 是指 距離度量學習,Distance Metric Learning,簡稱為 DML,做過人臉識別的童鞋想必對這個概念不陌生,度量學習是Eric Xing在NIPS 2002提出。
這並不是個新詞,說的直白一點,metric learning 是通過特征變換得到特征子空間,通過使用度量學習,讓類似的目標距離更近(PULL),不同的目標距離更遠(push),也就是說,度量學習需要得到目標的某些核心特征(特點),比如區分兩個人,2只眼睛1個鼻子-這是共性,柳葉彎眉櫻桃口-這是特點。
我們可以把 度量學習分為兩種,一種是基於監督學習的,另外一種是基於非監督學習的。
一. 監督學習
1)LDA Fisher線性判別
2)Local LDA
Local Linear Discriminative Analysis
3)RCA 相關成分分析
Relevant Component Analysis
4)LPP 局部保留投影
Locality Preserving Projection
5)LMNN 大間隔最近鄰
Large-Margin Nearest Neighbors
6)LLE 局部線性嵌入
Locally linear embedding
監督學習的方法應用比較多,包括上一節我們講到的 基於CNN的特征提取都屬於監督學習的范疇。
二. 非監督學習
嚴格說來,非監督的度量學習(主要是指降維方法)不算真正的度量學習,我們也把他們列出來,方便讀者記憶:
1)主成分分析(Pricipal Components Analysis, PCA)
2)多維尺度變換(Multi-dimensional Scaling, MDS)
3)獨立成分分析(Independent components analysis, ICA)
4)拉普拉斯特征映射(Laplacian Eigenmaps)
ok,就講到這里,剩下的需要大家具體了解每一個方法,然后提出自己的新方法!