近年来,深度学习在人工智能的发展过程中起到了举足轻重的作用,而图神经网络是人工智能领域的一个新兴方向,被称为图上的深度学习。 本书详细介绍了从深度学习到图神经网络的基础概念和前沿技术,包括图上的深度学习、图神经网络的数学基础、神经网络学习与算法优化、深度学习基础、神经网络中的表示学习、面向图数据的嵌入表示、初代图神经网络、空域及谱域图卷积神经网络等内容。为增强可读性,本书叙述清晰、内容深入浅出、图文并茂,力求降低初学者的学习难度。 本书既可作为人工智能领域研究和开发人员的技术参考书,也可作为对图上的深度学习感兴趣的高年级本科生和研究生的入门书。
张玉宏,博士毕业于电子科技大学,大数据分析师(高级),2009—2011年美国西北大学访问学者,2019—2020年美国IUPUI高级访问学者,CCF郑州分部执行委员,CFF公益大使。现执教于河南工业大学,主要研究方向为人工智能、大数据等。发表学术论文30余篇,先后撰写《深度学习之美:AI时代的数据处理与最佳实践》《Python极简讲义:一本书入门数据分析与机器学习》等科技图书15部。杨铁军,博士,教授,博士生导师,河南省电子学会副理事长,河南省高等学校电子信息类专业教学指导委员会副主任委员,河南省数字政府建设专家委员会委员。主要研究方向:医学图像处理、粮食信息处理。
第 1 章 图上的深度学习 ...................................................................................................................... 1
1.1 人工智能与深度学习 ....................................................................................................................................... 2
1.1.1 深度学习的发展 ................................................................................................................................... 2
1.1.2 人工智能的底层逻辑 ............................................................................................................................ 4
1.2 图神经网络时代的来临.................................................................................................................................... 6
1.2.1 图与图像大不同 ................................................................................................................................... 6
1.2.2 图神经网络的本质 ................................................................................................................................ 8
1.3 图数据处理面临的挑战.................................................................................................................................... 9
1.3.1 欧氏空间难表示图 ................................................................................................................................ 9
1.3.2 图表达无固定格式 .............................................................................................................................. 10
1.3.3 图可视化难理解 ................................................................................................................................. 11
1.3.4 图数据不符合独立同分布 .................................................................................................................. 11
1.4 图神经网络的应用层面.................................................................................................................................. 12
1.4.1 节点预测 ............................................................................................................................................. 12
1.4.2 边预测 ................................................................................................................................................. 13
1.4.3 图预测 ................................................................................................................................................. 14
1.5 图神经网络的发展简史.................................................................................................................................. 15
1.5.1 早期的图神经网络 .............................................................................................................................. 15
1.5.2 图卷积神经网络的提出 ...................................................................................................................... 16
1.5.3 图表示学习 ......................................................................................................................................... 18
1.5.4 图卷积的简化 ..................................................................................................................................... 19
1.6 图神经网络的模块与分类 .............................................................................................................................. 20
1.6.1 图神经网络的常见模块 ...................................................................................................................... 20
1.6.2 图神经网络的分类 .............................................................................................................................. 22
1.7 本章小结 ......................................................................................................................................................... 23
参考资料 .................................................................................................................................................................. 24
第 2 章 图神经网络的数学基础 ........................................................................................................ 27
2.1 矩阵论基础 ..................................................................................................................................................... 28
2.1.1 标量与向量 ......................................................................................................................................... 28
2.1.2 向量范数 ............................................................................................................................................. 30
2.1.3 向量的夹角与余弦相似度 .................................................................................................................. 32
2.1.4 矩阵与张量 ......................................................................................................................................... 33
2.1.5 矩阵的本质 ......................................................................................................................................... 34
2.1.6 矩阵乘法的三种视角 .......................................................................................................................... 34
2.1.7 逆矩阵与行列式 ................................................................................................................................. 37
2.1.8 特征值与特征向量 .............................................................................................................................. 38
2.1.9 矩阵的平方分解 ................................................................................................................................. 39
2.1.10 特征分解 ........................................................................................................................................... 40
2.1.11 正定矩阵和半正定矩阵 .................................................................................................................... 42
2.2 图论基础 ......................................................................................................................................................... 43
2.2.1 图的表示 ............................................................................................................................................. 44
2.2.2 无向图与有向图 ................................................................................................................................. 45
2.2.3 权值图 ................................................................................................................................................. 45
2.2.4 邻接矩阵与关联矩阵 .......................................................................................................................... 46
2.2.5 邻域和度 ............................................................................................................................................. 47
2.2.6 度数矩阵 ............................................................................................................................................. 49
2.2.7 二分图 ................................................................................................................................................. 50
2.2.8 符号图 ................................................................................................................................................. 51
2.2.9 图的遍历 ............................................................................................................................................. 52
2.2.10 图的同构与异构................................................................................................................................ 53
2.2.11 图的途径、迹与路 ............................................................................................................................ 54
2.2.12 图的连通性 ....................................................................................................................................... 55
2.2.13 节点的中心性 ................................................................................................................................... 57
2.3 谱图论基础 ..................................................................................................................................................... 65
2.3.1 拉普拉斯矩阵的来源 .......................................................................................................................... 65
2.3.2 拉普拉斯矩阵的性质 .......................................................................................................................... 72
2.3.3 拉普拉斯矩阵的谱分解 ...................................................................................................................... 74
2.3.4 拉普拉斯矩阵的归一化 ...................................................................................................................... 77
2.4 本章小结 ......................................................................................................................................................... 80
参考资料 .................................................................................................................................................................. 80
第 3 章 神经网络学习与算法优化..................................................................................................... 82
3.1 人工神经网络的缘起 ..................................................................................................................................... 83
3.2 神经网络的第一性原理.................................................................................................................................. 84
3.2.1 通用近似定理 ..................................................................................................................................... 85
3.2.2 通用近似定理的应用 .......................................................................................................................... 86
3.3 感知机模型与前馈神经网络 .......................................................................................................................... 87
3.3.1 人工神经元的本质 .............................................................................................................................. 88
3.3.2 历久弥新的感知机 .............................................................................................................................. 88
3.3.3 备受启发的支持向量机 ...................................................................................................................... 90
3.4 更强表征能力的多层感知机 .......................................................................................................................... 91
3.5 不可或缺的激活函数 ..................................................................................................................................... 93
3.5.1 Sigmoid 函数 ....................................................................................................................................... 94
3.5.2 Tanh 函数 ............................................................................................................................................ 95
3.5.3 ReLU 函数 ........................................................................................................................................... 96
3.5.4 Softmax 函数 ....................................................................................................................................... 98
3.6 损失函数 ....................................................................................................................................................... 100
3.6.1 普通的损失函数 ............................................................................................................................... 101
3.6.2 交叉熵损失函数 ............................................................................................................................... 103
3.7 神经网络的训练 ........................................................................................................................................... 105
3.7.1 优化算法的意义 ............................................................................................................................... 106
3.7.2 基于梯度的优化流程 ........................................................................................................................ 106
3.8 优化算法的分类 ........................................................................................................................................... 109
3.8.1 优化算法的派系 ............................................................................................................................... 109
3.8.2 优化算法面临的挑战 ........................................................................................................................ 111
3.9 本章小结 ....................................................................................................................................................... 112
参考资料 ................................................................................................................................................................ 113
第 4 章 深度学习基础 ....................................................................................................................... 115
4.1 深度学习时代的兴起 ................................................................................................................................... 116
4.2 卷积神经网络 ............................................................................................................................................... 118
4.2.1 卷积神经网络的整体结构 ................................................................................................................ 118
4.2.2 神经网络中“层”的本质 .................................................................................................................... 119
4.3 可圈可点的卷积层 ....................................................................................................................................... 120
4.3.1 卷积核 ............................................................................................................................................... 120
4.3.2 卷积核的工作机理 ............................................................................................................................ 122
4.3.3 多通道卷积 ....................................................................................................................................... 123
4.3.4 用 PyTorch 实现特定卷积 ................................................................................................................ 125
4.3.5 卷积层的 4 个核心参数 .................................................................................................................... 127
4.4 降维减负的汇聚层 ....................................................................................................................................... 131
4.4.1 汇聚层原理 ....................................................................................................................................... 131
4.4.2 汇聚层实例 ....................................................................................................................................... 133
4.5 不可或缺的全连接层 ................................................................................................................................... 135
4.6 防止过拟合 ................................................................................................................................................... 136
4.6.1 批归一化处理 ................................................................................................................................... 137
4.6.2 丢弃法 ............................................................................................................................................... 141
4.7 本章小结 ....................................................................................................................................................... 143
参考资料 ................................................................................................................................................................ 143
第 5 章 神经网络中的表示学习 ...................................................................................................... 145
5.1 表示学习的背景 ........................................................................................................................................... 146
5.1.1 符号表示与向量表示 ........................................................................................................................ 146
5.1.2 为何需要表示学习 ............................................................................................................................ 147
5.2 离散表示与独热编码 ................................................................................................................................... 148
5.3 分布式表示与神经网络................................................................................................................................ 150
5.3.1 神经网络是一种分布式表示 ............................................................................................................ 150
5.3.2 深度学习中的“End-to-End”表示学习 .............................................................................................. 152
5.4 自编码器中的表示学习................................................................................................................................ 153
5.4.1 自编码器的工作原理 ........................................................................................................................ 154
5.4.2 从信息瓶颈看自编码器的原理 ........................................................................................................ 155
5.4.3 欠完备自编码器 ............................................................................................................................... 156
5.4.4 正则化自编码器 ............................................................................................................................... 157
5.4.5 降噪自编码器 ................................................................................................................................... 159
5.4.6 变分自编码器 ................................................................................................................................... 159
5.5 嵌入表示与 Word2vec .................................................................................................................................. 161
5.5.1 词嵌入 ............................................................................................................................................... 161
5.5.2 Word2vec 的核心思想 ...................................................................................................................... 164
5.5.3 跳元模型 ........................................................................................................................................... 165
5.6 词嵌入实战 ................................................................................................................................................... 171
5.6.1 读取数据集 ....................................................................................................................................... 171
5.6.2 数据预处理 ....................................................................................................................................... 172
5.6.3 模型构建与训练 ............................................................................................................................... 174
5.6.4 相似性度量 ....................................................................................................................................... 175
5.6.5 词向量可视化:t-SNE ...................................................................................................................... 177
5.7 本章小结 ....................................................................................................................................................... 179
参考资料 ................................................................................................................................................................ 180
第 6 章 面向图数据的嵌入表示 ...................................................................................................... 182
6.1 图嵌入概述 ................................................................................................................................................... 183
6.2 DeepWalk 的原理 .......................................................................................................................................... 184
6.2.1 DeepWalk 的基本思想 ...................................................................................................................... 184
6.2.2 随机游走阶段 ................................................................................................................................... 185
6.2.3 跳元模型训练阶段 ............................................................................................................................ 187
6.2.4 负采样 ............................................................................................................................................... 193
6.2.5 分层 Softmax ..................................................................................................................................... 195
6.3 基于 DeepWalk 的维基百科相似网页检测 ................................................................................................. 198
6.3.1 数据准备 ........................................................................................................................................... 198
6.3.2 图的构建 ........................................................................................................................................... 201
6.3.3 构建随机游走节点序列 .................................................................................................................... 201
6.3.4 利用 Word2vec 实现 DeepWalk ........................................................................................................ 203
6.3.5 模型的保存与加载 ............................................................................................................................ 206
6.3.6 DeepWalk 的应用领域 ...................................................................................................................... 207
6.4 LINE 模型 ..................................................................................................................................................... 208
6.4.1 LINE 模型的发展背景...................................................................................................................... 208
6.4.2 一阶相似度 ....................................................................................................................................... 208
6.4.3 二阶相似度 ....................................................................................................................................... 209
6.5 Node2vec ....................................................................................................................................................... 211
6.5.1 Node2vec 的由来 .............................................................................................................................. 211
6.5.2 同质性与结构性 ............................................................................................................................... 212
6.5.3 Node2vec 的工作原理 ...................................................................................................................... 213
6.6 Metapath2vec ................................................................................................................................................. 215
6.6.1 异构图的定义与问题 ........................................................................................................................ 216
6.6.2 基于 Meta-path 的随机游走 ............................................................................................................. 216
6.7 本章小结 ....................................................................................................................................................... 218
参考资料 ................................................................................................................................................................ 219
第 7 章 初代图神经网络 .................................................................................................................. 221
7.1 初代图神经网络的诞生................................................................................................................................ 222
7.2 GNN 中的数据聚合 ...................................................................................................................................... 222
7.2.1 GNN 的本质 ...................................................................................................................................... 223
7.2.2 图中的消息传递 ............................................................................................................................... 223
7.3 初代 GNN 的工作原理 ................................................................................................................................. 225
7.3.1 图中节点的信息更新 ........................................................................................................................ 226
7.3.2 不动点理论 ....................................................................................................................................... 229
7.3.3 压缩映射实现的条件 ........................................................................................................................ 232
7.3.4 图神经网络模型的训练 .................................................................................................................... 234
7.4 初代图神经网络的局限性 ............................................................................................................................ 235
7.5 本章小结 ....................................................................................................................................................... 235
参考资料 ................................................................................................................................................................ 236
第 8 章 空域图卷积神经网络 .......................................................................................................... 238
8.1 图卷积神经网络概述 ................................................................................................................................... 239
8.1.1 图卷积神经网络的诞生 .................................................................................................................... 239
8.1.2 图卷积神经网络的框架 .................................................................................................................... 241
8.2 MPNN 模型 ................................................................................................................................................... 244
8.3 GCN 与 CNN 的关联 .................................................................................................................................... 245
8.3.1 局部连接性 ....................................................................................................................................... 246
8.3.2 层次化表达 ....................................................................................................................................... 247
8.4 图卷积节点分类实践 ................................................................................................................................... 248
8.4.1 图数据的生成 ................................................................................................................................... 248
8.4.2 传递规则的实现 ............................................................................................................................... 250
8.4.3 考虑权值影响的信息聚合 ................................................................................................................ 260
8.4.4 添加激活函数 ................................................................................................................................... 261
8.4.5 模拟一个分类输出 ............................................................................................................................ 262
8.5 GraphSAGE ................................................................................................................................................... 263
8.5.1 归纳式学习与直推式学习 ................................................................................................................ 263
8.5.2 GraphSAGE 所为何来 ...................................................................................................................... 266
8.5.3 GraphSAGE 的框架 .......................................................................................................................... 267
8.5.4 邻居节点采样 ................................................................................................................................... 268
8.5.5 特征信息聚合 ................................................................................................................................... 269
8.5.6 权值参数训练 ................................................................................................................................... 271
8.6 基于 GraphSAGE 的实践 ............................................................................................................................. 273
8.6.1 Cora 数据探索 ................................................................................................................................... 273
8.6.2 构造正负样本 ................................................................................................................................... 276
8.6.3 定义模型 ........................................................................................................................................... 277
8.6.4 训练参数配置 ................................................................................................................................... 278
8.6.5 训练模型 ........................................................................................................................................... 279
8.6.6 嵌入表示的可视化 ............................................................................................................................ 281
8.7 本章小结 ....................................................................................................................................................... 283
参考资料 ................................................................................................................................................................ 284
第 9 章 谱域图卷积神经网络 .......................................................................................................... 286
9.1 傅里叶变换 ................................................................................................................................................... 287
9.1.1 傅里叶变换背后的方法论 ................................................................................................................ 287
9.1.2 感性认识傅里叶变换 ........................................................................................................................ 288
9.1.3 向量分解与信号过滤 ........................................................................................................................ 288
9.2 图傅里叶变换 ............................................................................................................................................... 290
9.2.1 什么是图信号 ................................................................................................................................... 290
9.2.2 图傅里叶变换简介 ............................................................................................................................ 290
9.2.3 特征值与图信号频率之间的关系 .................................................................................................... 293
9.3 谱域视角下的图卷积 ................................................................................................................................... 296
9.3.1 图卷积理论 ....................................................................................................................................... 296
9.3.2 谱域图卷积 ....................................................................................................................................... 297
9.3.3 基于谱的图滤波器设计 .................................................................................................................... 299
9.4 基于谱域 GCN 的演进 ................................................................................................................................. 300
9.4.1 频率响应参数化的 GCN .................................................................................................................. 300
9.4.2 多项式参数化的 GCN ...................................................................................................................... 302
9.4.3 基于切比雪夫网络截断的多项式参数化的 GCN ........................................................................... 304
9.4.4 基于一阶切比雪夫网络的 GCN ...................................................................................................... 306
9.5 Karate Club 图卷积分类实践 ....................................................................................................................... 308
9.5.1 Karate Club 数据集 ........................................................................................................................... 308
9.5.2 数据导入与探索 ............................................................................................................................... 309
9.5.3 邻接矩阵与坐标格式 ........................................................................................................................ 312
9.5.4 绘图 NetworkX 图 ............................................................................................................................. 315
9.5.5 半监督的节点分类 ............................................................................................................................ 315
9.5.6 模型预测 ........................................................................................................................................... 321
9.6 本章小结 ....................................................................................................................................................... 323
参考资料 ................................................................................................................................................................ 323