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