漫谈度量学习(Distance Metric Learning)那些事儿
?作者 | 黃春喜
單位?| 香港科技大學(xué)
研究方向 | 智能交通
前言
上圖為 2018 年 4 月在杭州阿里中心聽(tīng) Michael Jordan 講座時(shí)所攝,他本人也是 distance metric learning 研究的開(kāi)山鼻祖之一。當(dāng)時(shí)只知大佬名氣、不知大佬風(fēng)范,現(xiàn)如今讀起文章來(lái),才覺(jué)得很幸運(yùn)曾經(jīng)有過(guò)的時(shí)空上的交集,希望以后能努力做好自己的研究。
在機(jī)器學(xué)習(xí)中,distance metric learning(也稱(chēng) metric learning,度量學(xué)習(xí))是一個(gè)很典型的任務(wù),通常與很多熟知的 metric-based methods(如 KNN、K-means 等)結(jié)合起來(lái)使用以實(shí)現(xiàn)分類(lèi)或者聚類(lèi) ,效果通常非常不錯(cuò)。很多機(jī)器學(xué)習(xí)方面的研究已經(jīng)發(fā)現(xiàn):如果 distance metric 學(xué)得足夠好,學(xué)出來(lái)的 metric 結(jié)合最簡(jiǎn)單的 1NN 分類(lèi)器其結(jié)果在很多任務(wù)上完全可以媲美很多很復(fù)雜的分類(lèi)器,甚至在某些任務(wù)上還能達(dá)到 SOTA 的效果。此外,大部分 distance metric learning 的方法其數(shù)學(xué)模型和求解方法定義得都很清楚,讓人看起來(lái)很舒服,也給后續(xù)研究可能進(jìn)行的拓展留足了想象空間。
在去年下半年有一小段時(shí)間中,我因?yàn)槟承┰蛟?jīng)短暫的接觸過(guò) distance metric learning,當(dāng)時(shí)是完全小白的狀態(tài),但無(wú)奈需要解決手里的問(wèn)題,試圖去檢索了很多資料和信息。這個(gè)學(xué)習(xí)過(guò)程很痛苦,主要是由于資料大多零零散散,也沒(méi)什么高質(zhì)量的信息,看到的很多中文博客寫(xiě)的并不友好,兜兜轉(zhuǎn)轉(zhuǎn)一圈還是不知道如何入手。雖然我現(xiàn)在因研究方向調(diào)整已經(jīng)不再做這個(gè)方向了,但還是希望留下這篇文章:一是分享一下自己從初學(xué)者角度對(duì) distance metric learning 的理解,供大家參考;二是把自己之前花了很多時(shí)間找的我個(gè)人覺(jué)得很有價(jià)值的資料和 references 分享給后來(lái)者,希望對(duì)感興趣的伙伴有幫助。
本文從傳統(tǒng)的 distance metric 開(kāi)始介紹、聊聊為什么要從數(shù)據(jù)中學(xué)習(xí)出一個(gè) metric 以及 distance metric learning 的簡(jiǎn)單歷史,并且以 LMNN 為例談?wù)勂渥鳛?distance metric learning 經(jīng)典方法之一的特點(diǎn),最后再簡(jiǎn)單總結(jié)并把我之前覺(jué)得很有價(jià)值的資料和 references 附在文末分享給大家。相關(guān)資料和 references 在【Distance Metric Learning 優(yōu)質(zhì)資料分享】一節(jié),感興趣的伙伴自行取用。
要想理解 distance metric learning,故事得從其中的“distance”開(kāi)始講起。
Distance
所謂的距離,通常指的是兩個(gè)向量(空間中的兩個(gè)點(diǎn))之間的距離。那么,如果兩個(gè)向量之間的距離很大意味著什么?距離很小又意味著什么?事實(shí)上,距離還可以從另外一個(gè)角度來(lái)理解:相似度。
在機(jī)器學(xué)習(xí)任務(wù)中,通常不同的向量代表著不同的樣本,換句話(huà)說(shuō)如果兩個(gè)樣本之間的距離很小,我們可以理解為兩個(gè)樣本的相似度很高,反之如果兩個(gè)樣本之間距離很大,其之間的相似度就很低。如果是在分類(lèi)任務(wù)中,借由距離和相似度的概念我們有一個(gè)很直觀的認(rèn)識(shí)就是:相似度高(距離小)的樣本,其屬于同一類(lèi)的概率會(huì)大于相似度低(距離大)的樣本屬于同一類(lèi)的概率。KNN 無(wú)疑就是這種理念的最佳踐行者,其本身蘊(yùn)含的思想就是基于距離來(lái)對(duì)樣本進(jìn)行分類(lèi)。這種思想也啟發(fā)、指導(dǎo)了很多 distance metric learning 方法的設(shè)計(jì)和實(shí)現(xiàn)。
提到距離,就必須說(shuō)說(shuō)距離度量的方式,也就是說(shuō):我們?cè)撊绾斡?jì)算兩個(gè)向量之間的距離?
1. 我們最常用最熟知的距離度量方式無(wú)非就是歐氏距離(Euclidean distance),兩個(gè)向量 和 之間的歐氏距離被定義為: 。因?yàn)榕c大家早在高中階段接觸的二維乃至三維向量距離計(jì)算方式相同,歐氏距離理解起來(lái)很容易。但是歐氏距離同樣也存在其最顯著的缺點(diǎn):歐氏距離只能建立樣本間點(diǎn)對(duì)點(diǎn)的聯(lián)系、處理長(zhǎng)度相等的數(shù)據(jù)。如果輸入數(shù)據(jù)長(zhǎng)度不相等,或是兩個(gè)向量在時(shí)間軸上有偏移,那么歐氏距離的效果一般就會(huì)較差,這種情況下 Dynamic Time Warping(DTW)距離是一個(gè)很好的替代品,關(guān)于 DTW 距離之前寫(xiě)過(guò)一篇文章,供大家參考:
https://zhuanlan.zhihu.com/p/389388258
2. 除了歐氏距離,常用的距離度量還有閔氏距離(Minkowski distance),其被定義為兩個(gè)向量的 p 階距離,可以寫(xiě)成:,很明顯,歐氏距離就是閔氏距離中 時(shí)的特例。當(dāng) 時(shí),其為曼哈頓距離 (Manhattan distance),也就是對(duì)應(yīng)點(diǎn)之間相減取絕對(duì)值的算法。
3. 另外一個(gè)常見(jiàn)的距離度量是由印度統(tǒng)計(jì)學(xué)家馬哈拉諾比斯(P. C. Mahalanobis)提出的,因此被稱(chēng)為馬氏距離(Mahalanobis distance)。馬氏距離同樣也是定義在兩個(gè)向量上,這兩個(gè)樣本點(diǎn)來(lái)自同一個(gè)分布。馬氏距離可以寫(xiě)為:,其中 是這個(gè)分布的協(xié)方差矩陣。顯然,當(dāng)協(xié)方差矩陣 時(shí),馬氏距離退化為歐氏距離。
在機(jī)器學(xué)習(xí)的眾多應(yīng)用中,還有很多很多距離度量的方式,如:余弦相似度(利用向量夾角的余弦衡量?jī)蓚€(gè)向量的距離)、Hamming distance(衡量?jī)蓚€(gè)等長(zhǎng)字符串之間的距離)、KL 散度 (衡量?jī)蓚€(gè)概率分布間的距離)、JS 距離(基于 KL 散度的一個(gè)對(duì)稱(chēng)的距離度量方式)等。此處空間有限不再細(xì)說(shuō),感興趣的伙伴可以自行了解~
很顯然,對(duì)于兩個(gè)樣本向量 和 ,如果我們利用不同的距離度量方式,得出的距離也就完全不同了。這同時(shí)也提醒我們,度量樣本間距離的方法對(duì)于我們的結(jié)果有著至關(guān)重要的作用。這其實(shí)也就是 distance metric learning 最核心的 motivation:希望從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)出一個(gè)最適合這個(gè)任務(wù)的 distance metric,以期達(dá)到最好的效果。
Distance metric learning 與 LMNN
distance metric learning 相關(guān)的研究大約始于二十年前,要認(rèn)真算起來(lái)的話(huà),其代表性的開(kāi)山之作應(yīng)該是 2002 年 Eric Xing 與 Andrew Ng、Michael Jordan 等人(真是每個(gè)名字都是大佬啊 hhh)合作在 NIPS 上發(fā)表的題為“Distance metric learning with application to clustering with side-information”的論文:
https://proceedings.neurips.cc/paper/2002/file/c3e4035af2a1cde9f21e1ae1951ac80b-Paper.pdf
這篇文章除了作為 distance metric learning 的開(kāi)山之作以外,還創(chuàng)造性的將 metric learning 的過(guò)程構(gòu)造成了一個(gè)凸優(yōu)化問(wèn)題,這給當(dāng)時(shí)初生的 metric learning 的可靠性和穩(wěn)定性提供了很大的保障和幫助。
在這篇文章中,他們定義 distance metric 并且從 side-information 中學(xué)習(xí)出 metric 的做法在今天其實(shí)可以被稱(chēng)為 mahalanobis distance metric learning。顧名思義,其原因是直接借用了馬氏距離中度量距離的方法,其距離可寫(xiě)成此形式:,其中 是一個(gè)對(duì)稱(chēng)的半正定矩陣,而在馬氏距離中 是協(xié)方差矩陣的逆 。這種構(gòu)造方法還可以從另外一個(gè)角度來(lái)理解,由于 是一個(gè)對(duì)稱(chēng)的半正定矩陣,則有:
很顯然,這實(shí)際上就是對(duì)原樣本空間利用矩陣 進(jìn)行線性投影后在新樣本空間內(nèi)的歐氏距離!而 distance metric learning 的目標(biāo),就是學(xué)出這樣的矩陣 (或矩陣 )。到這里可能有伙伴會(huì)好奇,為什么不在原樣本空間用歐氏距離,一定要經(jīng)過(guò)一個(gè)線性投影 呢?答案很簡(jiǎn)單,在原樣本空間里我們無(wú)法通過(guò)歐氏距離來(lái)很好的區(qū)分不同類(lèi)別的樣本,原樣本空間中不同類(lèi)別的樣本混在一起,導(dǎo)致其歐氏距離很小,如果此時(shí)我們用一些 metric-based 的分類(lèi)器效果就很差。
為了提高分類(lèi)準(zhǔn)確率,我們對(duì)原樣本空間做線性投影后,在新的空間可能不同類(lèi)別的樣本就會(huì)分得比較開(kāi),此時(shí)用”歐氏距離“(投影后的新空間內(nèi))效果就會(huì)比較好。下圖一看便知:
▲ metric learning的幾何直覺(jué)
當(dāng)然,不是所有的 distance metric 都是線性的,有線性的、也有非線性的,有監(jiān)督的、也有非監(jiān)督的。本文只為簡(jiǎn)單介紹 distance metric learning 的概念,更多的內(nèi)容留待感興趣的伙伴自由探索。在過(guò)去二十年 CS、AI 領(lǐng)域的研究中,涌現(xiàn)出了眾多 distance metric learning 的經(jīng)典方法,例如 NCA、LMNN、ITML ?等,還有后續(xù)的一系列 online learning、linear similarity learning、nonlinear metric learning、multi-task metric learning、deep distance metric learning 等等。20 年前的方興未艾,20 年后的浩如煙海,大致就是如此了。
在此我以我個(gè)人比較熟悉的 LMNN 方法為例,給大家分享一下該方法中 metric learning 的思想。LMNN 是 Large Margin Nearest Neighbor的縮寫(xiě),原文最初發(fā)表于 2005 年的 NIPS,后來(lái) 2009 年在 JMLR 上補(bǔ)發(fā)了長(zhǎng)文,邏輯很清晰、也很易懂,提綱挈領(lǐng)的同時(shí)又不失細(xì)節(jié),算得上小半篇 review,強(qiáng)烈推薦:
https://www.jmlr.org/papers/volume10/weinberger09a/weinberger09a.pdf
LMNN 方法的核心思想也比較簡(jiǎn)單:在 LMNN 之前的很多方法(如 Eric Xing 等人的 MMC)約束都很強(qiáng),要求同類(lèi)別樣本之間差距小而不同類(lèi)別樣本之間差距大,這在實(shí)際中是很難實(shí)現(xiàn)的。而且結(jié)合最近鄰算法的思想,影響分類(lèi)結(jié)果的就是最近的幾個(gè)樣本的類(lèi)別,沒(méi)有必要去要求那么強(qiáng)的約束,我們只要實(shí)現(xiàn)利用 metric 把離每個(gè)樣本最近的幾個(gè)樣本都拉近到同類(lèi)別,不就可以了嗎?LMNN 的思想可以用下圖來(lái)理解:
▲ Weinberger K Q, Saul L K. Distance metric learning for large margin nearest neighbor classification[J]. Journal of machine learning research, 2009, 10(2).
在左圖所示原空間中,以 樣本為例,離其最近的三個(gè)同類(lèi)別樣本(target neighbors)形成的圈子中,有其他類(lèi)別的樣本存在,這意味著如果在原空間使用歐氏距離結(jié)合 KNN 算法,容易受到所謂的入侵者(impostors)的影響。所以 LMNN 的核心思想就是通過(guò)學(xué)習(xí)一個(gè) distance metric,使其所對(duì)應(yīng)的線性投影矩陣投影到新空間后,最近的數(shù)個(gè)同類(lèi)別樣本(target neighbors)們被拉得更近、而每個(gè)樣本的入侵者(impostors)都被推得更遠(yuǎn),以致最近的數(shù)個(gè)同類(lèi)別樣本(target neighbors)圍成的圈與入侵者(impostors)的距離有一個(gè)邊界(margin)(如上面右圖所示)。這樣的話(huà),經(jīng)過(guò) LMNN 學(xué)習(xí)到的 distance metric,采用 KNN 的算法來(lái)進(jìn)行分類(lèi),就會(huì)有很好的效果了~
那么,LMNN 是如何實(shí)現(xiàn)這一推一拉的呢?這得益于 LMNN 算法中巧妙的 loss function設(shè)計(jì)。LMNN 算法的 loss function 分為兩個(gè)部分,一個(gè)部分負(fù)責(zé)拉近最近的數(shù)個(gè)同類(lèi)別樣本(target neighbors),一部分負(fù)責(zé)推開(kāi)每個(gè)樣本的入侵者(impostors)。
負(fù)責(zé)拉近的部分被構(gòu)造為:
▲ j -> i 代表j是i的target neighbors
很顯然,這部分通過(guò)懲罰同類(lèi)別樣本間的大距離達(dá)到拉近同類(lèi)別樣本的效果。
負(fù)責(zé)推開(kāi)的部分被構(gòu)造為:
▲ j -> i 代表j是i的target neighbors
其中 代表標(biāo)準(zhǔn)的 hinge loss。如果 是 的 target neighbors,,那自然就不用推開(kāi)了,此時(shí)這一項(xiàng) loss 為 0;如果 是 的 impostors,,如果括號(hào)內(nèi)大于 0,意味著在投影后的新空間中,仍然有 impostors 入侵到 margin 之內(nèi)。所以此項(xiàng) loss 通過(guò)懲罰括號(hào)內(nèi)大于 0 的項(xiàng)(impostors 入侵進(jìn)入 margin)來(lái)實(shí)現(xiàn)推開(kāi)的 impostors 的功能。
最終這一推一拉利用一個(gè)參數(shù) 實(shí)現(xiàn)了平衡和調(diào)整:
以上就是關(guān)于 LMNN 思想的簡(jiǎn)單介紹,當(dāng)然學(xué)習(xí) metric 的過(guò)程還需要一些構(gòu)造優(yōu)化問(wèn)題并求解的過(guò)程,那又是另外一個(gè)故事了。事實(shí)上在眾多的 metric learning 方法中,很多都有相近的思想(拉近同類(lèi)、區(qū)別異類(lèi)),只是大家的 formulation 不同,衍生出了不同的工具和方法。感興趣的伙伴可以自行了解其他各種有趣的方法。
Distance metric learning 在工程應(yīng)用中的實(shí)踐
前文提到,我自己短暫的花了一段時(shí)間嘗試了 distance metric learning 的學(xué)習(xí)和實(shí)踐,這里以我自己之前解決的小問(wèn)題作為一個(gè) toy example,跟大家分享一下在非 CS 的工程學(xué)科中 distance metric learning 的大致實(shí)踐過(guò)程。
為什么做:在智能制造的大背景下,隨著傳感器、控制、計(jì)算機(jī)等一系列技術(shù)的發(fā)展,各種過(guò)去無(wú)法被記錄的制造過(guò)程中的數(shù)據(jù)現(xiàn)在可以被各種各樣的傳感器記錄下來(lái)了,這給我們提供了很多數(shù)據(jù)驅(qū)動(dòng)的制造過(guò)程分析和決策的機(jī)會(huì),制造產(chǎn)品的質(zhì)量預(yù)測(cè)與監(jiān)控就是其中重要的一個(gè)分支。
過(guò)去傳統(tǒng)的質(zhì)量控制大多都是 post-process 的,也就是說(shuō)得等產(chǎn)品完成很多工序直到質(zhì)檢工序時(shí)才被發(fā)現(xiàn),而某些產(chǎn)品質(zhì)量可能在其中某一個(gè)工序就出問(wèn)題了,可這些有問(wèn)題的產(chǎn)品依舊經(jīng)過(guò)了后續(xù)的很多工序加工,這造成了很大的資源和成本浪費(fèi)。所以我們需要一個(gè) in-process 的質(zhì)量監(jiān)測(cè)工具幫助我們根據(jù)制造過(guò)程數(shù)據(jù)及時(shí)判斷出哪些產(chǎn)品可能是有問(wèn)題的、及時(shí)發(fā)現(xiàn)并防止浪費(fèi)。
做什么:在某個(gè)特殊的產(chǎn)品制造過(guò)程中,行業(yè)專(zhuān)家告訴我們制造過(guò)程中的某種數(shù)據(jù)(記為 )是跟產(chǎn)品的質(zhì)量有重要聯(lián)系的。于是,我們借由傳感器收集到了多個(gè)樣本制造過(guò)程種每個(gè)樣本的 數(shù)據(jù),根據(jù)現(xiàn)有制造產(chǎn)線后續(xù)的質(zhì)檢工序,制造方為我們提供了這些樣本的真實(shí)標(biāo)簽(記為 ,兩種:合格品 和不合格品 )。
這個(gè)問(wèn)題中有兩個(gè)小的 challenges:由于制造過(guò)程中的隨機(jī)性,每個(gè)樣本的 數(shù)據(jù)其長(zhǎng)度大多是不相等的;此外,我們收集數(shù)據(jù)的樣本中,樣本量較為有限,且合格品的數(shù)量遠(yuǎn)大于不合格品的數(shù)量,比率大概在 20:1 左右,換句話(huà)說(shuō),這是個(gè)樣本量有限的不平衡數(shù)據(jù)集。而我們的目標(biāo)就是根據(jù)收集到的 數(shù)據(jù)來(lái)構(gòu)建一個(gè)預(yù)測(cè)產(chǎn)品質(zhì)量是否合格(標(biāo)簽 )的模型,這樣就可以針對(duì)每個(gè)制造過(guò)程中的新樣本根據(jù)收集到的過(guò)程數(shù)據(jù)實(shí)現(xiàn) in-process 的質(zhì)量預(yù)測(cè)和監(jiān)控了。
怎么做:前期我做了其他方法的很多探索,就不在此一一贅述了,此處直接闡述利用 distance metric learning 的做法。在將樣本簡(jiǎn)單劃分為 training set 和 test set 后,由于 distance metric learning 不能處理非等長(zhǎng)的數(shù)據(jù),我先隨機(jī)選取了一個(gè)樣本作為參考樣本利用 DTW 將其他所有樣本(包括 training set 和 test set)進(jìn)行拉齊處理(這里有一個(gè) trick:利用各種 MATLAB 或 python 內(nèi)嵌的包確實(shí)可以根據(jù) DTW 拉齊兩個(gè)不等長(zhǎng)的樣本,但拉齊后的長(zhǎng)度跟兩個(gè)樣本的原長(zhǎng)度都不相等,所以我后面自己寫(xiě)了一段代碼解決了),這樣就得到了等長(zhǎng)的數(shù)據(jù)集。如下所示:
▲ 利用DTW拉齊兩個(gè)不等長(zhǎng)樣本
嘗試過(guò)多種 metric learning 方法后,我最終使用了經(jīng)典的 LMNN 方法在 training set 上學(xué)習(xí)了特定的 distance metric,并將其應(yīng)用到 test set 上,結(jié)合 1NN 分類(lèi)器最終輸出預(yù)測(cè)的樣本標(biāo)簽 。由于樣本量有限,我對(duì)整個(gè)數(shù)據(jù)集做了 100 次 random split,最后取平均的 performance。以上就是我之前所做的對(duì)于不等長(zhǎng)的數(shù)據(jù)集如何進(jìn)行 distance metric learning 的基本思路。
但是當(dāng)時(shí)我覺(jué)得 performance 還是不夠好,于是引入了另一個(gè)基于 DTW 拉齊處理的 trick:在拉齊過(guò)程中,我針對(duì)每一個(gè) split 下的 training set 和 test set 利用多個(gè)樣本 作為參考樣本來(lái)進(jìn)行拉齊,這樣經(jīng)過(guò) DTW 的處理,每一個(gè) split 下我就有了 個(gè)不同長(zhǎng)度的數(shù)據(jù)集,根據(jù)這 個(gè)不同長(zhǎng)度的數(shù)據(jù)集可以用 metric?learning 學(xué)習(xí)出 個(gè)不同的 distance metric,再構(gòu)建 個(gè) 1NN 分類(lèi)器并將它們 ensembling 在一起根據(jù) 個(gè)分類(lèi)結(jié)果利用 majority voting 的方法最終得出預(yù)測(cè)標(biāo)簽。這一 trick 大大的幫助我在這一問(wèn)題上提升了預(yù)測(cè)的? performance。
結(jié)果:在此我比較了三種方法:1、直接利用 DTW 距離結(jié)合 1NN 進(jìn)行分類(lèi);2、先利用 DTW 拉齊、LMNN 學(xué)習(xí) distance metric、1NN 分類(lèi);3、先利用 DTW 基于多個(gè)參考樣本拉齊、LMNN 學(xué)習(xí)多個(gè) distance metrics、多個(gè) 1NN 分類(lèi)最終 majority voting。結(jié)果如下:
▲ 三種方法的分類(lèi)結(jié)果對(duì)比
在 accuracy 方面三種方法都很高,但這是由之前提到的不平衡數(shù)據(jù)所造成的,而且可以由 precision, recall, F1-score 三項(xiàng)很明顯的看出來(lái):DTW+1NN 對(duì)于我們最關(guān)注的不合格品的分類(lèi)準(zhǔn)確度并不高。利用 distance metric learning 的確進(jìn)一步改進(jìn)了對(duì)不合格品的分類(lèi)準(zhǔn)確度,但最終引入的 ensembling 的 trick 幫助我們達(dá)到了整體大于 99.4% 的準(zhǔn)確度,而且對(duì)不合格品的分類(lèi)準(zhǔn)確度超過(guò)了95%。
事實(shí)上,在解決這個(gè)問(wèn)題的過(guò)程中,我嘗試了很多很多方法,也曾經(jīng)試圖對(duì) LMNN 的模型結(jié)構(gòu)做更改,但效果都不好,最后還是老老實(shí)實(shí)把 distance metric learning 單純的當(dāng)作工具來(lái)使用。沒(méi)能在理論方面做出啥貢獻(xiàn)確實(shí)汗顏,但我想這個(gè) toy example 的用處也正是跟大家分享 distance metric learning 的用法和其中遇到的坑和可能的解決辦法,倒也恰如其分。請(qǐng)大佬們輕拍~
總結(jié)
在本文中,我從一個(gè)初學(xué)者的角度,結(jié)合 distance metric learning 的歷史、其中的經(jīng)典算法 LMNN 和我自己的實(shí)踐,對(duì) distance metric learning 作了簡(jiǎn)單的介紹,希望能對(duì)感興趣的小伙伴有幫助。
此外,考慮到我之前學(xué)習(xí) distance metric learning 過(guò)程中遇到的不系統(tǒng)、學(xué)習(xí)資料雜糅、信息良莠不齊的現(xiàn)象,在此把我認(rèn)為入門(mén)和了解 distance metric learning 的極有價(jià)值的 references 和材料(包括 tutorials、codes 等)分享給大家,希望能對(duì)后來(lái)者的學(xué)習(xí)和研究有促進(jìn)作用。同時(shí),如果大家有跟 distance metric learning 相關(guān)的優(yōu)質(zhì)資料,歡迎評(píng)論區(qū)附上鏈接,我會(huì)持續(xù)不斷的更新。讓大家一起更高、更快、更強(qiáng)、也更團(tuán)結(jié)呀!
Distance Metric Learning 優(yōu)質(zhì)資料分享(持續(xù)更新中)
本來(lái)準(zhǔn)備了一個(gè) reference list,但思前想后還是覺(jué)得不放為好,一是我自己讀的文獻(xiàn)有限、distance metric learning 又是一個(gè)很廣的 topic,盲目推薦可能會(huì)誤導(dǎo)大家;二是我覺(jué)得很多 review、tutorial 寫(xiě)得非常好,而且他們?cè)诶锩婧w了非常全面的文獻(xiàn),有需要的伙伴可以根據(jù)自己的研究和學(xué)習(xí)需求去里面找最適合自己的內(nèi)容。
以下是我認(rèn)為比較優(yōu)質(zhì)的一些 review 和 materials,大家自取~
Review
1、Distance Metric Learning: A Comprehensive Survey:http://www.cs.cmu.edu/~./liuy/frame_survey_v2.pdf
2、A Survey on Metric Learning for Feature Vectors and Structured Data:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1306.6709.pdf%3Fsource%3Dpost_page---------------------------
Materials
1、A TUTORIAL ON DISTANCE METRIC LEARNING: MATHEMATICAL FOUNDATIONS, ALGORITHMS,
EXPERIMENTAL ANALYSIS, PROSPECTS AND CHALLENGES:https://arxiv.org/pdf/1812.05944.pdf
2、 Distance metric learning for CV: ECCV 2016 tutorial:http://ivg.au.tsinghua.edu.cn/ECCV16_tutorial/
3、Tutorials on metric learning:http://researchers.lille.inria.fr/abellet/talks/metric_learning_tutorial_CIL.pdf
4、Metric learning and some distributed optimization:http://researchers.lille.inria.fr/abellet/talks/metric_learning_distributed_opt.pdf
5、ISMIR 2020 tutorials:https://github.com/bmcfee/ismir2020-metric-learning
6、Metric learning for image similarity search:https://keras.io/examples/vision/metric_learning/
Codes
Python:metric-learn
http://contrib.scikit-learn.org/metric-learn/
https://jmlr.csail.mit.edu/papers/volume21/19-678/19-678.pdf
Python:pytorch metric learning
https://kevinmusgrave.github.io/pytorch-metric-learning/
https://libraries.io/pypi/pytorch-metric-learning
MATLAB:
https://www.cs.cmu.edu/~liuy/distlearn.htm
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對(duì)于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
?
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類(lèi)優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來(lái)。
📝?稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開(kāi)渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫(xiě),文中配圖以附件形式發(fā)送,要求圖片清晰,無(wú)版權(quán)問(wèn)題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來(lái)稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長(zhǎng)按添加PaperWeekly小編
🔍
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁(yè)搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專(zhuān)欄吧
·
總結(jié)
以上是生活随笔為你收集整理的漫谈度量学习(Distance Metric Learning)那些事儿的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 零手付贷款买车怎么买
- 下一篇: 现在最坚硬的潜艇外壳有多坚硬?