想要了解图或图神经网络?没有比看论文更好的方式

机器之心

发布时间:07-2020:58

机器之心编辑

参与:思源

图嵌入、图表征、图分类、图神经网络,这篇文章将介绍你需要的图建模论文,当然它们都有配套实现的。

图是一种非常神奇的表示方式,生活中绝大多数的现象或情境都能用图来表示,例如人际关系网、道路交通网、信息互联网等等。正如马哲介绍事物具有普遍联系性,而图正好能捕捉这种联系,所以用它来描述这个世界是再好不过的方法。

但图这种结构化数据有个麻烦的地方,我们先要有图才能进行后续的计算。但图的搭建并不简单,目前也没有比较好的自动化方法,所以第一步还是需要挺多功夫的。只要各节点及边都确定了,那么图就是一种非常强大且复杂的工具,模型也能推断出图中的各种隐藏知识。

不同时期的图建模

其实,我们可以将图建模分为图神经网络与传统的图模型。其中以前的图建模主要借助 Graph Embedding 为不同的节点学习低维向量表征,这借鉴了 NLP 中词嵌入的思想。而图神经网络借助深度学习进行更强大的图运算与图表征。

Graph Embedding 算法聚焦在如何对网络节点进行低维向量表示,相似的节点在表征空间中更加接近。相比之下,GNN 最大的优势在于它不只可以对一个节点进行语义表示。

例如 GNN 可以表示子图的语义信息,将网络中一小部分节点构成的语义表示出来,这是以前 Graph Embedding 不容易做到的。GNN 还可以在整个图网络上进行信息传播、聚合等建模,也就是说它可以把图网络当成一个整体进行建模。此外,GNN 对单个节点的表示也可以做得更好,因为它可以更好地建模周围节点丰富信息。

在传统图建模中,随机游走、最短路径等图方法会利用符号知识,但这些方法并没有办法很好地利用每个节点的语义信息。而深度学习技术更擅长处理非结构文本、图像等数据。简言之,我们可以将 GNN 看做将深度学习技术应用到符号表示的图数据上,或者说是从非结构化数据扩展到了结构化数据。GNN 能够充分融合符号表示和低维向量表示,发挥两者优势。

图建模论文与代码

在 GitHub 的一项开源工作中,开发者收集了图建模相关的论文与实现,并且从经典的 Graph Embedding、Graph Kernel 到图神经网络都有涉及。它们在图嵌入、图分类、图表征等领域都是非常重要的论文。

项目地址:https://github.com/benedekrozemberczki/awesome-graph-classification

该项目主要收集的论文领域如下所示:

1. Factorization

2. Spectral and Statistical Fingerprints

3. Graph Neural Network

4. Graph Kernels

因式分解法

Learning Graph Representation via Frequent Subgraphs (SDM 2018)Dang Nguyen, Wei Luo, Tu Dinh Nguyen, Svetha Venkatesh, Dinh PhungPaper:https://epubs.siam.org/doi/10.1137/1.9781611975321.35Python:https://github.com/nphdang/GE-FSGAnonymous Walk Embeddings (ICML 2018)Sergey Ivanov and Evgeny BurnaevPaper:https://arxiv.org/pdf/1805.11921.pdfPython:https://github.com/nd7141/AWEGraph2vec (MLGWorkshop 2017)Annamalai Narayanan, Mahinthan Chandramohan, Lihui Chen, Yang Liu, and Santhoshkumar SaminathanPaper:https://arxiv.org/abs/1707.05005Python High Performance:https://github.com/benedekrozemberczki/graph2vecPython Reference:https://github.com/MLDroid/graph2vec_tfSubgraph2vec (MLGWorkshop 2016)Annamalai Narayanan, Mahinthan Chandramohan, Lihui Chen, Yang Liu, and Santhoshkumar SaminathanPaper:https://arxiv.org/abs/1606.08928Python High Performance:https://github.com/MLDroid/subgraph2vec_gensimPython Reference:https://github.com/MLDroid/subgraph2vec_tfRdf2Vec: RDF Graph Embeddings for Data Mining (ISWC 2016)Petar Ristoski and Heiko PaulheimPaper:https://link.springer.com/chapter/10.1007/978-3-319-46523-4_30Python Reference:https://github.com/airobert/RDF2VecAtWebScaleDeep Graph Kernels (KDD 2015)Pinar Yanardag and S.V.N. VishwanathanPaper:https://dl.acm.org/citation.cfm?id=2783417Python Reference:https://github.com/pankajk/Deep-Graph-KernelsSpectral and Statistical Fingerprints

A Simple Yet Effective Baseline for Non-Attribute Graph Classification (ICLR RLPM 2019)Chen Cai, Yusu WangPaper:https://arxiv.org/abs/1811.03508Python Reference:https://github.com/Chen-Cai-OSU/LDPNetLSD (KDD 2018)Anton Tsitsulin, Davide Mottin, Panagiotis Karras, Alex Bronstein, and Emmanuel MüllerPaper:https://arxiv.org/abs/1805.10712Python Reference:https://github.com/xgfs/NetLSDA Simple Baseline Algorithm for Graph Classification (Relational Representation Learning, NIPS 2018)Nathan de Lara and Edouard PineauPaper:https://arxiv.org/pdf/1810.09155.pdfPython Reference:https://github.com/edouardpineau/A-simple-baseline-algorithm-for-graph-classificationMulti-Graph Multi-Label Learning Based on Entropy (Entropy NIPS 2018)Zixuan Zhu and Yuhai ZhaoPaper:https://github.com/TonyZZX/MultiGraph_MultiLabel_Learning/blob/master/entropy-20-00245.pdfPython Reference:https://github.com/TonyZZX/MultiGraph_MultiLabel_LearningHunt For The Unique, Stable, Sparse And Fast Feature Learning On Graphs (NIPS 2017)Saurabh Verma and Zhi-Li ZhangPaper:https://papers.nips.cc/paper/6614-hunt-for-the-unique-stable-sparse-and-fast-feature-learning-on-graphs.pdfPython Reference:https://github.com/vermaMachineLearning/FGSDJoint Structure Feature Exploration and Regularization for Multi-Task Graph Classification (TKDE 2015)Shirui Pan, Jia Wu, Xingquan Zhuy, Chengqi Zhang, and Philip S. YuzPaper:https://ieeexplore.ieee.org/document/7302040Java Reference:https://github.com/shiruipan/MTGNetSimile: A Scalable Approach to Size-Independent Network Similarity (arXiv 2012)Michele Berlingerio, Danai Koutra, Tina Eliassi-Rad, and Christos FaloutsosPaper:https://arxiv.org/abs/1209.2684Python:https://github.com/kristyspatel/Netsimile图神经网络

Self-Attention Graph Pooling (ICML 2019)Junhyun Lee, Inyeop Lee, Jaewoo KangPaper:https://arxiv.org/abs/1904.08082Python Reference:https://github.com/inyeoplee77/SAGPoolVariational Recurrent Neural Networks for Graph Classification (ICLR 2019)Edouard Pineau, Nathan de LaraPaper:https://arxiv.org/abs/1902.02721Python Reference:https://github.com/edouardpineau/Variational-Recurrent-Neural-Networks-for-Graph-ClassificationCrystal Graph Neural Networks for Data Mining in Materials Science (Arxiv 2019)Takenori YamamotoPaper:https://storage.googleapis.com/rimcs_cgnn/cgnn_matsci_May_27_2019.pdfPython Reference:https://github.com/Tony-Y/cgnnExplainability Techniques for Graph Convolutional Networks (ICML 2019)Federico Baldassarre, Hossein AzizpourPaper:https://128.84.21.199/pdf/1905.13686.pdfPython Reference:https://github.com/gn-exp/gn-expSemi-Supervised Graph Classification: A Hierarchical Graph Perspective (WWW 2019)Jia Li, Yu Rong, Hong Cheng, Helen Meng, Wenbing Huang, and Junzhou HuangPaper:https://arxiv.org/pdf/1904.05003.pdfPython Reference:https://github.com/benedekrozemberczki/SEAL-CICapsule Graph Neural Network (ICLR 2019)Zhang Xinyi and Lihui ChenPaper:https://openreview.net/forum?id=Byl8BnRcYmPython Reference:https://github.com/benedekrozemberczki/CapsGNNHow Powerful are Graph Neural Networks? (ICLR 2019)Keyulu Xu, Weihua Hu, Jure Leskovec, Stefanie JegelkaPaper:https://arxiv.org/abs/1810.00826Python Reference:https://github.com/weihua916/powerful-gnnsWeisfeiler and Leman Go Neural: Higher-order Graph Neural Networks (AAAI 2019)Christopher Morris, Martin Ritzert, Matthias Fey, William L. Hamilton, Jan Eric Lenssen, Gaurav Rattan, and Martin GrohePaper:https://arxiv.org/pdf/1810.02244v2.pdfPython Reference:https://github.com/k-gnn/k-gnnCapsule Neural Networks for Graph Classification using Explicit Tensorial Graph Representations (Arxiv 2019)Marcelo Daniel Gutierrez Mallea, Peter Meltzer, and Peter J BentleyPaper:https://arxiv.org/pdf/1902.08399v1.pdfPython Reference:https://github.com/BraintreeLtd/PatchyCapsulesThree-Dimensionally Embedded Graph Convolutional Network for Molecule Interpretation (Arxiv 2018)Hyeoncheol Cho and Insung. S. ChoiPaper:https://arxiv.org/abs/1811.09794Python Reference:https://github.com/blackmints/3DGCNLearning Graph-Level Representations with Recurrent Neural Networks (Arxiv 2018)Yu Jin and Joseph F. JaJaPaper:https://arxiv.org/pdf/1805.07683v4.pdfPython Reference:https://github.com/yuj-umd/graphRNNGraph Capsule Convolutional Neural Networks (ICML 2018)Saurabh Verma and Zhi-Li ZhangPaper:https://arxiv.org/abs/1805.08090Python Reference:https://github.com/vermaMachineLearning/Graph-Capsule-CNN-NetworksGraph Classification Using Structural Attention (KDD 2018)John Boaz Lee, Ryan Rossi, and Xiangnan KongPaper:http://ryanrossi.com/pubs/KDD18-graph-attention-model.pdfPython Pytorch Reference:https://github.com/benedekrozemberczki/GAMGraph Convolutional Policy Network for Goal-Directed Molecular Graph Generation (NIPS 2018)Jiaxuan You, Bowen Liu, Rex Ying, Vijay Pande, and Jure LeskovecPaper:https://arxiv.org/abs/1806.02473Python Reference:https://github.com/bowenliu16/rl_graph_generationHierarchical Graph Representation Learning with Differentiable Pooling (NIPS 2018)Zhitao Ying, Jiaxuan You, Christopher Morris, Xiang Ren, Will Hamilton and Jure LeskovecPaper:http://papers.nips.cc/paper/7729-hierarchical-graph-representation-learning-with-differentiable-pooling.pdfPython Reference:https://github.com/rusty1s/pytorch_geometricContextual Graph Markov Model: A Deep and Generative Approach to Graph Processing (ICML 2018)Davide Bacciu, Federico Errica, and Alessio MicheliPaper:https://arxiv.org/pdf/1805.10636.pdfPython Reference:https://github.com/diningphil/CGMMMolGAN: An Implicit Generative Model for Small Molecular Graphs (ICML 2018)Nicola De Cao and Thomas KipfPaper:https://arxiv.org/pdf/1805.11973.pdfPython Reference:https://github.com/nicola-decao/MolGANDeeply Learning Molecular Structure-Property Relationships Using Graph Attention Neural Network (2018)Seongok Ryu, Jaechang Lim, and Woo Youn KimPaper:https://arxiv.org/abs/1805.10988Python Reference:https://github.com/SeongokRyu/Molecular-GATCompound-protein Interaction Prediction with End-to-end Learning of Neural Networks for Graphs and Sequences (Bioinformatics 2018)Masashi Tsubaki, Kentaro Tomii, and Jun SesePaper:https://academic.oup.com/bioinformatics/article/35/2/309/5050020Python Reference:https://github.com/masashitsubaki/CPI_predictionPython Reference:https://github.com/masashitsubaki/GNN_moleculesPython Alternative:https://github.com/xnuohz/GCNDTILearning Graph Distances with Message Passing Neural Networks (ICPR 2018)Pau Riba, Andreas Fischer, Josep Llados, and Alicia FornesPaper:https://ieeexplore.ieee.org/abstract/document/8545310Python Reference:https://github.com/priba/siamese_gedEdge Attention-based Multi-Relational Graph Convolutional Networks (2018)Chao Shang, Qinqing Liu, Ko-Shin Chen, Jiangwen Sun, Jin Lu, Jinfeng Yi and Jinbo BiPaper:https://arxiv.org/abs/1802.04944v1Python Reference:https://github.com/Luckick/EAGCNCommonsense Knowledge Aware Conversation Generation with Graph Attention (IJCAI-ECAI 2018)Hao Zhou, Tom Yang, Minlie Huang, Haizhou Zhao, Jingfang Xu and Xiaoyan ZhuPaper:http://coai.cs.tsinghua.edu.cn/hml/media/files/2018_commonsense_ZhouHao_3_TYVQ7Iq.pdfPython Reference:https://github.com/tuxchow/ccmResidual Gated Graph ConvNets (ICLR 2018)Xavier Bresson and Thomas LaurentPaper:https://arxiv.org/pdf/1711.07553v2.pdfPython Pytorch Reference:https://github.com/xbresson/spatial_graph_convnetsAn End-to-End Deep Learning Architecture for Graph Classification (AAAI 2018)Muhan Zhang, Zhicheng Cui, Marion Neumann and Yixin ChenPaper:https://www.cse.wustl.edu/~muhan/papers/AAAI_2018_DGCNN.pdfPython Tensorflow Reference:https://github.com/muhanzhang/DGCNNPython Pytorch Reference:https://github.com/muhanzhang/pytorch_DGCNNMATLAB Reference:https://github.com/muhanzhang/DGCNNPython Alternative:https://github.com/leftthomas/DGCNNPython Alternative:https://github.com/hitlic/DGCNN-tensorflowSGR: Self-Supervised Spectral Graph Representation Learning (KDD DLDay 2018)Anton Tsitsulin, Davide Mottin, Panagiotis Karra, Alex Bronstein and Emmanueal MüllerPaper:https://arxiv.org/abs/1807.02839Python Reference:http://mott.in/publications/others/sgr/Deep Learning with Topological Signatures (NIPS 2017)Christoph Hofer, Roland Kwitt, Marc Niethammer, and Andreas Uhlpaper:https://arxiv.org/abs/1707.04041Python Reference:https://github.com/c-hofer/nips2017Dynamic Edge-Conditioned Filters in Convolutional Neural Networks on Graphs (CVPR 2017)Martin Simonovsky and Nikos Komodakispaper:https://arxiv.org/pdf/1704.02901v3.pdfPython Reference:https://github.com/mys007/eccDeriving Neural Architectures from Sequence and Graph Kernels (ICML 2017)Tao Lei, Wengong Jin, Regina Barzilay, and Tommi JaakkolaPaper:https://arxiv.org/abs/1705.09037Python Reference:https://github.com/taolei87/icml17_knnProtein Interface Prediction using Graph Convolutional Networks (NIPS 2017)Alex Fout, Jonathon Byrd, Basir Shariat and Asa Ben-HurPaper:https://papers.nips.cc/paper/7231-protein-interface-prediction-using-graph-convolutional-networksPython Reference:https://github.com/fouticus/pipgcnGraph Classification with 2D Convolutional Neural Networks (2017)Antoine J.-P. Tixier, Giannis Nikolentzos, Polykarpos Meladianos and Michalis VazirgiannisPaper:https://arxiv.org/abs/1708.02218Python Reference:https://github.com/Tixierae/graph_2D_CNNCayleyNets: Graph Convolutional Neural Networks with Complex Rational Spectral Filters (IEEE TSP 2017)Ron Levie, Federico Monti, Xavier Bresson, Michael M. BronsteinPaper:https://arxiv.org/pdf/1705.07664v2.pdfPython Reference:https://github.com/fmonti/CayleyNetSemi-supervised Learning of Hierarchical Representations of Molecules Using Neural Message Passing (2017)Hai Nguyen, Shin-ichi Maeda, Kenta OonoPaper:https://arxiv.org/pdf/1711.10168.pdfPython Reference:https://github.com/pfnet-research/hierarchical-molecular-learningKernel Graph Convolutional Neural Networks (2017)Giannis Nikolentzos, Polykarpos Meladianos, Antoine Jean-Pierre Tixier, Konstantinos Skianis, Michalis VazirgiannisPaper:https://arxiv.org/pdf/1710.10689.pdfPython Reference:https://github.com/giannisnik/cnn-graph-classificationDeep Topology Classification: A New Approach For Massive Graph Classification (IEEE Big Data 2016)Stephen Bonner, John Brennan, Georgios Theodoropoulos, Ibad Kureshi, Andrew Stephen McGoughPaper:https://ieeexplore.ieee.org/document/7840988/Python Reference:https://github.com/sbonner0/DeepTopologyClassificationLearning Convolutional Neural Networks for Graphs (ICML 2016)Mathias Niepert, Mohamed Ahmed, Konstantin KutzkovPaper:https://arxiv.org/abs/1605.05273Python Reference:https://github.com/tvayer/PSCNGated Graph Sequence Neural Networks (ICLR 2016)Yujia Li, Daniel Tarlow, Marc Brockschmidt, Richard ZemelPaper:https://arxiv.org/abs/1511.05493Python TensorFlow:https://github.com/bdqnghi/ggnn.tensorflowPython PyTorch:https://github.com/JamesChuanggg/ggnn.pytorchPython Reference:https://github.com/YunjaeChoi/ggnnmolsConvolutional Networks on Graphs for Learning Molecular Fingerprints (NIPS 2015)David Duvenaud, Dougal Maclaurin, Jorge Aguilera-Iparraguirre, Rafael Gómez-Bombarelli, Timothy Hirzel, Alán Aspuru-Guzik, and Ryan P. AdamsPaper:https://papers.nips.cc/paper/5954-convolutional-networks-on-graphs-for-learning-molecular-fingerprints.pdfPython Reference:https://github.com/fllinares/neural_fingerprints_tfPython Reference:https://github.com/jacklin18/neural-fingerprint-in-GNNPython Reference:https://github.com/HIPS/neural-fingerprintPython Reference:https://github.com/debbiemarkslab/neural-fingerprint-theanoGraph Kernels

Message Passing Graph Kernels (2018)Giannis Nikolentzos, Michalis VazirgiannisPaper:https://arxiv.org/pdf/1808.02510.pdfPython Reference:https://github.com/giannisnik/message_passing_graph_kernelsMatching Node Embeddings for Graph Similarity (AAAI 2017)Giannis Nikolentzos, Polykarpos Meladianos, and Michalis VazirgiannisPaper:https://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14494Global Weisfeiler-Lehman Graph Kernels (2017)Christopher Morris, Kristian Kersting and Petra MutzelPaper:https://arxiv.org/pdf/1703.02379.pdfC++ Reference:https://github.com/chrsmrrs/glocalwlOn Valid Optimal Assignment Kernels and Applications to Graph Classification (2016)Nils Kriege, Pierre-Louis Giscard, Richard WilsonPaper:https://arxiv.org/pdf/1606.01141.pdfJava Reference:https://github.com/nlskrg/optimal_assignment_kernelsEfficient Comparison of Massive Graphs Through The Use Of ‘Graph Fingerprints’ (MLGWorkshop 2016)Stephen Bonner, John Brennan, and A. Stephen McGoughPaper:http://dro.dur.ac.uk/19773/1/19773.pdf?DDD10+lzdh59+d700tmtpython Reference:https://github.com/sbonner0/GraphFingerprintComparisonThe Multiscale Laplacian Graph Kernel (NIPS 2016)Risi Kondor and Horace PanPaper:https://arxiv.org/abs/1603.06186C++ Reference:https://github.com/horacepan/MLGkernelFaster Kernels for Graphs with Continuous Attributes (ICDM 2016)Christopher Morris, Nils M. Kriege, Kristian Kersting and Petra MutzelPaper:https://arxiv.org/abs/1610.00064Python Reference:https://github.com/chrsmrrs/hashgraphkernelPropagation Kernels: Efficient Graph Kernels From Propagated Information (Machine Learning 2016)Neumann, Marion and Garnett, Roman and Bauckhage, Christian and Kersting, KristianPaper:https://link.springer.com/article/10.1007/s10994-015-5517-9Matlab Reference:https://github.com/marionmari/propagation_kernelsHalting Random Walk Kernels (NIPS 2015)Mahito Sugiyama and Karsten M. BorgwardPaper:https://pdfs.semanticscholar.org/79ba/8bcfbf9496834fdc22a1f7c96d26d776cd6c.pdfC++ Reference:https://github.com/BorgwardtLab/graph-kernelsScalable Kernels for Graphs with Continuous Attributes (NIPS 2013)Aasa Feragen, Niklas Kasenburg, Jens Petersen, Marleen de Bruijne and Karsten BorgwardtPaper:https://papers.nips.cc/paper/5155-scalable-kernels-for-graphs-with-continuous-attributes.pdfSubgraph Matching Kernels for Attributed Graphs (ICML 2012)Nils Kriege and Petra MutzelPaper:https://arxiv.org/abs/1206.6483Python Reference:https://github.com/mockingbird2/GraphKernelBenchmarkNested Subtree Hash Kernels for Large-Scale Graph Classification over Streams (ICDM 2012)Bin Li, Xingquan Zhu, Lianhua Chi, Chengqi ZhangPaper:https://ieeexplore.ieee.org/document/6413884/Python Reference:https://github.com/benedekrozemberczki/NestedSubtreeHashWeisfeiler-Lehman Graph Kernels (JMLR 2011)Nino Shervashidze, Pascal Schweitzer, Erik Jan van Leeuwen, Kurt Mehlhorn, and Karsten M. BorgwardtPaper:http://www.jmlr.org/papers/volume12/shervashidze11a/shervashidze11a.pdfPython Reference:https://github.com/jajupmochi/py-graphPython Reference:https://github.com/deeplego/wl-graph-kernelsC++ Reference:https://github.com/BorgwardtLab/graph-kernelsFast Neighborhood Subgraph Pairwise Distance Kernel (ICML 2010)Fabrizio Costa and Kurt De GravePaper:https://icml.cc/Conferences/2010/papers/347.pdfC++ Reference:https://github.com/benedekrozemberczki/awesome-graph-classification/blob/master/www.bioinf.uni-freiburg.de/~costa/EDeNcpp.tgzPython Reference:https://github.com/fabriziocosta/EDeNA Linear-time Graph Kernel (ICDM 2009)Shohei Hido and Hisashi KashimaPaper:https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5360243Python Reference:https://github.com/hgascon/adagioWeisfeiler-Lehman Subtree Kernels (NIPS 2009)Nino Shervashidze, Pascal Schweitzer, Erik Jan van Leeuwen, Kurt Mehlhorn, and Karsten M. BorgwardtPaper:http://papers.nips.cc/paper/3813-fast-subtree-kernels-on-graphs.pdfPython Reference:https://github.com/jajupmochi/py-graphPython Reference:https://github.com/deeplego/wl-graph-kernelsC++ Reference:https://github.com/BorgwardtLab/graph-kernelsFast Computation of Graph Kernels (NIPS 2006)S. V. N. Vishwanathan, Karsten M. Borgwardt, and Nicol N. SchraudolphPaper:http://www.dbs.ifi.lmu.de/Publikationen/Papers/VisBorSch06.pdfPython Reference:https://github.com/jajupmochi/py-graphC++ Reference:https://github.com/BorgwardtLab/graph-kernelsShortest-Path Kernels on Graphs (ICDM 2005)Karsten M. Borgwardt and Hans-Peter KriegelPaper:https://www.ethz.ch/content/dam/ethz/special-interest/bsse/borgwardt-lab/documents/papers/BorKri05.pdfC++ Reference:https://github.com/KitwareMedical/ITKTubeTKCyclic Pattern Kernels For Predictive Graph Mining (KDD 2004)Tamás Horváth, Thomas Grtner, and Stefan WrobelPaper:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.332.6158&rep=rep1&type=pdfPython Reference:https://github.com/jajupmochi/py-graphExtensions of Marginalized Graph Kernels (ICML 2004)Pierre Mahe, Nobuhisa Ueda, Tatsuya Akutsu, Jean-Luc Perret, and Jean-Philippe VertPaper:http://members.cbio.mines-paristech.fr/~jvert/publi/04icml/icmlMod.pdfPython Reference:https://github.com/jajupmochi/py-graphMarginalized Kernels Between Labeled Graphs (ICML 2003)Hisashi Kashima, Koji Tsuda, and Akihiro InokuchiPaper:https://pdfs.semanticscholar.org/2dfd/92c808487049ab4c9b45db77e9055b9da5a2.pdfPython Reference:https://github.com/jajupmochi/py-graph

不同时期的图建模

其实,我们可以将图建模分为图神经网络与传统的图模型。其中以前的图建模主要借助 Graph Embedding 为不同的节点学习低维向量表征,这借鉴了 NLP 中词嵌入的思想。而图神经网络借助深度学习进行更强大的图运算与图表征。

Graph Embedding 算法聚焦在如何对网络节点进行低维向量表示,相似的节点在表征空间中更加接近。相比之下,GNN 最大的优势在于它不只可以对一个节点进行语义表示。

例如 GNN 可以表示子图的语义信息,将网络中一小部分节点构成的语义表示出来,这是以前 Graph Embedding 不容易做到的。GNN 还可以在整个图网络上进行信息传播、聚合等建模,也就是说它可以把图网络当成一个整体进行建模。此外,GNN 对单个节点的表示也可以做得更好,因为它可以更好地建模周围节点丰富信息。

在传统图建模中,随机游走、最短路径等图方法会利用符号知识,但这些方法并没有办法很好地利用每个节点的语义信息。而深度学习技术更擅长处理非结构文本、图像等数据。简言之,我们可以将 GNN 看做将深度学习技术应用到符号表示的图数据上,或者说是从非结构化数据扩展到了结构化数据。GNN 能够充分融合符号表示和低维向量表示,发挥两者优势。

图建模论文与代码

在 的一项开源工作中,开发者收集了图建模相关的论文与实现,并且从经典的 Graph Embedding、Graph Kernel 到图神经网络都有涉及。它们在图嵌入、图分类、图表征等领域都是非常重要的论文。

项目地址:benedekrozemberczki/awesome-graph-classification

该项目主要收集的论文领域如下所示:

1. Factorization

2. Spectral and Statistical Fingerprints

3. Graph Neural Network

4. Graph Kernels

因式分解法

· Learning Graph Representation via Frequent Subgraphs (SDM 2018)

· Dang Nguyen, Wei Luo, Tu Dinh Nguyen, Svetha Venkatesh, Dinh Phung

· Paper:https://epubs.siam.org/doi/10.1137/1.9781611975321.35

· Python:nphdang/GE-FSG

· Anonymous Walk Embeddings (ICML 2018)

· Sergey Ivanov and Evgeny Burnaev

· Paper:https://arxiv.org/pdf/1805.11921.pdf

· Python:nd7141/AWE

· Graph2vec (MLGWorkshop 2017)

· Annamalai Narayanan, Mahinthan Chandramohan, Lihui Chen, Yang Liu, and Santhoshkumar Saminathan

· Paper:https://arxiv.org/abs/1707.05005

· Python High Performance:benedekrozemberczki/graph2vec

· Python Reference:MLDroid/graph2vec_tf

· Subgraph2vec (MLGWorkshop 2016)

· Annamalai Narayanan, Mahinthan Chandramohan, Lihui Chen, Yang Liu, and Santhoshkumar Saminathan

· Paper:https://arxiv.org/abs/1606.08928

· Python High Performance:MLDroid/subgraph2vec_gensim

· Python Reference:MLDroid/subgraph2vec_tf

· Rdf2Vec: RDF Graph Embeddings for Data Mining (ISWC 2016)

· Petar Ristoski and Heiko Paulheim

· Paper:https://link.springer.com/chapter/10.1007/978-3-319-46523-4_30

· Python Reference:airobert/RDF2VecAtWebScale

· Deep Graph Kernels (KDD 2015)

· Pinar Yanardag and S.V.N. Vishwanathan

· Paper:https://dl.acm.org/citation.cfm?id=2783417

· Python Reference:pankajk/Deep-Graph-Kernels

Spectral and Statistical Fingerprints

· A Simple Yet Effective Baseline for Non-Attribute Graph Classification (ICLR RLPM 2019)

· Chen Cai, Yusu Wang

· Paper:https://arxiv.org/abs/1811.03508

· Python Reference:Chen-Cai-OSU/LDP

· NetLSD (KDD 2018)

· Anton Tsitsulin, Davide Mottin, Panagiotis Karras, Alex Bronstein, and Emmanuel Müller

· Paper:https://arxiv.org/abs/1805.10712

· Python Reference:xgfs/NetLSD

· A Simple Baseline Algorithm for Graph Classification (Relational Representation Learning, NIPS 2018)

· Nathan de Lara and Edouard Pineau

· Paper:https://arxiv.org/pdf/1810.09155.pdf

· Python Reference:edouardpineau/A-simple-baseline-algorithm-for-graph-classification

· Multi-Graph Multi-Label Learning Based on Entropy (Entropy NIPS 2018)

· Zixuan Zhu and Yuhai Zhao

· Paper:https:// .com/TonyZZX/MultiGraph_MultiLabel_Learning/blob/master/entropy-20-00245.pdf

· Python Reference:TonyZZX/MultiGraph_MultiLabel_Learning

· Hunt For The Unique, Stable, Sparse And Fast Feature Learning On Graphs (NIPS 2017)

· Saurabh Verma and Zhi-Li Zhang

· Paper:https://papers.nips.cc/paper/6614-hunt-for-the-unique-stable-sparse-and-fast-feature-learning-on-graphs.pdf

· Python Reference:https:// .com/vermaMachineLearning/FGSD

· Joint Structure Feature Exploration and Regularization for Multi-Task Graph Classification (TKDE 2015)

· Shirui Pan, Jia Wu, Xingquan Zhuy, Chengqi Zhang, and Philip S. Yuz

· Paper:https://ieeexplore.ieee.org/document/7302040

· Java Reference:https:// .com/shiruipan/MTG

· NetSimile: A Scalable Approach to Size-Independent Network Similarity (arXiv 2012)

· Michele Berlingerio, Danai Koutra, Tina Eliassi-Rad, and Christos Faloutsos

· Paper:https://arxiv.org/abs/1209.2684

· Python:https:// .com/kristyspatel/Netsimile

返回顶部