文章概述
- 关键词:自然语言翻译,反应预测,无模板的Seq2Seq模型
- 内容:文章将反应预测问题考虑为自然语言翻译的过程,训练了一个不需要模板的seq2seq模型,不需要辅助知识和明确的原子特征。
研究背景
- 因:目标分子的合成过程设计由于其经济效应而备受关注,早在1969年就有研究人员提出,分子的合成与逆合成过程可由机器实现。
- 发展:**1-**最早的工作是人工设计一系列反应规则,即反应模板,但是规则设计耗时耗力,对于复杂的有机化学问题依然需要专家的意见,最后由这些受过良好训练的化学家得出比较合理的结果。**2-**后来,人们试着直接从数据中提取反应模板,在这种情况下,候选产物由模板生成,最后根据他们的可能性排序。研究者们使用了很多硬编码的标准来执行这个排序,近期也有人用深度神经网络来执行排序。但是这种方法对于训练之外的数据不能得到比较准确的结果。这种方法使用化学反应能垒,使用第一性原理计算,可以得到比较精确的结果。而且计算化学资源消耗使得在学术界这种方法不能走的长远。
- 果:文章由此提出可以将反应预测问题看成一个翻译问题,将反应物,反应条件看作输入序列,将最终的产物看作输出序列。一个分子可以表示为线性标注的形式比如smiles,虽然这里存在一个专家对于化学语言的理解和普通人类对于化学语言的理解有差异,但是有研究证明有机分子对排序的贡献度与句子片段一致,从而证实这个设想是合理的。
- 贡献:1-提出一个序列到序列模型预测前向反应的产物;2-结合atomwise tokenization和one-hot reagent tokenization。
研究方法
数据集
来自Daniel M.Lowe的数据集USPTO,用SMILES字符串表示;删除一部分重复数据以及额外780条反应数据,因为smiles字符串不能被RDKit规范化。这里只采用了单产物的反应,以明确任务的目标。
- 数据集划分:相同反应物不同reagents和产物的反应被归类到一个集合当中。
- 数据预处理:1-使用原子映射方法区分反应中的reagents和反应物;2-删除氢原子以及来自反应字符串的原子映射,规范化分子;3-之后使用正则表达式tokenize反应物和产物:
由于reagent 原子并不会出现在产物中,这里使用reagent-wise 的tokenization方法做tokenize,并将其添加在第一个>之后,使用共现次数排序,其他不存在在常见的reagents集合中的reagents会从反应中删除。最终的输入序列为reactants > common reagents,输出序列为tokenzied products。
- 数据预处理:1-使用原子映射方法区分反应中的reagents和反应物;2-删除氢原子以及来自反应字符串的原子映射,规范化分子;3-之后使用正则表达式tokenize反应物和产物:
模型
- 概述:使用简单的seq2seq模型,采用两个不同的RNN,一个encoder用于编码反应物和reagents,一个decoder用于使用编码后的信息得到预测的可能性。
- 结构和超参数搜索:文章构建了一个框架用于寻找合适的超参数,使用梯度增强树模型在超参数空间中检索出一系列参数,再使用验证集评估当前的参数。
- 局限性:字符串不一定是正确的smiles字符串;训练的是多产物的反应,对比句子来说,原子出现在产物中的先后顺序并不重要;超参数的空间局限于1024个单元,更多的单元可能带来更好的性能。