1. 前言
随着 Stable Diffusion 在 AI 绘图领域取得巨大成功,扩散模型 (Diffusion Model) 作为当下最强大的一类生成模型,引起了 AI 研究者广泛的兴趣。扩散模型最早可追溯到 ICML'15 的一篇论文《Deep Unsupervised Learning using Nonequilibrium Thermodynamics》,在这篇论文中,作者首次将扩散模型定义为逐渐加噪的正向过程以及逐渐降噪的逆向过程,这样逆向过程就形成了一个从噪音到真实图像的映射,从而达到了生成模型学习原始数据分布的目的。虽然改工作提出了一个新的生成模型方法,但当时并未在机器学习这一百家争鸣的领域溅起大的水花,直到N eurlPS'20 的一篇文章《Denoising Diffusion Probabilistic Models》,也就是大家所熟知的DDPM,通过对原始的扩散模型进行更加深入的一系列推导简化,并取得非常好的生成效果,才正式将这一方法带入到大家的视野中来。与DDPM相对应的,NeurIPS'19 的论文《Generative Modeling by Estimating Gradients of the Data Distribution》,即NCSN, 则是扩散模型另一条技术路线的开山之作,该方法提出一种名叫分数匹配 (Score Matching) 的方法,通过建模训练数据概率密度函数取对数之后的梯度,配以朗之万动力学采样 (Langevin dynamics),同样在取得了非常好的生成效果。进一步的,ICLR'21的论文《Score-based Generative Modeling through Stochastic Differential Equations 》,通过随机微分方程,将分别以 DDPM 和 NCSN 为代表的两条技术路线统一起来,并将离散的扩散过程推广到连续扩散过程。至此,扩散模型的基础理论得以完善统一。
2. 图上的扩散模型
图机器学习作为当今机器学习领域,人工智能领域的又一大热点,考虑到图生成模型对于解决分子发现,药物发现等领域有重要的现实意义,如何在复杂的图数据上运用强大的扩散模型成为了许多研究者的研究中心。接下来,我将对一些将扩散模型应用到图领域的重大成果进行介绍。
2.1 EDP-GNN
EDP-GNN 是发表在 AISTATS’20 上的一篇论文,其完整名称为《Permutation Invariant Graph Generation via Score-Based Generative Modeling》,这也是第一篇将扩散模型带入到图领域的工作。作为这一扩散图生成领域的开创之作,这篇文章并没有对如何定义图上的正向扩散过程以及逆向扩散过程进行深入的探索,只是沿用了 NCSN 的方法进行设计。
2.1.1 训练过程
作者通过对图的邻接矩阵添加高斯噪声来定义噪声分布。具体来说,对于某一个噪声规模 (对应的噪声为),作者将噪声分布 定义为:
可以看到,作者只考虑邻接矩阵的上三角部分,这是因为作者主要考虑的是无向图的生成。
通过定义这样的噪声分布,可以简单求得该噪声分布的“分数”:。作者设计了一系列递减的 ,即 ,来定义这一正向扩散过程 (加噪过程)。接着作者通过分数匹配损失函数:
就可以训练得到一个神经网络 来求解逆向扩散过程 (降噪过程)。文中作者定义了一个新的图神经网络,但与本专题所探索的内容关系不大,故在此不过多赘述。
2.1.2 采样过程
在采样过程中,作者首先通过标准正态分布采样得到一个噪声邻接矩阵:
其中, 。随后,搭配训练过程中训练得到的神经网络 使用朗之万动力学采样算法,就可通过迭代,一步步得到生成图。
注意,为了与无向图的对称邻接矩阵相对应,我们需要将添加的噪声矩阵也定义为一个对称矩阵,即:
同时,为了将连续的扩散空间与我们需要的离散图空间对齐,在最后一次迭代时,我们需要对齐进行离散化处理:
2.2 NVDiff
考虑到图生成任务,通常需要同时生成图拓扑结构以及节点特征,因此还需要考虑到这二者之间可能存在的联系,但这通常是复杂的。NVDiff 则通过将变分自编码器 (VAE) 和扩散模型 (Diffusion Model) 结合起来,巧妙解决这一问题。
2.2.1 模型架构
作者首先使用 VAE 的 Encoder 将原始图结构和节点特征编码到一个隐藏空间中,然后对该隐藏空间的表示进行正向扩散过程,获得一个噪声,再使用一个神经网络学习该扩散的逆向过程,使得可以将一个噪音映射到有意义的节点表示之中。将反向扩散过程得到的节点表示再输入到 VAE 的 Decoder 中,解码得到一个图结构和节点特征。
通过在隐藏空间中使用扩散模型,该方法既可以利用扩散模型强大的生成能力,同时也避免了如何在图数据上设计合适的正向扩散过程以及反向扩散过程的问题。
为了训练该模型,作者需要两个目标函数来分别优化 VAE 部分以及 Diffusion Model 部分:
整体训练过程由以下算法描述:
2.2.2 采样过程
为了采样生成图数据,需要首先采样一个噪声表示,然后用逆扩散过程的随机扩散方程求解出一个有意义的节点表示,然后使用 VAE 的 Decoder,根据该求解出的节点表示重构出图拓扑结构以及节点特征。
2.3 DIGRESS
DIGRESS 是发表在 ICLR2023 的一篇论文,全名为《DIGRESS: DISCRETE DENOISING DIFFUSION FOR GRAPH GENERATION》。该工作不同于以往图扩散模型将图数据放到连续空间中的做法,在离散空间中设计了一种离散图扩散模型,这与图数据本身的离散性相吻合。
2.3.1 扩散过程
作者将正向扩散过程设计成一种离散的状态转移过程。首先作者将图数据定义为 以及 ,分别表示节点种类矩阵以及边种类矩阵。定义状态转移矩阵 ,。则正向过程可用如下方程表示:
其中, 以及 。
利用贝叶斯公式,正向扩散的后验概率可写为:
其中 表示转移矩阵 的转置矩阵。
在训练过程中,需要一个降噪神经网络 ,以一个扩散 步后的噪声图为输入,去预测干净图。使用交叉熵损失函数作为优化目标即可:
其中 分别表示 预测的节点种类矩阵和边种类矩阵。
2.3.2 采样过程
在采样过程中,我们首先采样一个完全随机的图 , 然后使用训练得到的 预测一个干净图 , 再根据计算的后验概率 采样得到图 , 然后依次迭代生成最终的图。
2.4 EDGE
EDGE 是发表在ICML'23 的一篇论文,其全名为《Efficient and Degree-Guided Graph Generation via Discrete Diffusion Modeling》。该工作设计了一种高效的离散图扩散模型,并且可以通过指定节点度来实现度指导的图生成过程,取得了非常好的图生成效果。
2.4.1 扩散过程
作者将正向扩散过程定义为移除边的过程,使用一个简单的伯努利分布来定义边移除概率:
这里作者将每条的移除当作一个独立事件考虑。可以直接求得 时刻的邻接矩阵分布为:
其中 。通过贝叶斯公式,可以计算正向扩散的后验概率为:
将某个时间步中,度发生变化的节点定义为“激活节点”,并将“激活节点”显式加入到扩散过程中,则正向过程定义为:
注意,已知 时 事实上是唯一确定的。反向扩散过程可以定义为:
即先预测“激活节点”,再根据激活节点预测前一个时刻的图。
通过这样设计扩散过程,可以大大减少扩散所需的时间,同时只需在“激活节点”内部判断是否需要重构边即可。这使得该方法可以泛化到相对大规模的图中。优化目标如下:
2.4.2 采样过程
EDGE 采样如上图所示,首先采样一个只有 个节点没有边的图,然后通过训练得到的神经网络,首先预测哪些节点的”激活节点“,然后再根据上一时刻的图和”激活节点“去补全节点之间的边。更进一步,可以事先指定每个节点的度大小,再根据节点度去指导图的生成过程,具体可参照原文,此处不过多赘述。
3. 总结
本文对图扩散模型中有代表性的四篇工作进行了简要的介绍。可以看到,图扩散模型的研究尚处于起步阶段,如何在图上定义一个好的扩散过程是当下图扩散模型的一个最主要的研究热点。事实上,图扩散模型的研究仍存在很多的困难与挑战,例如如何将扩散模型泛化到大图中仍是一个亟待解决的难题。与此同时,如何将图扩散模型真正应用到实际也是广大研究者需要思考的一个问题。
参考文献
Deep Unsupervised Learning using Nonequilibrium Thermodynamics
Denoising Diffusion Probabilistic Models
Generative Modeling by Estimating Gradients of the Data Distribution
Score-based Generative Modeling through Stochastic Differential Equations
Permutation Invariant Graph Generation via Score-Based Generative Modeling
NVDiff: Graph Generation through the Diffusion of Node Vectors
DIGRESS: DISCRETE DENOISING DIFFUSION FOR GRAPH GENERATION
Efficient and Degree-Guided Graph Generation via Discrete Diffusion Modeling
本期责任编辑:杨成
本期编辑:刘佳玮
北邮 GAMMA Lab 公众号
主编:石川
责任编辑:杨成、王啸
编辑:刘佳玮
往期精彩回顾
适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑
交流群
欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)