1 课程简介
课程内容大纲:
- 图嵌入表示(Node Embedding)方法:DeepWalk,Node2vec
- 图神经网络(GNN):GCN、GraphSAGE、GAT…
- 图自注意力(Graph Transformers)
- 知识图谱和推理:TransE,BetaE
- 图生成模型:GraphRNN
- 3D 图模型:Molecules
- 扩展到大规模的图数据
- 图应用:生物医学、科学技术
背景要求:机器学习、算法和图论、概率论与数理统计、Python/PyTorch
其他推荐工具:
- 基于 PyTorch 构建的图神经网络库: PyG (PyTorch Geometric)
- 图神经网络设计平台:GraphGym
- 其他网络分析工具:SNAP.PY、NetworkX'
2 图的必要性
图是一种描述和分析实体及其关系/交互的通用语言
可用图描述的数据类型:
- 事件、计算机网络、疾病传染、食物链、粒子网络、交通轨道
- 社交网络、经济网络、通讯网络、论文引用、互联网、神经系统
- 知识图、调控网络、场景结构、代码流程、分子结构、3D 形状
如何利用图关系结构进行更好地预测?
- 现代深度学习工具箱专为简单序列和网格(比如文本、音频、图像数据)而设计
- 图作为一种深度学习的新领域,需要一个适用性更广的神经网络
图神经网络在 ICLR 的 2023 热度词上排名第 4:
3 图的复杂性
图网络结构的复杂性:
- 存在任意规模和复杂度的拓扑结构(即没有像网格那样的空间局部性)
- 没有固定的节点顺序或参考点(锚定点)
- 通常是动态的并且具有多模式特征,即图表示可能不是唯一的
异构图(heterogeneous graph)定义如下: $$ G=(V,E,R,T) $$
- 节点 $v_i\in V$ 具有节点类型 $T(v_i)$
- 边 $(v_i,r,v_j) \in E$ 具有关系类型 $r\in R$
- 节点和边都具有属性/特征
其他图的概念:有向图、无向图、二分(Bipartite)图
二分(Bipartite)图:图节点可用分为两个不相交的集合,并且边只存在于两个集合之间(即集合内部不存在边);举例以说明二分图:以"撰写"为边,"作者"和"文章"这两个节点集合是不相交的,并且不会存在"作者 A 撰写作者 B"或者"文章 A 撰写文章 B"的情况
4 图机器学习的应用
一般来说,图机器学习的预测主要包括三个层级:
- 节点级(Node-level)预测
- 链路级(Link-level)预测
- 图级(Graph-level)预测
节点级(Node-level)预测目标:图网络中节点的结构或位置
- 节点的度(与该节点关联的边的条数)
- 节点重要性和位置(比如:相邻节点的度加和;去其他节点的最短路径)
- 节点周围的子结构(比如:异构连通子图 Graphlets)
- 节点级预测示例:AlphaFold2:高精度蛋白质结构预测
链路级(Link-level)预测目标:根据现有链接预测新的或未知的链接
- 给定不存在链接的节点对,直接预测二者间存在链接的概率
- 按照存在链接的概率排序,直接预测 Topk 个没有链接的节点对
- 链路级预测示例 1:推荐系统,推荐用户可能喜欢的商品
- 链路级预测示例 2:药效推断,给定两种药物预测不良副作用
图级(Graph-level)预测目标:对整个图或子图进行预测
- 图级预测示例 1:道路规划,根据交通路径图推断到达时间(ETA)
- 图级预测示例 2:药物发现,从候选库中预测有药物潜力的化学分子
- 图级预测示例 3:图演化任务,预测图结构如何随时间而演变
GraphCast:基于多网格 GNN 的中期天气预报系统(高性能低成本)