最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

【论文阅读】ANI-1:an extensible neural network potential with DFT accuracy at force field computational co

业界 admin 2浏览 0评论

文章目录

  • 前言
  • 一、模型架构
  • 二、嵌入
    • 1.原子类型区分
    • 2.角度函数修正


前言

书接上文:

【论文阅读】Generalized Neural-Network Representation of High-Dimensional Potential-Energy Surfaces

在BP势这篇文章发表10年之后,2017年,ANI横空出世,至今仍然是各大榜单上被比较的对象。虽然在机器学习榜单的准确率上,ANI通常是最低的那一个,但如果我们把目标放在速度上,那么ANI这个简单的机器学习势仍然在称霸。从2007年到2017年是机器学习突飞猛进的10年。让我们打开ANI-1: an extensible neural network potential with DFT accuracy at force field computational cost这篇论文,看看2017年的ANI,对BP做出了哪些改进。

一、模型架构

对于一个机器学习模型,第一眼肯定要关注它的模型架构:

ANI模型的特殊之处,或者说相比BP势和之后的一些图神经网络(GNN)模型来说,最大的特点是,他在创建embedding后,对每一种元素用了不同的网络进行预测。当然,这么做有好有坏,好处是可以最大程度利用原子种类信息,坏处是模型会变的复杂,可拓展性会下降。

在这篇文章中,不同于之后的GNN相对复杂的消息传递环节,它使用的中间的NNP部分只是一些简单的线性和非线性的网络。本系列关注的重点是,在进入NNP之前, G ⃗ i u \vec{G}_i^u G iu是如何产生的。

二、嵌入

TorchANI: A Free and Open Source PyTorch-Based Deep Learning Implementation of the ANI Neural Network Potentials 这篇文章中,显示了 G ⃗ i u \vec{G}_i^u G iu 是由哪些部分组成的:

我们可以看到,和BP势类似,ANI依旧分为径向和角度两部分。但是不同的地方大概有两点:1.比起BP势只将径向和角度部分加和到同一个位置,ANI区分了不同的原子类型。2.径向部分的函数形式略有不同。

那让我们分别看一下这两点。

1.原子类型区分

这一点如何理解呢?在ANI的SI里,有这么一幅图作为例子:

这幅图以甲酸里的碳作为例子,在径向部分,碳在截断距离之内有氢、氧,所以把它们分别放在了嵌入向量的对应位置。而在它的氧这个位置,应该有两个氧,于是就把他们加和。角度部分也是相同的处理, ∠ H C O \angle HCO HCO就放在HO的位置上。

这么做的好处显而易见,不同类型的键角被区分开了,在后续提取的时候更加精确,精度肯定更好。而坏处是,原子的嵌入向量长度会变得很长,如果只有4个元素还好,如果要引入更多的元素,那么一定会导致其他的问题。

关于这一点,在SI中,他们给出了如果不使用不同的种类,结果会怎么样。有兴趣的同学可以去看一下具体的数值,显然结果是不如区分开的。

2.角度函数修正

在这里我们贴出BP和ANI两个角度函数的具体形式,以作对比:(图来自我的知乎,可能有水印,凑活看一下)

可以看到,对于角度函数我们可以发现的不同是:

(1)对于截断函数和前面的指数,BP考虑了 i j ij ij i k ik ik j k jk jk 之间的距离,而ANI没有考虑 j k jk jk。Four Generations of High-Dimensional Neural Network Potentials中,Behler是这么解释的:

对于BP,我们有3个截断函数相乘,这3个截断函数的值都小于1,相乘后整体就更小了,所以函数值的范围更小。所以通常的做法是将每个对称函数的值范围重新调整为区间 [0,1],或者采用ANI形式的只考虑两项的截断函数。

也就是说,下图所示的形式中,如果 R 13 R_{13} R13 R 23 R_{23} R23都超过了截止半径,那么BP只会考虑蓝色部分的三元组,但ANI会考虑到红色部分:


(2)ANI多引入了 θ s \theta_s θs R s R_s Rs 这两个参数,其中 θ s \theta_s θs可以给角度进行一个平移:


R s R_s Rs部分和径向部分(下图)的参数保持一致,是为了可以根据与相邻原子的平均距离来考虑径向壳内的角度环境。说白了就是多了一个自由度,函数的形状变化更自由了。

ANI的优点和缺点都很明显,下面我们可以看看有什么其他的工作对此进行改进。

文章目录

  • 前言
  • 一、模型架构
  • 二、嵌入
    • 1.原子类型区分
    • 2.角度函数修正


前言

书接上文:

【论文阅读】Generalized Neural-Network Representation of High-Dimensional Potential-Energy Surfaces

在BP势这篇文章发表10年之后,2017年,ANI横空出世,至今仍然是各大榜单上被比较的对象。虽然在机器学习榜单的准确率上,ANI通常是最低的那一个,但如果我们把目标放在速度上,那么ANI这个简单的机器学习势仍然在称霸。从2007年到2017年是机器学习突飞猛进的10年。让我们打开ANI-1: an extensible neural network potential with DFT accuracy at force field computational cost这篇论文,看看2017年的ANI,对BP做出了哪些改进。

一、模型架构

对于一个机器学习模型,第一眼肯定要关注它的模型架构:

ANI模型的特殊之处,或者说相比BP势和之后的一些图神经网络(GNN)模型来说,最大的特点是,他在创建embedding后,对每一种元素用了不同的网络进行预测。当然,这么做有好有坏,好处是可以最大程度利用原子种类信息,坏处是模型会变的复杂,可拓展性会下降。

在这篇文章中,不同于之后的GNN相对复杂的消息传递环节,它使用的中间的NNP部分只是一些简单的线性和非线性的网络。本系列关注的重点是,在进入NNP之前, G ⃗ i u \vec{G}_i^u G iu是如何产生的。

二、嵌入

TorchANI: A Free and Open Source PyTorch-Based Deep Learning Implementation of the ANI Neural Network Potentials 这篇文章中,显示了 G ⃗ i u \vec{G}_i^u G iu 是由哪些部分组成的:

我们可以看到,和BP势类似,ANI依旧分为径向和角度两部分。但是不同的地方大概有两点:1.比起BP势只将径向和角度部分加和到同一个位置,ANI区分了不同的原子类型。2.径向部分的函数形式略有不同。

那让我们分别看一下这两点。

1.原子类型区分

这一点如何理解呢?在ANI的SI里,有这么一幅图作为例子:

这幅图以甲酸里的碳作为例子,在径向部分,碳在截断距离之内有氢、氧,所以把它们分别放在了嵌入向量的对应位置。而在它的氧这个位置,应该有两个氧,于是就把他们加和。角度部分也是相同的处理, ∠ H C O \angle HCO HCO就放在HO的位置上。

这么做的好处显而易见,不同类型的键角被区分开了,在后续提取的时候更加精确,精度肯定更好。而坏处是,原子的嵌入向量长度会变得很长,如果只有4个元素还好,如果要引入更多的元素,那么一定会导致其他的问题。

关于这一点,在SI中,他们给出了如果不使用不同的种类,结果会怎么样。有兴趣的同学可以去看一下具体的数值,显然结果是不如区分开的。

2.角度函数修正

在这里我们贴出BP和ANI两个角度函数的具体形式,以作对比:(图来自我的知乎,可能有水印,凑活看一下)

可以看到,对于角度函数我们可以发现的不同是:

(1)对于截断函数和前面的指数,BP考虑了 i j ij ij i k ik ik j k jk jk 之间的距离,而ANI没有考虑 j k jk jk。Four Generations of High-Dimensional Neural Network Potentials中,Behler是这么解释的:

对于BP,我们有3个截断函数相乘,这3个截断函数的值都小于1,相乘后整体就更小了,所以函数值的范围更小。所以通常的做法是将每个对称函数的值范围重新调整为区间 [0,1],或者采用ANI形式的只考虑两项的截断函数。

也就是说,下图所示的形式中,如果 R 13 R_{13} R13 R 23 R_{23} R23都超过了截止半径,那么BP只会考虑蓝色部分的三元组,但ANI会考虑到红色部分:


(2)ANI多引入了 θ s \theta_s θs R s R_s Rs 这两个参数,其中 θ s \theta_s θs可以给角度进行一个平移:


R s R_s Rs部分和径向部分(下图)的参数保持一致,是为了可以根据与相邻原子的平均距离来考虑径向壳内的角度环境。说白了就是多了一个自由度,函数的形状变化更自由了。

ANI的优点和缺点都很明显,下面我们可以看看有什么其他的工作对此进行改进。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论