Press enter to see results or esc to cancel.

【INFOGRAPH: UNSUPERVISED AND SEMI-SUPERVISED GRAPH-LEVEL REPRESENTATION LEARNING VIA MU- TUAL INFORMATION MAXIMIZATION】

这也是一篇关于图学习的文章。在过去的学习之中,我们更多的是关注于节点的层次的表示,也就是说如何将图形之中的节点Embedding进一个低维度的向量之中。但是图之中并不仅仅是节点是重要的,如果只看节点的话,我们可能会陷入只见树木不见森林的困境之中,但是事实上整个图的表示也是非常重要的。而做机器学习的人们,特别是做深度学习的人常常陷入的一个问题就是其需要大量的数据,标注数据的成本可能是巨大的,所以无监督或者Semi-Supervised的学习的方法就显得更加的合适。

文章就是使用互信息(Mutual Information)的度量标准训练模型所以最后的模型的名字叫做InfoGraph.

Model

图等级的向量化的表达可以通过简单的通过和Sentence Embedding一样把节点的Embedding相加得到吗?可能是一种思路,但是效果应该不会太好,那么作者是怎么做的呢?我们先对于问题进行形式化的描述。

首先给定一组图$G = \{G_1,G_2,\cdots\}$,以及一个正整数$\delta$,我们的目标就是去学习到$\delta$维度的图表示。将$G_i$之中的节点的数量记作是$|G_i$,所有的图的表示的矩阵记作是$\Phi \in R^{|G|\times \delta}$.

而这些图并不是没有标签的,其中的有一部分的图记作$G^{L} = \{G_1,\cdots ,G_{|G^{L}|}\}$表示的是有标注的数据的Graph,而还有一部分的数据呢,或者说大部分的数据都还是没有标记的数据记作是$G^{U} = \{G_{|G^{L}| +1},\cdots,G_{|G^{L}| +|G^{U}|}$.我们的目标就是对于那些没见过的图也给分配上一个Label.

具体怎么做的呢?文章使用的是GNNs的方法,大家如果看了我之前的笔记或者是自己学习过的话,应该对于GNN的方式并不会太陌生,这种处理的方式是通过节点周围的邻居节点表示节点的方法,或者更加精确一点,直接相加后通过一个神经网络。

通过数学表达式的形式写一下就是

$$h^{(k)}_{v} = Combine^{(k)} (h_{v}^{(k-1)} ,Aggregate^{(k)} (\{     (h_{v}^{(k-1)}   ,h_{u}^{(k-1)} ,e_{uv} : u\in N(v))\}) )$$

这里的$h^{(k)}_{v}$代表了节点$v$在第$k$层之中的表达,而这里的$e_{uv}$表达的是在节点$u,v$之间的关系的向量化的表示。其中的$N(v)$表示的是节点$v$的邻居节点,$h^{(0)}$_{v}$表达的初始化的节点的特征。通过这样的方法得到了节点的每一层的特征之中,通过简单的Comcat的方法将每一层的向量连接起来作为最终的Node的向量记作是

$$h^{i}_{\phi} = CONCAT(\{h_{i}^{(k)}\}_{k=1}^{K}) $$

获得了节点的向量化的表达之后通过池化的技巧的得到整个图的表达形式(还是池化啊,感觉被欺骗了,还以为会有什么奇奇怪怪的技巧呢)记作是

$$H_{\phi}(G) = READOUT(\{h_{\phi}^{i} \}_{i=1 }^{N})$$

这里的READOUT可以是Average或者是通过Maxpooling的方法进行处理。

这里的参数的学习的过程可以定义为Global和Local的结构之间的Mutal Information

$$\hat{\phi} , \hat{\psi} = \arg \max_{\phi,\psi} \sum_{G\in G} \frac{1}{|G|}\sum_{u\in G}I_{\phi,\psi} (h_{\phi}^{u} ; H_{\phi}(G))$$

其中的$I_{\phi,\psi}$表示的是互信息的计量方式,这里的$\psi$是在互信息之中度量的参数,被定义为

在上面的公式之中的$x’$代表的负样本,看到这里大家应该也清楚了这个也是通过负采样加速训练的调调。所以模型的表示可以写成是

上面这一套是无监督学习的那一套,但是需要注意的事情是,在我们这儿并不是没有标签数据的,我们这里是有一些Label的,所以对于有Label的那部分的数据我们也不能浪费了,加到上面的那个损失函数之中。

通过这里的$\lambda$调节两个Loss的强弱的程度。当然在这里的所采用的参数还是同一套参数。左边可以使用交叉熵损失函数,而右边当然就是上面的Mutual Information的函数。

但是作者认为在监督学习和无监督学习之间的Embedding的空间是不同的两个空间,如果强行使得这两个空间相同的话那么自然会出现各种乱七八糟的问题,所以作者在这里使用了两个不同的空间进行处理。

这里的监督学习和非监督学习分别在两个空间之中进行处理然后通过Mutual Information对齐这两个空间。

上面的思路当然也就是所谓的Teacher-Student的思路,这里的监督的部分可以看成是Teacher而无监督的那一部分应该就可以看成是Student,通过上面的互信息可以把老师和学生之间建立起了一个桥梁。

 

Comments

本来以为是有其他的获得Graph Embedding的方式,不过还是在原来的GNN上面进行小修小改吧,这里是把目标函数给改了,通过使用互信息的方式作为类似的一个惩罚正则项的形式。而通过权值共享的方式得到一个泛化能力更强的图的表示方式。不过其实文中的图示还是抽象的,里面的方块看了半天才发现是向量表达。总体而言还是蛮不错的一篇文章。

Reference

INFOGRAPH: UNSUPERVISED AND SEMI-SUPERVISED GRAPH-LEVEL REPRESENTATION LEARNING VIA MU- TUAL INFORMATION MAXIMIZATION

 

 

 

Comments

Leave a Comment