0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

圖數(shù)據(jù)中蘊藏著秘密 神經(jīng)網(wǎng)絡中的結構化學習

mK5P_AItists ? 作者:工程師3 ? 2018-05-28 14:16 ? 次閱讀

一、圖數(shù)據(jù)中蘊藏著秘密

事物之間的關聯(lián)信息,人類已經(jīng)積累了很多,但絕大多數(shù)人不知道如何利用它們。

社交媒體中的互動和關系網(wǎng)絡圖中,蘊含著深意。像WordNet這樣的同義圖表能夠通過計算機視覺,幫助我們更好地理解和識別特定情形下研究對象之間的聯(lián)系。從家譜到分子結構,我們周圍世界中海量的信息都以圖的形式呈現(xiàn)。

盡管普遍存在,圖結構(Graph Structure)在機器學習的應用方面還是經(jīng)常被忽視。比如“時尚潮流推薦問題”,其目標在于發(fā)現(xiàn)特定的能夠形成凝聚趨勢的一些衣服形式,也就是“風格”(style)。

通常的做法是從社交媒體抓取圖片并識別這些圖片中的衣服,然后用這些圖片的流行程度代表特定“風格”服裝的流行程度。用這種方式去了解流行樣式風格當然可行,這個模型能夠輕易地通過圖數(shù)據(jù)獲得優(yōu)化。比如,我們可以分析用戶社交網(wǎng)絡中潮流趨勢,或者提取馬遜購物網(wǎng)站中的“相關聯(lián)產(chǎn)品”的集合目錄。

那么,為什么結構化的信息經(jīng)常被忽視呢?因為多數(shù)情況下,從這些圖表中提取有效的特征實在是個巨大的挑戰(zhàn)。

在本文中,我們將探索一些從圖數(shù)據(jù)中提取有效特征的新技術。特別地,我們將重點討論那些利用隨機遍歷方法,來量化圖中節(jié)點之間的相似性。這些技術主要依靠自然語言處理群體的現(xiàn)有結果。

我將建議一些未來的研究途徑,特別是與時變圖形的學習特征有關。最后,我們將簡要討論圖卷積網(wǎng)絡 (GCNs) 的大家族,它提供了一個在圖結構數(shù)據(jù)上進行機器學習的端到端的解決方案,而無需單獨的中間特征提取步驟。

這些方法本身就構成了機器學習的一個子領域,但是研究人員和從業(yè)者可以從他們感興趣的特定范疇的結構中獲益。

二、基于圖的特征學習

2.1 圖摘要的計算

當我們在圖上進行機器學習的時候,我們通常需要計算一個圖摘要(graph summary),它會將圖中每一個頂點映射為一個實值特征向量,而該向量則編碼了這個頂點的相鄰頂點的信息,這樣做對于基于圖的機器學習是很有幫助的。

如果兩個頂點具有相似的鄰居(neighborhoods)(這里的“鄰居”一詞很寬泛,它通常用于捕捉某種局部概念,例如從某一頂點出發(fā),經(jīng)過1或2跳(hops)的頂點集合都可稱為該頂點的“鄰居”),我們要學習一個函數(shù),將這兩個頂點映射到??空間中的兩個相似的特征向量。

然后圖中的的每一個頂點的特征向量就可以堆積為一個隱含的特征矩陣??。有了頂點的向量化表征之后,我們就可以在其上運行標準的機器學習算法了。這是不是很棒?。?/p>

DeepWalk(2014)和node2vec(2016)正是學習上述特征向量的兩個算法。下面我們就一起來看一下這兩個算法是怎么工作的吧。

2.2 DeepWalk:將隨機游走看做句子?

DeepWalk算法[1]背后關鍵的思想是,圖中的隨機游走(random walks)和句子很像。經(jīng)驗發(fā)現(xiàn),句子中的單詞和一個真實世界中圖上的隨機游走均服從冪律分布(power-law distribution)。也就是說,我們可以把這些隨機游走路徑想象成某種“語言”中的“句子”。

受這種相似性的啟發(fā),DeepWalk使用原本被用于自然語言建模的優(yōu)化技術來構建圖摘要。在標準的語言模型中,我們通常是給定某個詞的周邊詞,然后來估計該詞出現(xiàn)在一個句子中的概率。

另一方面,在DeepWalk算法中,則是給定某個頂點之前的頂點集合,來去估計該頂點出現(xiàn)在一個隨機游走過程中的概率。并且和語言模型一樣,我們還試圖去學習頂點??的特征向量??,以便估計這個概率。具體來說就是,給定某個分類器,去估計概率??。我們的目的是,從向量空間??中,選擇特征向量,最大化如下目標:

?

然而遺憾的是,隨著隨機游走路徑長度的不斷增加,這個目標是很難處理的。因此DeepWalk論文作者使用給定當前頂點??的向量表征??,來去預測其附近2w距離的鄰居頂點(注:w為窗口大?。?,從而重新界定了該問題。(從技術上來講,這是一個不同的優(yōu)化問題,但是它可以作為之前目標的一個合理且與順序無關的替代目標[2])換句話說,我們要最大化目標概率:

?

但是,我們?nèi)绾卧谡麄€隨機游走空間上最小化(譯者:最小化?不是最大化嗎?)該目標呢?其中一個策略如下(請注意, 論文作者另外假設了??的條件獨立性):

抽樣一個頂點v,并生成一個隨機游走序列??,其中??。

對該序列中每一個頂點??和每一個小于某一步長的??,在向量空間 F 上,應用梯度下降算法,最小化損失函數(shù)???。

這個算法雖然可行,但是也使得最后應用梯度下降算法的步驟變得尤為復雜,使得至少要更新??個參數(shù)。這對于數(shù)百萬級規(guī)模的圖來說,是一個非常嚴重的問題。

為了解決這個問題,DeepWalk的作者使用“分層softmax (hierarchical softmax)”的方法(很抱歉,該方法不在本文介紹范圍內(nèi)),將該優(yōu)化問題拆解為一個二分類器的平衡樹(balanced tree of binary classifiers)。使用這些二分類器,可以將最后一步梯度下降算法的參數(shù)更新個數(shù),從??減少到??。

圖數(shù)據(jù)中蘊藏著秘密 神經(jīng)網(wǎng)絡中的結構化學習

Deepwalk算法示意圖

2.3 Node2vec:泛化到不同類型的鄰域

Grover and Leskovec (2016)[3]將Deepwalk算法拓展成為node2vec算法。與deepwalk算法不一樣,我們不再根據(jù)現(xiàn)有的結點運用一階隨機游走(first-order random walks)選擇下一個節(jié)點,node2vec不僅基于現(xiàn)有結點,還會使用現(xiàn)有結點前面的那一個結點,從而使用一系列二階隨機游走。

我們可以在隨機游走的每一步通過調(diào)節(jié)兩個參數(shù)值??來確定具體的分布:大概來說,我們可以通過降低p值從而讓隨機游走偏向“探索”模式;同時,我們也可以通過提高q值讓隨機游走實現(xiàn)“廣度優(yōu)先”(breadth-first)模式。

這篇論文的關鍵想法是通過選擇不同模式的二階隨機游走,我們可以提取到網(wǎng)絡圖的不同特性。

為了證明它的必要性,作者們在文中給出了兩種在網(wǎng)絡圖上做機器學習通常使用的鄰域類型:(節(jié)點顏色代表類別)

在同質(zhì)性假設下,由于高度連接的節(jié)點在網(wǎng)絡圖里位置相近,因此它們屬于同一個鄰域。

?

在結構性假設下,承擔著相似結構性功能的節(jié)點(比如說,網(wǎng)絡的所有中心節(jié)點)由于他們高階結構性顯著度,它們屬于同一個鄰域。

圖數(shù)據(jù)中蘊藏著秘密 神經(jīng)網(wǎng)絡中的結構化學習

?

用兩個參數(shù)??, 作者們提供了一種非常好用的方法在這兩種鄰域類型之間相互轉換。

就像Deepwalk一樣,node2vec的目標函數(shù)可以通過抽樣來實現(xiàn)最優(yōu)化??,采用(p,q)隨機游走,然后通過梯度下降(gradient descent)來更新F,達到優(yōu)化的目的。

2.4 時變網(wǎng)絡(temporal networks)中的潛在特征

這些圖摘要技術很有用,但現(xiàn)實世界中很多圖是隨著時間變化的時變網(wǎng)絡。比如,社交網(wǎng)絡中一個人的朋友圈圖會隨著時間發(fā)生擴張或者收縮。我們可以使用node2vec,但是有兩個缺點:

每次隨著圖的改變而運行一個新的node2vec實例很耗算力

其次,難以保證多個node2vec的實例能產(chǎn)生相似的甚至是可比較的F矩陣

對于第一個問題,有一個解決方法--每次網(wǎng)絡改變后不立即運行node2vec,而是直到足夠多的邊發(fā)生改變使得原始嵌入的特征矩陣F質(zhì)量下降再運行。

那么多少條邊發(fā)生改變才可以被認為發(fā)生了“顯著”的變化呢?這高度依賴于圖中特殊的邊和隨機游走中的(p, q)兩個參數(shù)。

觀察下面這些圖:

?

注意到??的領域和??的鄰域很相似。然而,一條額外的邊把路徑圖??轉換成閉環(huán)??,顯著地改變了圖的隨機游走鄰域。類似這樣,連接網(wǎng)絡中的無連接或弱連接部分,起到橋梁作用的邊,相比其它邊更可能對鄰居產(chǎn)生顯著影響。

幸運的是,很多現(xiàn)實世界中的圖,比如社交網(wǎng)絡,更傾向于??這種類型。網(wǎng)絡是高度連接的,增加和刪除節(jié)點的某條邊不會對DeepWalk中使用的一階隨機游走的嵌入產(chǎn)生顯著影響。需要注意的是,一階和二階的隨機游走差別很大,因此這里的討論內(nèi)容對于擴展到node2vec可能并不是必要的。

在某種程度上,第二個問題可以通過連接從多個node2vec實例得出的特征,然后訓練一個自動編碼器,把這些綜合特征映射成壓縮的表示。

圖數(shù)據(jù)中蘊藏著秘密 神經(jīng)網(wǎng)絡中的結構化學習

如何實現(xiàn)時變網(wǎng)絡上的可擴展特征學習呢?對于時變網(wǎng)絡,一些工具可以用于圖嵌入的增量更新,比如Abraham et al.(2016)[4]提出的動態(tài)頻譜稀釋器。

這方面仍然有大量工作需要做,即使是最好的稀釋器也因為速度太慢而難以實際應用于現(xiàn)實世界中的圖,即使存在亞對數(shù)算法,算法的常量因子也非常大。我相信,結合動態(tài)圖分割技術和更新圖摘要矩陣F對于時變圖的特征摘要來說或許是一個可行的方法。

另一個可選的方法是泛化node2vec算法到時變網(wǎng)絡,通過添加一個額外的參數(shù)λ,影響隨機游走經(jīng)過“時變邊界”的概率。有些預測任務中可能有“時變位置”的概念,其中有著相似時間戳的圖的快照是相關的,而其他的或許有更久的依賴關系。

接下來我們開始介紹圖卷積網(wǎng)絡,一種最近提出的網(wǎng)絡圖上機器學習的方法。

三、圖卷積

Node2vec和DeepWalk的方法都是先生成“語料”然后用于后續(xù)的機器學習技術。相比之下,圖卷積(GCN)則是展示了一種端到端的方法進行結構化學習。

圖卷積

GCN嘗試將傳統(tǒng)的卷積神經(jīng)網(wǎng)絡推廣到可變的、無序的結構中。由于圖沒有明確定義的順序,因此節(jié)點的排序不應該對GCN產(chǎn)生影響。很顯然,CNN并沒有這個特性,因為隨機交換圖像像素矩陣的行和列,再輸入給CNN必然會改變計算的輸出(通常,用于視覺問題的CNN,在識別圖像中的邊緣或其他局部結構時,其輸入在不同的行列置換下,計算結果并不是一成不變的)。

此外,CNN對像素鄰域的形狀并不是不可知的,換句話說,并沒有明顯的方式可以訓練一個CNN同時接受在正方形和六邊形網(wǎng)格上定義的圖像,即一個內(nèi)在像素分別具有八個和六個直接鄰居。因此,為了解釋一般圖的動態(tài)結構,必須對CNN的激活函數(shù)(activation function)進行合理的松弛(relaxations)。

很多作者提出了不同的GCN松弛(relaxations)方法。其中一篇文章[5]定義了一種和CNN類似的方法,該方法優(yōu)化了稀疏過濾器,而過濾器在多個尺度上對圖進行聚類操作。這篇文章還提出了CNN的譜近似方法,CNN中多個譜過濾器作用在對應最大特征值的特征向量上。

另外一篇文章[6]提出了一種和CNN更新具有相同的時間復雜度的GCN更新方案,即對譜過濾器只進行低度的多項式近似。還有一篇文章[7]通過使用多個線性譜過濾器簡化了GCN的公式,這些過濾器可以共同捕捉高階特征。

這些圖卷積網(wǎng)絡公式本身就很有趣,需要更多篇幅來詳細描述。GCN作為之前章節(jié)描述的圖處理方法的合理替代方案已經(jīng)顯示出了前景。GCN的完全可微分的特征也使得其稀疏過濾器能夠成為端到端學習算法的一部分。雖然node2vec的偏置超參數(shù)(p, q)允許發(fā)現(xiàn)更多個性化的特征,但是GCN的權重矩陣也可以根據(jù)提供的訓練數(shù)據(jù)進行調(diào)整。

結構化學習已經(jīng)被應用到生物化學領域,文章[8]提供了一種端到端的和全微分的神經(jīng)網(wǎng)絡來預測基于稀疏原子結構的蛋白質(zhì)-配體親和力。另一篇論文[9]用GCN解決了藥物發(fā)現(xiàn)問題,并引入了一個虛擬的“超級節(jié)點”,該虛擬的“超級節(jié)點”通過有向邊連接到候選藥物圖中的每個節(jié)點,以便得到圖特征。

GCN也已經(jīng)成功應用在知識圖[10]的鏈接預測和實體分類等方面。最近出現(xiàn)的結構化學習的成功和快速的研究在未來幾年還會有更多。

也許我們很快就會看到利用關系結構如知識圖的GCN網(wǎng)絡來提高計算機視覺中物體檢測的性能,也或許,通過結構化學習方法能夠加速蛋白質(zhì)折疊模擬,從而大大降低原子度低的三維蛋白質(zhì)的維度等等。這些應用幾乎可以肯定將會出現(xiàn)(如果尚未發(fā)布的話),這當然使得結構化學習成為一個令人興奮的領域。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:前沿綜述:關系數(shù)據(jù)紛繁復雜,如何捕捉其中結構?

文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    人工神經(jīng)網(wǎng)絡的原理和多種神經(jīng)網(wǎng)絡架構方法

    在上一篇文章,我們介紹了傳統(tǒng)機器學習的基礎知識和多種算法。在本文中,我們會介紹人工神經(jīng)網(wǎng)絡的原理和多種神經(jīng)網(wǎng)絡架構方法,供各位老師選擇。 01 人工
    的頭像 發(fā)表于 01-09 10:24 ?185次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡</b>架構方法

    深度學習的卷積神經(jīng)網(wǎng)絡模型

    深度學習近年來在多個領域取得了顯著的進展,尤其是在圖像識別、語音識別和自然語言處理等方面。卷積神經(jīng)網(wǎng)絡作為深度學習的一個分支,因其在圖像處理任務的卓越性能而受到廣泛關注。 卷積
    的頭像 發(fā)表于 11-15 14:52 ?382次閱讀

    不同類型神經(jīng)網(wǎng)絡在回歸任務的應用

    神經(jīng)網(wǎng)絡是一種強大的機器學習模型,可以用于各種任務,包括回歸。在本文中,我們將討論不同類型的神經(jīng)網(wǎng)絡,以及它們在回歸任務的應用。 基本的神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 07-11 10:27 ?1393次閱讀

    遞歸神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡的模型結構

    遞歸神經(jīng)網(wǎng)絡是一種旨在處理分層結構神經(jīng)網(wǎng)絡,使其特別適合涉及樹狀或嵌套數(shù)據(jù)的任務。這些網(wǎng)絡明確地模擬了層次
    的頭像 發(fā)表于 07-10 17:21 ?700次閱讀
    遞歸<b class='flag-5'>神經(jīng)網(wǎng)絡</b>和循環(huán)<b class='flag-5'>神經(jīng)網(wǎng)絡</b>的模型<b class='flag-5'>結構</b>

    循環(huán)神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡的區(qū)別

    循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)和卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是深度學習領域中兩種非常重要的神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 07-04 14:24 ?1406次閱讀

    循環(huán)神經(jīng)網(wǎng)絡和遞歸神經(jīng)網(wǎng)絡的區(qū)別

    循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)和遞歸神經(jīng)網(wǎng)絡(Recursive Neural Network,簡稱RvNN)是深度學習兩種重要的
    的頭像 發(fā)表于 07-04 14:19 ?961次閱讀

    深度神經(jīng)網(wǎng)絡與基本神經(jīng)網(wǎng)絡的區(qū)別

    在探討深度神經(jīng)網(wǎng)絡(Deep Neural Networks, DNNs)與基本神經(jīng)網(wǎng)絡(通常指傳統(tǒng)神經(jīng)網(wǎng)絡或前向神經(jīng)網(wǎng)絡)的區(qū)別時,我們需要從多個維度進行深入分析。這些維度包括
    的頭像 發(fā)表于 07-04 13:20 ?1002次閱讀

    神經(jīng)網(wǎng)絡算法的結構有哪些類型

    神經(jīng)網(wǎng)絡算法是深度學習的基礎,它們在許多領域都有廣泛的應用,如圖像識別、自然語言處理、語音識別等。神經(jīng)網(wǎng)絡結構有很多種類型,每種類型都有其獨特的特點和應用場景。以下是對
    的頭像 發(fā)表于 07-03 09:50 ?491次閱讀

    卷積神經(jīng)網(wǎng)絡的基本結構和工作原理

    和工作原理。 1. 引言 在深度學習領域,卷積神經(jīng)網(wǎng)絡是一種非常重要的模型。它通過模擬人類視覺系統(tǒng),能夠自動學習圖像的特征,從而實現(xiàn)對圖像的識別和分類。與傳統(tǒng)的機器
    的頭像 發(fā)表于 07-03 09:38 ?794次閱讀

    卷積神經(jīng)網(wǎng)絡訓練的是什么

    、訓練過程以及應用場景。 1. 卷積神經(jīng)網(wǎng)絡的基本概念 1.1 卷積神經(jīng)網(wǎng)絡的定義 卷積神經(jīng)網(wǎng)絡是一種前饋深度學習模型,其核心思想是利用卷積操作提取輸入
    的頭像 發(fā)表于 07-03 09:15 ?462次閱讀

    卷積神經(jīng)網(wǎng)絡的基本結構及其功能

    。 引言 深度學習是機器學習的一個分支,它通過模擬人腦神經(jīng)網(wǎng)絡結構和功能,實現(xiàn)對數(shù)據(jù)的自動學習
    的頭像 發(fā)表于 07-02 14:45 ?2469次閱讀

    神經(jīng)網(wǎng)絡在數(shù)學建模的應用

    數(shù)學建模是一種利用數(shù)學方法和工具來描述和分析現(xiàn)實世界問題的過程。神經(jīng)網(wǎng)絡是一種模擬人腦神經(jīng)結構和功能的計算模型,可以用于解決各種復雜問題。在數(shù)學建模
    的頭像 發(fā)表于 07-02 11:29 ?1023次閱讀

    卷積神經(jīng)網(wǎng)絡的基本結構

    隨著大數(shù)據(jù)和計算機硬件技術的飛速發(fā)展,深度學習已成為人工智能領域的重要分支,而卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,簡稱CNN)作為深度學習的一種重要
    的頭像 發(fā)表于 07-01 15:58 ?510次閱讀

    神經(jīng)網(wǎng)絡的激活函數(shù)有哪些

    神經(jīng)網(wǎng)絡,激活函數(shù)是一個至關重要的組成部分,它決定了神經(jīng)元對于輸入信號的反應方式,為神經(jīng)網(wǎng)絡引入了非線性因素,使得網(wǎng)絡能夠
    的頭像 發(fā)表于 07-01 11:52 ?623次閱讀

    利用深度循環(huán)神經(jīng)網(wǎng)絡對心電降噪

    ;為等效的前饋網(wǎng)絡。損失函數(shù)計算 為序列中所有時間步長的平均成本。在本文 ,我們使用深度循環(huán)去噪神經(jīng)網(wǎng)絡,它是 DRNN 和去噪自動編碼器的特定混合體。具體結構如下圖: 為了生成合成
    發(fā)表于 05-15 14:42