機器之心編譯
編輯:陳萍
流形學習,自 2000 年在著名的科學雜誌《Science》被首次提出以來,已成為信息科學領域的研究熱點。可能很多人會問,流形學習有什麼用呢?首先流形學習可以作為一種數據降維的方式,第二,流形能夠刻畫數據的本質。其主要代表方法有等距映射、局部線性嵌入等。那麼,具有流形學習 2.0 之稱的潛圖學習方法如何呢?
自從神經網絡提出以來,其在人臉識別、語音識別等方面表現出卓越的性能。以前需要人工提取特徵的機器學習任務,現在通過端到端的方法就能解決。
傳統的深度學習方法在提取歐氏空間數據(比如圖片是規則的正方形柵格,語音數據是一維序列)的特徵方面取得了巨大的成功。但是,在許多任務中,數據不具備規則的空間結構,即非歐氏空間下的數據,如電子交易、推薦系統等抽象出來的圖譜,圖譜中每個節點與其他節點的連接不是固定的。在經典的 CNN、RNN 等框架無法解決或效果不好的情況下,圖神經網絡應運而生。
圖左(紅框):歐氏空間數據;圖右:非歐氏空間數據。
圖神經網絡利用關係歸納偏置來處理以圖形式出現的數據。然而,在許多情況下,並沒有現成的圖。那麼圖深度學習適用於這類情形嗎?本文將介紹潛圖學習(latent graph learning)和更早的流形學習(manifold learning)。
潛圖學習
在過去的幾年裡,人們對使用機器學習方法處理圖結構數據產生了濃厚的興趣。這類數據自然也出現在許多應用中,例如社會科學(如 Twitter 或 Facebook 上的用戶 Follow 圖)、化學(分子可被建模為鍵連接的原子圖)或生物學(不同生物分子之間的相互作用通常被建模為相互作用組圖)。圖神經網絡(GNN)是一種特別流行的圖學習方法,該算法通過在相鄰節點之間交換信息的共享參數進行局部操作。
然而,在某些情況下,沒有現成的圖可以作為輸入。在生物學中尤其如此,諸如蛋白質 - 蛋白質相互作用的圖只有部分已知,因為發現蛋白質相互作用的實驗費用昂貴,而且噪聲很大。因此,研究者從數據中推斷出圖並在其上應用 GNN,並將其稱為「潛圖學習」。潛圖學習特定於應用,並針對下遊任務進行了優化。此外,有時這樣的圖可能比任務本身更重要,因為它可以傳達關於數據的重要洞察,並提供解釋結果的方法。
潛圖學習是學習具有空邊集的圖。在這一設置中,輸入為高維特徵空間中的點雲。在集合上進行深度學習的方法(如 PointNet)對每個點應用共享可學習 point-wise 函數,與之不同,潛圖學習還尋求跨點信息傳遞。
DGCNN
點雲動態圖卷積神經網絡(DGCNN)是第一個這樣的架構,該架構由麻省理工學院的 Yue Wang 開發。受計算機圖形學中涉及 3D 點雲分析問題的啟發,該架構將圖用作點雲下局部光滑流形結構的粗略表示。Yue 的一個重要發現是,圖在整個神經網絡中不需要保持不變,事實上,它可以而且應該動態更新——因此該方法被命名為 DGCNN。
DGCNN 動態構造一個用於特徵擴散的 k 近鄰圖。圖依賴於任務,並在每個層之後更新。這幅圖(摘自 [4])展示了與紅點的距離(黃色代表更近的點),表明在分割任務中,更深層次的圖捕捉語義關係而不是幾何關係,如成對的機翼、發動機等。
DGM
DGCNN 的一個局限性是用相同的空間來構造圖和圖上的特徵。Anees Kazi 和 Luca Cosmo 提出了一種新的架構——可微圖模塊(DGM),通過對圖和特徵構造進行解耦來擴展 DGCNN,如下圖所示:
DGM 提供了一種基於輸入數據構造圖並在圖上擴散特徵的機制。(圖源:[5])
當應用於醫學領域問題時,DGM 顯示出優秀的結果,例如根據腦成像數據預測疾病。在這些任務中,研究者獲取到多個患者的電子健康記錄,包括人口統計學特徵(如年齡、性別等)和大腦成像特徵,並嘗試預測患者是否患有神經系統疾病。之前的工作展示了 GNN 在這類任務中的應用,方法是在一個根據人口統計學特徵手工構建的「病人圖」上進行特徵擴散。而 DGM 提供了學習圖的優勢,可以傳達某些特徵在特定診斷任務中是如何相互依賴的。其次,DGM 在點雲分類任務中也擊敗了 DGCNN,不過優勢很小。
流形學習
DGCNN 和 DGM 在概念上與流形學習或非線性降維算法相似,流形學習很早就已出現並流行,且目前仍用於數據可視化。流形學習方法的基本假設是數據具有內在的低維結構。雖然數據可以在數百甚至數千維的空間中表示,但它卻只有幾個自由度,示例如下:
雖然這個數據集中的手部圖像是高維的(64x64 像素構成 4096 個維度),但它們本質上是低維的,可以用兩個自由度來解釋:手腕旋轉和手指伸展。流形學習算法能夠捕捉數據集的這種內在低維結構,並將其在歐幾裡德空間中進行表示。(圖源 [9])
再比如球面上的一點(即三維歐式空間上的點),可以用三元組來表示其坐標:
但事實上這個三維坐標只有兩個變量 θ 和 φ,也可以說它的自由度為 2,正好對應了它是一個二維的流形。
流形學習的目的是捕捉這些自由度,並將數據的維數降至其固有維數。流形學習與 PCA 等線性降維方法的重要區別在於,由於數據的非歐幾裡德結構,我們可能無法通過線性投影恢復流形。如下圖所示,線性降維(左)為線性降維,流形學習(右)為非線性降維。
流形學習算法在恢復「流形」方法上各不相同,但它們有一個共同的藍圖。
首先,創建一個數據表示,通過構造一個 k 近鄰圖來獲取其局部結構。其次,計算數據的低維表示(嵌入),並試圖保留原始數據的結構。這是大多數流形學習方法的區別所在。這種新的表示將原來的非歐幾裡德結構「展平」成一個更容易處理的歐幾裡德空間。第三,一旦計算出表示,就會對其應用機器學習算法(通常是聚類)。
多種流形學習方法的藍圖:首先,將數據表示為圖;其次,計算該圖的低維嵌入;第三,將 ML 算法應用於這種低維表示。
這其中面臨的一項挑戰是圖構建與 ML 算法的分離,有時需要精確的參數調整(例如鄰域數或鄰域半徑),以確定如何構建圖才能使下遊任務正常運行。流形學習算法更嚴重的缺點或許是:數據很少表示為低維的原始形式。例如,在處理圖像時,必須使用各種人工制定的特徵提取技術作為預處理步驟。
圖深度學習提供了一種現代方法,即用單個圖神經網絡代替上文提到的三個階段。例如,在 DGCNN 或 DGM 中,圖的構造和學習是同一架構的一部分:
潛圖學習可以看作是流形學習問題的一種現代設置,在這裡,圖被學習並用作某些下遊任務優化的端到端 GNN pipeline 的一部分。
這種方法的吸引力在於:將單個數據點和它們所在的空間結合在相同的 pipeline 中。在圖像的例子中,我們可以使用傳統的 CNN 從每個圖像中提取視覺特徵,並使用 GNN 來建模它們之間的關係。
PeerNet 是標準 CNN 中基於圖的正則化層,可聚合來自多個圖像的相似像素,從而降低對對抗性擾動的敏感性。(圖源 [12])
潛圖學習的其它應用
潛圖學習還有許多其他有趣的應用。
第一是少樣本學習:利用基於圖的方法從少量樣本中進行歸納(重點:只需要少量帶有標註的樣本)。在計算機視覺中,數據標註量從幾千到上萬不等,成本很高,因此少樣本學習變得越來越重要。
第二是生物學領域:人們經常通過實驗觀察生物分子如蛋白質的表達水平,並試圖重建它們的相互作用和信號網絡。
第三是對物理系統的分析:其中圖可以描述多個對象之間的交互作用。尤其是處理複雜粒子相互作用的物理學家,最近對基於圖的方法表現出了濃厚的興趣。
第四是 NLP 問題:在 NLP 領域中,圖神經網絡可以看作是 transformer 架構的泛化。所提到的許多問題也提出了在圖結構中加入先驗知識,這一結構在很大程度上仍然是開放的:例如,人們可能希望強迫圖遵守某些構造規則或與某些統計模型兼容。
潛圖學習,雖然不是全新的領域,但它為舊問題提供了新的視角。對於圖機器學習問題而言,這無疑是一個有趣的設置,為 GNN 研究人員提供了新的方向。
參考連結:
https://towardsdatascience.com/manifold-learning-2-99a25eeb677d
https://zhuanlan.zhihu.com/p/75307407?from_voters_page=true
從算法到應用,入門聲紋技術。
10月19日,第一講:音頻基礎與聲紋識別。谷歌資深軟體工程師、聲紋識別與語言識別團隊負責人王泉老師將介紹聲紋識別技術相關基礎知識,包括發展歷程、聽覺感知和音頻處理相關基本概念與方法、聲紋領域最核心的應用聲紋識別等。
添加機器之心小助手(syncedai5),備註「聲紋」,進群一起看直播。
© THE END
轉載請聯繫本公眾號獲得授權
投稿或尋求報導:content@jiqizhixin.com
原標題:《沒有完整圖時,如何使用圖深度學習?你需要了解流形學習2.0版本》
閱讀原文