使用 DGL 进行论文研究
图神经网络及其变体
图卷积网络 (GCN) [研究论文] [教程] [PyTorch 代码] [MXNet 代码]
图注意力网络 (GAT) [研究论文] [教程] [PyTorch 代码] [MXNet 代码]: GAT 通过在节点邻域部署多头注意力扩展了 GCN 的功能。这极大地增强了模型的容量和表达能力。
关系图卷积网络 (Relational-GCN) [研究论文] [教程] [PyTorch 代码] [MXNet 代码]: 关系图卷积网络允许图的两个实体之间存在多条边。具有不同关系的边会被不同地编码。
线图神经网络 (LGNN) [研究论文] [教程] [PyTorch 代码]: 该网络通过检查图结构来专注于社区检测。它使用原始图及其线图伴随的表示。除了展示算法如何利用多个图之外,此实现还展示了如何明智地混合简单的张量操作和稀疏矩阵张量操作,以及使用 DGL 进行消息传递。
批量处理多个小图
树形 LSTM (Tree-LSTM) [论文] [教程] [PyTorch 代码]: 句子具有固有的结构,如果简单地将它们视为序列,这些结构就会被丢弃。Tree-LSTM 是一种强大的模型,它通过使用先前的句法结构(如解析树)来学习表示。训练中的挑战在于,简单地将句子填充到最大长度不再适用。不同句子的树具有不同的大小和拓扑结构。DGL 通过将树添加到更大的容器图中,然后使用消息传递来探索最大的并行性,从而解决了这个问题。批量处理是实现此功能的一个关键 API。
生成模型
DGMG [论文] [教程] [PyTorch 代码]: 该模型属于处理结构生成的家族。深度图生成模型 (DGMG) 使用状态机方法。它也非常具有挑战性,因为与 Tree-LSTM 不同,每个样本都具有动态的、概率驱动的结构,这在训练之前是无法获得的。您可以逐步利用图内和图间并行性来稳步提高性能。
从图的角度重温经典模型
Capsule [论文] [教程] [PyTorch 代码]: 这个新的计算机视觉模型有两个关键思想。第一,以向量形式(而不是标量)增强特征表示,称为 capsule。第二,用动态路由取代最大池化。动态路由的思想是将较低级别的 capsule 集成到一个或多个较高级别的 capsule 中,使用非参数消息传递。一个教程展示了如何使用 DGL API 实现后者。
Transformer [论文] [教程] [PyTorch 代码] 和 Universal Transformer [论文] [教程] [PyTorch 代码]: 这两个模型用多层多头注意力取代循环神经网络 (RNN),以编码和发现句子标记之间的结构。这些注意力机制同样被公式化为带有消息传递的图操作。