作者:Sebastian Dick
翻译:王可汗
校对:车前子
本文约3800字,建议阅读13分钟。
本文为大家展示了在机器学习模型中编码现实生活中的对称性可以将其准确性提高几个数量级。
对称无处不在,围绕在我们生活左右。
从雪花美丽的规则形状和罗马花椰菜的自相似(分形)结构,到蜂巢的六角形图案。大自然似乎在寻找对称。事实上,我们存在的法则实在是太多了:物理学家谈到时空中的平移对称(“穿过”)。他们的意思是,像万有引力这样的力在数百万年前和现在的作用方式是一样的,在悉尼和纽约之间没有差别。旋转对称是自然最喜欢的另一种形式,简单地说就是当你从不同角度看一个物体时,它的属性不会改变。对称的例子不胜枚举,其中一些比其他的更容易理解(比如洛伦兹对称,它说明在惯性系中光速是相同的,这可以被不太懂物理的人所理解)。尽管其中一些对称性对人类来说是显而易见的,但令人惊讶的是,大多数机器学习模型都对它们的存在视而不见。让我以我自己的工作为例:
大致来说,我的研究目标是利用机器学习仅从结构信息来预测分子的性质。这意味着,我得到一列原子和它们的坐标。对于一个水分子,它看起来是这样的:
原子的坐标可以方便地归纳成一个矩阵,矩阵的行对应于原子,列分别对应于x、y和z的位置。我想预测需要多少能量需要把分子分解成它的组成原子(原子化能量)。我可以通过训练神经网络F来做到这一点,它使用原始坐标作为特征并输出能量:
假设我成功地在一个大且不同的分子数据集上训练了这个神经网络,我想找到以下水分子的原子化能量:
你可能已经注意到了,它只是原始分子的一个旋转版本。因此,它应该具有相同的原子化能。我们能保证神经网络会遵守这个旋转对称吗?不幸的是,没有。
更糟糕的是,如果我们简单地交换两个氢原子。网络可能会再次给出一个完全不同的答案。相同原子的顺序没有物理意义,只是神经网络训练出来的人为产物。理想情况下,我们希望神经网络的输出尊重这种排列对称(排列:“交换事物的顺序”),但如何做到呢?
在化学和物理应用机器学习的早期,研究者很快意识到模型需要观察这些对称性才能足够精确。因此,人们投入了大量的精力来研究如何在机器学习算法体现出对称性。现在,这通常是通过巧妙的特征工程和神经网络设计相结合来实现的。关于这些方法的全面评述可以在这里(https://aip.scitation.org/doi/full/10.1063/1.4966192)找到[1]。所有这些方法都有一个共同点,就是它们以某种形式向学习算法引入了归纳偏置。
学习算法的归纳偏置是一组假设,学习者用来预测未遇到[2]的给定输入的输出。
在旋转对称的情况下,这种归纳偏置可以表述为假设:“任何在旋转下不变的信息可以而且应该被忽略。” 不管你是否意识到这一点,如果你以前使