1.Graphomer设计理念
想当年Transformer在处理序列数据方面大火之前曾遇到一个非常尴尬的问题:Self-Attention的思路固然新奇且强大,但将其直接运用于序列数据时效果却非常差,这是因为Self-Attention只是在计算每个元素之间的相关性,并没有将元素之间的位置信息考虑在内,从而有了Transformer的诞生:对每个位置进行编码并加入对应位置的元素特征中,性能得到了极大的提升。
如今Graphomer遇到了同样的问题,微软亚研院的高手们依然想利用Self-Attention的强大机制来拟合图问题,那么关键点就在于——如何将图数据的结构信息编码以及如何加入模型中。
2.Graphomer对图结构的三种编码
2.1 Centrality Encoding(中心性编码)
每个节点经过中心性编码后的结果如下:
h i = x ( v i ) + z + ( d e g + v i ) + z − ( d e g − v i ) h^{i} = x(v^{i})+z^{+}(deg^{+}v^{i})+z^{-}(deg^{-}v^{i}) hi=x(vi)+z+(deg+v