New Journal of Physics:不同机器学习力场特征的准确性测试
文章信息
作者:Ting Han1, Jie Li1, Liping Liu2, Fengyu Li1, * and Lin-Wang Wang2, *
通信单位:内蒙古大学物理科学与技术学院、中国科学院半导体研究所
DOI:10.1088/1367-2630/acf2bb

研究背景
近年来,基于DFT数据的机器学习力场(machine learning force field, MLFF)发展迅速。而MLFF预测能量和力的准确性依赖于对化学环境的准确描述(特征)。目前已经提出了诸多特征方法,但是对于给定的物理问题如何选择合适的特征方法仍然是个难题。汪林望教授课题组和内蒙古大学李锋钰老师课题组使用相同的系统、相同的数据集、相同的数量特征,系统地比较了9种不同特征方法的准确性,为如何选择特征方法提供了宝贵思路。
文章简介
本文基于S、C体系,测试了9种特征类型,包括余弦特征(2-body+3-body)、高斯特征(2-body+3-body)、Moment Tensor Potential(MTP)特征、spectral neighbor analysis potential(SNAP)特征、Chebyshev多项式(DP-Chebyshev)特征和高斯多项式(DP-Gaussian)特征和原子簇展开(Atomic Cluster Expansion,ACE)特征。通过比较各特征类型对系统总能、群能、力的均方误差(RMSE)和损失函数误差,筛选出误差最小的最优特征方法为MTP,并在S、C和Cu系统中测试验证了MTP模拟的精度。
此外考虑到余弦(2-body+3-body)特征和高斯(2-body+3-body)特征对群能、总能和力模拟的较小误差,本文提出对于一个给定的系统,可以先用线性模型对不同的特征进行测试,然后将该特征集用于神经网络模型的训练。为了扩展数据集进行训练,我们采用了能量分解方法,将DFT总能分解到单个原子或者多个原子上。
01
单原子能量Ei:将DFT总能量划分为原子能量,每个原子的能量之和等于系统的总能量

由于Ei只依赖于原子i附近的原子构型,这种局部特性为MLFF模型提供了比作为总能量导数的力更加有效的数据。
02
组群多原子能量Egroup:为了减少局部能量密度分配给附近原子时的非唯一性,本文定义了一个群能(𝐸group):

为DFT计算出的围绕中心原子i的原子能量的加权平均。
主要内容
01
使用DFT进行AIMD计算产生数据集
具体步骤如表1所示。计算得到3个S训练数据集:S-300 K分子动力学轨迹,S-1500 K分子动力学轨迹,S-300 K和S-1500 K轨迹组合;以及4个不同构型的C在 300-3500K的训练数据集。相应温度下的S和C结构分别如图2和3所示。

表1 S和C体系及其AIMD步骤

图2 S的结构: (a)初始s8环结构; (b) 300k下2 ps模拟后的结构; (c) 在1500 K下模拟2 ps后的结构

图3 (a)金刚石、(b)石墨烯、(c)类石墨烯 (d) m -碳结构在0 K和300-3500K下的俯视图和侧视图
02
通过拟合总能、群能、力和损失函数的误差比较不同特征方法的准确性
S-300 K和S-1500 K数据集(包含256000个原子能量和768000个原子力),S-300K和S-1500 K组合数据集(包含12000个原子能量和1536000个原子力)以及4种不同结构C-300-3500K数据集的总能、群能、力和损失函数的均方根误差分别如图4、5、6所示。
对于S-300 K体系(图4实线),MTP特征对总能的拟合效果最好(RMSE~0.060 eV);余弦(2-body+3-body)特征对群能拟合效果最好(RMSE~0.004 eV); 高斯特征(2-body+3-body)拟合力效果最好(RMSE~0.09 eV/Å)。总体而言,MTP特征为最佳线性模型,损失函数误差为0.002。
对于S-1500 K系统(图4虚线),各RMSE均大于S-300 K系统,群能、总能和力的均方根误差最小值分别在0.017 eV、0.263 eV和0.419 eV/Å左右,损失函数的拟合误差为0.036。除了力的最小误差由ACE特征得到,群能、总能和损失函数的最小误差均由MTP特征得到。
S-300 K和S-1500 K组合数据集与S-1500K数据集有类似的结果,MTP线性模型对总能量(RMSE~0.269 eV)、群能(RMSE~0.013 eV)和损失函数(RMSE~0.027)的误差最小,ACE特征是力精度的最佳特征类型(RMSE ~0.270 eV/Å)。但是由图5可知,组合数据集的各项误差均大于S-300 K的拟合结果,说明复杂的模拟系统对力场的拟合来说具有更高的挑战性。

图4 在S-300 K数据集(实线)和S-1500 K数据集(虚线)中,不同特征类型对于(a)总能、(b)群能、(c)力、(d)损失函数的训练误差。在python-ace包中使用了一个不同的无群能量损耗函数,故ACE结果仅在总能和力的图中显示

图5 在S-300 K和S-1500 K组合数据集中,不同特征类型对于 (a)总能、(b)群能、(c)力、(d)损失函数的训练误差。在python-ace包中使用了不同的无群能量损失函数,故ACE结果仅在总能量和力的图中显示
对于C系统,ACE模拟存在很大的错误,故只讨论其他6种特征方法的结果。如图6所示,MTP线性模型在拟合群能(RMSE~0.101 eV)、总能(RMSE~0.012 eV)方面表现出优势; 高斯(2-body)特征和余弦(3-body)特征在拟合力(RMSE~0.110 eV/Å)方面具有优势; MTP特征在损失函数上误差接近(RMSE~0.016)。

图6 在C系统的组合数据集中,不同特征类型对于 (a)总能,(b)群能,(c)力和(d)损失函数的训练误差
03
选择最优特征方法MTP,对测试集进行训练
对于S系统:使用不在训练集内的S结构,利用DFT分别在300K和1500K下进行6ps 的AIMD计算,并以最后1ps为测试集。用S-300K、S-1500K和S-300-1500K模型对两个测试集进行模拟。其与DFT计算相比,训练模型和测试集在同一温度下时,总能和力都有很好的匹配性,如图7和8所示。此外,当训练模型和测试集不在同一温度范围,模拟的误差非常大,这是由于不同温度下训练模型与测试集中的结构信息不同。

图7 基于相同轨迹的MLFF模型和DFT计算能量的比较:基于S-300K模型(a, b)、S-1500K模型(c, d)和组合模型(e, f)对S-300K-new集(a, c, e)和S-1500K-new集(b, d, f)

图8 基于相同轨迹的MLFF模型和DFT计算受力的比较: S-300K模型(a, b)、S-1500K模型(c, d)和组合模型(e, f)对S-300K-new (a, c, e)和S-1500K-new (b, d, f)的影响
对于C系统:选择训练集之外的C结构进行了300K 6ps的NVT AIMD模拟,以最后1ps轨迹作为测试集。如图9 (a) 和 (b) 所示,MTP-LR模型在AIMD轨迹上的总能量和力也与DFT吻合良好。C体系的总能和力的误差分别为0.22eV和0.09 eV/Å。
对除C和S以外的Cu系统:以Cu-300-1000 K的NVT 2 ps AIMD模拟作为训练集;在1000 K时对训练集之外的Cu结构进行了1 ps的NVT AIMD仿真,作为测试集。如图9 (c)和 (d) 所示,可见Cu系统的MLFF模型沿着AIMD轨迹的总能和力都与DFT结果吻合较好。其中,Cu体系的总能和力的误差分别为0.12 eV和0.05 eV/Å。

图9 在C (a, b)和Cu (c, d)两种模型中,DFT和MTP线性模型沿分子动力学轨迹的总能和力的比较
相关文章:
New Journal of Physics:不同机器学习力场特征的准确性测试
文章信息 作者:Ting Han1, Jie Li1, Liping Liu2, Fengyu Li1, * and Lin-Wang Wang2, * 通信单位:内蒙古大学物理科学与技术学院、中国科学院半导体研究所 DOI:10.1088/1367-2630/acf2bb 研究背景 近年来,基于DFT数据的机器学…...
ubuntu22.04 x11窗口环境手势控制
ubuntu22.04 x11窗口环境手势控制 ubuntu x11窗口环境的手势控制并不优秀,我们可以使用touchegg去代替 这个配置过程非常简单,并且可以很容易在一定范围内达到你想到的效果,类比mac的手势控制 关于安装 首先添加源,并安装 sud…...
【ARM CoreLink 系列 4 -- NIC-400 控制器详细介绍】
文章目录 1.1 ARM NIC-400(Network interconnect)1.1.1 NIC-400 系统框图1.1.2 NIC-400 Network Interconnect1.2 NIC-400 特点1.2.1 QoS-400 Advanced Quality of Service1.2.2 QVN-400 QoS Virtual Networks1.2.3 TLX-400 Thin Links1.3 NIC-400 Top1.4 NIC-400 Terminology1…...
【生成模型】解决生成模型面对长尾类型物体时的问题 RE-IMAGEN: RETRIEVAL-AUGMENTED TEXT-TO-IMAGE GENERATOR
介绍 尽管最先进的模型可以生成常见实体的高质量图像,但它们通常难以生成不常见实体的图像,例如“Chortai(狗)”或“Picarones(食物)”。为了解决这个问题,我们提出了检索增强文本到图像生成器…...
南美巴西市场最全分析开发攻略,收藏一篇就够了
巴西位于南美洲东部,是南美洲资源最丰富,经济活力和经济实力最强的国家。巴西作为拉丁美洲的出口大国,一直是一个比较有潜力的市场,亦是我国外贸公司和独立外贸人集群的地方。中国长期是巴西主要的合作伙伴,2022年占巴…...
c++中操作符->与 . 的使用与区别
在C中,-> 和 . 是两个不同的成员访问操作符,用于访问类、结构体或联合体的成员。 “->” 操作符: 用于通过指针访问指针所指向对象的成员。当有一个指向对象的指针时,可以使用 -> 操作符来访问该指针所指向对象的成员。…...
golang 编译器 汉化
1、找到左上角file选项,点击选中settings进行单机 2、找到settings中找到plugins选中进行点击 3、再框中输入chinese进行搜索,出结果后找到如下图所示,点击进行安装 4、安装完成后进行重启ide,完美解决...
压缩包系列
1、zip伪加密 一个zip文件由三部分组成:压缩源文件数据区压缩源文件目录区压缩源文件目录结束标志。 伪加密原理:zip伪加密是在文件头中加密标志位做修改,然后在打开时误被识别成加密压缩包。 压缩源文件数据区: 50 4B 03 04&a…...
互联网图片安全风控实战训练营开营!
内容安全风控,即针对互联网产生的海量内容的外部、内部风险做宏观到微观的引导和审核,从内容安全领域帮助企业化解监管风险和社会舆论风险,其核心是识别文本、图片、视频、音频中的有害内容。 由于互联网内容类型繁杂、多如牛毛,加…...
炫酷转换:Java实现Excel转换为图片的方法
摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 在实际开发过程中,经常会有这样的需求:将Excel表格或特定区域转…...
vue elementui <el-date-picker>日期选择框限制只能选择90天内的日期(包括今天)
之前也写过其他限制日期的语句,感觉用dayjs()的subtract()和add()也挺方便易懂的,以此记录 安装dayjs npm install dayjs --save dayjs().add(value : Number, unit : String); dayjs().add(7, day); //在当前的基础上加7天dayjs().subtract(value : N…...
YOLOv5全新Neck改进:BiSPAN 结构独一无二,为目标检测打造全新融合网络,增强定位信号,对于小目标检测的定位具有重要意义
💡本篇内容:YOLOv5全新Neck改进:BiSPAN 结构升级版,为目标检测打造全新融合网络,增强定位信号,对于小目标检测的定位具有重要意义 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv…...
flutter开发实战-video_player插件播放抖音直播实现(仅限Android端)
flutter开发实战-video_player插件播放抖音直播实现(仅限Android端) 在之前的开发过程中,遇到video_player播放视频,通过查看video_player插件描述,可以看到video_player在Android端使用exoplayer,在iOS端…...
React组件
一、React组件 函数组件 // 函数组件 // 组件的名称必须首字母大写 // 函数组件必须有返回值 如果不需要渲染任何内容,则返回 null function HelloFn () {return <div>这是我的第一个函数组件!</div> }// 定义类组件 function App () {return (<di…...
[动手学深度学习]注意力机制Transformer学习笔记
动手学深度学习(视频):68 Transformer【动手学深度学习v2】_哔哩哔哩_bilibili 动手学深度学习(pdf):10.7. Transformer — 动手学深度学习 2.0.0 documentation (d2l.ai) 李沐Transformer论文逐段精读&a…...
hadoop集群安装并配置
文章目录 1.安装JDK 环境2.系统配置2.1修改本地hosts文件2.2创建hadoop 用户2.2 设置ssh免密(使用hadoop 用户生成) 3.安装 hadoop 3.2.43.1 安装hadoop3.1.1 配置Hadoop 环境变量 3.2配置 HDFS3.2.1 配置 workers 文件3.2.2 配置hadoop-env.sh3.2.3 配置…...
Quarto 入门教程 (3):代码框、图形、数据框设置
简介 本文是《手把手教你使用 Quarto 构建文档》第三期,前两期分别介绍了: 第一期 介绍了Quarto 构建文档的原理;可创建的文档类型;对应的参考资源分享。 第二期 介绍了如何使用 Quarto,并编译出文档(PDF…...
虚拟机Ubuntu18.04安装对应ROS版本详细教程!(含错误提示解决)
参考链接: Ubuntu18.04安装Ros(最新最详细亲测)_向日葵骑士Faraday的博客-CSDN博客 1.4 ROS的安装与配置_哔哩哔哩_bilibili ROS官网:http://wiki.ros.org/melodic/Installation/Ubuntu 一、检查cmake 安装ROS时会自动安装旧版的Cmake3.10.2。所以在…...
#力扣:14. 最长公共前缀@FDDLC
14. 最长公共前缀 一、Java class Solution {public String longestCommonPrefix(String[] strs) {for (int l 0; ; l) {for (int i 0; i < strs.length; i) {if (l > strs[i].length() || strs[i].charAt(l) ! strs[0].charAt(l)) return strs[0].substring(0, l);}…...
Android 13.0 解锁状态下禁止下拉状态栏功能实现
1.前言 在13.0的系统定制化开发中,在关于一些systemui下拉状态栏的定制化功能开发中,对于关于systemui的下拉状态栏 是否可以下拉做了定制,用系统属性来判断是否可以在解锁的情况下可以下拉状态栏布局,虽然11.0 12.0和13.0的关于 下拉状态栏相关分析有区别,可以通过分析相…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
