ACM SIGKDD | MoFlow:基于流的分子图生成模型
今天给大家介绍的是康奈尔大学医学院(Weill Cornell Medicine)健康科学系(Department of Population Health Sciences)的博士后研究助理臧承熙于2020年4月发表在ACM SIGKDD的一篇论文,这篇文章提出一种新的基于流的深度图生成模型MoFlow,用于分子图的生成,是同类的第一个不仅可以一次通过可逆映射有效地生成分子图,而且还具有化学有效性保证的流模型。
1
背景
药物发现是一个漫长、成本高昂以及失败率高的过程,而深度生成模型的出现以数据驱动的方式探索较大的化学空间很好地加快了药物发现的过程。这些模型通常是对分子图进行编码来学习一个连续的潜空间,由目标特性引导通过对学习的潜空间解码生成新分子,包括基于变分自编码器的,基于生成对抗网络的以及基于自回归的模型,但是使得生成的新分子具有化学有效性是十分困难的,因为在保证生成的原子和键是多类型的同时,还要满足化学键价的约束。近年来基于流的模型相继出现,例如NICE,RealNVP以及Glow模型,用于分子图生成的主要包括GraphAF,GraphNVP和GRF,GraphAF模型是基于自回归流的模型,在分子图生成中达到了最先进的性能。GraphAF通过添加每个新原子或键,然后进行有效性检查,以顺序方式生成分子。GraphNVP和GRF也用于生成分子图,但是无法保证化学有效性,因此在产生有效且新颖的分子方面表现不佳。不过值得注意的是,基于流的模型是唯一可以记住并精确重建所有输入数据的模型,同时具有生成更多新颖,独特和有效分子的潜力。
作者基于流模型又提出了一种新的称为MoFlow的分子图生成模型,其主要贡献在于该模型不仅通过可逆映射一次性生成分子图,而且具有化学有效性保证,并且提出了Glow模型的变体来生成键(边),以及通过新的图条件流生成给定键的原子,然后将它们组装成有效的分子图,并且MoFlow与目前最先进的基于VAE的模型,基于自回归的模型和三个基于流的模型相比,在分子图的生成,重构,优化等方面获得了最优性能。
2
模型
将分子图视为由原子作节点,键作边组成的无向图,其数学符号可记为,其中,集合有n个原子,k种原子类型,A(i,k)=1代表节点i是k型原子,集合代表键(边),键有c种类型,B(c,i,j)=1代表原子i和j之间以c类型的键连接。
该模型的目标函数如下:
上述式子是利用条件概率,将整个模型分成两个部分,一部分是学习在给定键下的原子(节点)的条件分布和另外一部分学习键(边)的分布。
我们知道在生成模型中一个重要的目标是得到数据的概率分布和学习数据内部的隐藏结构,而途径之一是学习数据表示,所以首先利用图条件流学习原子的表示。假设是给定键下的原子数据的表示,为映射,为了可以直接采用且不丢失信息,这要求是可逆的,一旦我们得到了的分布,便可以从中抽样,利用逆映射得到A|B,并且利用雅克比矩阵给出A|B的概率分布,下述公式为其对数形式:
和基于流的RealNVP、Glow模型一样,为了得到可逆映射,都引入了仿射耦合层,只不过由于MoFlow是在图上的模型,所以需要依靠图卷积操作来完成,这里的图卷积是利用关系图卷积网络(R-GCN)来完成的,而且仿照RealNVP引入mask操作,将输入分割成两个部分A1和A2。
将上述式子求逆,即可得到A1和A2。
在学习原子表示的时候,为了保证数据稳定性,最后还加入了Glow模型提出的ActNorm层,来取代BN层,方法为利用初始的batch的均值和方差去初始化两个参数,具体做法是:,类似于NICE模型中的尺度变换。
在学习键的数据表示上,采用了基于Glow的思想,和上述学习原子表示的步骤相似,并且为了数据稳定性,同样引入了Glow模型中的1*1卷积操作。
最后是进行化学有效性验证,主要是对原子和键组合后是否符合化学上键价的约束,采用的公式如下:
其中,c为键的类型(单键,双键,三键),与其他的模型不同,作者加入了形式电荷Ch的约束,这种效应可能为带电原子引入额外的键。例如,铵[NH4]+的N可能具有4个键,而不是3。类似地,S+和O+的可能具有3个键而不是2。
3
实验
作者从以下四点出发进行全方面的验证MoFlow的性能,主要包括1)分子图生成和重建;2)可视化连续潜空间;3)生成具有优化特性的新式分子图;4)化学相似性。同时作者与JT-VAE、GCPN、MolecularRNN、GraphNVP、GRF、GraphAF这6个模型在数据集QM9和ZINC250K进行了比较。
分子图生成和重建
作者想通过实验验证MoFlow是否可以记忆和重建所有训练分子数据集以及是否可以生成尽可能多的新颖,独特和有效的分子,实验证明在QM9和ZINC250k数据集上,MoFlow在所有六个指标上均优于最新模型。由于基于流的模型具有可逆性,MoFlow建立了从输入分子M到其对应的潜向量Z的一对一映射,从而实现了100%的重建率。
可视化连续潜空间
该实验验证了MoFlow是否可以将分子图嵌入到连续潜空间中,并具有合理的化学相似性,上图可发现潜空间非常平滑,并且两个潜在点之间的插值仅稍微改变了分子图,在MoFlow学习到的这样一个连续的潜空间中进行搜索是分子特性优化和约束优化的基础。
生成具有优化特性的新式分子图
此项实验意为验证MoFlow是否可以生成具有优化特性的新分子图,结果表明MoFlow生成了比所有基线都具有最佳QED值的新分子。
化学相似性
作者验证了MoFlow能否生成具有优化特性的新颖分子图的同时尽可能保持化学相似性,结果表明MoFlow发现了最相似的新分子,与最新的VAE模型JT-VAE相比, MoFlow具有更高的相似性评分和更好的性能。
4
总结
作者提出了一种用于分子图生成的新型深度图生成模型MoFlow。MoFlow是最早的基于流的模型之一,该模型不仅通过可逆映射一次性生成分子图,而且具有化学有效性保证。MoFlow包含用于键的Glow模型的变体,用于给定键的原子的新型图条件流,然后将它们和有效性校正相结合。MoFlow在分子生成,重建和优化方面达到了最先进的性能。对于将来的工作,作者尝试结合顺序生成模型和一次性生成模型的优点来生成化学上可行的分子图。
代码
https://github.com/calvin-zcx/moflow
参考资料
Zang, Chengxi and F. Wang. “MoFlow: An Invertible Flow Model for Generating Molecular Graphs.” Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (2020): n. pag.
ACM SIGKDD | MoFlow:基于流的分子图生成模型相关推荐
- GraphNVP | 用于分子图生成的可逆流模型
分子生成 具有理想药理特性新分子的发现是计算药物发现中的关键问题.传统上,这项任务是通过临床合成候选化合物并对其进行实验来完成的.但是,由于化学空间是巨大的,合成分子并对其进行广泛的实验是非常耗时的任 ...
- DGL | 基于深度图学习框架DGL的分子图生成
引言 Deep Graph Library (DGL) 是一个在图上做深度学习的框架.在0.3.1版本中,DGL支持了基于PyTorch的化学模型库. 如何生成分子图是我感兴趣的. 环境准备 PyTo ...
- 非自回归也能预训练:基于插入的硬约束生成模型预训练方法
论文标题: POINTER: Constrained Text Generation via Insertion-based Generative Pre-training 论文作者: Yizhe Z ...
- JCIM| 基于双向RNN的分子生成模型
今天给大家介绍的是被誉为"欧陆第一名校"苏黎世联邦理工学院(ETH Zurich)化学与应用生物科学系博士生Francesca Grisoni和制药行业顾问Gisbert Schn ...
- 如何利用gradio部署基于bert4keras的小说随机生成模型
from __future__ import print_functionimport os os.environ['TF_KERAS'] = '1' # 必须使用tf.keras import gl ...
- Survey | 基于生成模型的分子设计
今天给大家介绍MIT的Rafeal Gomez-Bombarelli教授发表在arXiv上的综述文章.文章对分子生成模型进行了分类,并介绍了各类模型的发展和性能.最后,作者总结了生成模型作为分子设计前 ...
- IJCAI 2018 基于主题信息的神经网络作文生成模型
本文介绍哈尔滨工业大学社会计算与信息检索研究中心(SCIR)录用于IJCAI 2018的论文<Topic-to-Essay Generation with Neural Networks> ...
- 基于DSP/BIoS设备驱动模型的视频驱动程序开发
作者:天津科技大学 电子信息与自动化学院 严新忠,刘 喆 通过给外部设备编写驱动程序是一种有效的控制外设的方法.随着DSP的应用越来越广泛,DSP实时系统的日趋复杂及新技术的出现,DSP处理器所连接的 ...
- NeuIPS | 蛋白设计新方法?基于图的蛋白生成模型
今天给大家介绍的是麻省理工大学计算机科学和人工智能实验室在NeuIPS 2019会议上发表的一篇文章.在文中,作者提出了一种基于图结构的蛋白质序列生成模型,通过聚焦三维空间上相邻的蛋白质区域,在基于神 ...
最新文章
- Vue 路由 过渡动效 数据获取
- layer.tips定义弹出的宽度
- 9patch的用法,简单两句就会用了。
- jquery 使用animate来改变高度自动添加样式overflow:hidden的问题
- 30天提升技术人的写作力-第一天
- linux下kill多个进程
- 龙芯上市是自主路线被广泛认可的风向标
- 2019山科计算机专业分数线,2019山东科技大学研究生分数线汇总(含2016-2019历年复试)...
- 征文通知:第三届(2016)科学数据大会——科学数据与创新发展
- HTLM5 小知识点的汇集
- Golang sync.Map 简介与用法
- LC 231 power of 2
- 巧用 TypeScript(四)
- Java学习不走弯路教程(16 用Ajava异步请求)
- java pdf转png格式_如何在Java中将PDF转换为PNG或JPG
- nebula模拟器_nebula模拟器
- 运动耳机什么款式好、最适合运动的耳机类型
- 李飞飞高徒盘点年度十大AI亮点:核聚变、ChatGPT、AlphaFold上榜
- python小波包分解_小波包获得某个节点信号的几个细节问题
- 基于态势感知的智能机器透明度与人-智能机团队效能研究