论文地址:GoGNN: Graph of Graphs Neural Network for Predicting Structured Entity Interactions
这篇论文被IJCAI 2020接收,主要工作是首次将图神经网络运用在由图构成的图(Graph of Graphs)上。
Graph of Graphs(GoG)
在分化学物质间相互作用的预测任务上,每一个化学物质可以看做是一个图结构,利用图神经网络的方法能够得到化学物质的特征表示,从而预测化学物质间是否存在相互作用。这样的方法只考虑了化学物质内部的图结构信息,而忽视了大量的化学物质及其之间的相互作用本质上也是一个图结构。

如上图所示,图中的每一个节点也是一个图,所以这是一个由图构成的图(Graph of Graphs)。
Preliminaries
问题定义
本文在两个数据及上做了实验,分别是化学物质相互作用数据集(CCI)和药物相互作用数据集(DDI)。CCI数据集中的相互作用只有一种,DDI中的相互作用有多种,所以在CCI中可通过(Gi,Gj)来计算(i,j)
之间存在相互作用的得分pij,在DDI中通过(Gi,r,Gj)三元组计算(i,j)
之间存在关系r
的得分pijr。
Molecule Graph
在molecule graph GM中,节点ai代表原子i
,边eij代表i
和j
之间的连接。
Interaction Graph
在interaction graph GI=(N,EI)中,N是节点的个数,即GM的数量,EI是GM之间的相互作用。
在DDI数据集上,每条边还有一个属性向量er。
GoGNN
基本框架是首先在GM上得到一个表示xhidden,然后再作为GI的输入。

molecule graph neural network
在GM上直接套用GCN:
M(l+1)GCNl(A,Ml)=GCNl(A,Ml)=σ(D~−21A~D~−21MlWl)
为了输出图的表示,在每一层使用self-attention机制,得到sl∈Rn×1
sl=σ(D~−21A~D~−21MlWattl)
where Wattl∈Rd×1 is the attention weight matrix for the pooling layer to obtain the self-attention score.
挑选出值最高的⌈γn⌉个维度作为第l
层输出的GM的表示:
idx=top(s,⌈γn⌉),smask=sidxMsel=M⊙smask最后将[s1,s2,..sL]拼接起来即可得到整个GM的表示xG。
interaction graph neural network
Graph Attention Network
在GI上直接套用GAT:xGil+1=∥κ=1Kσ⎝⎛j∈ηGi∑αijκWκlxGjl⎠⎞αij=∑n∈ηGiexp(LeakeyRelu(a[WxGi]∥[WxGn]))exp(LeakeyRelu(a[WxGi]∥[WxGj]))
在计算αij时论文里的公式没有给出代表是第几层的角标,可能是作者笔误,一般来说每一层αijl应该都是由该层的xGjl和xGil得到。
Edge Aggregation Network
由于DDI数据集上还有边的信息eijr,所以在聚合时需要将边上的信息考虑进去:

hWe是一个线性层,所以hWe(eijr)得到的是一个标量。这里作者可能又笔误了,在聚合了邻居节点的信息后没有体现出做线性变换的过程。
Prediction
在CCI数据集上,直接使用pij=σ(xGiT⋅xGj)得到(i, j)
之间的score。在DDI数据集上,需要将特定的关系r
考虑进去,pijr=σ((WrxGi)T⋅(WrxGj))。