這是一本從原理、算法、實現、應用4個維度詳細講解圖神經網絡的著作,在圖神經網絡領域具有重大的意義。
本書作者是圖神經網絡領域的資深技術專家,作者所在的公司極驗也是該領域的領先者。本書是作者和極驗多年研究與實踐經驗的總結,內容系統(tǒng)、扎實、深入淺出,得到了白翔、俞棟等多位學術界和企業(yè)界領軍人物的高度評價及強烈推薦。
全書共10章:
第1~4章全面介紹了圖、圖數據、卷積神經網絡以及表示學習等基礎知識,是閱讀本書的預備知識;
第5~6章從理論的角度出發(fā),講解了圖信號處理和圖卷積神經網絡,深入剖析了圖卷積神經網絡的性質,并提供了GCN實現節(jié)點分類的實例;
第7~9章全面講解了圖神經網絡的各種變體及范式、圖分類機制及其實踐,以及基于GNN的圖表示學習;
第10章介紹了圖神經網絡的*研究和應用。
為何寫作本書
近年來,作為一項新興的圖數據學習技術,圖神經網絡(GNN)受到了非常廣泛的關注。2018年年末,發(fā)生了一件十分有趣的事情,該領域同時發(fā)表了三篇綜述類型論文,這種不約而同體現了學術界對該項技術的認可。事實上,在2019年的各大頂級學術會議上,與圖神經網絡有關的論文也占據了相當可觀的份額。相信在未來幾年,這種流行的趨勢會只增不減。
圖神經網絡技術的出現有其必然性和重要性。在深度神經網絡技術興起的前幾年,圖像、語音、文本等形式的數據都能在深度學習中被很好地應用,并獲得了十分好的效果。這促使大量的相關應用進入了實用階段,如人臉識別、語音助手、機器翻譯等。盡管如此,深度學習一直無法很好地對另一類形式的數據圖數據(或稱網絡數據)進行有效的適配。作為一類主要用來描述關系的通用數據表示方法,圖數據在產業(yè)界有著更加廣闊的應用場景,在諸如社交網絡、電子購物、物聯網、生物制藥等場景中,都可以找到圖數據的影子。將深度學習技術的成功經驗遷移到圖數據的學習中來,是一種十分自然且必要的需求。
在這樣的背景下,圖神經網絡的出現很好地填補了上述技術空白,實現了圖數據與深度學習技術的有效結合,使得深度學習能夠在圖數據的相關應用場景中繼續(xù)攻城略地。事實上,縱觀這三年,圖神經網絡技術的相關應用和研究已經拓展到了極其廣泛的領域,從視覺推理到開放的閱讀理解問題,從藥物分子的研發(fā)到5G芯片的設計,從交通流量預測到3D點云數據的學習,該項技術都展示出了極其重要且極具滲透性的應用能力,這種能力必將給產業(yè)界帶來極高的應用價值。
筆者所在公司極驗在業(yè)務風控的應用場景中,長期奮戰(zhàn)在網絡攻防對抗的前線,在這樣的背景下,不管是主動還是被動,都促使我們不斷努力提升數據分析與數據建模的能力,一直以來,我們都期望有一套端對端的模型來高效學習數據中的關系或結構化信息。極驗在2017年年中與圖神經網絡技術結緣,正好提供了這樣的契機,在對該項技術進行多番論證并上線到極驗的實際業(yè)務中后,取得了超出預期的效果,這極大提升了我們對該項技術的熱情。同時,為了更好地對這項新技術進行討論和學習,我們組織了相應的學習社群,大家都表現出了高昂的熱情,這份熱情激勵筆者將更多精力投入到該項技術上,也正因如此,寫一本關于圖神經網絡的書籍的想法應運而生。期望通過本書,讓讀者朋友對該項技術的來龍去脈有更清晰、全面的認識。如果能產生更大的知識分享成果,那么本書的價值就更高了,這將是對我們的最好回報。
本書讀者對象
想學習并初步實踐圖神經網絡技術的讀者
想較系統(tǒng)且深入理解圖神經網絡技術的讀者
本書主要內容
本書分為三大部分:
第一部分為基礎篇,包括第1~4章,其中第1章由筆者撰寫,第2~4章由李彥霖撰寫。主要介紹學習圖神經網絡所需的基礎知識,包括圖的基本概念、卷積神經網絡以及表示學習,幫助初學者更加清晰地認識到圖神經網絡技術與深度學習技術是一脈相承的。
第二部分為高級篇,包括第5~9章。這部分是本書的重點,主要講解圖卷積神經網絡的理論基礎和性質、圖神經網絡的各種變體和框架范式、圖分類以及基于GNN的圖表示學習。該部分的各章節(jié)都有相關的實踐案例,為讀者規(guī)劃了完整的從理論到實踐的學習路線,幫助讀者系統(tǒng)全面地學習圖神經網絡。這部分有兩位作者,理論部分由筆者撰寫,實踐案例的代碼由李彥霖提供。
第三部分為應用篇,即第10章,主要介紹了圖神經網絡目前的一些應用。圖神經網絡的應用非常廣泛,現實應用場景非常多,但鑒于本書的規(guī)劃,這里只是略著筆墨,旨在拋磚引玉,讓讀者對應用場景有一定的認知。這部分由周洋撰寫。
最后,每個章節(jié)都附有相關的參考文獻。
本書特色
本書有如下特色:
(1)詳細闡述了圖卷積模型的由來,以及什么是頻域圖卷積和空域圖卷積,這是很多初學者學習該技術的第一只攔路虎;
(2)集中闡述了圖卷積模型的性質,這些性質的解讀對讀者深入地理解圖神經網絡技術有著重要的作用;
(3)給出了關鍵部分的代碼,希望能輔助讀者清晰理解書中的一些公式里的變量的具體含義。
(4)本書為了幫助讀者理解圖神經網絡的相關概念和技術,提供了很多示意圖。
勘誤和支持
由于作者的水平有限,編寫時間倉促,書中難免會出現一些錯誤或者不準確的地方,懇請讀者批評指正。如果你遇到任何問題,可以訪問我們專門為本書創(chuàng)建的技術主頁 https://github.com/FighterLYL/GraphNeuralNetwork,我們將盡量為讀者提供滿意的解答。如果你有更多寶貴的意見,也歡迎發(fā)送郵件至郵箱yfc@hzbook.com,期待能夠得到你們的真摯反饋。
致謝
首先要感謝這個開放的時代,深度學習技術的爆發(fā)離不開產、學、研的緊密結合,在信息開放、知識分享的大背景下,我們每一個人都是其中的受益者。
感謝筆者所在公司極驗科技,對本書的寫作提供了大力支持,特別是同事謝永芬,完成了書稿所有章節(jié)的初排工作,為其中大量的公式和插圖付出了許多精力。
感謝機械工業(yè)出版社華章公司的編輯楊福川和張錫鵬,在這段時間始終支持我們的寫作,他們的耐心和專業(yè)引導我們順利完成了撰寫工作。
最后,感謝我的妻子,她理解并支持我這段時間的挑燈寫作,家人的關懷是我前進的動力!
劉忠雨
劉忠雨
畢業(yè)于華中科技大學,資深圖神經網絡技術專家,極驗科技人工智能實驗室主任和首席技術官。在機器學習、深度學習以及圖學習領域有6年以上的算法架構和研發(fā)經驗,主導研發(fā)了極驗行為驗證、深知業(yè)務風控、疊圖等產品,極驗科技目前服務于全球 26萬家企業(yè)。
李彥霖
畢業(yè)于武漢大學,極驗人工智能實驗室技術專家。一直從事機器學習、深度學習、圖學習領域的研究工作。在深度神經網絡算法研發(fā)、圖神經網絡在計算機視覺以及風控中的應用等領域實踐經驗豐富。
周洋
工學博士,畢業(yè)于武漢大學,目前在華中師范大學任教。曾受邀到北卡羅萊納大學訪學,長期在大數據挖掘前沿領域進行探索和研究,并應用于地理時空大數據、交通地理等諸多方向,已發(fā)表SCI&SSCI及核心期刊論文10余篇。
前言
第1章 圖的概述 1
1.1 圖的基本定義 1
1.1.1 圖的基本類型 2
1.1.2 鄰居和度 4
1.1.3 子圖與路徑 4
1.2 圖的存儲與遍歷 5
1.2.1 鄰接矩陣與關聯矩陣 5
1.2.2 圖的遍歷 6
1.3 圖數據的應用場景 7
1.4 圖數據深度學習 10
1.5 參考文獻 13
第2章 神經網絡基礎 17
2.1 機器學習基本概念 17
2.1.1 機器學習分類 17
2.1.2 機器學習流程概述 18
2.1.3 常見的損失函數 21
2.1.4 梯度下降算法 23
2.2 神經網絡 25
2.2.1 神經元 25
2.2.2 多層感知器 27
2.3 激活函數 29
2.3.1 S型激活函數 30
2.3.2 ReLU及其變種 30
2.4 訓練神經網絡 33
2.4.1 神經網絡的運行過程 34
2.4.2 反向傳播 34
2.4.3 優(yōu)化困境 36
2.5 參考文獻 38
第3章 卷積神經網絡 39
3.1 卷積與池化 39
3.1.1 信號處理中的卷積 39
3.1.2 深度學習中的卷積操作 42
3.1.3 池化 46
3.2 卷積神經網絡 46
3.2.1 卷積神經網絡的結構 47
3.2.2 卷積神經網絡的特點 49
3.3 特殊的卷積形式 51
3.3.1 11卷積 51
3.3.2 轉置卷積 52
3.3.3 空洞卷積 54
3.3.4 分組卷積 55
3.3.5 深度可分離卷積 55
3.4 卷積網絡在圖像分類中的應用 56
3.4.1 VGG 56
3.4.2 Inception系列 57
3.4.3 ResNet 60
3.5 參考文獻 62
第4章 表示學習 65
4.1 表示學習 65
4.1.1 表示學習的意義 65
4.1.2 離散表示與分布式表示 66
4.1.3 端到端學習是一種強大的表示學習方法 68
4.2 基于重構損失的方法自編碼器 69
4.2.1 自編碼器 69
4.2.2 正則自編碼器 71
4.2.3 變分自編碼器 72
4.3 基于對比損失的方法Word2vec 75
4.4 參考文獻 79
第5章 圖信號處理與圖卷積神經網絡 81
5.1 矩陣乘法的三種方式 81
5.2 圖信號與圖的拉普拉斯矩陣 83
5.3 圖傅里葉變換 85
5.4 圖濾波器 90
5.4.1 空域角度 93
5.4.2 頻域角度 94
5.5 圖卷積神經網絡 96
5.6 GCN實戰(zhàn) 101
5.7 參考文獻 109
第6章 GCN的性質 111
6.1 GCN與CNN的聯系 111
6.2 GCN能夠對圖數據進行端對端學習 115
6.3 GCN是一個低通濾波器 120
6.4 GCN的問題過平滑 122
6.5 參考文獻 127
第7章 GNN的變體與框架 129
7.1 GraphSAGE 129
7.1.1 采樣鄰居 130
7.1.2 聚合鄰居 131
7.1.3 GraphSAGE算法過程 132
7.2 GAT 134
7.2.1 注意力機制 134
7.2.2 圖注意力層 137
7.2.3 多頭圖注意力層 138
7.3 R-GCN 140
7.3.1 知識圖譜 140
7.3.2 R-GCN 141
7.4 GNN的通用框架 143
7.4.1 MPNN 143
7.4.2 NLNN 146
7.4.3 GN 147
7.5 GraphSAGE實戰(zhàn) 148
7.6 參考文獻 153
第8章 圖分類 155
8.1 基于全局池化的圖分類 155
8.2 基于層次化池化的圖分類 156
8.2.1 基于圖坍縮的池化機制 157
8.2.2 基于TopK的池化機制 165
8.2.3 基于邊收縮的池化機制 168
8.3 圖分類實戰(zhàn) 169
8.4 參考文獻 177
第9章 基于GNN的圖表示學習 179
9.1 圖表示學習 180
9.2 基于GNN的圖表示學習 182
9.2.1 基于重構損失的GNN 183
9.2.2 基于對比損失的GNN 184
9.3 基于圖自編碼器的推薦系統(tǒng) 188
9.4 參考文獻 195
第10章 GNN的應用簡介 197
10.1 GNN的應用簡述 197
10.2 GNN的應用案例 199
10.2.1 3D視覺 199
10.2.2 基于社交網絡的推薦系統(tǒng) 203
10.2.3 視覺推理 205
10.3 GNN的未來展望 208
10.4 參考文獻 209
附錄A 符號聲明 211