今天下午听了北京智源大会图神经网络专题论坛,几个老师的分享都很精彩,收货颇丰。
唐建老师(来自Mila,Bengio创立的)分享的题目是《基于感知和认知系统的逻辑关系推理》,主要讲的是他们团队在ICML2019上的一篇工作《GMNN: Graph Markov Neural Networks》。
在推理里上两个system,system one 即基于感知的,它的特点是快速,直观(比如CNN模型预测一张图片是猫是狗);而system two 即基于认知的,它需要逻辑的推理,是复杂的、慢的(比如knowlege graphs上判断两个实体是否存在关系)。对应system one 方法有graph representation learning,例如GNN,GNN的优点在于能学习到好的node representation,但是忽略了结点label之间的依赖;而system two对应的方法有statistical relational learning,例如conditional random fields,它的优缺点则和GNN相反。唐老师的工作的亮点就在于将这两个system联合起来,互相帮助,既能学习出好的node representation,又能modeling结点label之间的依赖。总的看来,就是通过system1 快速的预测给system2,system2 进行更复杂的思考,并做出feedback给system1。
另外,本来是期待老师介绍他们团队在drug discovery上的一些工作,但时间有限,他只是简单地展示了一些工作。他在会上讲到自己是很看好GNN的工作应用于drug discovery的,这也坚定了自己打算做这个方向的决心,未来可期哈哈哈哈!
何向南老师(来自中科大)分享的是《图神经网络在推荐系统的前沿研究》,他讲的超好,分享了很多他们团队如何发现问题,解决问题,验证结果,很是详细。比如他在介绍他们团队将GNN应用到推荐系统的一个工作NGCF(Neural Graph Collaborative Filtering),它的贡献在于通过GNN去modeling CF with high-order connectivity。但是在他们后面的实验中,发现这个模型计算效率很差。他们经过实验,分析得出是因为他们直接引入GNN,并没有做太多改动,而有些计算并不需要。于是便有了他们后来的工作 LightGCN,没有了feature transformation、没有了激活函数、没有了self connection(直接采用 D − 1 2 A D 1 2 D^{-\frac{1}{2}}AD^{\frac{1}{2}} D−21AD21)。
这里给我的感触是在将一些工作延伸到自己的工作上时,需要考虑是否真的合适,是不是某些地方需要做改动,这样才会应用的更好;另外何老师的一些思考方式和实验方式也超值得学习。
另外,还有一个工作是他们团队在SIGIR2020的工作 DGCF,它假设了用户存在 K个潜在的意图(有的人买一件商品是出于价格,有的是出于商品的服务),将原本的用户商品交互图分成了k个图,将用户表征解耦成k个表征,并做拼接,能有更好的效果。以及另外一个工作是做interest 和 popularity的解耦。这个地方解耦的思路觉得蛮有借鉴意义的。
沈华伟老师(来自中科院计算所)并没有介绍他们团队的工作,而是讨论了《图神经网络的表达能力》,其中他提出供讨论的几个问题都很有思考的价值。GNN这些年虽然有了不错的成绩,但是很多工作是凭一种直觉,靠着试错,缺乏了很多理论上的理解。就像CNN那时候提出来的时候,很多人会去尝试打开这个“黑匣子”,去理解为什么CNN会具有这么好的表达能力。
这也就抛出了一个问题:How about the expressive power of GNNs?
关于表达能力,其实就是approximation capability,像单层的感知机就不具备这种能力,而多层感知机才具备这种能力,并且这种能力随着层数呈指数增长,也就有了CNN中很多研究都尝试去加深网络去提升模型的性能,比如ResNet、DenseNet。但是在GNNs中,这种能力会随着层数增加而增加,它存在bound吗。在 ICLR 上的一篇论文《How powerful are graph neural networks》提出GNN性能的上限是WL test。那么为什么如今设计出的GNN表达能力有限或者不足?因为在WL test中做 arregating 是单射函数,而在GNN/GCN中的arregate是采用 max/mean pooling,而他们提出的GIN将arregate 换成了 pooling,使得其表达能力很接近于上限。值得一提的是,这篇工作在后面很少人做follow,一个原因是它在理论上已经接近上限,除非是有人换一种思路去做。
还有一个问题便是:Is expressive power necessary?
其实在一些任务,并不需要GNN具有很强的表达能力。这样就在一定程度上解释了为什么GCN,GraphSAGE会表现的很好,尽管他们的表达能力会弱于GIN。
另外,沈老师谈了几点可以尝试去设计更 powerful 的GNNs,很关键的一点是 from 1-WL test to k-WL test,以及一个思路是去设计 k-dimensional GNNs。
最后,沈老师抛出了一个问题:
Can you design a layer-by-layer network to achieve more powerful expressivity than existing GNNs?
这个问题很值得去思考,在目前看来,似乎有蛮长的路要走,但这也是科学的魅力所在吧。
[1] Qu M, Bengio Y, Tang J. Gmnn: Graph markov neural networks[J]. arXiv preprint arXiv:1905.06214, 2019.
[2] Shi C, Xu M, Zhu Z, et al. GraphAF: a flow-based autoregressive model for molecular graph generation[J]. arXiv preprint arXiv:2001.09382, 2020.
[3] Wang X, He X, Wang M, et al. Neural graph collaborative filtering[C]//Proceedings of the 42nd international ACM SIGIR conference on Research and development in Information Retrieval. 2019: 165-174.
[4] He X, Deng K, Wang X, et al. LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation[J]. arXiv preprint arXiv:2002.02126, 2020.