干飯人,干飯魂,搞懂圖神經(jīng)網(wǎng)絡(luò)穩(wěn)飯盆
干飯人!2021年大廠(chǎng)都在用的圖神經(jīng)網(wǎng)絡(luò)( GNN )還不懂嗎?一文帶你 GNN 從入門(mén)到起飛,做一個(gè)飯盆最穩(wěn) GNN 飯人!

圖神經(jīng)網(wǎng)絡(luò)到底圖個(gè)啥?
搞懂圖神經(jīng)網(wǎng)絡(luò),首先你要先明白到底圖個(gè)啥啥是圖!圖這種結(jié)構(gòu)普遍存在于人類(lèi)社會(huì)生活中,如人與人之間的社交網(wǎng)絡(luò)會(huì)構(gòu)成圖、地鐵線(xiàn)路及高鐵線(xiàn)路會(huì)構(gòu)成圖、網(wǎng)民購(gòu)買(mǎi)商品會(huì)構(gòu)成“網(wǎng)民-商品”圖、互聯(lián)網(wǎng)中網(wǎng)頁(yè)間的互相鏈接會(huì)構(gòu)成圖、論文的互相引用也會(huì)構(gòu)成圖。根據(jù)這些圖的信息可以完成很多任務(wù),例如根據(jù)用戶(hù)和商品的歷史交互,預(yù)測(cè)一個(gè)用戶(hù)是否會(huì)購(gòu)買(mǎi)一個(gè)商品或?qū)λ信d趣;又如根據(jù)用戶(hù)間的好友關(guān)系或交流記錄,預(yù)測(cè)用戶(hù)和用戶(hù)之間是否構(gòu)成好友關(guān)系。
既然圖無(wú)處不在,那我們?cè)趺慈?duì)圖做分析呢?目前,圖分析任務(wù)通常采用圖嵌入技術(shù)進(jìn)行解決。通過(guò)圖嵌入技術(shù),可以將圖中的結(jié)構(gòu)及內(nèi)容等信息用一個(gè)低維向量進(jìn)行表征,該向量可以作為輸入用于下游的學(xué)習(xí)任務(wù)中。另外,圖嵌入還可以與深度學(xué)習(xí)技術(shù)相結(jié)合。例如,基于局部連接與平移不變的假設(shè),可以將圖嵌入與卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)相結(jié)合,從而得到圖神經(jīng)網(wǎng)絡(luò)(Graph neural network,GNN)。
圖上的學(xué)習(xí)任務(wù)包括:
圖節(jié)點(diǎn)分類(lèi)任務(wù):圖中每個(gè)節(jié)點(diǎn)都有對(duì)應(yīng)的特征,當(dāng)我們已知一部分節(jié)點(diǎn)的類(lèi)別時(shí),可以對(duì)未知類(lèi)型的節(jié)點(diǎn)進(jìn)行分類(lèi)。
圖邊結(jié)構(gòu)預(yù)測(cè)任務(wù):圖中節(jié)點(diǎn)與節(jié)點(diǎn)之間的邊關(guān)系也存在多種類(lèi)型,該任務(wù)是對(duì)節(jié)點(diǎn)和節(jié)點(diǎn)之間關(guān)系的預(yù)測(cè)。
圖的分類(lèi):該任務(wù)是對(duì)整個(gè)圖進(jìn)行分類(lèi),基本思路是將圖中節(jié)點(diǎn)的特征聚合起來(lái)作為圖的特征,再進(jìn)行分類(lèi)。
學(xué)界業(yè)界發(fā)展成啥樣了?
學(xué)界發(fā)展情況
近年來(lái),圖神經(jīng)網(wǎng)絡(luò)迎來(lái)了快速爆發(fā)期。在理論研究方面,相關(guān)工作對(duì)圖神經(jīng)網(wǎng)絡(luò)的原理解釋、變體模型以及對(duì)各種圖數(shù)據(jù)的拓展適配等進(jìn)行了研究。統(tǒng)計(jì)近一年各大頂級(jí)會(huì)議上的相關(guān)論文,可以發(fā)現(xiàn)圖神經(jīng)網(wǎng)絡(luò)成為最大的研究熱點(diǎn)。
圖 2.1 學(xué)界發(fā)展情況
業(yè)界發(fā)展情況
在應(yīng)用實(shí)踐方面,圖神經(jīng)網(wǎng)絡(luò)展現(xiàn)出前所未有的滲透性,從視覺(jué)推理到開(kāi)放性的閱讀理解問(wèn)題,從藥物分子的研發(fā)到5G芯片的設(shè)計(jì),從交通流量預(yù)測(cè)到3D點(diǎn)云數(shù)據(jù)學(xué)習(xí),可以看到圖神經(jīng)網(wǎng)絡(luò)極其廣闊的應(yīng)用前景。
螞蟻金服利用圖神經(jīng)網(wǎng)絡(luò)模型,挖掘設(shè)備共用圖中“正常用戶(hù)”和“騙保團(tuán)伙”的關(guān)系模式,從而實(shí)現(xiàn)了對(duì)惡意賬戶(hù)的識(shí)別。圖中每個(gè)節(jié)點(diǎn)都有自己的特征信息,通過(guò)這些特征信息,可以挖掘某一用戶(hù)節(jié)點(diǎn)所關(guān)聯(lián)的設(shè)備節(jié)點(diǎn)信息,當(dāng)某一個(gè)用戶(hù)關(guān)聯(lián)眾多設(shè)備時(shí),可以認(rèn)為該用戶(hù)存在高危風(fēng)險(xiǎn)。同時(shí),基于圖中的關(guān)聯(lián)關(guān)系,與該惡意用戶(hù)及關(guān)聯(lián)設(shè)備相互連接的節(jié)點(diǎn)也可能存在高危風(fēng)險(xiǎn)。
圖 2.2 螞蟻金服:高危賬戶(hù)識(shí)別
滴滴出行研究了一種基于時(shí)空多圖卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)約車(chē)需求量預(yù)測(cè)模型。通過(guò)分析區(qū)域之間復(fù)雜的時(shí)空依賴(lài)關(guān)系,對(duì)網(wǎng)約車(chē)需求量進(jìn)行準(zhǔn)確預(yù)測(cè),指導(dǎo)車(chē)輛的調(diào)度,提高車(chē)輛的利用率,減少等待時(shí)間,并在一定程度上緩解了交通的擁堵。
圖 2.3 滴滴出行:車(chē)輛調(diào)控管理
阿里媽媽利用圖神經(jīng)網(wǎng)絡(luò),從用戶(hù)行為日志、內(nèi)容屬性等不同維度挖掘Query(查詢(xún)?cè)~)、Item(商品)和Ad(廣告)的多種關(guān)系。對(duì)于在線(xiàn)請(qǐng)求場(chǎng)景,通過(guò)計(jì)算用戶(hù)查詢(xún)?cè)~向量、前置行為中節(jié)點(diǎn)向量和廣告節(jié)點(diǎn)向量之間的距離進(jìn)行高效的向量化最近鄰檢索,從而快速匹配到符合用戶(hù)意圖的廣告并推薦給用戶(hù)。
圖 2.4 阿里媽媽?zhuān)核阉鲝V告 匹配
網(wǎng)易音樂(lè)通過(guò)圖神經(jīng)網(wǎng)絡(luò),挖掘用戶(hù)的特征、歌曲的特征、用戶(hù)對(duì)歌曲的行為特征,實(shí)現(xiàn)精準(zhǔn)的音樂(lè)推薦。圖中每個(gè)節(jié)點(diǎn)都具有結(jié)構(gòu)信息,如果用戶(hù)頻繁訂閱某種類(lèi)別音樂(lè)或?qū)δ撤N類(lèi)別音樂(lè)評(píng)分較高,那么系統(tǒng)就可以認(rèn)定該用戶(hù)對(duì)該類(lèi)音樂(lè)比較感興趣,就可以向該用戶(hù)推薦更多該類(lèi)別的音樂(lè)。
圖 2.5 網(wǎng)易:音樂(lè)推薦
圖神經(jīng)網(wǎng)絡(luò)
圖論基本概念
針對(duì)非歐幾里得結(jié)構(gòu)化數(shù)據(jù)表示問(wèn)題,研究者們引入了圖論中抽象意義上的圖(Graph)來(lái)表示非歐幾里得結(jié)構(gòu)化數(shù)據(jù)。
圖(Graph)G 由頂點(diǎn)集合以及連邊集合構(gòu)成,通常可以定義為如下形式:
頂點(diǎn)集合( Vertex ) V 可以表示為
邊集合( Edge )E 可以表示為
圖的表示形式
常采用頂點(diǎn)的度矩陣、鄰接矩陣以及拉普拉斯矩陣等對(duì)圖進(jìn)行刻畫(huà)。
頂點(diǎn)的度矩陣( Degree )D :與該頂點(diǎn)相關(guān)聯(lián)的邊的條數(shù)
鄰接矩陣( Adjacency matrix )A :圖結(jié)構(gòu)的常用表示方法
拉普拉斯矩陣( Laplacian matrix )L :圖結(jié)構(gòu)的一種表示方法
下圖給出了 連通圖及對(duì)應(yīng) 的 度矩陣、鄰接矩陣 、 拉普拉斯矩陣 的示例 。
圖 3.1 圖論基本概念
圖神經(jīng)網(wǎng)絡(luò)模型
圖嵌入模型
圖嵌入( Graph Embedding )是指,將圖中的節(jié)點(diǎn)、邊或子圖由低維連續(xù)向量進(jìn)行表征。為了得到圖嵌入表征,可以利用圖中的消息傳播機(jī)制。圖中的消息傳播機(jī)制包括兩個(gè)步驟:消息匯聚( aggregation/combine ),節(jié)點(diǎn)更新( update )。消息匯聚是指根據(jù)周?chē)従庸?jié)點(diǎn)特征,節(jié)點(diǎn)更新是指學(xué)習(xí)中心節(jié)點(diǎn)的嵌入表示。圖中的消息傳播機(jī)制可以由下式進(jìn)行表征。
式中 , □表示可導(dǎo)且與輸入順序無(wú)關(guān)的函數(shù),例如求和、均值或最大值函數(shù)等; γ 和 φ 表示可導(dǎo)函數(shù),例如多層感知器 。
圖 3.2 圖嵌入模型
圖卷積神經(jīng)網(wǎng)絡(luò)
在圖卷積神經(jīng)網(wǎng)絡(luò)中,層與層之間的傳播方式為:
式中 ,, 其中 I 為單位矩陣 , A 為鄰接矩陣 , 為的度矩陣 ( degree matrix ), H ( l ) 為第 l 層的特征 , σ 為非線(xiàn)性激活函數(shù) , W ( l ) 為第 l 層的權(quán)重矩陣。
下圖為圖卷積神經(jīng)網(wǎng)絡(luò)的示意圖,圖卷積神經(jīng)網(wǎng)絡(luò)的輸入為一張圖,通過(guò)若干層后節(jié)點(diǎn)特征從 X 變?yōu)?Z ,共享中間多個(gè)隱層中 A 參數(shù)。
圖 3.3 圖卷積神經(jīng)網(wǎng)絡(luò)
構(gòu)造一個(gè)兩層的圖卷積神經(jīng)網(wǎng)絡(luò),激活函數(shù)分別采用 ReLU 和 Softmax ,則整體的正向傳播的公式為:
最后,根據(jù)特征 Z ,可以做下游任務(wù),如節(jié)點(diǎn)分類(lèi)任務(wù)、圖分類(lèi)任務(wù)、節(jié)點(diǎn)連接預(yù)測(cè)任務(wù)等。
圖注意力網(wǎng)絡(luò)
注意力機(jī)制可以理解成一個(gè)加權(quán)求和的過(guò)程:對(duì)于一個(gè)給定的 query ,有一系列的 value 和與之一一對(duì)應(yīng)的 key ,那么如何計(jì)算 query 的結(jié)果呢?很簡(jiǎn)單,計(jì)算 query 與所有 key 的相似度,然后根據(jù)相似度對(duì)所有的 value 加權(quán)求和。這個(gè)相似度就是 attention coefficients ,計(jì)算公式如下:
式中, a 為前饋神經(jīng)網(wǎng)絡(luò)的權(quán)重系數(shù), || 代表拼接操作。
圖 3.4 圖注意力網(wǎng)絡(luò)
利用注意力機(jī)制,可以對(duì)圖中各節(jié)點(diǎn)特征進(jìn)行更新:
利用多頭注意力機(jī)制,可以用 K 個(gè)權(quán)重系數(shù)分別對(duì)節(jié)點(diǎn)特征進(jìn)行更新:
圖 3.5 圖注意力網(wǎng)絡(luò)中的多頭機(jī)制
圖注意力網(wǎng)絡(luò)的優(yōu)點(diǎn)包括:可以在不同的節(jié)點(diǎn)上進(jìn)行并行計(jì)算、可以同時(shí)對(duì)擁有不同度的節(jié)點(diǎn)進(jìn)行處理、可以對(duì)從未見(jiàn)過(guò)的圖結(jié)構(gòu)進(jìn)行處理并用于解決歸納學(xué)習(xí)問(wèn)題。
異質(zhì)圖注意力網(wǎng)絡(luò)
GCN直接在同質(zhì)圖上操作,并根據(jù)其鄰域的屬性誘導(dǎo)融合得到當(dāng)前節(jié)點(diǎn)的嵌入表示。在同質(zhì)圖中,每層的傳播規(guī)則如下式所示
在異質(zhì)網(wǎng)絡(luò)中,節(jié)點(diǎn)有多種類(lèi)型T={τ1, τ2, τ3, …},GCN不能直接應(yīng)用于異質(zhì)網(wǎng)絡(luò)。為了解決這個(gè)問(wèn)題,可以采用異質(zhì)圖卷積,考慮各種類(lèi)型信息的異質(zhì)性,并利用類(lèi)型相關(guān)的變換矩陣將它們投射到公共的隱式空間中。
當(dāng)給定某特定節(jié)點(diǎn)時(shí),不同類(lèi)型的相鄰節(jié)點(diǎn)可能對(duì)其具有不同的影響,例如,相同類(lèi)型的相鄰節(jié)點(diǎn)可能會(huì)攜帶更有用的信息,而相同類(lèi)型的不同相鄰節(jié)點(diǎn)也會(huì)具有不同的重要性。因此,可以設(shè)計(jì)一種異質(zhì)網(wǎng)絡(luò)的雙層注意力機(jī)制。
圖神經(jīng)網(wǎng)絡(luò)平臺(tái)
當(dāng)前圖神經(jīng)網(wǎng)絡(luò)平臺(tái)研發(fā)的難點(diǎn)在于缺少統(tǒng)一的算法框架,同時(shí)需要提升數(shù)據(jù)處理的效率。圖數(shù)據(jù)的遍歷及其與深度學(xué)習(xí)的交互會(huì)導(dǎo)致圖的運(yùn)算效率大大降低,這也是圖深度學(xué)習(xí)一直無(wú)法落地的瓶頸之一。如果想要在性能上有所突破,就需要重新設(shè)計(jì)一個(gè)新的圖深度學(xué)習(xí)框架,以下介紹華為云圖神經(jīng)網(wǎng)絡(luò)框架。
圖 4.1 圖注意力網(wǎng)絡(luò)中的多頭機(jī)制
(1)基于圖引擎的GNN新框架:在ModelArts中高效神經(jīng)網(wǎng)絡(luò)訓(xùn)練算子的基礎(chǔ)上,結(jié)合圖引擎服務(wù)(Graph Engine Service,簡(jiǎn)稱(chēng)GES)既有的高性能圖計(jì)算框架平臺(tái)能力,利用圖引擎高并發(fā)、低延時(shí)的特點(diǎn),將GNN的訓(xùn)練過(guò)程高度并行化,如將邊上的跳轉(zhuǎn)概率估計(jì)、頂點(diǎn)鄰域采樣、負(fù)樣本構(gòu)建等,都化解為每個(gè)頂點(diǎn)的局部操作;系統(tǒng)提供了動(dòng)態(tài)調(diào)度器,讓這些局部操作可高度并行化執(zhí)行,就能極大提升系統(tǒng)的總體吞吐量。
(2)多種GNN算法框架統(tǒng)一化:使用統(tǒng)一架構(gòu)實(shí)現(xiàn)了非監(jiān)督的大規(guī)模圖嵌入(例如DeepWalk、Node2Vec)和半監(jiān)督的圖卷積(例如GCN、GraphSAGE)等多類(lèi)GNN算法,降低了系統(tǒng)的維護(hù)成本。
(3)GNN與圖數(shù)據(jù)管理一體化:企業(yè)級(jí)GNN應(yīng)用通常都不會(huì)是一次性計(jì)算,而且數(shù)據(jù)規(guī)模也很大,因此這些數(shù)據(jù)必須要被維護(hù)和管理起來(lái)。而現(xiàn)有的GNN通常不具備這種能力,用戶(hù)只能另建數(shù)據(jù)庫(kù)維護(hù),計(jì)算的時(shí)候再把數(shù)據(jù)整體導(dǎo)出。不僅資源消耗大,也引入數(shù)據(jù)一致性等諸多問(wèn)題。而GES采用屬性圖數(shù)據(jù)模型(Property Graph)和生態(tài)兼容的事實(shí)標(biāo)準(zhǔn)Gremlin圖查詢(xún)語(yǔ)言進(jìn)行分布式圖數(shù)據(jù)管理和維護(hù),需要訓(xùn)練的時(shí)候則在圖引擎內(nèi)本地調(diào)用各類(lèi)算子,并發(fā)執(zhí)行,降低了端到端的性能損耗。
華為云圖神經(jīng)網(wǎng)絡(luò)借助ModelArts的高效神經(jīng)網(wǎng)絡(luò)訓(xùn)練優(yōu)勢(shì),以及GES的高性能圖計(jì)算優(yōu)勢(shì),大幅度提升了GNN的總體計(jì)算效率,以node2vec算法為例,在PPI數(shù)據(jù)集上,華為云圖神經(jīng)網(wǎng)絡(luò)從采樣到訓(xùn)練可在2min內(nèi)完成,較傳統(tǒng)開(kāi)源實(shí)現(xiàn)提升20倍。
圖神經(jīng)網(wǎng)絡(luò)有前途!
隨著圖神經(jīng)網(wǎng)絡(luò)研究的熱度不斷上升,圖神經(jīng)網(wǎng)絡(luò)的不同變種也不斷地涌現(xiàn)出來(lái)。此外,由于圖神經(jīng)網(wǎng)絡(luò)對(duì)于非歐空間數(shù)據(jù)具有良好的表達(dá)能力,在電商、金融、交通、社會(huì)科學(xué)等有大量數(shù)據(jù)積淀的交叉領(lǐng)域有著廣闊的應(yīng)用前景。本文介紹了圖神經(jīng)網(wǎng)絡(luò)在學(xué)界和業(yè)界的發(fā)展情況,并給出了圖神經(jīng)網(wǎng)絡(luò)的基本概念與表示形式,總結(jié)了圖神經(jīng)網(wǎng)絡(luò)的變體,最后介紹了華為云圖神經(jīng)網(wǎng)絡(luò)框架。希望本文能為GNN道路上的你提供一些參考!
本文來(lái)自【研發(fā)智能圖書(shū)館】系列,該系列其他文章:
《主動(dòng)學(xué)習(xí)在DevOps中的應(yīng)用與實(shí)踐》
《文檔驅(qū)動(dòng)開(kāi)發(fā)模式在 AIMS 中的應(yīng)用與實(shí)踐》
《軟件“美不美”,UI測(cè)試一下就知道》
《基于華為云EI的數(shù)據(jù)開(kāi)發(fā)架構(gòu)與實(shí)踐》
AI開(kāi)發(fā)平臺(tái)ModelArts 神經(jīng)網(wǎng)絡(luò)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。