Denoising Diffusion Generative Models in Graph ML | by Michael Galkin | Towards Data Science (medium.com)
一、说明
AI DDPM 代表【"Adaptive Importance Density Power Mixture Model" 】即“自适应重要性密度幂混合模型”,是一种用于密度估计的机器学习算法。它是深度密度分解 (DDD深度密度分解,也称为 D3,是一种机器学习技术,用于将聚合能源消耗数据分解为设备级消耗数据。) 算法的变体,使用生成模型和判别模型的组合进行训练。
AI DDPM 算法旨在学习给定数据集的概率分布,可用于生成真实的合成数据、异常值检测和异常检测等各种任务。它使用具有不同幂的自适应高斯分布的混合来对输入数据的基础分布进行建模。
总体而言,AI DDPM是一种功能强大的算法,可在金融、医疗保健、计算机视觉等领域广泛应用。
二、背景知识
扩散可能是 2022 年 GraphML 的最大趋势——尤其是当应用于药物发现、分子和构象生成以及一般的量子化学时。通常,它们与等变GNN的最新进展配对。
三、图上的扩散
让我们以Hoogeboom等人的等变扩散论文为例,使用尽可能少的方程来概括扩散模型的😅基础知识
向前和向后扩散过程。正向过程 q(z|x,h) 逐渐将噪声添加到图中,直到它变成高斯噪声的阶段。逆向过程 p(x,h|z) 从高斯噪声开始,逐渐对图进行去噪,直到它成为有效图的阶段。资料来源:Hoogeboom,Satorras,Vignac和Welling。
- 输入:具有 N 个节点和 E 边的图形 (N,E)
- 节点特征通常由两部分组成:z=[x,h],其中 x ∈ R³ 是 3D 坐标,h ∈ R^d 是原子类型等分类特征
- (可选)边缘特征为粘结类型
- 输出:包含节点、边和相应特征的图形 (N,E)
- 正向扩散过程 q(z_t | x,h):在每个时间步 t 处,向特征注入噪声,使得在最后步骤 T 中它们变成白噪声
- 反向扩散过程 p(z_{t-1} | z_t):在每个时间步长 t-1 中,要求模型预测噪声并从输入中“减去”它,以便在最后一步 t=0 我们有一个新的有效生成图
- 去噪神经网络学习预测注入的噪声
- 已知去噪扩散等同于基于分数的匹配 [Song and Ermon (2019) 和 Song 等人 (2021)],其中神经网络学习预测分数∇_x对数p_t(x)扩散数据。基于分数的视角描述了使用随机微分方程 (SDE) 和维纳过程的正向/反向过程
埃米尔·胡格布姆、维克多·加西亚·萨托拉斯、克莱门特·维尼亚克、马克斯·威灵。用于 3D 分子生成的等变扩散。ICML 2022。GitHub
这项工作引入了用于分子生成的等变扩散模型(EDM),该模型必须在原子坐标x上保持E(3)等方差(如旋转,平移,反射),并且节点特征h(例如原子类型)保持不变。重要的是,原子具有不同的特征模态:原子电荷是序数整数,原子类型是一热分类特征,原子坐标是连续特征,因此作者设计了特定于特征的噪声过程和损失函数,并缩放输入特征以实现训练稳定性。
EDM 采用等变 E(n) GNN 作为神经网络,根据输入特征和时间步长预测噪声。在推理时,我们首先对所需数量的原子 M 进行采样,然后我们可以根据所需的属性 c 来调节 EDM,并要求 EDM 生成分子(由特征 x 和 h 定义)为 x、h ~ p(x,h | c, M)。
在实验上,EDM在实现负对数似然、分子稳定性和唯一性方面大大优于基于流程和VAE的归一化方法。消融表明,等变GNN编码器至关重要,因为用标准MPNN替换它会导致性能显著下降。
四、图生成的扩散
克莱门特·维尼亚克、伊戈尔·克拉夫丘克、安托万·西劳丁、王博汉、沃尔坎·塞夫弗、帕斯卡·弗洛萨德。DiGress:用于图形生成的离散去噪扩散。GitHub
Clemént Vignac,Igor Krawczuk和EPFL团队的DiGress是无条件图生成模型(尽管有可能合并基于分数的函数来调节图形级特征,如能量MAE)。DiGress 是一种离散扩散模型,也就是说,它对离散节点类型(如原子类型 C、N、O)和边缘类型(如单/双/三键)进行操作,其中向图添加噪声对应于与过渡矩阵(从一种类型到另一种类型)的乘法作为边际概率从训练集中挖掘出来。去噪神经网络是一个改进的图形转换器。DiGress 适用于许多图形族 - 平面、SBM 和分子,代码可用,并查看 LoGaG 阅读组演示中的视频!
离去扩散过程。资料来源:维尼亚克、克拉夫丘克等。
五、地理差异和扭转扩散:分子构象生成
具有具有其原子的3D坐标的分子,构象生成是生成另一组有效的3D坐标的任务,分子可以与之存在。最近,我们已经看到了GeoDiff和扭转扩散,它们将扩散框架应用于这项任务。
徐敏凯, 于大洋, 宋洋, 施哲, 斯特凡诺·埃尔蒙, 唐健.GeoDiff:用于分子构象生成的几何扩散模型。ICLR 2022。GitHub
GeoDiff是SE(3)等变扩散模型,用于生成给定分子的构象。扩散应用于 3D 坐标,该坐标逐渐转换为高斯噪声(正向过程)。反向过程将随机样本降噪为一组有效的原子坐标。GeoDiff在欧几里得空间中定义了一个等变扩散框架(假设可以添加哪种噪声),并应用等变GNN作为去噪模型。去噪GNN,一个图场网络,是相当标准的EGNN的扩展。 GeoDiff首次展示了扩散模型与归一化流动和基于VAE的模型💪相比要好得多
地理差异。资料来源:徐等
靖博文、加布里埃尔·科索、杰弗里·张、里贾纳·巴齐莱、汤米·贾科拉。用于分子构象生成的扭转扩散。神经IPS 2022。GitHub
虽然GeoDiff扩散了欧几里得空间中原子的3D坐标,但扭转扩散提出了一种巧妙的方式来扰动分子可自由旋转键中的扭转角。由于这种可旋转键的数量总是比原子的数量少得多(在GEOM-DRUGS中,平均每个分子有44个原子与8个扭转角),因此生成可能会快得多。棘手的部分是扭转角不形成欧几里得空间,而是形成超环(甜甜圈🍩),因此在坐标中添加一些高斯噪声是行不通的——相反,作者设计了一个新颖的摄动核作为包裹的正态分布(来自真实空间,但由 2pi 调制)。扭转扩散将基于分数的视角应用于训练和生成,其中分数模型必须是 SE(3) 不变和符号等变的。评分模型是张量场网络的变体。
从实验上讲,扭转扩散确实工作得更快——与GeoDiff的5步相比,它只需要20-5000步,目前是同象一代🚀的SOTA。
扭转扩散。资料来源:景科索等
六、DiffDock:分子对接的扩散
加布里埃尔·科索、汉内斯·斯塔克、靖博文、里贾纳·巴齐莱、托米·雅科拉。DiffDock:分子对接的扩散步骤、扭曲和转折。GitHub
DiffDock是基于分数的分子对接生成模型,例如,给定配体和蛋白质,预测配体如何与靶蛋白结合。DiffDock在产物空间中的平移T(3),旋转SO(3)和扭转角SO(2)^m上运行扩散过程:(1)配体的位置(通常称为结合口袋),口袋事先是未知的,因此它是盲对接的,(2)定义配体的旋转方向,以及(3)定义构象的扭转角(参见上面的扭转扩散以供参考)。
DiffDock 训练 2 个模型:用于预测实际坐标的评分模型和用于估计生成预测的可能性的置信度模型。这两个模型都是点云上的SE(3)等变网络,但更大的得分模型(就参数计数而言)适用于α-碳(从现在著名的ESM2蛋白LM初始化)的蛋白质残基,而置信模型使用细粒度原子表示。初始配体结构由RDKit生成。DiffDock 极大地提高了预测质量,您甚至可以在 HuggingFace 空间的在线演示中上传自己的蛋白质 (PDB) 和配体 (SMILES) 进行测试!
DiffDock直觉。资料来源:Corso, Stärk, Jing, et al.
七、DiffSBDD:用于生成新型配体的扩散
阿恩·施诺因、杜元琪、查尔斯·哈里斯、阿里安·贾马斯布、伊利亚·伊加绍夫、杜伟涛、汤姆·布伦德尔、彼得罗·廖、卡拉·戈麦斯、马克斯·韦林、迈克尔·布朗斯坦、布鲁诺·科雷亚。基于结构的药物设计与等变扩散模型。GitHub
DiffSBDD是用于产生以蛋白质口袋为条件的新型配体的扩散模型。DiffSBDD可以通过2种方法实现:(1)当口袋固定时产生口袋条件配体;(2)近似口袋配体对联合分布的修复样生成。在这两种方法中,DiffSBDD都依赖于调谐等变量扩散模型(EDM,ICML 2022)和等变EGNN作为去噪模型。实际上,配体和蛋白质表示为具有分类特征和3D坐标的点云(蛋白质可以是α-碳残基或全原子,残基的单热编码 - ESM2将来可以在这里使用),因此在3D坐标上进行扩散以确保等方差。
DiffSBDD。资料来源:施诺因、杜等。
八、DiffLinker:用于生成分子接头的扩散
伊利亚·伊加索夫、汉内斯·斯塔克、克莱门特·维尼亚克、维克多·加西亚·萨托拉斯、帕斯卡尔·弗洛萨德、马克斯·韦林、迈克尔·布朗斯坦、布鲁诺·科雷亚。分子接头设计的等变三维条件扩散模型。GitHub
DiffLinker是用于生成以3D片段为条件的分子接头的扩散模型。虽然以前的模型是自回归的(因此不是排列等变的),并且只能链接 2 个片段,但 DiffLinker 生成整个结构并且可以链接 2+ 个片段。在DiffLinker中,每个点云都以上下文(所有其他已知的片段和/或蛋白质口袋)为条件,上下文通常是固定的。扩散框架类似于 EDM,但现在以 3D 数据而不是标量为条件。去噪模型是相同的等变EGNN。有趣的是,DiffLinker有一个额外的模块来预测链接器的大小(分子数量),因此您不必事先指定它。
DiffLinker。资料来源:伊加绍夫等。
九、了解更多信息
- SMCDiff,用于生成以所需基序为条件的蛋白质支架(也带有EGNN)。
- 一般来说,在图和分子生成中,我们希望支持一些离散性,因此非常欢迎对离散扩散的任何改进,例如,Richemond,Dieleman和Doucet提出了一种新的单纯形扩散,用于Cox-Ingersoll-Ross SDE(罕见发现!
- 在最近的DiffusER中还研究了离散扩散的文本生成。
- 拥抱脸维护🧨扩散器库 开始关于扩散模型的公开课程 — 查看它们以获取实用的实现技巧
- 查看 CVPR 2022 关于扩散模型的教程录音 卡斯滕·克雷斯、高锐琪和阿拉什·瓦达特