今天给大家介绍MIT的Rafeal Gomez-Bombarelli教授发表在arXiv上的综述文章。文章对分子生成模型进行了分类,并介绍了各类模型的发展和性能。最后,作者总结了生成模型作为分子设计前沿工具的前景和挑战。

1

背景

材料创新是许多技术进步的关键驱动力。从清洁能源、航天工业到药物发现,化学和材料科学的研究不断向前推进,以开发新用途、低成本和高性能的分子。

材料发现的传统方法是从一组具有特定性质的分子开始,深入研究其结构与性质之间的关系并以此为依据对化合物的结构进行改进。这种基于“试错”的创新方法往往成本高昂且少有成效,一种新材料的研发可能需要数十亿美元的投资和长达20年的时间。

分子的反向设计方法与传统方法不同的是,其不再从结构推导性质,而是预先选择属性参数,通过结构和属性之间的反向映射来推断出满足这些属性的未知分子。早期的分子反向设计通常是分子性质相对于给定参数的极值优化问题,研究人员将蒙特卡洛采样与遗传算法等优化算法结合,避免随机搜索或对化学空间进行枚举。即便如此,这些采样-优化相结合的方法需要在每一步中对分子的属性进行计算和评估,依然有“试错”的味道,而不是一个可逆的结构-属性映射。

近几年,基于数据驱动的人工智能方法,尤其是生成模型,逐渐被用于解决各个领域的逆向设计,并在分子反向设计和药物发现中展现出了光明的前景。

2

生成模型

简而言之,生成模型的作用是捕获数据分布的潜在规则。取给定空间中的部分数据点集合{Xi}作为训练集,训练生成模型匹配真实数据分布,使生成的数据Y∼类似于实际数据X∼。

图1 三种流行的生成模型的原理图 (A) 变分自编码器 (B) 生成对抗网络 (C) 自回归模型

在生成模型中,变分自动编码器(VAE)是一种具有鲁棒性的体系结构,其通过将数据X映射到隐变量Z的隐式空间上来耦合推理和生成两个过程。为此,模型需在受隐式空间约束的情况下学习恒等映射,如图1(A)。数据首先由编码器编码为隐变量z的概率分布,并使其逼近预先设定的先验分布。随后,从隐式空间中采样z,利用解码器将其重构。VAE的目标函数为

利用梯度上升算法,编码器将由KL散度正则化使隐变量的后验分布逼近先验分布,解码器由重构误差惩罚。

第二种生成模型是生成对抗网络(GAN),该模型是通过两个神经网络相互竞争,直到二者达到纳什均衡来实现的。其中,一个网络生成候选数据(生成网络),另一个评估这些数据(判别网络)。生成对抗网络GAN通过对先验概率分布Pz进行一系列的非线性变换,以逼近真实数据分布Px。然而,生成网络G只接收先验分布作为输入而不接触任何真实数据,它只能通过判别网络D进行训练,如图1(B)。判别网络以完美区分真实数据X∼Px和被生成的数据G(z) ∼PG,达到最大化分类准确度为目标进行训练。生成网络试图生成看起来像真实数据X的数据G(z)来欺骗判别网络,从而最大程度地降低判别网络的分类准确度。GAN目标函数被写为

尽管GAN有着相当不错的性能,但其训练过程非常不稳定。min-max问题要求两个网络平衡训练,以确保模型收敛。此外,GAN容易进入mode collapse,即生成的样本不具有多样性。

第三种生成模型是自回归模型,例如PixelRNN和PixelCNN,已经被用于生成图片,视频和文本。与VAE和GAN不同的是,这类模型通过易解因式分解Px来近似真实数据分布。例如,在一张nxn的图片中,生成模型P(x)可写为

其中每个xi都是模型生成的一个像素,如图1(C)。这类显式分布模型生成的样本具有很好的负对数似然得分和多样性。然而,由于依赖于顺序生成,这类模型生成样本速度较慢。

3

分子生成模型

在这一章中,作者主要关注两种常用的分子表示方法,SMILES字符串和分子图,如图2,以及这些方法对应的生成模型。

图2 两种常用的表示分子的方法:(a)SMILES字符串与其对应的one-hot编码 (b)由Lewis结构得到的分子图。

3.1 SMILES

通过graph to text的映射算法得到的SMILES(简化分子线性输入规范)字符串已被广泛用于分子的表示。同一个分子可以由SMILES微笑字符串表示,因此通常选择canonical表示(一种规范表示),而non-canonical字符串可以用于数据增强。由于SMILES依赖于基于序列的表示,自然语言处理算法可以自然地被移植到分子生成领域。最近一些研究提出利用LSTM、GRU或stack-augmented memory等RNN自回归生成模型,基于之前生成的字符逐个生成下一个字符,最后生成任意长度的字符串。

RNN架构在分子设计最简单的应用形式为利用分子数据库中的有效SMILES对RNN进行训练并生成大量有效分子,随后根据分子的物理化学性质进行筛选。为了引导模型生成特定化学空间中的分子,Segler等人采用迁移学习策略,首先在整个分子数据集上训练RNN,然后对模型进行微调,以生成具有特定物理化学性质的分子。在药物发现中,对化学空间的搜索通常从具有某些预期功能的分子结构开始,因此迁移学习的方法较为常用。

强化学习是用于解决动态决策问题的一类人工智能算法。由于RNN架构在生成分子时根据已生成字符串逐个生成下一个字符,该模式类似强化学习的决策过程:已经生成的字符串对应环境,生成下一个字符对应动作。Jaques等人将RNN架构与强化学习结合,在序列生成中惩罚大环,短序列和长碳链,促使模型生成有效分子。类似地,Popova等人使用stack-augmented RNN结合强化学习设计药物分子,通过设计合理的奖励函数,可生成易合成、易溶解、可用药的分子。

VAE可将分子映射为一个连续、可微的隐空间,并包含了关于分子的重要信息。Gomez-Bombarelli等人利用RNN构建VAE的编码器和解码器,在QM9和ZINC数据集进行性质预测和重构任务的训练。隐空间不仅用于分子的采样生成,还允许使用一个训练在隐空间上的预测器进行插值、重构和优化,如图3。Kang等人利用部分标注的数据集半监督训练VAE,以减少性质预测的误差,并根据特定条件生成分子。

图3 用于分子设计的变分自编码器。(a)中的架构允许隐空间中进行属性优化,如(b)中所示。

在分子生成领域,GAN通常与强化学习紧密结合。Guimaraes等人采用了WGAN和随机策略,在保持生成分子的类药性的前提下提高了生成分子的多样性,优化了分子的物理化学性质。MendezLucio等人使用GAN根据基因表达特征进行条件生成,生成针对特定靶标的活性化合物。然而,在生成分子的同时避免不稳定的训练和mode collapse仍然是GAN应用与分子设计的一大障碍。

3.2 分子图

表示分子更直观的方法是根据分子的路易斯结构将其转化成一个分子图。给定一个图G = (V,E),将原子表示为节点vi∈V,化学键表示为边(vi, vj)∈E,并根据原子类型和化学键类型为节点和边赋值对应的标签。大量的研究如Graph RNN,GCN,GNN等方法探索了分子图在分子性质预测任务中的杰出性能,这些研究为基于图的分子生成奠定了基础。

与生成SMILES字符串相似,生成分子图的一种方法是顺序地向图中添加节点和边。研究者使用RNN顺序生成任意大小的分子,如图4(a),特别的,Li等人使用解码器策略来改善模型的结果。基于图的条件生成模型可以生成具有类药性,可合成性,甚至具有特定骨架的分子。然而,这种逐个节点生成的方法依赖于分子图中节点的排列顺序,因此受到节点随机排列的影响。

图4 基于图的分子生成模型 (a)一种基于RNN的分子图生成决策过程 (b)JT-VAE

在VAE领域,研究者已经提出了多种直接从隐变量生成分子图的方法。然而,VAE在进行重构时,需要昂贵的算力才能解决图的同构问题,并且在不施加约束的情况下,图重构的有效性和准确性极低。当前,将分子图转化为有意义的隐变量,同时避免顺序生成的最成功的方法之一是联结树变分自编码器(JT-VAE)。该方法首先将分子图分解为分子的子结构,其中包括环、官能团和各类原子,如图4(b)。然后,对模型进行训练,将分解得到的图和树结构编码到两个隐空间中,再通过这两个隐变量重构回原来的分子。作者还利用图到图的转换和自回归方法改进了JT-VAE,使其能够进行分子性质优化。

有研究者将VAE与基于自回归的图生成方法结合,用于生成和优化分子。Assouel等人提出了一种基于图表示的解码策略来输出生成任意大小的分子,即使对于含有约25个重原子的分子,也能达到较高的重构精度。尽管仍然存在节点排列的限制,该模型允许直接优化分子性质。

基于图的自回归模型也可以和强化学习结合,Zhou等人建立了一个马尔科夫决策过程,通过多目标强化学习生成具有目标性质的分子。该方法顺序添加原子和化学键,由于强化学习施加的约束,该模型可生成分子有高达100%的有效性。

基于图的生成对抗模型还处于初级阶段,Kipf等人提出了了MolGAN,其结合强化学习训练GAN生成分子图,但是该模型容易进入mode collapse。Wachinger等人在MolGAN的基础上增加了一种对抗训练,以避免计算重构损失。

此外,基于图的GAN的输出结构可以通过Gumbel-softmax可微离散化,但对抗训练与对分子约束平衡需要更多的研究。

4

分子生成模型的挑战与展望

图5 分子生成模型的概要和时间线。较新的模型位于图的底部。

在分子设计领域,生成模型还处于起步阶段(见图5的时间线总结),虽然已经有诸多研究成果,但在实现“闭环”生成之前,分子生成模型仍面临着以下挑战:(1)如何提高模型的泛化能力,(2)如何提高对真实数据进行推断的能力,(3)如何提高生成新分子的能力。虽然SMILES能够有效表示分子,分子图也充分包含分子的结构信息和化学特征,但是,其他信息丰富的分子表示方法,例如用三维原子坐标表示分子,仍需被继续关注并应用于生成模型。此外,分子生成模型的性能难以评估。如何建立基准以便于量化比较模型性能,而非通过预测分子溶解度或药物相似性等方法进行比较仍充满挑战。

总之,生成模型有望彻底改变分子设计领域。其不仅允许优化分子或直接从数据学习特征,还绕过了人工监督分子设计的必要性。直面这些模型存在的挑战,可以极大缩短新材料的发现周期,甚至揭开自然真理的面纱。

参考资料

Daniel Schwalbe-Koda, Rafael Gómez-Bombarelli. Generative Models for Automatic Chemical Design. arXiv:1907.01632v1 [cs.LG] 2 Jul 2019

Survey | 基于生成模型的分子设计相关推荐

  1. CVPR论文 | 所见所想所找:基于生成模型的跨模态检索

    [小叽导读]:视觉-文本跨模态检索已经成为计算机视觉和自然语言处理领域结合的一个热点.对于跨模态检索而言,如何学到合适的特征表达非常关键.本文提出了一种基于生成模型的跨模态检索方法,该方法可以学习跨模 ...

  2. 开放集识别(基于生成模型)

    我们列举了一些重要的基于生成方式的开放集识别方法,仅供参考 1.OpenGAN: Open-Set Recognition via Open Data Generation(OpenGAN: Open ...

  3. 直播预告 | AAAI 2022论文解读:基于生成模型的语音/歌声合成与歌声美化

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  4. 基于图模型的HMI 设计

     架构是骨骼,功能是肌肉,HMI 是皮肤.   人机交互接口(HMI)是自动控制与物联网不可或缺的重要部分.在一个基于模型的物联网或者自动控制平台上如何构建HMI是一个富有挑战的课题.本文讨论如何使用 ...

  5. 直播实录 | 基于生成模型的事件流研究 + NIPS 2017 论文解读

    本文为 12 月 20 日,约翰霍普金斯大学 CLSP 实验室博士生--梅洪源博士在第 20 期 PhD Talk 中的直播分享实录. 本期 PhD Talk,来自约翰霍普金斯大学 CLSP 实验室的 ...

  6. 基于状态空间模型的控制器设计

    1.状态反馈 1.1状态反馈原理 ​ 若一个控制系统的状态方程模型可以写成如下形式: X˙=AX+BuY=CX+Du\dot X = AX+Bu\\ Y=CX+Du X˙=AX+BuY=CX+Du ​ ...

  7. 基于金字塔模型的自动化测试设计

    背景 言简意赅,作者为啥要写今天这篇博文呢!其因有三啊! 2021年部门的OKR中明确纳入了自动化测试为其中的一个目标. 作者本人也把多年的工作对自动化测试的理解做个小总结,希望可以给一些刚参加工作或 ...

  8. 《BI项目笔记》基于雪花模型的维度设计

    GBGradeCode 外键关系: 1 烟叶等级 T_GBGradeCode.I_DistinctionID=T_Distinction.I_DistinctionID 烟叶等级分为:上等烟.中等烟. ...

  9. NeuIPS | 蛋白设计新方法?基于图的蛋白生成模型

    今天给大家介绍的是麻省理工大学计算机科学和人工智能实验室在NeuIPS 2019会议上发表的一篇文章.在文中,作者提出了一种基于图结构的蛋白质序列生成模型,通过聚焦三维空间上相邻的蛋白质区域,在基于神 ...

最新文章

  1. 数据结构 —— 为结构体内变量赋值
  2. 原 荐 简单说说Kafka中的时间轮算法
  3. JAVA关于父亲节的代码_关于父亲节的经典语录
  4. 【Python】编程笔记6
  5. version robot
  6. phpMyAdmin开发人员访谈——4个人支持整个项目
  7. python中hist函数参数_用hist参数解释Python,python,解读
  8. bigquery_到Google bigquery的sql查询模板,它将您的报告提升到另一个层次
  9. Makefile中三个自动变量$^,$@,$
  10. [转]Eclipse+pydev 常用快捷键
  11. 安卓学习笔记42:基于HTTP网络编程
  12. mysql 排名_MySQL和Hive中的排名问题
  13. sscanf一小用法
  14. Python版C语言词法分析器
  15. 6.wireshark使用全解
  16. 转:开源数据库中间件MyCat实现数据库读写分离、分表分库指南
  17. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_3_综合案例_文件上传案例的服务器端...
  18. 181013词霸扇贝有道每日一句
  19. js工具库Ramda和lodash和underscore用法对比
  20. linux 2t gpt 分区,linux大于2T的磁盘使用GPT分区方式

热门文章

  1. 山水人家(附简要教程)
  2. 极客新闻——13、美团到餐研发团队资源成本优化实践
  3. 一文读懂Data Lake的概念、特征、架构与案例
  4. 系统由单体架构到微服务架构到底是如何演进的?
  5. 通过OGG实现多源端数据库的数据集中分发
  6. 简历这样写,技术人都不直男了!
  7. Web开发的机器学习框架
  8. 销售部门如何运用OKR管理法?看三大层面最新模板
  9. “轻雀会议”跨越社交的“云沟通”
  10. JVM---虚拟机栈(操作数栈)