自从科学家发现,图神经网络 (GNN) 能处理不规则数据、攻克从前难解的问题,后每每出现图网络的资源,便广受人类的喜爱。
这次也不例外。
有个叫本尼迪克 (Benedek Rozemberczki) 的少年,在爱丁堡大学读博,他把自己整理的70多篇图网络论文+代码实现大列表,放上了GitHub。
少年在Reddit上宣布这个消息,半日热度便有215点。
不止如此,大列表也在推特上获得了800+赞:
不久,GitHub标星上了千。
本尼迪克说,列表里的模型分门别类:有图分解、有图核、有深度网络……且还会持续更新。
比起不久前红遍大江南北的PyTorch Geometric图网络库,少年说他的列表更全面。
所以,就来观察一下到底有多全。
分成四类
列表的名字,叫Awesome Graph Classification。
就像开头提到的那样,70多篇论文和它们的代码,被少年分到了四个类别里。
前两类比较简洁:
第一类是分解 (Factorization) ,有6篇论文的实现。
比如,2017年诞生的graph2vec,把整个图编码进向量空间,便属于这一类。
第二类是Spectral and Statistical Fingerprints,有7项研究的实现。
比如,中选KDD 2018的NetLSD,不受排列方式的影响、尺寸大小的影响,能在大图和大图之间做直接对比。
后面两类就丰盛了许多:
第三类是深度学习 (Deep Learning) ,也是内容最饱满的章节,有37篇论文的代码。
不乏近年顶会的中选论文:
第四类是图核 (Graph Kernels) ,衡量两图相似度的一种有效方法。
这个类别有21项研究的代码,不过这里的论文并不限于近年,跨度从2003年直到2018年。
哪里比前辈厉害?
回想上半年,多特蒙德工业大学的两位少年,发布了PyTorch Geometric (简称PyG) 图网络库,瞬时红火起来,如今已有4400多星。
PyG在四个数据集上,运行GCN和GAT模型的速度,都超过了从前的DGL图网络库,最高达到15倍速。
但从覆盖度上看,PyG有大约30个模型的代码实现,而本尼迪克的新列表包含了超过70篇论文的实现。
不止是总数的差距,本尼迪克说PyG库只有深度网络;
但在图分类 (Graph Classification) 任务里,如果没有节点和边缘特征,分解 (如Graph2Vec) 和Fingerprints (如NetLSD) 都是很有竞争力的。
这些算法,都在本尼迪克的大列表里。
所以,各位可以马克一下。
One More Thing
其实,少年整理过的清单并不止这一个。
社区发现 (Community Detection) 、分类/回归树,以及梯度增强,都有论文代码实现列表。
大家可以从传送门前往探索。
图网络大列表:
https://github.com/benedekrozemberczki/awesome-graph-classification
— 完 —
“