背景介绍
MedeA中MLP&MLPG机器学习力场模块能结合第一性原理计算构建训练集,对局部化学环境描述,从而训练机器学习力场。经过训练的MLP力场能适用于基于训练集的较多构型,且计算精度与第一性原理计算精度保持一致。本算例中采用MedeA MLPG中NNP势函数训练生成Ti机器学习力场。
使用模块:
MedeA Environment
MedeA MLP&MLPG
实操案例
1. 给定的训练集
File → Fitting Data Manger → Ti-trainingset.fts(提供的)→ Open
2. MLPG-Ti-力场训练
Jobs → New Job,显示流程图面板
点击右侧MLP Generator,流程图中加上MLP Generator组件
双击MLP Generator,设置相关参数:
• Training Set:XX/Desktop/Structure/ Ti-trainingset.fts(Ti-trainingset.fts具体位置)
• Type of machine-learned potential:NNP(选择NNP作为机器学习势函数)
• Number of epochs:40(整个训练集的训练次数,设置超过100,力场质量高,不影响后续LAMMPS计算时间;设置过低,力场质量差)。
• Cutoff for symmetry functions:设置5。默认值为6,可以得到较好的效果;此处设置5,加速NNP拟合速率,同时降低力场精度。
• Manual seed for random numbers:随机种子数。勾选“手动设置随机种子数”,并指定随机种子。不同随机种子训练的力场略有差异。
• Fit:勾选Forces,NNP拟合时考虑原子受力,并设置原子受力在拟合时相对于能量的权重为1.0。强烈建议勾选。如不勾选,力场质量差。
点击Advanced面板:
• Number of nodes per hidden layer。用于模拟复杂的势能面。值越高,训练所需要的资源越多,力场效果越好。
点击OK,返回主流程图。
修改Job title,点击Run,设置队列及核数,提交作业计算
3. 结果分析
3.1 Job.out分析
第一部分:重点计算参数
第二部分:对称性函数,训练集,验证集
第三部分:拟合结果,包含能量、力、应力等
MedeA MLPG会依据训练集与验证集的能量与受力的均方根误差(RMSE)自动选择最好的训练结果。本次算例epoch 38总体的RMSE最低。当对称性函数的截断半径为5时,训练集与验证集的能量RMSE为2.2,2.8 meV/atom。当增加截断半径到6时,RMSE会分别降低到1.1,1.4 meV/atom。
epoch 38生成的NNP为Ti-tranningset.00038.frc,位于Stage_1/下,其它epoch生成的力场位于Stage_1/NeuralNetworkPotential。
注意:如果需要使用该力场,下载.frc文件并放置在MD/data/Forcefields/custom路径下。计算时通过Forcefields→Open,选择保存的力场即可。
3.2 图形分析
点击对应Job序号,进入MLPG-Ti-training set作业中,点击Stage_1;图形文件在Other files in ./Stage_1中
Energy_DFT_vs_MLP.png:DFT计算能量与MLP预测能量之间的相关性。在斜率为1的拟合线附近的值,表示误差较小,力场精度较高。
Energies_Difference_DFT_vs_MLP.png:MLP与DFT计算能量偏差。算例得到的偏差范围低于0.025 eV/atom,说明误差较小,力场精度较高。
Energy_Error_Distribution_TrainingSet.png:MLP预测能量误差直方图。算例误差以0为中心分布。
相应的Forces图如下:
learning_curve.png:学习曲线,训练集与验证集能量与力的均方根误差
福利来袭
关注VASP中国官方公众号“源资科技VASP”;回复“Ti神经网络势函数”;即可获得教学PDF下载链接。
扫描下方二维码进入源资科技-B站视频空间观看。
“
聚焦机器学习系列文章——
● 机器学习势函数:三年五篇SCI!!!
-end-
源资科技VASP媒体平台