论文阅读《Deep Graph Infomax(DGI)》


论文信息

论文标题:Deep Graph Infomax
论文作者:Petar Veličković, William Fedus, William L. Hamilton, Pietro Liò, Yoshua Bengio, R Devon Hjelm
论文来源:2019,ICLR
论文地址:download
论文代码:download


一、Abstract

DGI是一种在图结构数据中以无监督方式学习节点表示的通用方法。DGI依赖于最大化patch representations和相应的high-level summaries of graph之间的互信息,这两者都是使用已建立的图卷积网络体系结构导出的。学习到的patch representations总结了围绕感兴趣节点的子图,因此可以用于下游节点学习任务。与以往使用GCN进行无监督学习的大多数方法相比,DGI不依赖于随机行走目标,并且很容易适用于transductive learning和inductive learning设置。

二、DGI

(一)基于图的无监督学习

目标是学习编码器, E : R N × F × R N × N → R N × F ′ \mathcal{E}: \mathbb{R}^{N \times F} \times \mathbb{R}^{N \times N} \rightarrow \mathbb{R}^{N \times F^{\prime}} E:RN×F×RN×NRN×F,使得 E ( X , A ) = H = { h ⃗ 1 , h ⃗ 2 , … , h ⃗ N } \mathcal{E}(\mathbf{X}, \mathbf{A})=\mathbf{H}=\left\{\vec{h}_{1}, \vec{h}_{2}, \ldots, \vec{h}_{N}\right\} E(X,A)=H={h 1,h 2,,h N}表示hige-level representations, h ⃗ i ∈ R F ′ \vec{h}_{i} \in \mathbb{R}^{F^{\prime}} h iRF表示第i个节点。然后可以检索这些表示并用于下游任务,例如节点分类。
在这里,我们将重点关注图卷积编码器——一种灵活的节点嵌入体系结构,它通过在局部节点邻域上重复聚合来生成节点表示。一个关键的结果是,生成的节点嵌入 h ⃗ i \vec h_{i} h i总结了一个以节点i为中心的图块,而不仅仅是节点本身。以下内容将 h ⃗ i \vec h_{i} h icheng称为patch representations。

(二)局部-全局互信息最大化

我们学习编码器的方法依赖于最大化局部互信息,也就是说,我们寻求获得节点(即局部)表示,以捕获整个图的全局信息内容,由summary vector, s ⃗ \vec s s 表示。
为了获得graph-level summary vectors, s ⃗ \vec s s ,我们利用读出函数 R : R N × F → R F \mathcal R:\mathbb R^{N \times F}\rightarrow \mathbb R^{F} R:RN×FRF,并使用它将获得的patch representations汇总为graph-level representation; i . e . , s ⃗ = R ( E ( X , A ) ) i.e.,\vec s=\mathcal R\left(\mathcal{E}\left(X,A\right)\right) i.e.,s =R(E(X,A))

作为最大化局部互信息的代理,我们使用了一个鉴别器 D : R F × R F → R \mathcal{D}: \mathbb{R}^{F} \times \mathbb{R}^{F} \rightarrow \mathbb{R} D:RF×RFR 这样, D ( h ⃗ i , s ⃗ ) \mathcal{D}\left(\vec{h}_{i}, \vec{s}\right) D(h i,s )代表分配给该patch-summary pair的概率分数(对于summary中包含的patches,概率分数应该更高)。

Negative samples for D \mathcal{D} D是:summary s ⃗ \vec s s from ( X , A ) (X,A) (X,A)和patch representations h ~ → j \overrightarrow{\widetilde{h}}_{j} h j from ( X ~ , A ~ ) (\widetilde{\mathbf{X}}, \widetilde{\mathbf{A}}) (X ,A )

目标函数:
L = 1 N + M ( ∑ i = 1 N E ( X , A ) [ log ⁡ D ( h ⃗ i , s ⃗ ) ] + ∑ j = 1 M E ( X ~ , A ~ ) [ log ⁡ ( 1 − D ( h ~ → j , s ⃗ ) ) ] ) \mathcal{L}=\frac{1}{N+M}\left(\sum_{i=1}^{N} \mathbb{E}_{(\mathbf{X}, \mathbf{A})}\left[\log \mathcal{D}\left(\vec{h}_{i}, \vec{s}\right)\right]+\sum_{j=1}^{M} \mathbb{E}_{(\tilde{\mathbf{X}}, \tilde{\mathbf{A}})}\left[\log \left(1-\mathcal{D}\left(\overrightarrow{\widetilde{h}}_{j}, \vec{s}\right)\right)\right]\right) L=N+M1(i=1NE(X,A)[logD(h i,s )]+j=1ME(X~,A~)[log(1D(h j,s ))])
最大化 h ⃗ i \vec h_{i} h i s ⃗ \vec s s 之间的互信息。

对于节点分类,我们的目标是让patches在整个图中建立到类似patches的链接,而不是强制summary包含所有这些相似性(然而,原则上这两种影响应同时发生)。

(三)Overview of DGI

假设输入为单图 ( X , A ) (X,A) (X,A),DGI过程的步骤可总结如下:
DGI步骤DGI

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值