图生成模型:生成分子图与社交网络

FreeGuideOnline 最新 2026-06-14

图生成模型教程:生成分子图与社交网络

1. 什么是图生成模型

图生成模型是一类能够自动学习真实图数据分布,并生成具有相似结构特征的新图的深度生成模型。这里的“图”由节点和边组成,可以带有节点属性、边属性甚至图级别的标签。

与传统生成模型(如图像生成)不同,图生成模型必须处理非欧几里得结构节点排列不变性以及可变大小与稀疏连接等独特挑战。本教程以分子图生成和社交网络生成为核心案例,带你从零入门这一领域。

2. 为什么需要生成图

2.1 分子图生成:加速药物发现

分子可以自然表示为图,其中原子是节点,化学键是边。设计具有特定性质(如高活性、低毒性、可合成性)的新分子是药物研发的核心瓶颈。

  • 传统方式:化学家凭借经验试错,周期长、成本极高。
  • 图生成模型:可以从已知分子库中学习有效化学模式,自动生成大量候选分子,并结合性质预测器筛选,大幅提升先导化合物发现的效率。

2.2 社交网络生成:理解与仿真

社交网络、引文网络、蛋白质交互网络等真实世界网络具有典型特征:幂律度分布、小世界效应、社区结构等。

  • 数据隐私:直接使用真实社交网络分析可能侵犯隐私,生成类似结构的合成图可避免此问题。
  • 网络科学:评估算法(如社区发现、影响力最大化)在某些网络结构上的可扩展性,需要大量不同规模的模拟网络。
  • 假想分析:生成模型还能填补缺失边、预测网络演化趋势。

2.3 更多应用场景

  • 知识图谱补全:生成可能的实体关系三元组。
  • 芯片电路设计:自动生成满足连接规则的电路拓扑。
  • 程序合成:将程序的控制流、数据流表示为图,并生成新代码结构。

3. 图生成的核心挑战

在动手之前,理解难点至关重要。

挑战 描述 影响
置换不变性 节点顺序的改变不应改变图的含义,但传统序列模型依赖顺序。 若模型对节点顺序敏感,会学习到大量冗余模式。
可变图大小 一张图可能有几个节点,也可能有几千个节点。 模型必须支持可变输出维度。
稀疏与离散性 邻接矩阵通常高度稀疏(比如社交网络密度不到千分之一),且边是离散的(存在或不存在)。 连续松弛容易引入噪声,离散采样则难以端到端训练。
长程依赖 分子中的环、社交网的六度分隔,要求捕捉全局结构。 局部边生成模型可能无法保证化学价规则或图的连通性。
多模态属性 节点、边可能带有类别/连续属性。 需要同时生成拓扑和属性。

4. 主流图生成方法

4.1 自回归模型:逐部分生成图

这类方法将图的生成过程分解为一系列决策:先生成一个节点,再生成它的所有边;或逐边生成。每一步的条件概率通过神经网络建模。

  • GraphRNN:将图分解为节点和边的序列,使用两个层级RNN:图级RNN负责添加节点,边级RNN为新节点生成与已有节点的连接。训练时可以随机节点排列,但推断时按默认顺序。
  • GRAN (Graph Recurrent Attention Network):一次生成一组节点及其内部边,再用注意力机制生成与现有部分的边。生成顺序固定但通过块处理提升效率。
  • GraphAF:该模型结合自回归与流模型,将分子生成定义为顺序添加原子和键,并能直接优化分子性质。

优点:训练稳定,能显式控制生成步数。 缺点:生成顺序可能引入偏差,长序列生成较慢。

4.2 变分自编码器(VAE)

将图编码到连续隐空间,再从隐向量解码生成新图。关键在于如何设计置换不变的图编码器和解码器。

  • JT-VAE (Junction Tree VAE):分子生成的代表作。先将分子分解为节点骨架树(junction tree)和完整的分子图,分两级编码。树结构捕捉化学子结构(如官能团),图结构确保化学键的细节。生成时先按固定顺序生成树,再组合为有效分子,大大提高了化学有效性。
  • Regularized Graph VAE:通过对邻接矩阵的重建损失和隐变量正则化训练,编码器使用图神经网络(GCN),解码器则预测每一对节点存在边的概率。

优点:可获得平滑、可插值的隐空间,支持性质优化(在隐空间插值寻找高活性分子)。 缺点:节点数量往往需要预先固定或由隐向量决定,难以生成变长图。

4.3 生成对抗网络(GAN)在图生成中的应用

GAN由生成器产生图表示,判别器区分真实图与生成图。难点在于图数据的离散性导致梯度难以回传。

  • MolGAN:生成器输出一个完整的、连续松弛的邻接矩阵和节点属性矩阵,经过softmax/抽样得到离散图。判别器评估图级别合理性,并联合强化学习(奖励为化学有效性等)进行训练。
  • NetGAN:专门用于生成合成网络(如社交网络)。它不直接生成图,而是生成图中的随机游走序列;判别器区分真实图的随机游走与生成序列。之后再从生成游走组装的边矩阵重建图,能很好恢复度分布和社区结构。

优点:训练后生成速度快,可通过GAN针对特定统计量进行对抗训练。 缺点:模式坍塌风险,离散输出使得训练不稳定。

4.4 图扩散模型:当前最优选择之一

扩散模型通过逐步加噪破坏原始图,再学习逆转这一过程来生成图。由于图结构既是离散又稀疏,需要特殊设计。

  • GDSS (Graph Diffusion via Score-based model):同时扩散节点特征和邻接矩阵,使用随机微分方程(SDE)框架,逆过程采用评分网络预测去噪方向。评分网络需要是置换等变的,GDSS使用图注意力网络来满足。
  • DiGress:专为离散图(节点类型和边类型)设计的离散扩散模型。定义状态之间的转移矩阵,通过马尔可夫过程逐步去噪,最终生成离散图,天然适用于分子。

优点:生成质量高,能够学习全局结构,训练相对稳定。 缺点:采样过程较慢,需要多步去噪。

4.5 基于流的模型

正规化流通过一系列可逆变换将简单先验分布映射为复杂图分布,支持精确似然评估。

  • GraphAFGraphDF:分别采用自回归流和离散流,将分子生成建模为序列决策,每一步添加原子/键时直接使用可逆映射,因此可以计算精确的对数似然,并利用强化学习微调性质。

5. 如何评估图生成模型

评估图生成模型不能仅看损失函数,需要多维指标衡量真实分布与生成分布之间的差异。

5.1 基于统计的相似度指标

  • Maximum Mean Discrepancy (MMD):在某个核函数空间内计算真实图集与生成图集分布的距离。通常计算石墨化的度分布、聚类系数、轨道计数等统计量的MMD。值越小表示分布越相似。
  • Wasserstein距离:用于比较图测度(如节点度序列)的距离。

5.2 图级别的保真度指标

  • 有效性 (Validity):生成图是合法实例的比例。对分子而言,就是化学价规则满足的比例;对网络可能是全连通图的占比。
  • 唯一性 (Uniqueness):在生成集内去除重复后的比例,衡量生成多样性。
  • 新颖性 (Novelty):生成图与训练集中所有图不重合的比例,确保模型没有简单记忆。

5.3 应用特定指标

  • 药物化学指标
    • QED (定量药物相似度):综合评估分子成药性的无量纲值。
    • SA (合成可及性分数):评估合成难度,1表示容易,10表示极难。
    • LogP、分子量等:衡量理化性质分布是否与训练集一致。
  • 网络科学指标
    • 度分布相似性(如Jensen-Shannon散度)
    • 平均聚类系数
    • 直径与平均路径长度

实践中,通常联合MMD、Validity、Uniqueness、Novelty以及领域关键指标来全面比较模型。

6. 实战案例一:分子图生成

6.1 代表模型与训练数据

我们以 JT-VAE 为例,训练数据集为 ZINC(约250K个药物分子)。预处理将分子拆分为环、官能团等子结构,构建词汇表。JT-VAE编码器将树和图编码为隐向量,解码器从隐向量先重建树结构,再组装成图。

训练优化目标包含重建损失(树和图)和KL散度。最终模型能够:

  • 随机采样:从标准正态分布采样隐向量,解码得到有效分子,有效性可达100%(因树解码天然保证化学价)。
  • 性质优化:以隐向量为输入训练一个性质预测器,沿梯度方向移动隐向量,可生成具有更高QED或更低LogP的分子。

6.2 近期进展:结合扩散模型

CDGS (Conditional Diffusion model for Graph Signals) 或 GeoDiff(用于分子构象,扩展为图)展示了扩散模型在分子生成中的强大潜力。DiGress 在QM9数据集上生成分子不仅有效性高,还能较好保留环结构,MMD值达到新低。

7. 实战案例二:社交网络生成

7.1 代表模型:NetGAN 与 GraphRNN

NetGAN 基于GAN,从真实社交网络中采样大量随机游走,生成器(LSTM)生成“假的”随机游走路段,判别器辨别。重建的图能复现度分布、聚类系数和社区分割的模块度。例如在Cora引文网络上,NetGAN生成的图与真实图在多个统计量上高度接近。

GraphRNN 处理相同任务的方式完全不同:它将训练图按节点度排序后转换为序列,自回归学习节点与边生成。在模拟的社区图和Ego网络数据集上,GraphRNN生成的图捕捉了度分布、小世界特性,还能灵活指定生成节点数。

7.2 如何训练和评估

  • 数据:Cora、Citeseer、或自定义得社交网络,仅保留图结构。
  • 评估:比较度分布、平均聚类系数、中介中心性的MMD,还可以比较图谱的分布。
  • 注意事项:社交网络通常无节点特征,主要挑战在于保持稀疏性和全局属性。生成后可能需要对边进行剪枝以达到目标密度。

8. 实践建议

  1. 先从现成框架入手:PyTorch Geometric (PyG) 提供了若干图生成基准实现,如GraphRNN、GRAN。分子生成可使用GuacaMol或MoleculeNet基准和JT-VAE实现。
  2. 数据预处理:分子数据集需要标准化原子类型、化合价、芳香键表示。社交网络最好移除孤立节点。
  3. 评估方法:务必计算多项指标,并生成可视化示例(如展示10个随机生成的分子)进行人工检查。
  4. 模型选择
    • 追求化学有效性和性质优化 → 基于子结构的方法(如JT-VAE)或离散扩散模型(DiGress)。
    • 需要灵活图大小、捕捉复杂统计特性 → 自回归(GraphRNN)或扩散模型。
    • 仅需快速生成大规模网络 → NetGAN(需注意模式覆盖)。

9. 总结与展望

图生成模型正处于快速发展期,从早期简单的图VAE/GAN,到现在的扩散模型、流模型,在分子图生成和社交网络模拟中取得了突破性表现。关键趋势包括:

  • 保真度与多样性的平衡:扩散模型提供了新的范式。
  • 条件生成:在给定性质、分子骨架或网络度分布条件下生成图,更贴近实际需求。
  • 大模型与预训练:将图生成与大规模预训练结合,如使用图Transformer进行条件分子生成。
  • 3D分子生成:不仅生成拓扑,还生成三维构象,更直接地预测结合亲和力。

掌握图生成模型,你就能在药物发现、材料设计、网络安全等领域创造真实价值。从本教程出发,尝试运行一个开源的GraphRNN或JT-VAE,亲手生成你的第一张图和第一个分子吧!