PyTorch 圖神經網絡 Hands-On Graph Neural Networks Using Python: Practical techniques and architectures for building powerful graph and deep learning apps with PyTorch

Labonne, Maxime 著 唐 盛 譯

  • PyTorch 圖神經網絡-preview-1
  • PyTorch 圖神經網絡-preview-2
  • PyTorch 圖神經網絡-preview-3
PyTorch 圖神經網絡-preview-1

相關主題

商品描述

"《PyTorch圖神經網絡》詳細闡述了與圖神經網絡相關的基本解決方案,主要包括圖學習入門、圖神經網絡的圖論、使用DeepWalk創建節點表示、在Node2Vec中使用有偏隨機游走改進嵌入、使用普通神經網絡包含節點特徵、圖捲積網絡、圖註意力網絡、使用GraphSAGE擴展圖神經網絡、定義圖分類的表達能力、使用圖神經網絡預測鏈接、使用圖神經網絡生成圖、從異構圖學習、時序圖神經網絡、解釋圖神經網絡、使用A3T-GCN預測交通、使用異構圖神經網絡檢測異常、使用LightGCN構建推薦系統、釋放圖神經網絡在實際應用中的潛力等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。 "

目錄大綱

目    錄

第1篇  圖學習簡介

第1章  圖學習入門 3

1.1  使用圖的原因 3

1.2  進行圖學習的原因 5

1.3  構建圖神經網絡的原因 7

1.4  小結 9

1.5  延伸閱讀 10

第2章  圖神經網絡的圖論 11

2.1  技術要求 11

2.2  介紹圖屬性 11

2.2.1  有向圖 12

2.2.2  加權圖 13

2.2.3  連通圖 14

2.2.4  圖的類型 15

2.3  發現圖概念 17

2.3.1  基礎對象 17

2.3.2  圖的度量 18

2.3.3  鄰接矩陣表示 20

2.3.4  邊列表 21

2.3.5  鄰接列表 21

2.4  探索圖算法 22

2.4.1  廣度優先搜索 22

2.4.2  深度優先搜索 24

2.5  小結 25

 

第2篇  基 礎 知 識

第3章  使用DeepWalk創建節點表示 29

3.1  技術要求 29

3.2  Word2Vec簡介 30

3.2.1  CBOW與skip-gram 30

3.2.2  創建skip-gram 31

3.2.3  skip-gram模型 33

3.3  DeepWalk和隨機游走 37

3.4  實現DeepWalk 40

3.5  小結 44

3.6  延伸閱讀 45

第4章  在Node2Vec中使用有偏隨機游走改進嵌入 47

4.1  技術要求 47

4.2  Node2Vec簡介 48

4.2.1  定義鄰域 48

4.2.2  在隨機游走中引入偏差 49

4.3  實現Node2Vec 53

4.4  構建電影推薦系統 56

4.4.1  基於用戶評分創建電影連接圖 57

4.4.2  實現電影推薦系統 59

4.5  小結 61

4.6  延伸閱讀 61

第5章  使用普通神經網絡包含節點特徵 63

5.1  技術要求 63

5.2  圖數據集介紹 64

5.2.1  Cora數據集 64

5.2.2  Facebook Page-Page數據集 66

5.3  使用普通神經網絡對節點進行分類 69

5.3.1  轉換數據 69

5.3.2  創建自定義多層感知器類 70

5.3.3  創建、訓練和測試多層感知器實例 72

5.4  使用普通圖神經網絡對節點進行分類 73

5.5  小結 78

5.6  延伸閱讀 78

第6章  圖捲積網絡 79

6.1  技術要求 79

6.2  設計圖捲積層 80

6.3  比較圖捲積層和圖線性層 84

6.3.1  分析數據集中的節點度 84

6.3.2  實現圖捲積網絡 86

6.4  通過節點回歸預測網絡流量 89

6.4.1  瞭解數據集 89

6.4.2  定義GCN類 92

6.4.3  使用MSE指標 93

6.4.4  使用RMSE和MAE指標 95

6.5  小結 96

6.6  延伸閱讀 97

第7章  圖註意力網絡 99

7.1  技術要求 99

7.2  圖註意力層簡介 100

7.2.1  線性變換 100

7.2.2  激活函數 101

7.2.3  softmax歸一化 101

7.2.4  多頭註意力 102

7.2.5  改進的圖註意力層 103

7.3  在NumPy中實現圖註意力層 103

7.4  在PyTorch Geometric中實現圖註意力網絡 107

7.4.1  在Cora數據集上使用GATv2圖註意力網絡 107

7.4.2  在CiteSeer數據集上使用圖註意力網絡 110

7.4.3  驗證假設 113

7.5  小結 115

 

第3篇  高 級 技 術

第8章  使用GraphSAGE擴展圖神經網絡 119

8.1  技術要求 119

8.2  GraphSAGE 簡介 120

8.2.1  鄰居採樣 120

8.2.2  聚合 123

8.3  PubMed數據集上的節點分類 124

8.4  蛋白質-蛋白質相互作用的歸納學習 131

8.5  小結 135

8.6  延伸閱讀 136

第9章  定義圖分類的表達能力 137

9.1  技術要求 137

9.2  定義表達能力 138

9.3  圖同構網絡簡介 140

9.4  使用GIN對圖進行分類 141

9.4.1  圖分類 141

9.4.2  實現GIN 142

9.4.3  驗證假設 148

9.4.4  簡單集成模型 150

9.5  小結 151

9.6  延伸閱讀 152

第10章  使用圖神經網絡預測鏈接 153

10.1  技術要求 153

10.2  使用傳統方法預測鏈接 154

10.2.1  啟發式技術 154

10.2.2  矩陣分解 156

10.3  使用節點嵌入預測鏈接 157

10.3.1  GAE簡介 157

10.3.2  VGAE簡介 158

10.3.3  實現VGAE 159

10.4  使用SEAL預測鏈接 162

10.4.1  SEAL框架簡介 162

10.4.2  實現SEAL框架 164

10.5  小結 169

10.6  延伸閱讀 170

第11章  使用圖神經網絡生成圖 171

11.1  技術要求 171

11.2  使用傳統技術生成圖 172

11.2.1  Erd?s–Rényi模型 172

11.2.2  小世界模型 174

11.3  使用圖神經網絡生成圖 176

11.3.1  圖變分自動編碼器 176

11.3.2  自回歸模型 178

11.3.3  生成對抗網絡 179

11.4  使用MolGAN生成分子 181

11.5  小結 185

11.6  延伸閱讀 185

第12章  從異構圖學習 187

12.1  技術要求 187

12.2  消息傳遞神經網絡框架 188

12.3  引入異構圖 190

12.4  將同構圖神經網絡轉換為異構圖神經網絡 193

12.4.1  使用DBLP數據集 193

12.4.2  實現圖註意力網絡作為基線 194

12.4.3  創建圖註意力網絡的異構版本 197

12.5  實現分層自註意力網絡 199

12.6  小結 203

12.7  延伸閱讀 204

第13章  時序圖神經網絡 205

13.1  技術要求 205

13.2  動態圖簡介 206

13.3  預測網絡流量 206

13.3.1  EvolveGCN簡介 206

13.3.2  實現EvolveGCN 209

13.4  預測COVID-19病例 216

13.4.1  MPNN-LSTM簡介 217

13.4.2  可視化示例數據集 218

13.4.3  實現MPNN-LSTM 219

13.5  小結 223

13.6  延伸閱讀 223

第14章  解釋圖神經網絡 225

14.1  技術要求 225

14.2  可解釋AI技術簡介 226

14.3  使用GNNExplainer解釋圖神經網絡 227

14.3.1  GNNExplainer簡介 227

14.3.2  實現GNNExplainer 228

14.4  使用Captum解釋圖神經網絡 231

14.4.1  Captum和積分梯度 232

14.4.2  實現積分梯度 232

14.5  小結 237

14.6  延伸閱讀 237

第4篇  應    用

第15章  使用A3T-GCN預測交通 241

15.1  技術要求 241

15.2  探索PeMS-M數據集 242

15.2.1  可視化交通速度的變化 243

15.2.2  可視化平均交通速度和標準差 244

15.2.3  可視化速度之間的相關性 245

15.3  處理數據集 247

15.3.1  將表格數據轉換為圖 247

15.3.2  歸一化速度數據 250

15.3.3  創建時序圖 251

15.4  實現A3T-GCN架構 252

15.4.1  A3T-GCN架構簡介 252

15.4.2  使用PyTorch Geometric Temporal庫來實現A3T-GCN架構 253

15.4.3  評估模型性能 254

15.4.4  可視化平均預測結果 256

15.5  小結 258

15.6  延伸閱讀 258

第16章  使用異構圖神經網絡檢測異常 259

16.1  技術要求 259

16.2  探索CIDDS-001數據集 260

16.3  預處理CIDDS-001數據集 264

16.3.1  處理多種類型的數據 264

16.3.2  將DataFrame轉換為圖 267

16.4  實現異構圖神經網絡 270

16.5  小結 276

16.6  延伸閱讀 276

第17章  使用LightGCN構建推薦系統 277

17.1  技術要求 277

17.2  探索Book-Crossing數據集 278

17.3  預處理Book-Crossing數據集 283

17.4  實現LightGCN架構 286

17.4.1  LightGCN架構的基本原理 287

17.4.2  使用PyTorch Geometric創建模型 288

17.4.3  編寫損失函數 290

17.4.4  訓練LightGCN模型 291

17.4.5  編寫推薦函數 293

17.5  小結 295

17.6  延伸閱讀 295

第18章  釋放圖神經網絡在實際應用中的潛力 297