文章目录
前言
本章主要介绍了图神经网络的起源、定义、应用与总结。
课程建议先修知识点: 1.机器学习、2.算法与图论、3.概率论与数理统计
一、为什么要选择图进行机器学习?(起源)
图是用于描述并分析有关联/互动的实体的一种普适语言。它不将实体视为一系列孤立的点,而认为其互相之间有关系。它是一种很好的描述领域知识的方式。复杂领域有丰富的关系结构,可以表示为关系图通过显式建模关系,我们实现更好的性能!
1.现代深度学习工具的不足
现代深度学习传统工具目前在图片处理和文本处理(包含语音)中大放异彩,但是其很难用于图的建模,其难点在于网络的复杂,主要体现在:
- 图具有任意大小和复杂的拓扑结构,没有文本或者图片那么规整(如文本、语音等具有线性结构的数据序列sequence;图片具有平移不变性的网格结构,见下图)
- 没有基准点,没有节点固定的顺序。没有那种上下左右的方向
- 经常出现动态的图,而且会有多模态的特征
所以要想让神经网络适用范围更加广泛,我们需要开始引入图神经网络的学习。
二、图神经网络定义
下图是图神经网络流程图,我们可以看到输入网络,经过图卷积、激活、正则…,最后得到节点的标签、新的连接、生成新图和子图。
1.有监督机器学习全流程图
我们从上图可以看出,图机器学习相比较之前的有监督机器学习来说,少了特征工程(比如手动提取特征等),取而代之的是图表示学习(自动地学习特征)。(个人感觉方便多了,这也是图机器学习相比较传统机器学习的有优势的地方)
2.图表示机器学习
大致来说就是将原始的节点(或链接、或图)表示为向量嵌入(embedding),图中相似的节点会被embed得靠近(指同一实体,在节点空间上相似,在向量空间上就也应当相似)
接下来就是课程安排了,在此不再赘叙。
三、图机器学习的应用
图机器学习的应用可以分为以下四类,见下图
- 图级别,包括预测任务(graph-level prediction)和图生成任务(graph generation)
- 节点级别(node level)
- 社区 / 子图级别 (community(subgraph) level)
- 边级别 (edge level)
下面都是他举出的图机器学习应用的例子,有解决蛋白质折叠问题——AlphaFold,PinSage:基于图的推荐系统,以及应用到医学或物理问题求解等,可以看出图机器学习的应用具有很高的应用价值。