nips 2019

通过上一篇AAAI已经基本知道了反合成是什么样的任务了,这篇直接上contributions:

  1. 为反合成任务提出一个新的图模型。利用到了神经网络技术,将概率模型和化学规则相结合。
  2. 提出一种分层采样方法。
  3. 实验结果好。

    background

    一个化学反应可以看作N个反应分子R_i生成一个生成分子O。本文研究单生成物反应,多生成物反应可以看作多个单生成物反应。将在反应中发生改变的原子(如键的增添和减少)称为反应中心。
    image.png
    反应中经历断链或增链的反应中心会被提取,作为模板的组成部分。图中忽略了副产物。给定一个反应,对应的逆合成模板T写作:
    image.png
    o^T是O中提取的反应中心,文中叫subgraph pattern,r^T_i是是第i个反应物r_i中的subgraph pattern。一些字母定义。完成的任务是one-step的逆合成分析。
    image.png

    Conditional Graph Logic Network

    模板的使用分为两步:
    image.png
    image.png
    即使模板存在也不一定会完成化学反应,所以作者提出概率模型。w1是给定O的得分函数,w2是给定T和O的得分函数
    image.png
    联合分布:image.png
    作者还关心了反应类型c,和上面的联合分布比起来就是多了一项是否属于c类的指示函数:
    image.png
    image.png

    Model Design

    作者先介绍了一些分解操作。本质上就是提升训练速度。将之前提到的得分函数w1分解为image.png
    p(T|O)也可以分解成:image.png
    image.png
    最终,上文的GM的设计转变为:
    image.png
    然后又针对分子图用起了喜闻乐见的GNN,原子是节点,化学键是边:
    image.png
    image.png
    最终的graph embedding就是点的embedding的平均。image.png
    得分函数的设计:image.pngimage.png,以及image.png
    接下来是MLE做推导。数据集为image.png,有D个reaction。
    image.png
    对应梯度:image.png
    采样的时候用了比较别致的方法,就不研究了。

整体方法就是这样。这篇文章做逆合成分析用的是概率模型(涉及我的知识盲区),想法也很直接,一路倒推,在给出了一堆模板的情况下根据得分函数算最可能走的路径(这个数据集真的很神奇,之前那篇文章还说他们有真实成本,到底是什么样的数据集,今天一定要看一眼)。再感慨一遍这个真的不用强化解吗,为什么没有人用强化搞这个。
我参观数据集回来了,原来这帮人给数据做了预处理,真有你的,raw data只包含reactants(不知道怎么分隔的,我是真的会无语我知道怎么分隔了用个“.”,不用显微镜真的看不到)和production,模板是写代码抽取出来的。
总体上感觉反合成这个领域有点搞头,读了两篇能完完全全两个方法就挺有意思,接下来找篇综述看看。