引言 作为开篇部分,我们将探讨关于本次图神经网络组队学习的几个问题: 首先我们将讨论为什么我们要关注图深度学习?具体地,为什么我们要把现实世界的数据表示成图,为什么我们要把深度学习与图连接起来,以及图深度学习的挑战是什么? 其次我们将讨论此次组队学习将涵盖哪些内容?具体来说,我们将共同学习哪些话题以及这些话题是如何安排的。 第三,我们将讨论如何更好地参与此组队学习以及更好地理解图神经网络的理论并掌握其应用? 为什么要在图上进行深度学习? 在过去的深度学习应用中,我们接触的数据形式主要是这四种:矩阵、张量、序列(sequence)和时间序列(time series)。然而来自现实世界应用的数据更多地是图的结构,如社交网络、交通网络、蛋白质与蛋白质相互作用网络、知识图谱和大脑网络等。
作为开篇部分,我们将探讨关于本次图神经网络组队学习的几个问题:
在过去的深度学习应用中,我们接触的数据形式主要是这四种:矩阵、张量、序列(sequence)和时间序列(time series)。然而来自现实世界应用的数据更多地是图的结构,如社交网络、交通网络、蛋白质与蛋白质相互作用网络、知识图谱和大脑网络等。图提供了一种通用的数据表示方法,众多其他类型的数据也可以转化为图的形式。此外,大量的现实世界的问题可以作为图上的一组小的计算任务来解决。推断节点属性、检测异常节点(如垃圾邮件发送者)、识别与疾病相关的基因、向病人推荐药物等,都可以概括为节点分类问题。推荐、药物副作用预测、药物与目标的相互作用识别和知识图谱的完成(knowledge graph completion)等,本质上都是边预测问题。
同一图的节点存在连接关系,这表明节点不是独立的。然而,传统的机器学习技术假设样本是独立且同分布的,因此传统机器学习方法不适用于图计算任务。图机器学习研究如何构建节点表征,节点表征要求同时包含节点自身的信息和节点邻接的信息,从而我们可以在节点表征上应用传统的分类技术实现节点分类。图机器学习成功的关键在于如何为节点构建表征。深度学习已经被证明在表征学习中具有强大的能力,它大大推动了计算机视觉、语音识别和自然语言处理等各个领域的发展。因此,将深度学习与图连接起来,利用神经网络来学习节点表征,将带来前所未有的机会。
然而,如何将神经网络应用于图,这一问题面临着巨大的挑战。首先,传统的深度学习是为规则且结构化的数据设计的,图像、文本、语音和时间序列等都是规则且结构化的数据。但图是不规则的,节点是无序的,节点可以有不同的邻居节点。其次,规则数据的结构信息是简单的,而图的结构信息是复杂的,特别是在考虑到各种类型的复杂图,它们的节点和边可以关联丰富的信息,这些丰富的信息无法被传统的深度学习方法捕获。
图深度学习是一个新兴的研究领域,它将深度学习技术与图数据连接起来,推动了现实中的图预测应用的发展。然而,此研究领域也面临着前所未有的挑战。
注:以上内容整理自“Deep Learning on Graphs: An Introduction”!!!
此组队学习由五个话题组成,每一话题都包含理论部分与实践部分:
MessagePassing)基类的属性、方法和运行流程;除了话题四和话题五都依赖于话题三之外,其余话题都依赖于该话题自身的前一话题。
此次组队学习要求参与者掌握一定的深度学习知识,并具备使用PyTorch实现神经网络的能力。学习并掌握此次组队学习涵盖的话题,需要参与者认真研读理论部分,并动手操作实践部分。在实践部分,我们将利用PyG库构建图数据集和图神经网络模型。PyG是一个高度封装的库,在方便了我们构建图神经网络的同时,也隐藏了很多代码运行细节。要掌握图神经网络的应用,需要大家多多调试代码,观察并分析程序的运行流程。
各位小伙伴在学习过程中,如遇到困难或有疑惑,欢迎在群里向助教们提问。同时我们也呼吁各位小伙伴对其他小伙伴提出的问题积极思考,并踊跃发表自己的看法!