人工智能能计算出化学反应的语法

一本书和电脑的图片

来源:©Alice Mollon/Ikon Images

给定一组符号,机器学习算法可以学习化学语法

像许多clichés一样,化学与语言的比较经常被使用,因为它非常有效。我们可以将有限的一组“字母”(原子)以无数种排列组合在一起,形成“单词”(分子),每个单词都有自己的含义。我们可以用语言讲故事。

如果不那么严格,我们可以进一步进行这个类比。化学反应中发生的字母重排可以看作是一种翻译,比如从英语到德语。这些转换是有规则的,受语法限制——例如,英语中跟在主语后面的动词在德语中被分流到句末。学生通常通过正式的指导来学习这些规则,但另一种方法是完全沉浸式翻译,学生必须凭直觉弄清楚如何翻译。小孩子们做这件事的熟练程度令人吃惊;对于我们这些更成熟年份的人来说,它可能会令人困惑。

位于瑞士Rüschlikon的IBM实验室和美国剑桥的一组研究人员与瑞士伯尔尼大学一起开发了一种机器学习算法能够进行化学反应的壮举。1他们的系统是一个叫做RXNMapper的神经网络。在接触了数百万个已知的有机反应后,它能够计算出“语法”,使得方程左边的原子可以映射到右边的原子。这些规则使它能够在一组49000个进一步的反应中描述化学键是如何形成和断裂的,准确率超过99%。这并不是对原子映射的第一次尝试,但之前的版本都是通过在方程中明确标记原子来指导的,并且使用了已知的经验法则,而不是从头开始。研究人员表示,RXNMapper的性能优于市售的原子映射工具。

为算法微笑

算法首先必须以类似文本的方式表示分子。为此,它使用了一种名为微笑,其中,例如饱和碳原子和不饱和碳原子有不同的符号,环系给出线性符号:乙酸变成CC(=O)O,苯变成c1ccccc1。RXNMapper包含溶剂、催化剂等,与其他试剂没有区别,并遵循每个原子的命运-比如,在这个环体系中出现在碳原子C5上的O原子的来源是什么?

最终目标不是预测一组给定试剂的结果,而是为系统提供整个反应过程——反应物和生成物——并看看它是否能学习控制这种转化的规则。翻译的目标不是翻译本身,而是理解它是如何工作的:一个给定的单词在它出现的上下文中的“意思”是什么。这个特殊的水分子,是溶剂还是亲核试剂?

至关重要的是,研究人员并没有把这个过程作为一个“黑盒”过程——他们打开盒子来推断里面发生了什么。这就像解开谷歌翻译的深度学习过程,弄清楚它是如何工作的——特别是,它是否应用了人类翻译使用的相同类型的原则。通过这种方式,可能是一个方便但相当不透明的自动化工具变成了一个真正的知识来源,可以从中提取一般规则:化学反应的基本语法。

Schwaller说,原则上没有理由说该方案不能适用于无机反应,只要可以设计出一种合适的分子系统表示——例如,也许可以描述复杂的扩展结构,如金属-有机框架。

什么和为什么

IBM团队已经使用了类似的模型通过一步一步的反合成来计划合成,实际上是将产物“翻译”回一组简单的试剂。2这让我们看到了这种自动化的潜在价值,事实上,RXN化学系统已经制造出来免费提供向全球化学家提供合成计划。

RXN系统更普遍地体现了下一代人工智能的目标:提供透明度和可解释性。就像使用人工智能系统进行诊断的医生不仅需要告诉病人“是什么”,还需要告诉病人“为什么”一样,化学家在没有定性的基本原理的情况下,不太可能舒服地采用人工智能推荐的反应方案。

但这可能具有挑战性。由于RXNMapper可以获得更细粒度的反应库视图,因此它可以抽象出比人类能够吸收的更多的“反应规则”。IBM团队最近发现大约37%的大型有机合成数据库可以用1000个规则来描述;要包含超过五分之四的规则,需要10万条规则。3.有机教材从来没有那么复杂!因此,就像在其他地方一样,人类很可能需要与人工智能建立联盟,以充分利用双方所能提供的东西。