目前的GNN都是用邻接矩阵A来指导消息传播和聚合过程,后面接一个任务loss,如分类的cross entropy loss
本文则是将节点属性通过MLP来映射为其表示,而邻接矩阵A仅仅用来作为loss,指导优化过程。这里设计了所谓的Neighboring Contrastive Loss 来进行优化。简单来说就是:距离比较近的节点,其表示优化成相似的;距离比较远的节点,其表示优化成不相似的。
image-20210623004056645
具体是怎么做的呢?
首先明确一下,节点的表示是否应该相似。如果节点
j
在节点
i
的r-hop范围内,则认为两者应该相似。
\gamma_{i j}\left\{\begin{array}{ll}=0, & \text { node } j \text { is the } r \text { -hop neighbor of node } i \\ \neq 0, & \text { node } j \text { is not the } r \text { -hop neighbor of node } i\end{array}\right.
最后,其实本文的做法在先前的Graph Embedding已经有一些了。例如,18ICLR DEEP GAUSSIAN EMBEDDING OF GRAPHS_UNSUPERVISED INDUCTIVE LEARNING VIA RANKING 就是直接将节点属性映射为一个表示(高斯分布),然后基于节点之间的距离远近来进行优化。