今年以來,圖神經網絡技術(Graph Neural Network, GNN)得到了學術界極大的關注與響應。各大學術會議紛紛推出 GNN 相關的 workshop,在投中的論文中,以 Graph Network 為關鍵詞的論文數量也呈現井噴之勢,下圖給出了近三年,上述關鍵詞在各學術會議上的增長趨勢:
GNN 在經歷過 2017-2018 年兩年的孕育期與嘗試期之后,在 2018 年末至今的一年多時間里,迎來了快速爆發期。從理論研究到應用實踐,可謂是遍地開花,讓人應接不暇。
在理論研究上,GNN 的原理解釋、變體模型以及對各種圖數據的拓展適配等工作成為了主流。而在應用實踐上,GNN 更是展現出了前所未有的滲透性,從視覺推理到開放性的閱讀理解問題,從藥物分子的研發到 5G 芯片的設計,從交通流量預測到 3D 點云數據的學習,我們看到了 GNN 極其廣闊的應用前景。
本文將對近一年各大頂級會議(如 ICML、NIPS、CVPR、ACL、KDD 等)上的 GNN 相關論文進行梳理,重點從理論研究和應用實踐兩方面解讀過去一年 GNN 的進展。由于時間和篇幅有限,本文并沒有對每一個方向都進行全面的總結與概括,感興趣的讀者可以根據文中給出的論文鏈接自行查漏補缺。
02 GNN 的原理、變體及拓展
GNN 作為一個新興的技術方向,其原理解讀以及各類變體與拓展構成了理論研究的熱點,這些論文很好地回答了 GNN 的優缺點以及相關的適應性改造問題。
1. GNN 原理解讀
當前 GNN 研究的第一個熱點在于其相關能力的理論化研究。在 “How Powerful are Graph Neural Networks?” 和 “On the equivalence between graph isomorphism testing and function approximation with GNNs” 中,都對 GNN 在圖同構問題上的表現進行了探討。
圖同構問題是辨別給定的兩個圖是否一致,同構圖如下圖所示。這個問題考驗了算法對圖數據結構的辨別能力,這兩篇文章都證明了 GNN 模型具有出色的結構學習能力。
圖中天然包含了關系,因此許多 GNN 相關的工作就建立在對給定系統進行推理學習的研究上,在這些研究中,“Can graph neural networks help logic reasoning? ” 和 “The Logical Expressiveness of Graph Neural Networks” 論證了 GNN 在邏輯推理上的優秀表現。“All We Have is Low-Pass Filters ” 從低通濾波的層面解釋了 GNN 的有效性。
這些原理解讀,有助于我們對 GNN 的特色專長建立一種更加清晰的認識。
2. GNN 的各類變體
GNN 模型的相關變體研究是領域內的另一個熱點,這些變體在一些方面提升了 GNN 的能力表現。我們知道 GCN 模型來源于圖信號上的傅里葉變換,“Graph Wavelet Neural Network” 引入了圖信號上的小波變換來改造 GCN 模型,將卷積計算變換到空域局部鄰域內。
將數據表征從歐式空間轉化到雙曲空間,不僅能獲得更好地層次化表示,同時能大大節約空間維度,“Hyperbolic Graph Convolutional Neural Networks”和 “Hyperbolic Attention Networks” 同時將 GNN 拓展到了雙曲空間上去。
在 “MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing” 和 “Diffusion Improves Graph Learning”中,同時將原始 GCN 中的鄰居定義由一階拓展到高階,強化了模型低通濾波的特性。
3. GNN 在各類圖數據及任務上的拓展
圖數據是一個種類繁多的數據家族,模型對這些不同類型的數據如何適配,是 GNN 發展的另一重要方向。下表給出了相應的概括:
圖類型 | 相關說明 | 對應論文 |
---|---|---|
屬性圖 | 多種節點類型,節點包含屬性,最具代表性 | [1] [2] |
超圖 | 一條邊同時連接兩個以上節點 | [3] |
動態圖 | 圖結構隨時間演化 | [4] |
隱式圖 | 節點之間沒有顯式邊,需要先學習圖的結構 | [5] [6] |
[1]: HetGNN: Heterogeneous Graph Neural Network
https://www.kdd.org/kdd2019/accepted-papers/view/hetgnn-heterogeneous-graph-neural-network
[2]: Representation Learning for Attributed Multiplex Heterogeneous Network
https://arxiv.org/abs/1905.01669
[3]: HyperGCN: A New Method For Training Graph Convolutional Networks>https://arxiv.org/abs/1809.02589
[4]: DyRep: Learning Representations over Dynamic Graphs
https://openreview.net/pdf?id=HyePrhR5KX
[5]: Semi-supervised Learning with Graph Learning-Convolutional Networks
http://openaccess.thecvf.com/content_CVPR_2019/papers/Jiang_Semi-Supervised_Learning_With_Graph_Learning-Convolutional_Networks_CVPR_2019_paper.pdf
[6]: Learning Discrete Structures for Graph Neural Networks
https://arxiv.org/abs/1903.11960
在圖數據相關的任務上,圖的分類是一個重要而又未完全解決好的問題,其難處在于如何在圖數據上實現層次化的池化操作從而獲得圖的全局表示,“Graph Convolutional Networks with EigenPooling”中給出了一種新的操作思路。
03 GNN 相關應用
近幾年,以深度學習為代表的人工智能技術給產業界帶來了新的變革。該技術在視覺、語音、文本三大領域取得了極大的應用成果,這種成功,離不開深度學習技術對這三類數據定制化的模型設計工作。
脫離于這三類數據之外,圖數據是一種更加廣泛的數據表示方式,夸張地說,沒有任何一個場景中的數據彼此之間是孤立存在的,這些數據之間的關系都可以以圖的形式進行表達。下圖給出了一些圖數據的使用場景:
如何將圖數據的學習與深度學習技術進行深度結合成為了一個迫切且緊要的需求。在這樣的背景之下,圖神經網絡技術的興起恰似一股東風,第一次使得我們看到了深度學習應用到圖數據之上的曙光。
實際上,在最近一年,GNN 的應用場景不斷延伸,覆蓋了計算機視覺、3D 視覺、自然語言處理、科研、知識圖譜、推薦、反欺詐等場景,下面我們將逐項概括。
1. 計算機視覺
在前幾年跨越了視覺識別的大門之后,推理相關的視覺任務已經成為了了各大 CV 頂會的主要關注點,如:視覺問答、視覺推理、語義圖合成、human-object interaction 等,甚至如視覺的基礎任務,目標檢測也需要用到推理來提升性能。在這些任務中,已經大量出現應用 GNN 的相關工作。
下面我們以最常見的視覺問答任務舉例說明,在“Relation-Aware Graph Attention Network for Visual Question Answering”一文中,給出了將 GNN 與視覺模型結合的示意圖:
在上圖中,視覺模型的作用是提取給定圖像中的語義區域,這些語義區域與問題一并當做圖中的節點,送到一個 GNN 模型中進行推理學習,這樣的一種建模方式,可以更加有效地在視覺問答中對問題進行自適應地推理。
另外一個有意思的場景是少樣本或零樣本學習,由于這類場景下樣本十分缺乏,如何充分挖掘樣本之間的潛在關聯信息(比如標簽語義關聯、潛層表達關聯)就成為了一個至關重要的考量因素,引入 GNN 成為了一個非常自然的動作,相關工作有“Rethinking Knowledge Graph Propagation for Zero-Shot Learning”“Edge-labeling Graph Neural Network for Few-shot Learning”。
2. 3D 視覺
3D 視覺是計算機視覺的又一重要發展方向,世界是 3D 的,如何讓計算機理解 3D 世界,具有極其重要的現實價值。3D 視覺中,點云數據是一種十分常見的數據表示方法。
點云數據通常由一組坐標點(x,y,z)表示,這種數據由于映射了現實世界中物體的特征,因此存在一種內在的表征物體語義的流行結構,這種結構的學習也是 GNN 所擅長的。
需要說明一點的是,在 3D 視覺中流行的是幾何學習 Geometry Learning,當下,幾何學習與 GNN 在一些場景如點云分割、點云識別等正在深度融合,相關論文有 “Graph Attention Convolution for Point Cloud Segmentation”“Semantic Graph Convolutional Networks for 3D Human Pose Regression”。
3. 自然語言處理
GNN 與 NLP 的結合,關鍵點也在于 GNN 優秀的推理能力。GNN 在一些場景如:閱讀理解、實體識別與關系抽取、依存句法分析中都有應用。
下面我們以多跳閱讀(Multi-hop reading)為例,多跳閱讀是說在閱讀理解的過程中,往往需要在多篇文檔之間進行多級跳躍式的關聯與推理,才能找到正確答案,相比較以前的單文檔問答數據集,這是一個更具有開放性與挑戰性的推理任務。下圖給出了多跳閱讀的樣例:
在“Cognitive Graph for Multi-Hop Reading Comprehension at Scale”一文中,作者基于 BERT 和 GNN 的實現可有效處理 HotPotQA 數據集中有關多跳閱讀問題的數百萬份文檔,在排行榜上的聯合 F1 得分為 34.9,而第二名的得分只有 23.6。
4. 科研場景
如果我們把原子看做圖中的節點、化學鍵看做邊,那么分子就可以表征為一張圖。這種以圖來表示分子的方法,可以將 GNN 結合到很多實際的科研場景中,如蛋白質相互作用點預測、化學反應產物預測等,這些場景有利于將深度學習的快速擬合能力帶入進藥物研發、材料研發等行業中去,提升研發效率。
在“Circuit-GNN: Graph Neural Networks for Distributed Circuit Design”一文中,作者將 GNN 結合進高頻電路設計(如 5G 芯片等)場景,大大提升了電路電磁特性仿真計算的效率。下圖給出了系統示意圖:
5. 知識圖譜
由于知識圖譜本身就是一種圖數據,因此知識圖譜 +GNN 的組合自然就成了解決各類知識圖譜問題的新手段。關系補全或預測問題是知識圖譜的一大基礎任務,通過關系的推理補全可以大大提升知識圖譜的應用質量,下圖給出了關系補全的一個實例:
在論文“Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs”中,作者選擇用 GNN 對知識圖譜進行建模,相比之前基于單獨三元組關系的推理,基于 GNN 的方法可以更好地捕捉三元組鄰域復雜而隱含的模式信息,這種優勢對完成關系補全任務具有十分重要的作用。
實體對齊是知識圖譜的另一類任務,給定多個知識圖譜,需要首先確定各自圖譜中的哪些實體描述的是同一個對象,完成這項工作才能正確地將它們合成一個大的知識圖譜。論文“Multi-Channel Graph Neural Network for Entity Alignment”提出了一種基于 GNN 的實體對齊方案,實驗表明,在多個數據集上,該方案均取得了最好的效果。
近幾年,知識圖譜在工業界聲勢日隆,在這種語境下,我們也稱知識圖譜為業務圖譜,在論文“Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks”中,作者成功運用 GNN 技術對電影業務圖譜進行建模,在電影流行度預測上效果表現十分出色。
另外,知識圖譜與推薦系統結合也成了近期一個比較熱門的方向,這部分可參考下一節推薦系統中的講解。
6. 推薦系統
推薦是各大互聯網公司十分重要的營收手段,因此一直以來備受工業界與學術界雙重關注。過去這幾年,推薦系統由早期的協同過濾算法發展到 MF 模型、再到之后的 Wide&Deep,以及基于 Network Embedding 的方法,可以明顯地看到基于神經網絡的方法正在逐漸占據主要位置,而 GNN 的出現,又一次大大加速了這個技術趨勢。
以電商平臺的推薦為例,推薦系統的核心數據在于用戶 - 商品交互的二部圖,而基于神經網絡的多數方法將二部圖中的實體映射到一個合適的向量空間中去,使得在圖上距離越近的兩個實體在向量空間中的距離也越近,如下圖所示:
GNN 本身是一種深度模型,與推薦系統結合之后,多層 GNN 模型可以更好地捕捉用戶與商品之間的高階協同關系,論文“Neural Graph Collaborative Filtering”中,作者論證了多層 GNN 所帶來的“Deep”與“High order”效益對推薦質量的有效提升。
除了推薦系統算法模型本身的研究,另一種思路在于如何使推薦系統有效融合進額外的信息,如用戶端社交網絡的信息、商品端商品知識圖譜的信息。這類信息中通常也蘊含了極強的關系,因此可以非常自然地與用戶 - 商品二部圖合在一起構成一個更大的異構圖。下圖給出了與電影知識圖譜的結合示意圖:
圖片來源 https://arxiv.org/pdf/1902.06236.pdf
有了這樣的圖數據抽象之后,引進 GNN 進行推薦建模也就成了一種自然的選擇,相關論文有 KGAT:“ Knowledge Graph Attention Network for Recommendation”“Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation”“Session-based Social Recommendation via Dynamic Graph Attention Networks”等。
另外一個十分重要的、也與推薦系統息息相關相關的業務場景是廣告點擊率(CTR)預測。該場景下的樣本通常是由多領域的特征數據構成,比如用戶域、設備域、廣告域等等,如何建模這些數據域之間的特征交互,成為了該任務的核心。
最近基于神經網絡的方法都是直接將各個域之間的特征拼接起來然后送到上層的網絡模型中,以期得到這些域之間的高階交互,這種簡單的非結構化的拼接方式,會大大限制模型的學習能力。
在“Fi-GNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction”一文中,作者將各個域之間以圖的形式連接起來(下圖中的 Feature graph),然后用 GNN 建模各個特征域之間高階復雜的交互關系,相比之前的模型取得了最好效果。
7. 反欺詐
反欺詐業務是各大公司保證運營業務與營銷業務正常開展的前提,通常我們所面臨的欺詐問題包括:垃圾評論、排名欺詐、交易欺詐、薅羊毛、賬戶盜用等。這些欺詐現象的背后往往是黑產團伙協同作案,大大提高了反欺詐業務的打擊成本。
關系數據的挖掘是絕大部分反欺詐業務開展最重要的技術視角,不論是基于欺詐風險傳播的關聯分析還是基于黑產團伙模式的結構化挖掘,圖都是反欺詐業務人員的首選工具。
在這樣的背景下,GNN 也變得極有發揮空間。例如,論文“Heterogeneous Graph Neural Networks for Malicious Account Detection”中運用 GNN 對支付寶欺詐用戶進行識別檢測,“Spam Review Detection with Graph Convolutional Networks”中運用 GNN 對咸魚上的評論進行欺詐識別。
04 GNN 開源項目總結
在 2019 年,圖領域出現了不少新的開源項目,一些已有的開源項目也有較大的改善。
- 1 月,阿里媽媽開源了國內首個支持工業級圖深度學習的框架 Euler,內置很多實用的圖算法。項目地址:
https://github.com/alibaba/euler
- 3 月,德國多特蒙德工業大學的學者們提出了 Pytorch Geometric ,實現了諸多 GNN 的變體模型,上線之后獲得了大佬 Yann LeCun 的推薦。項目地址:
https://github.com/rusty1s/pytorch_geometric
- 5 月,著名圖學習框架 DGL 發布 v0.3 版本(目前已經更新至 0.4.1 版本,也補齊了很多 GNN 的變體模型),0.3 版本在性能上有了非常顯著的提升,相比 0.2 版本訓練速度提高了 19 倍,同時支持億級規模的圖神經網絡訓練。項目地址:
- 12 月,斯坦福大學的 Jure Leskovec 教授在 NeurlPS 2019 大會演講中宣布開源 Open Graph Benchmark,通過這一數據集可以更好地評估模型性能等方面的指標。項目地址:
http://ogb.stanford.edu
同月,清華大學知識工程研究室(KEG)推出了大規模圖表示學習工具包 CogDL,可以讓研究者和開發者更加方便地訓練和對比用于節點分類、鏈路預測以及其他圖任務的基準或定制模型。項目地址:
https://github.com/THUDM/cogdl/
除了上述的項目,GitHub 上圖相關的兩個論文項目也很不錯,總結了近年來各大頂會所有相關論文,收錄非常及時全面,推薦大家關注:
https://github.com/naganandy/graph-based-deep-learning-literature
https://github.com/DeepGraphLearning/LiteratureDL4Graph
05 展望
展望來年,最可以確定的一點是 GNN 依然會保持如今快速發展的態勢。從理論研究上看,不斷解構 GNN 相關的原理、特色與不足,進而提出相應地改進與拓展,是非常值得我們關注的部分。
另外,關于一直以來研究 GNN 所用的標準數據集,如 Cora、PubMed,這些數據集場景單一、異構性不足,難以對復雜的 GNN 模型進行準確評價,針對這一問題,近期斯坦福大學等開源的 OGB 標準數據集有望大大改善這個現狀,在新的評價體系下,哪些工作能夠脫穎而出,且讓我們拭目以待。
在應用場景上,相信 GNN 能夠帶給我們更加亮眼的工作,除了在視覺推理、點云學習、關系推理、科研、知識圖譜、推薦、反欺詐等領域有廣泛應用外,在其他的一些場景,如交通流量預測、醫療影像、組合優化等,也出現了一些 GNN 相關的工作。
大體上看,如何準確有效地將圖數據與 GNN 二者有機結合到相關場景,是應用上需要著重考慮的事情,相信來年,會出現更多這樣的工作來拓展 GNN 的應用邊界。