我国学者在发展高精度神经网络力场新方法方面取得进展

原子模拟是人们在微观层面理解复杂化学、生物和材料体系的光谱、反应动力学和能量/电荷转移过程的重要理论工具,其关键要素是需要精确且高效的高维势能面(力场)。近年来,原子中心的机器学习框架已成为构建复杂化学体系力场的基本框架。在这个框架下,体系总能量可拆分为每个原子能量之和,而原子能量被定义为该原子所处局域化学环境的函数。由于高阶多体作用项的计算量随着体系大小呈指数级增长,人们常采用截断到三体项的描述符,并认为其已足够描述局域原子化学环境。然而,近期研究发现,当前普遍所采用的三体甚至四体项描述符并不能完备地描述局域环境中的原子间关联,甚至无法区别某些不同的原子构型,使得模型训练时出现构型空间扭曲,进而极大地限制了所构建势能面的精度。因此,复杂化学体系原子模拟精度的提升亟需发展新的机器学习方法以便正确描述局域完备性。

蒋彬教授课题组长期致力于发展高精度机器学习力场方法。受量子化学中原子轨道组合为分子轨道的启发,研究团队基于前期提出的嵌入原子电荷密度描述符,使轨道系数同样依赖其周围的化学环境,以递归的方式更新轨道系数,发展了递归嵌入原子神经网络方法。本研究通过该递归形式引入了更多体项相互作用,进而完备描述原子的局部化学环境,并确定了递归次数与近邻原子数之间的关系。该方法无需显式计算高阶相互作用,从而极大地简化了计算复杂度。甲烷和周期性体相水等代表性体系上的数值测试结果显示,递归嵌入神经网络在准确性上明显优于现有机器学习模型,甚至可以包含部分非局域效应,即便使用小一倍的局域截断半径也能达到更好的训练精度(图1)。

该研究工作将基于物理描述符的神经网络和基于数学模型的图神经网络关联起来,为开发更准确、更高效的机器学习模型提供一个新的研究思路。

图1递归嵌入原子神经网络模型示意图(左)及其与传统原子神经网络模型的比较(右)

THE END
1.递归MicrosoftLearn递归和迭代(循环)密切相关,即函数可以使用递归或迭代返回相同的结果。 通常,某个计算适用于一种技巧或另一种技巧,您只须选择最自然或最理想的方法。 虽然递归的用处很大,但是如果使用不慎,创建的递归函数就可能从不返回结果并且不能到达终点。 这种递归导致计算机执行“无限”循环。 下面是一个示例:忽略阶乘计算文字描https://msdn.microsoft.com/zh-cn/library/z3dk2cc3.aspx
2.思维导图递归公式——从简单到复杂的自我调用递归方法就像是剥洋葱,一层一层深入直到核心;而迭代方法则像是滚雪球,一步一步累积结果。两种方法各有千秋,选择哪种取决于问题的性质和求解的便利性。 第三节:公式探索与推演运算【重点在推导】 3.1 斐波那契数列的递归公式 斐波那契数列的递归公式为: https://blog.csdn.net/qq_37148940/article/details/109697695
3.递归,搜索,和回溯算法腾讯云开发者社区递归一共有三层。 第一层:.细节的去看待,递归的细节展开图 第二层:利用二叉树中经典递归题,非常明显的知道要用到递归 第三层:就是宏观的去看待递归的过程 (1)不要在意递归的细节展开图。 (2)把递归函数看做一个黑盒 (3)相信这个黑盒一定能解决这个问题 https://cloud.tencent.com/developer/article/2477481
4.一文读懂递归算法!递归的学习绝对是一个持久战,没有人可以一蹴而就。一年两年的,很寻常。 问题的复杂,加上递归本身的细节,我们想要 "学会","学好",再 "用好",是需要一个漫长的过程的。所以还希望读者有足够的耐心。 一:什么是递归 所谓递归,简单点来说,就是一个函数直接或间接调用自身的一种https://mp.weixin.qq.com/s?__biz=MjM5NzEyMzg4MA==&mid=2649476715&idx=3&sn=d232b6b81f8f9b4b149aa81790b56143&chksm=bec1ac2c89b6253adea0dcbaec9fab884bc06e8aed8241e42667533a305659b5e1a594ea26cb&scene=27
5.Java方法递归的形式和常见递归算法(方法递归结合File类查找文件)方法递归方法直接调用自己或者间接调用自己的形式称为方法递归( recursion),递归做为一种算法在程序设计语言中广泛应用,这篇文章主要介绍了Java方法递归的形式和常见递归算法-方法递归结合File类查找文件,需要的朋友可以参考下+ 目录 方法递归 方法递归的形式 什么是方法递归? 方法直接调用自己或者间接调用自己的形式称为https://www.jb51.net/article/276683.htm
6.从零开始学JAVA——JAVA方法的递归调用那我们什么时候使用递归呢?这里有几个常见的使用场景供大家参考:当一个需要解决的大问题可以拆分成若干个小问题,大小问题的解决方式相同,方法中就可以自己调用自己;可以使用循环解决的常规问题,基本都可以替换为递归进行解决;原问题和拆分后的子问题除了数据规模不同,解决思路完全相同。3. 特点 递归具有逻辑性强https://baijiahao.baidu.com/s?id=1759326051128667121&wfr=spider&for=pc
7.递归式求解的三种方法本节阐述递归式求解的三种方法:递归树、代入法和主定理法。 O、写在前面 在分治法中,时间复杂度T(n)往往具有递归性质,被递归式所表示,譬如T(n)=T(n/4)+T(3n/4)+n,其含义其实是在表示,一个规模为n的问题,被分解为两个规模分别为n/4和3n/4的子问题(其和刚好为n)。容易知道的是T(n)中必然包含子https://www.jianshu.com/p/9863d293eafe
8.高中信息技术课程标准(3)通过实例,掌握使用排序算法设计程序解决问题的方法。 例设计一个程序,按照选择交换法,把学校运动会比赛成绩(无序)按降序排序后存储。 D递归法与问题解决 (1)了解使用递归法设计算法的基本过程。 (2)能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解问题。 https://www.fqkhzx.cn/index/article/view/id/94.html
9.算法入门——递归排序递归做为一种算法在程序设计语言中广泛应用。在代码的世界中,一个程序如果调用自身,那它就是递归的。 更直接地说,递归就是把规模大的问题转化为规模小的相似的子问题来解决。特别地,在函数实现时,因为解决大问题的方法和解决小问题的方法往往是同一个方法,所以就产生了函数调用它自身的情况,这也正是递归的定义所https://zhuanlan.zhihu.com/p/358607812
10.数据分析与数据挖掘包括:卷积运算与池化;卷积神经网络;卷积神经网络应用;循环与递归神经网络;LSTM模型;循环与递归神经的应用。 要求理解卷积神经网络中的局部感受野及权值复用的思想和观点,掌握卷积神经网络及循环递归神经网络等技术,由此进一步掌握卷积神经网络在如机器视觉及自然语言处理中的一些典型应用方法,了解如限制玻尔兹曼机等其它深度网https://i.study.uestc.edu.cn/DATAM/menu/teaching-programme
11.C语言程序设计教学大纲6.教学方法 讲授法、演示法、实践法、指导法、案例法。 7.教学时数 8学时 第七章 用函数实现模块化程序设计 1.教学目标 通过本章教学,使学生掌握函数的定义和调用方法,掌握函数的嵌套和递归调用,掌握形式参数和实际参数的区别,学会调用函数及各种调用方法,掌握变量的存储类别和作用域。 https://yczx.hncu.net/info/1196/1888.htm
12.专利一种ICN报文转发方法发明专利2019年05月14日20191039797172020年12月22日2019103979717王劲林;陈君;程钢;叶晓舟;邓浩江;王玲芳;齐卫宁 一种基于递归混沌码的水声通信均衡译码方法发明专利2019年05月30日201910461708X2020年01月24日201910461708X王海斌;台玉朋;汪俊;陈曦;陈德胜 http://www.ioa.ac.cn/webold/kycg/zl/index_36.html