(论文速读)DGI:深度图信息

****论文题目:****DEEP GRAPH INFOMAX(深度图信息)

会议:ICLR2019

****摘要:****我们提出了深度图信息(Deep Graph Infomax, DGI),这是一种以无监督方式学习图结构数据中的节点表示的通用方法。DGI依赖于最大化补丁表示和相应的图的高级摘要之间的相互信息,两者都是使用已建立的图卷积网络架构派生的。学习到的补丁表示总结了以感兴趣的节点为中心的子图,因此可以在下游节点智能学习任务中重用。与大多数先前使用GCNs进行无监督学习的方法相比,DGI不依赖于随机漫步目标,并且很容易适用于传导和归纳学习设置。我们在各种节点分类基准上展示了具有竞争力的性能,有时甚至超过了监督学习的性能。


DGI------用互信息最大化实现图的无监督表示学习

为什么需要无监督图学习?

在现实世界中,大多数图数据都是无标签的:

  • 社交网络中的用户关系
  • 生物网络中的基因调控
  • 知识图谱中的实体关系
  • 文档的词共现网络

传统的监督学习需要大量标注数据,代价高昂。那么,能否像Word2Vec学习词表示那样,从图结构本身学习有意义的节点表示呢?

现有方法的问题

随机游走方法的局限

DeepWalk和Node2Vec通过在图上进行随机游走,将图问题转化为序列问题:

  • 在图上采样随机游走路径
  • 将路径视为"句子",节点视为"单词"
  • 用Word2Vec学习节点embedding

但这种方法有三大问题:

  1. 过分强调proximity:倾向于让相邻节点embedding相似,但忽视了结构角色(如两个远距离的"桥节点"可能功能相似)
  2. 超参数敏感:游走长度、窗口大小等选择对结果影响很大
  3. 与GCN不匹配:GCN本身已经有邻域聚合的归纳偏置,随机游走可能是多余的

DGI的核心思想:局部-全局互信息最大化

DGI的灵感来自Deep InfoMax (DIM),后者在图像上取得了成功。核心思想简洁而深刻:

好的节点表示应该包含整个图的全局信息。

具体来说:

  1. Patch representations h_i:节点i及其邻域的表示(通过GCN得到)
  2. Graph summary s:整个图的全局表示(通过readout函数得到)
  3. 目标:最大化h_i和s的互信息

技术细节

1. 如何计算互信息?

直接计算互信息很难,DGI采用对比学习:训练一个discriminator D(h_i, s)来判断:

  • 正样本:(h_i, s)来自同一个图
  • 负样本:(h̃_j, s)其中h̃_j来自corrupted图

损失函数(Binary Cross-Entropy):

这实际上在最小化Jensen-Shannon散度,进而最大化互信息!

2. 如何生成负样本?

这是DGI的关键设计选择。论文探索了几种corruption策略:

Transductive设置(如Cora):

  • 保持邻接矩阵A不变
  • 打乱特征矩阵X的行(即节点特征)
  • 这样节点出现在不同的图结构位置,获得不同的patch

Inductive设置(如Reddit):

  • 对于大图,每个minibatch采样一个子图
  • 子图内部进行特征打乱
  • 或者直接使用不同的子图作为负样本

Multiple graphs(如PPI):

  • 直接从训练集中采样不同的图作为负样本
  • 对采样的图的特征进行dropout增强多样性

3. 编码器和Readout设计

编码器E(transductive):

复制代码
h_i = σ(D̃^(-1/2) ÃD̃^(-1/2) XΘ)

这是一层GCN,其中Ã = A + I(加自环),使用PReLU激活。

Readout函数R

复制代码
s = σ(1/N Σ h_i)

简单的平均pooling + sigmoid。虽然简单,但实验表明在多数情况下效果很好。对于超大图,可考虑更复杂的readout如Set2Vec。

Discriminator D

复制代码
D(h_i, s) = σ(h_i^T W s)

双线性评分函数,非常高效。

理论分析的亮点

论文提供了严格的理论分析(Section 3.3),核心结论:

Lemma 1: 最优分类器的错误率上界为 Err* = 1/2 Σ p(s^(k))²

Theorem 1: 当readout函数R是单射时,最小化分类错误等价于最大化互信息MI(X; s)

Theorem 2: 对于局部patch,最优表示h_i同样最大化MI(X_i; h_i)

这为DGI的有效性提供了理论支撑。

实验结果深度分析

Transductive节点分类

令人惊讶的发现:

  • DGI超越监督GCN (Cora和Citeseer上)!
    • Cora: 82.3% vs 81.5%
    • Citeseer: 71.8% vs 70.3%

这可能是因为:DGI让每个节点间接访问了整个图的信息,而监督GCN受限于2层邻域(否则会过拟合)。

  • 远超无监督基线
    • DeepWalk + features (Cora): 70.7%
    • DGI (Cora): 82.3% ↑11.6%
Inductive学习

Reddit(大规模图):

  • DGI: 94.0%
  • GraphSAGE-GCN: 90.8%
  • 提升3.2%,同时注意这是无监督 vs 有监督!

PPI(多图学习):

  • DGI: 63.8%
  • GraphSAGE-pool: 50.2%
  • 提升13.6%,差距巨大!
可视化分析

对比三种表示:

  1. Raw features:混乱,无明显聚类
  2. Random-Init GCN:有一定结构但不清晰
  3. DGI learned:7个类别清晰分离,Silhouette score 0.234(vs Embedding Propagation的0.158)

这直观展示了DGI学到了语义上有意义的表示。

Discriminator分析

有趣的观察:

  • 正样本图上,只有少数"hot"节点获得高分
  • 说明某些维度专门用于区分正负样本
  • 其他维度用于编码有用的分类信息

论文进一步实验(Appendix B)表明:

  • 移除最可区分的维度对分类影响不大
  • 可以去掉一半维度仍保持竞争力!

与其他方法的对比

方法 目标 局限性 DGI优势
DeepWalk/Node2Vec 随机游走邻近性 忽视结构,超参数敏感 无需随机游走
GCN (supervised) 监督分类 需要标签 无监督
GraphSAGE 邻域聚合 需要标签 性能更优
Spectral methods 图自编码 不可扩展 线性复杂度

实现技巧

  1. Early stopping: 在transductive任务上用训练loss做early stopping,patience=20
  2. 优化器: Adam,学习率0.001
  3. 维度设置: F'=512(Pubmed因内存限制用256)
  4. 初始化: Glorot initialization
  5. 并行化: 纯矩阵运算,GPU友好

局限与展望

当前局限
  1. Corruption策略选择:不同任务的最佳corruption不同,需要实验确定
  2. Readout函数:简单平均pooling可能不适合超大图
  3. 理论-实践差距:理论假设有限样本,实际是连续表示
  4. 计算成本:虽然线性,但仍需多次前向传播
未来方向
  1. 自适应corruption:学习最优的负样本生成策略
  2. 层次化表示:结合不同尺度的图结构信息
  3. 动态图扩展:将DGI思想应用于时序图
  4. 迁移学习:预训练的DGI模型迁移到下游任务

核心要点总结

创新点 :用互信息最大化代替随机游走,捕捉全局图信息 ✅ 理论保证 :严格证明与互信息的联系 ✅ 性能突破 :无监督超越监督基线 ✅ 计算高效 :线性复杂度,GPU友好 ✅ 通用性强:适用于transductive和inductive场景

DGI为图的无监督学习开辟了新方向,证明了对比学习在图domain的巨大潜力。它不仅在多个benchmark上取得了优异成绩,更重要的是提供了一个优雅的理论框架,启发了后续一系列工作(如GraphCL、BGRL等)。


相关推荐
这张生成的图像能检测吗10 小时前
(论文速读)基于快速局域谱滤波的卷积神经网络
人工智能·神经网络·cnn·图神经网络·分类模型
这张生成的图像能检测吗1 天前
(论文速读)MTGNN:多变量时间序列预测与图神经网络
人工智能·深度学习·神经网络·图神经网络
这张生成的图像能检测吗2 天前
(论文速读)FastGCN:通过重要性采样快速学习图卷积网络
人工智能·深度学习·图神经网络
weisian1511 个月前
进阶篇-机器学习篇-1--机器学习入门:什么是机器学习?它如何让机器“学会”思考?
人工智能·机器学习·监督学习·强化学习·无监督学习
flying_13141 个月前
图神经网络分享系列-GraphSage(Inductive Representation Learning on Large Graphs) (五)-实战篇
图神经网络·gnn·采样·gcn·gat·graphsage·拉普拉斯
flying_13142 个月前
图神经网络分享系列-GGNN(GATED GRAPH SEQUENCE NEURAL NETWORKS)(三)
人工智能·深度学习·神经网络·图神经网络·ggnn·门控机制·图特征学习
flying_13142 个月前
图神经网络分享系列-GGNN(GATED GRAPH SEQUENCE NEURAL NETWORKS)(一)
人工智能·深度学习·神经网络·图神经网络·ggnn·门控机制·图特征学习
flying_13142 个月前
图神经网络分享系列-GraphSage(Inductive Representation Learning on Large Graphs) (四)
神经网络·图神经网络·gnn·动态图·图嵌入·graphsage·深度游走
这张生成的图像能检测吗2 个月前
(论文速读)GNS:学习用图网络模拟复杂物理
人工智能·图神经网络·物理模型