第一性原理计算解决50年悬而未决难题:半导体中铜为何扩散更快?
2024年诺贝尔物理奖授予John J. Hopfield和 Geoffrey E. Hinton,以表彰他们“为利用人工神经网络进行机器学习做出的基础性发现和发明”。这一荣誉突显了机器学习在物理学中的重要地位。
与此同时,机器学习在材料科学、分子模拟和药物发现等领域也取得了越来越多的科研成果。为了更好地探索这一交叉领域的潜力,“聚焦机器学习”系列整理了多种机器学习方法的理论背景以及在化学领域的应用案例。我们希望通过分享这些前沿进展,能够为各位研究者提供宝贵的参考信息,了解未来的发展趋势和挑战。欢迎大家持续关注催更!
本期我们将重点关注VASP中实时机器学习力场的理论背景,回答大家感兴趣的问题:
✔ 什么是机器学习?
✔ 如何生成一个实时机器学习力场?
✔ 在VASP中,如何训练和使用机器学习力场?
机器学习简介
机器学习(Machine Learning,简称ML)是人工智能的一个分支,使计算机通过一些算法自动从数据中学习和总结规律,利用规律对未知数据进行预测。
电脑科学家Tom M. Mitchell在其著作的Machine Learning一书中定义的机器学习为:一个计算机程序在任务中的表现随着经验的累积而提高。具体来说,我们可以理解为计算机带着某一目的去学习了一些数据,从中总结出经验,并会有某项指标去评估它的表现,如果表现欠佳,就需要继续改进。
机器学习的模型是非常多的,而且也在不断发展中。从大类上来说可以分为监督学习、无监督学习和强化学习。本期我们介绍的实时机器学习力场,属于核支持向量机(SVM),将线性核函数引入支持向量机,用核运算替代原始支持向量机中的向量点积运算。
实时机器学习力场生成步骤
想要获得一个机器学习力场,通常需要经历以下3个步骤:
第1步:产生训练集
第2步:选择局部化学环境的描述符
第3步:借助机器学习模型拟合势能面
对于VASP中的实时机器学习力场而言,第1步的训练集是实时(on-the-fly)产生的,这也是一大特色,省去了手动筛选的步骤。那么,VASP是怎么完成筛选步骤的呢?
这里我们引入两个概念:训练集和局部参考构型。
训练集(Training database):包含完整的晶胞结构(晶格参数、原子坐标)以及各结构对应的能量、力、应力,这些是构成势能面的重要信息。
局部参考构型:与训练集不同,局部参考构型不含完整的晶胞结构,仅涉及原子化学环境(中心原子和截断半径内的相邻原子)。实际上描述符所描述的就是局部参考构型,是径向分布函数和角度函数的组合。
局部参考构型和训练集都是实时更新的,局部参考构型从训练集中筛选。通过这种方式实现在相空间中充分采样的目的,且尽可能不重复。另一个防止重复的手段是在分子动力学模拟的过程中设定了最小采样间隔,防止两次采样间隔太短,以至于结构演化不充分。
当力场遇到未学习过的“陌生”结构时,通过核函数的线性组合来预测该结构的能量,将总能量近似拆分为局域能量之和,选择参考构型,利用核函数计算相似度并确定拟合权重,最终相加后获得总能量的近似值。
公式如下:
其中xiB为局部参考构型;K(xi,xiB)为表示当前体系和参考构型的相似度,是一个介于0到1之间的值,自0到1数值越大,相似程度越高;wiB表示当前参考构型的拟合权重。
实时机器学习力场如何运作?
由于VASP中的机器学习力场是“实时”的,所以训练和使用可以说是密不可分。理论上来说,两者是交替进行的。
当任务开始时,程序首先会判断我们正在做的是从头开始训练还是在已有基础上继续训练,如果是后者,那就先读取已有力场的训练集。之后开始进行分子动力学模拟,在这个过程中收集势能面的重要信息(能量、力和应力),与此同时还会评估不确定性(贝叶斯误差)。
贝叶斯误差:
在统计学中,是指针对任意分类器随机输出的最低可能误差。贝叶斯误差可以帮助我们量化对任何证据的信任程度并推定概率。
通俗来说,贝叶斯误差就是用数据来量化“刻板印象”的可信程度。VASP判断一个结构是否为陌生结构的方法也就是使用贝叶斯误差,如果误差没有超过阈值就会直接应用力场;反之,进行第一性原理计算并将当前结构加入候选的训练集,累积若干候选结构后再次对力场进行训练。
经测试,使用实时机器学习力场相比原始的第一性原理分子动力学,对运算速度能有数十倍提升。此外,还可以设置仅预测模式(prediction mode),在分子动力学模拟过程中跳过训练步骤,直接应用已预先训练好的力场,在保证计算效果的前提下速度更快。
参考文献
1. V. L. Deringer, M.A.Caro, and G. Csanyi, Adv. Mater. 31, 1902765 (2019)
2. Zeni C, Rossi K, Glielmo A, et al. Advances in Physics: X, 2019, 4(1): 1654919.
3. Jinnouchi et al., Phys. Rev. B 100, 014105 (2019)
4. R. Jinnouchi, J. Lahnsteiner, F. Karsai, G. Kresse, and M.Bokdam, Phys. Rev. Lett. 122, 225701 (2019)
5. https://datatron.com/what-is-a-support-vector-machine/
-end-