本文目录导读:

图生成模型是生成式人工智能在非欧几里得数据(图结构数据)领域的重要分支,它的目标不是生成图像、文本或音频,而是生成图形结构(由节点和边组成的数据)。
这与用生成模型(如GAN或扩散模型)生成一张图片完全是两回事,下面我会系统地为你介绍图生成模型的核心概念、主要方法与实际应用。
核心目标
给定一个训练集(包含若干图),图生成模型的目标是学习这些图在结构和属性上的分布,从而生成与训练集相似但又完全不同、且符合逻辑的新图。
关键挑战:
- 组合空间巨大:N个节点的可能图结构数量是 (2^{O(N^2)})。
- 变长输出:不同图的节点数可能不同(不像图像有固定尺寸)。
- 结构复杂性:需要捕捉节点之间的复杂依赖关系(如度分布、聚类系数、社区结构)。
- 置换不变性:图本身与节点的排列顺序无关(图的同构问题)。
主要方法分类
图生成模型的发展经历了从简单模型到深度生成模型的演进。
传统方法(基于规则或统计)
- Erdos-Renyi (ER) 模型:最简单的随机图模型,以固定概率 (p) 在每对节点间连边。
- 缺点:生成的图缺乏真实图的常见特性(如聚类、幂律度分布)。
- Barabási-Albert (BA) 模型:基于“优先连接”机制,新节点更倾向于连接已有的大度节点,生成无标度网络。
- 优点:能模拟真实网络的幂律度分布。
- Stochastic Block Model (SBM):通过定义社区结构(块)和块间的连接概率来生成图。
- 用途:常用于生成带有社区结构的人工图。
基于自回归的深度模型
这类模型将图的生成过程视为一个序列化步骤,逐步添加节点和边。
- GraphRNN:这是开创性工作之一,它使用两个递归神经网络(RNN):
- 节点级RNN:决定何时添加新节点。
- 边级RNN:决定新节点与现有节点之间如何连接。
- 流程:先由节点RNN输出一个状态,初始化边RNN;边RNN逐步预测新节点与已有节点的边。
- 缺点:边生成复杂度为 (O(N^2)),其输出顺序依赖于节点顺序。
基于生成对抗网络(GAN)
- MolGAN:专门用于生成小分子图。
- 架构:生成器直接生成一个图(节点特征和邻接矩阵),判别器判断其真实性和有效性(配合一个奖励网络预测化学性质)。
- 挑战:由于图离散且非欧几里得,GAN直接应用比较困难(如不能直接求梯度)。
基于变分自编码器(VAE)
- GraphVAE:将图编码到潜在空间((z)),再从 (z) 解码生成图。
- 解码:输出一个完整的图(节点特征矩阵和邻接矩阵)。
- 挑战:输入图的节点数需固定;输出图与输入图的对齐(匹配)困难。
基于扩散模型(目前SOTA)
扩散模型在图生成领域展现出很强的能力,它们通过一个前向过程将图逐步加噪到纯噪声,然后学习一个反向过程从噪声中恢复出图结构。
- DiGress (Discrete Diffusion Models for Graph Generation):
- 离散扩散:专门处理图数据(节点类型、边类型都是离散的),前向过程按概率随机替换节点/边类型(如“碳”变“氮”、“单键”变“双键”或“无键”)。
- 反向过程:学习一个神经网络(通常是图 Transformer)来预测去噪后的真实节点/边类型,从而实现逐步去噪。
- GDSS (Score-based Generative Model for Graphs):连续时间分数匹配扩散模型用于图生成。
关键应用领域
-
药物发现与分子设计(核心领域):
- 生成具有特定性质(如高活性、低毒性、易合成)的新分子结构。
- 工具:
MolGAN,GraphAF,DiGress等都专为此优化。
-
材料科学:生成新型晶体结构、聚合物或超材料(如具有特定带隙的新晶体图)。
-
社交网络分析:
- 生成模拟用户交互的合成网络(用于算法测试、隐私保护)。
- 预测网络演化(未来可能添加的边或节点)。
-
交通网络与基础设施:
生成城市交通流量图,模拟不同场景下的路网结构。
-
程序与代码生成:
将代码表示成抽象语法树(AST,也是一种图结构),生成新的代码片段。
图生成模型 vs. 图神经网络(GNN)
- GNN 是判别/预测模型,它读取一个已有的图,学习节点/图上的表示(表征学习),用于节点分类、链接预测、图分类等任务。
- 图生成模型是生成模型,它学习图数据的分布,产生全新的图结构(包括节点、边及其属性)。
GNN 是图生成模型重要的技术基础,大部分现代图生成模型(如DiGress、GDSS)都使用 GNN 作为其核心网络(如噪声预测网络、编码器/解码器)。
评估一个图生成模型
判断一个图生成模型好坏不太容易(不像分类任务有明确准确率),常用评估指标:
| 指标 | 描述 | 衡量 |
|---|---|---|
| 有效性 | 分子图是否符合化合价规则/是否合法。 | 分子合法性 |
| 新颖性 | 生成的图是否未出现在训练集中。 | 创作能力 |
| 唯一性 | 生成的不同图的比例。 | 多样性 |
| 分布接近度 | 生成图集的度分布、聚类系数分布、最大子结构分布(如环形)等是否与训练集一致。 | 保真度 |
| FID-like | 类似图像领域,计算特征分布的距离(如利用GNN提取特征,计算MMD - 最大均值差异或Fretchet距离)。 | 整体质量 |
| 维度 | 当前痛点与趋势 | 主要关注点 |
|---|---|---|
| 模型 | 扩散模型(如DiGress)目前SOTA | 如何高效处理大规模图(>5k节点)仍是难点 |
| 大图困境 | 自回归模型复杂度 (O(N^2)),扩散模型也面临此类问题 | 层次化生成(先生成社区骨架,再填充细节) |
| 条件控制 | 生成具有特定性质的图才是最有价值的 | 条件扩散模型、引导技术(如分类器指导) |
| 3D图(更接近现实) | 分子的3D坐标不仅是拓扑,还有空间结构 | 3D分子生成(如结合平动、旋转等对称性) |
简单来说:
- 如果你需要非常像真实数据的新图,用扩散模型。
- 如果你需要逐步精确控制过程,用自回归模型。
- 如果你专门做分子生成,可以直接找相关专用模型或工具(如DiGress、MolGAN)。
图生成模型是生成模型中增长很快的方向之一,尤其在有大量结构化数据(如分子、社交网络)的领域。