
资源介绍
《实战图神经网络》是一本旨在帮助读者快速投身这一新兴领域并着手开发应用程序的书籍。同时,为了让本书尽可能自成体系,我们也尝试在理论与实践间找到平衡,加入了适量关键理论知识。此外,我们还补充了那些在现有在线教程和文档中可能未被明确阐述或解释的当前实现细节。特别是,对于新兴主题,相关信息往往较为零散。在实施和测试新技术时,这种零散性会增加阻力。
《实战图神经网络》为读者提供了一本能够减少这种阻力的书籍,它填补了空白,解答了那些答案可能散落在互联网各处或根本无人解答的关键问题。我们在写作过程中强调可及性,而非追求高度严谨性。
本书适用人群
本书面向熟悉神经网络但对图学习陌生的机器学习工程师和数据科学家。如果您有面向对象编程经验,会发现书中概念特别易于理解和应用。
本书结构:路线图
在本书第一部分,我们阐述了探索图神经网络(GNN)的动机,并介绍了图和基于图的机器学习的基本概念。在第 1 章中,我们引入了图和图机器学习的概念,介绍了它们的用途和应用。第 2 章涵盖了图的表示方法,包括节点嵌入。这将是读者首次以编程方式接触图神经网络(GNN),正是借助 GNN 才能创建此类嵌入。
在本书第二部分,我们将介绍主要的图神经网络类型,包括第 3 章的图卷积网络(GCN)和 GraphSAGE、第 4 章的图注意力网络(GAT)以及第 5 章的图自编码器(GAE)。这些方法是大多数图神经网络应用的核心,同时也涵盖了卷积、注意力和自编码器等一系列其他深度学习概念。
在第三部分,我们将探讨更高级的主题。我们在第 6 章中描述了动态图的图神经网络(时空图神经网络),并在第 7 章中提供了训练大规模图神经网络的指南。最后,在第 8 章中,我们对项目和系统规划进行了一些思考,以用于图学习项目。
关于代码
Python 是贯穿本书的首选编程语言。目前 Python 生态系统中有多个图神经网络库,包括 PyTorch Geometric(PyG)、Deep Graph Library(DGL)、GraphScope 和 Jraph。我们将重点放在 PyG 上,它是最受欢迎且易于使用的框架之一,基于 PyTorch 开发。我们希望本书能被硬件条件各异的读者所接受,因此除了第 7 章中关于可扩展性、分布式系统和 GPU 系统的个别章节外,其他部分并不强制要求使用这些系统,尽管它们可用于部分代码示例。
本书概述了图神经网络最相关的实现,包括图卷积网络(GCN)、图自编码器(GAE)、图注意力网络(GAT)和图长短期记忆网络(LSTM)。目的是涵盖前面提到的所有图神经网络类型。此外,我们还将涉及不同类型的图,包括知识图谱。
本书包含许多源代码示例,既有编号代码块形式,也有与普通文本内联的形式。在这两种情况下,源代码都采用等宽字体排版,以区别于普通文本。有时,代码也会以粗体突出显示,以强调与本章前面步骤相比的变化,例如当一个新特性添加到现有代码行时。