我想寻找一个能够生成多维节点特征,且特征向量中每一位都是整数,并且支持添加生成约束条件的图生成方法。因此进行了一系列调研,总结如下。

主要参考了文章《Deep Graph Generators: A Survey》1

基于自回归(Autoregressive)的图生成方法

方法 生成策略 特征类型 多维节点特征 可附加生成条件 公开源码
MolMP2 逐节点生成 节点/边 YES Yes
MolRNN2 逐节点生成 节点/边 YES Yes
GraphRNN3 逐节点生成 - - No Yes
MolecularRNN4 逐节点生成 节点/边 No No
D.Bacciu等人56 逐边生成 - - No Yes
GraphGen7 逐边生成 节点/边 No Yes
GRAN8 逐子图生成 - - No Yes
GRAM9 逐节点生成 节点/边 No Yes
AGE10 逐节点生成 节点 Yes Yes
DeepGMG11 逐节点生成 节点/边 Yes No
BigGG12 逐节点生成 - - No Yes

使用RNN的方法

逐节点生成图的方法

MolMP、MolRNN、GraphRNN、MolecularRNN

逐边生成图的方法

GraphGen、D.Bacciu等人56

GraphGen:

不使用RNN的

基于注意力机制的

GRAN、GRAM、AGE

其他方法

DeepGMG、DeepGG

基于自编码器(Autoencoder)的图生成方法

方法 输入 生成方式 特征类型 多维节点特征 公开源码 可附加生成条件
VGAE [50] 单个图 一次生成整个图 节点 - Yes No
GraphVAE [⑤1] 数据集 一次生成整个图 节点/边 - Yes13 Yes
MPGVAE [52] 数据集 一次生成整个图 节点/边 - No Yes
RGVAE [53] 数据集 一次生成整个图 节点/边 - No No
Graphite [54] 单个图 一次生成整个图 节点 - Yes No
NED-VAE [55] 数据集 一次生成整个图 节点/边 - Yes No
DGVAE [56] 数据集 一次生成整个图 节点 - Yes No
JTVAE [57] 数据集 生成子图结构 节点/边 - Yes No
HierVAE [37] 数据集 生成子图结构 节点/边 - Yes14 Yes
MHG-VAE [58] 数据集 生成子图结构 节点/边 - Yes No
MoleculeChef [38] 数据集 生成子图结构 节点/边 - Yes No
CGVAE [39] 数据集 逐节点生成 节点/边 - Yes No
DEFactor [40] 数据集 逐节点生成 节点/边 - No Yes
NeVAE [59] 数据集 逐节点生成 节点/边 - Yes No
GraphVRNN [41] 数据集 逐节点生成 节点 - No No
Lim et al. [42] 数据集 逐节点生成 节点/边 - Yes Yes

HierVAE对于较大的分子,性能会显著降低。

一次生成整个图的方法

基于子结构(Substructure)的方法

逐节点生成图的方法

基于强化学习的图生成方法

方法 特征类型 多维节点特征 公开源码 可附加生成条件
GCPN [43] 节点/边 Yes No
Shi et al. [44] 节点/边 Yes No
Karimi et al. [45] 节点/边 Yes Yes
DeepGraphMolGen [46] 节点/边 Yes No
GraphOpt [47] 节点/边 Yes No
MNCE-RL [48] 节点/边 Yes No
GEGL [49] 节点/边 Yes No

基于生成对抗网络的图生成方法

方法 输入 生成方式 特征 多维节点特征 公开源码 可附加生成条件
NetGAN [65] 单个图 序列 - Yes No
MMGAN [66] 单个图 序列 - No No
SHADOWCAST [67] 单个图 序列 节点 No Yes
MolGAN [63] 数据集 一次生成整个图 节点/边 Yes No
CONDGEN [61] 数据集 一次生成整个图 - Yes15 Yes
TSGG-GAN [68] 数据集 一次生成整个图 节点 No Yes
VJTNN + GAN [62] 数据集 序列 节点/边 Yes No
Mol- CycleGAN [69] 数据集 序列 节点/边 Yes No
Misc- GAN [70] 单个图 - - Yes No

基于随机游走的方法

基于整个图的方法

GENERAL GRAPH-BASED ADVERSARIAL DGGs

MolGAN

GRAPH-TO-GRAPH TRANSLATORS

基于流的图生成方法

方法 生成策略 特征类型 可附加生成条件
GNF [60] 一次生成整个图 节点/边 No
GraphNVP [71] 一次生成整个图 节点/边 No
GraphAF [35] 逐节点生成 节点/边 No
GrAD [36] 生成子图结构 - No

参考文献


  1. Faez F, Ommi Y, Baghshah M S, et al. Deep graph generators: A survey[J]. IEEE Access, 2021, 9: 106675-106702. ↩︎

  2. Li Y, Zhang L, Liu Z. Multi-objective de novo drug design with conditional graph generative model[J]. Journal of cheminformatics, 2018, 10: 1-24. ↩︎ ↩︎

  3. You J, Ying R, Ren X, et al. Graphrnn: Generating realistic graphs with deep auto-regressive models[C]//International conference on machine learning. PMLR, 2018: 5708-5717. ↩︎

  4. Popova M, Shvets M, Oliva J, et al. MolecularRNN: Generating realistic molecular graphs with optimized properties[J]. arXiv preprint arXiv:1905.13372, 2019. ↩︎

  5. Bacciu D, Micheli A, Podda M. Graph generation by sequential edge prediction[C]//ESANN. 2019, 2019: 95-100. ↩︎ ↩︎

  6. Bacciu D, Micheli A, Podda M. Edge-based sequential graph generation with recurrent neural networks[J]. Neurocomputing, 2020, 416: 177-189. ↩︎ ↩︎

  7. Goyal N, Jain H V, Ranu S. GraphGen: a scalable approach to domain-agnostic labeled graph generation[C]//Proceedings of The Web Conference 2020. 2020: 1253-1263. ↩︎

  8. Liao R, Li Y, Song Y, et al. Efficient graph generation with graph recurrent attention networks[J]. Advances in neural information processing systems, 2019, 32. ↩︎

  9. Kawai W, Mukuta Y, Harada T. Scalable generative models for graphs with graph attention mechanism[J]. arXiv preprint arXiv:1906.01861, 2019. ↩︎

  10. Fan S, Huang B. Attention-based graph evolution[C]//Advances in Knowledge Discovery and Data Mining: 24th Pacific-Asia Conference, PAKDD 2020, Singapore, May 11–14, 2020, Proceedings, Part I 24. Springer International Publishing, 2020: 436-447. ↩︎

  11. Li Y, Vinyals O, Dyer C, et al. Learning deep generative models of graphs[J]. arXiv preprint arXiv:1803.03324, 2018. ↩︎

  12. Dai H, Nazi A, Li Y, et al. Scalable deep generative modeling for sparse graphs[C]//International conference on machine learning. PMLR, 2020: 2302-2312. ↩︎

  13. GraphVAE Code. https://github.com/JiaxuanYou/graph-generation/tree/master/baselines/graphvae ↩︎

  14. HierVAE Code. https://github.com/wengong-jin/hgraph2graph ↩︎

  15. CondGen Code. https://github.com/KelestZ/CondGen ↩︎