从深度学习到图神经网络:模型与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

做一名有趣的知识搬运工

很多年前有句广告语——“我们不生产水,我们只是大自然的搬运工”,令我印象深刻。

我之所以会对它印象深刻,是因为我也是一名“搬运工”,套用那句广告词:“我不生产知识,我只是知识的搬运工。”

这个定位和我的职业是匹配的。我是一名教师,传道授业解惑,本就是在传播价值、传递知识,而这些价值和知识大多数都不是教师自己创造和生成的。

然而,要想做一名有趣的知识搬运工也是不容易的。因为先把知识搞明白,再把知识给他人讲明白,并尽量有趣,也需要做时间的朋友——这些经验都需要通过大量的时间来慢慢积累。

如果只是搬运简单的知识,自然不足挂齿。但问题是,如果我们搬运的知识是当前领域的前沿知识呢?这就很具有挑战性了,它需要你走出已有知识的舒适区,挑战未知。

深度学习和图神经网络是人工智能研究的前沿,作为一名相关领域的终身学习者,不掌握岂不可惜?但如何能快速掌握图神经网络的基础理论呢?我想到了费曼学习法。

费曼学习法告诉我们:只有你给别人讲清楚了,你才能理解得更透彻(If you can't explain it simply,you don't understand it well enough.)[1]

很早以前我就领略过费曼学习法的精妙所在——输出倒逼输入,为了更好地输出,学习者就会强迫自己认真地去学。这个方法论让我受益颇多,前些年我撰写过不少颇受好评的图书,如《品味大数据》《深度学习之美:AI时代的数据处理与最佳实践》《Python极简讲义:一本书入门数据分析与机器学习》《人工智能极简入门》等,事实上它们都是这个方法论麾下的产品。

这次也不例外。《从深度学习到图神经网络:模型与实践》就是一本“为知识传递而作”的图书,这就注定了它的风格——通俗易懂,循序渐进。对于初学者来说,你会读出亲切感、舒适感——这便是我这名“知识搬运工”刻意营造的氛围,希望对你有益,也希望你喜欢。

本书内容

本书主要介绍图神经网络的基础知识和前沿技术。全书共分9章,每章的内容简介如下。

第1章为图上的深度学习。

本章会对深度学习和图神经网络做系统性梳理,以期给读者带来宏观认知。本章首先简要介绍人工智能与深度学习,然后介绍图神经网络时代,分析图数据处理面临的挑战和图神经网络的应用,并简要总结图神经网络的发展史,以及图神经网络的模块与分类。

第2章为图神经网络的数学基础。

本章主要讨论矩阵论、图论及谱图论等基础数学知识。这些基础数学知识将为我们进一步理解神经网络与图神经网络提供必要的理论支撑。图是研究图神经网络的基础工具,很多图神经网络算法就是通过分析图的拉普拉斯矩阵的特征值及特征向量,来研究图性质的。

第3章为神经网络学习与算法优化。

本章主要讨论神经网络的基础知识,内容包括前馈神经网络、多层感知机、激活函数、损失函数等。本章首先回顾神经网络的第一性原理,然后探讨增强神经网络表达能力的激活函数,最后讨论神经网络的训练和优化算法的分类。

第4章为深度学习基础。

本章主要介绍深度学习中的经典模型——卷积神经网络(CNN)。卷积的本质就是对数据进行特征提取。对于CNN,我们首先讲解卷积的含义,然后讨论卷积神经网络的网络结构层次(卷积层、汇聚层和全连接层),这里的各种“层”都是对数据实施某种变换或加工的,都是为最后的分类或回归任务服务的。

第5章为神经网络中的表示学习。

本章以由浅入深的方式介绍神经网络中可能用到的表示学习方法,内容包括离散表示与独热编码、分布式表示与神经网络、自编码器中的表示学习、嵌入表示与Word2vec,以及一个通俗易懂的词嵌入实战案例。

第6章为面向图数据的嵌入表示。

图的嵌入表示是将图中节点映射为低维空间向量的一种表示学习方法,它是图神经网络的重要基础,很多图相关的任务都是基于图的嵌入表示而展开的。本章主要介绍经典的图嵌入表示方法,包括DeepWalk、LINE、Node2vec及Metapath2vec。

第7章为初代图神经网络。

本章主要介绍初代图神经网络的理论基础,是它拉开了图神经网络研究的序幕。本章首先介绍GNN中的数据聚合、初代GNN的工作原理(包括不动点理论、压缩映射实现的条件等),然后介绍初代图神经网络的局限性,以及为改善这种局限性而产生的各种算法。

第8章为空域图卷积神经网络。

本章首先介绍图卷积神经网络,然后介绍MPNN模型,讨论GCN与CNN的关联,并对图卷积节点分类进行编程实践,讨论GraphSAGE的工作原理,最后基于GraphSAGE进行编程实践,以提升读者对空域图卷积神经网络的感性认识。

第9章为谱域图卷积神经网络。

本章首先讨论傅里叶变换与图傅里叶变换的基础知识,然后介绍谱域视角下的图卷积、基于谱域GCN的演进,最后用一个分类实践提升读者对谱域图卷积神经网络的感性认识。

阅读准备

阅读本书,读者需要具备一定的Python和PyTorch编程基础。要想正确运行本书中的示例代码,需要提前安装如下系统及软件。

● 操作系统:Windows、macOS、Linux均可。

● Python:建议使用Anaconda安装Python 3.6及以上版本。

● NumPy:建议使用Anaconda安装NumPy 1.18及以上版本。

● Pandas:建议使用Anaconda安装Pandas 1.3.0及以上版本。

● PyTorch:建议使用Anaconda安装PyTorch 1.7.0及以上版本。

● sklearn:建议使用Anaconda安装sklearn 0.22.1及以上版本。

联系作者

本书从构思大纲、查阅资料、撰写内容、绘制图片,到出版成书,得到了多方面的帮助和支持,它是多人相互协助的结果,其中,河南工业大学张玉宏博士撰写了图书的第1~2章和第5~9章,河南工业大学杨铁军教授撰写了第3~4章,并统筹全书的审校工作。

深度学习与图神经网络是一个前沿且广袤的研究领域,作者自认水平有限,同时限于时间与篇幅,书中难免出现理解偏差和疏漏之处。若读者朋友在阅读本书的过程中发现问题,希望能及时通过邮件与我们联系,我们将在第一时间修正。邮件地址为:zhangyuhong001@gmail.com。

读者也可以关注知乎用户“玉来愈宏”,在“从深度学习到图神经网络:模型与实践”专栏里,你能找到与本书相关的勘误与补充材料。

致谢

在信息获取上,作者在各种参考资料中学习并吸纳了很多精华知识,书中也尽可能给出了文献出处,如有疏漏,望来信告知。在这里,作者对这些高价值资料的提供者、生产者,致以深深的敬意和感谢。

在本书写作时,作者得到了河南省教育厅自然科学项目(项目号:22A520025)、2021年郑州市数字人才“订单式”培养教材出版基金、河南工业大学校级规划教材项目(项目号:26400522)、河南省高等教育教学改革研究与实践项目(项目号:2021SJGLX393、2021SJGLX135、2021SJGLX401)的部分资金支持,在此表示感谢。

另外,还有很多人在本书的出版过程中扮演了重要角色——电子工业出版社博文视点的孙奇俏老师在选题策划和文字编辑方面,陈伟楷、刘国震和钟克针等同学在文字校稿方面都付出了辛勤的劳动,在此对他们一并表示感谢。


[1]事实上,“费曼学习法”更适合学习者,而不适合研究者。读者应对该学习法有一定的客观认知。