几何感知Transformer用于3D原子系统建模

news2025/1/10 1:46:35

基于机器学习的方法在预测分子能量和性质方面表现出很强的能力。分子能量至少与原子、键、键角、扭转角和非键原子对有关。以前的Transformer模型只使用原子作为输入,缺乏对上述因素的显式建模。为了减轻这种限制,作者提出了Moleformer,这是一种新颖的Transformer架构,它将节点(原子)和边(键和非键原子对)作为输入,并使用旋转平移不变的几何感知空间编码来模拟它们之间的相互作用。空间编码计算节点和边之间的相对位置信息,包括距离和角度。作者在OC20和QM9数据集上对Moleformer进行了基准测试。

来自:Molecular Geometry-aware Transformer for accurate 3D Atomic System modeling

目录

  • 背景概述
  • 方法

背景概述

分子系统能量力场的基本形式可以分解为基于键、键角、扭转角和非键相互作用等因素的函数。为了包含上述因素并进行能量估计,神经网络需要学习原子-原子(键和非键原子对)、原子-键(键角)和键-键(扭角)之间的相互作用。而过去基于Transformer的模型只学习原子-原子之间的相互作用

为了扩展信息并利用Transformer,作者提出Moleformer,它显式模拟原子-原子对之间的相互作用。Moleformer将原子、键和非键原子对作为输入,并应用平移旋转不变几何感知空间编码来捕获这些输入之间的几何关系。空间编码是通过原子-原子对的相对距离和角度来计算的,这足以确定原子-原子对之间的相对空间几何信息。原子-键之间的相互作用包括力场中的键角,键-键之间的相互作用包括力场中的扭转角。

方法

对于一个3D原子系统( N N N个原子),由核电荷(nuclear charges) { z 1 , . . . , z N } \left\{z_{1},...,z_{N}\right\} {z1,...,zN}和3D坐标 { x 1 , . . . , x N ∈ R 3 } \left\{x_{1},...,x_{N}\in R^{3}\right\} {x1,...,xNR3}描述。目标是预测系统的性质 y ∈ R y\in R yR,可以是系统能量,偶极矩和热容等。

Moleformer(图1b)是一种旋转平移不变的Transformer,用于3D分子能量和性质预测。Moleformer使用节点(原子)和选定的边(包括成键和非成键原子对)作为输入。如果一个原子系统包含 N N N个原子,则有 C N 2 C_{N}^{2} CN2个可能的边。将所有可能的边都包含到模型中会消耗很大计算量,并且可能引入无信息的边。作者选择 Top-M 距离最近的原子对作为边。对于像催化剂体系这样由吸附质(adsorbate)和表面(surface)组成的原子体系(图1a),可以选择吸附质-吸附质原子对和吸附质-表面原子对作为边,而不是表面-表面原子对。原因是这样的原子对之间的边在边长和原子类型上更加多样化,在能量建模中可能包含更多的信息。因此需要为表面-表面原子对的距离进行惩罚,以更好选择边。


表面原子之间的相互作用较频繁,而吸附质原子与表面原子的相互作用较小,不平衡其重要性会学习到冗余的知识。


对于输入embedding,作者用核电荷 z i , z j z_{i},z_{j} zi,zj和两原子间的距离 ∣ ∣ r i j ∣ ∣ = ∣ ∣ x i − x j ∣ ∣ ||r_{ij}||=||x_{i}-x_{j}|| ∣∣rij∣∣=∣∣xixj∣∣编码边 ( i , j ) (i,j) (i,j) h i j 0 = R B F ( z i , z j , ∣ ∣ r i j ∣ ∣ ) h_{ij}^{0}=RBF(z_{i},z_{j},||r_{ij}||) hij0=RBF(zi,zj,∣∣rij∣∣)原子 i i i则编码为: h i 0 = E m b e d ( z i ) + W R ∑ j ( R B F ( z i , z j , ∣ ∣ r i j ∣ ∣ ) ) + b R h_{i}^{0}=Embed(z_{i})+W_{R}\sum_{j}(RBF(z_{i},z_{j},||r_{ij}||))+b_{R} hi0=Embed(zi)+WRj(RBF(zi,zj,∣∣rij∣∣))+bR其中, W R W_R WR b R b_R bR是线性层的参数,用于对齐 E m b e d Embed Embed和RBF的维数。

{ h i 0 } i = 1 N \left\{h_{i}^{0}\right\}_{i=1}^{N} {hi0}i=1N { h i j 0 } \left\{h_{ij}^{0}\right\} {hij0}拼接作为输入,并应用 L L L层geometry-aware Transformer block建模原子和边。对于第 l l l层,输入为 { h i l } i = 1 N \left\{h_{i}^{l}\right\}_{i=1}^{N} {hil}i=1N { h i j l } \left\{h_{ij}^{l}\right\} {hijl}

Transformer通常通过在输入表示中添加位置嵌入来编码绝对位置信息(即词序)。对于三维原子建模,分子的表示是旋转平移不变的,因此需要相对位置信息。作者在每个几何感知Transformer层中通过在自注意力计算中添加一个偏差来编码相对位置信息: A i j = ( h i l W q ) ( h j l W k ) T d + b ( i , j ) A_{ij}=\frac{(h_{i}^{l}W_{q})(h_{j}^{l}W_{k})^{T}}{\sqrt{d}}+b(i,j) Aij=d (hilWq)(hjlWk)T+b(i,j) a i j = e x p A i j ∑ k e x p A i k a_{ij}=\frac{expA_{ij}}{\sum_{k}expA_{ik}} aij=kexpAikexpAij h i l + 1 = ∑ j ( h i l W v ) a i j h_{i}^{l+1}=\sum_{j}(h_{i}^{l}W_{v})a_{ij} hil+1=j(hilWv)aij其中, i , j , k i,j,k i,j,k可以表示一个节点或者一个边, b ( i , j ) b(i,j) b(i,j)为作者提出的空间编码。

特别的,如果 i , j i,j i,j都是原子,唯一的相对几何信息就是原子之间的距离(图1c),因此,作者使用RBF计算 b ( i , j ) b(i,j) b(i,j) b ( i , j ) = R B F ( z i , z j , ∣ ∣ r i j ∣ ∣ ) b(i,j)=RBF(z_{i},z_{j},||r_{ij}||) b(i,j)=RBF(zi,zj,∣∣rij∣∣) ( i , j ) (i,j) (i,j)和节点 k k k来自三角形 i , j , k i,j,k i,j,k,相对几何信息由两条边的长度 ∣ ∣ r i k ∣ ∣ ||r_{ik}|| ∣∣rik∣∣ ∣ ∣ r j k ∣ ∣ ||r_{jk}|| ∣∣rjk∣∣以及转角 ∠ i k j \angle ikj ikj决定(图1d)。 b ( i j , k ) b(ij,k) b(ij,k)为: b ( i j , k ) = R B F ( ∣ ∣ r i k ∣ ∣ ) + R B F ( ∣ ∣ r j k ∣ ∣ ) + R B F ( c o s ∠ i k j ) b(ij,k)=RBF(||r_{ik}||)+RBF(||r_{jk}||)+RBF(cos\angle ikj) b(ij,k)=RBF(∣∣rik∣∣)+RBF(∣∣rjk∣∣)+RBF(cosikj)连接不同节点对的两条边 ( i , j ) (i, j) (i,j) ( k , l ) (k, l) (k,l)构成一个四边形,相对几何信息由六条边的长度决定,比如 ( i , j ) , ( i , k ) , ( i , l ) ( j , k ) , ( j , l ) , ( k , l ) (i, j), (i ,k),(i,l) (j, k), (j,l),(k, l) (i,j),(i,k),(i,l)(j,k),(j,l),(k,l)。边 ( i , j ) (i,j) (i,j) ( k , l ) (k,l) (k,l)编码为 h i j l h_{ij}^{l} hijl h k l l h_{kl}^{l} hkll。作者使用另外四条边编码 b ( i j , k l ) b(ij,kl) b(ij,kl)。此外,通过边 ( i , j ) (i,j) (i,j) ( k , l ) (k,l) (k,l)的角度增强空间编码(图1e): b ( i j , k l ) = R B F ( ∣ ∣ r i k ∣ ∣ ) + R B F ( ∣ ∣ r j k ∣ ∣ ) + R B F ( ∣ ∣ r i l ∣ ∣ ) + R B F ( ∣ ∣ r j l ∣ ∣ ) + R B F ( c o s ( r i j , r k l ) ) b(ij,kl)=RBF(||r_{ik}||)+RBF(||r_{jk}||)+RBF(||r_{il}||)+RBF(||r_{jl}||)+RBF(cos(r_{ij},r_{kl})) b(ij,kl)=RBF(∣∣rik∣∣)+RBF(∣∣rjk∣∣)+RBF(∣∣ril∣∣)+RBF(∣∣rjl∣∣)+RBF(cos(rij,rkl))节点 h i h_i hi和边 h i j h_{ij} hij的最终表示是通过重复将表示发送到Transformer层中获得。该方法在不增加参数数量的情况下提高了模型的性能。

fig1

  • 图1a:一个催化剂系统的例子,其中CH3是吸附质,表面由铜原子组成。Moleformer倾向于将吸附-吸附原子和吸附-表面原子之间的边作为模型输入。
  • 图1b:Moleformer架构:节点和所选边作为输入。
  • 图1c-e:分别展示了几何感知空间编码如何在Transformer中的节点-节点、边缘-节点和边缘-边缘之间相互作用。虚线表示边缘,黄色实线表示空间编码中使用的几何信息。

受到包括键作为分子系统能量因子的启发,不仅使用节点表示,还使用边缘表示进行能量(或其他标量属性)预测: y = ∑ i M L P ( h i ) + ∑ i j M L P ( h i j ) y=\sum_{i}MLP(h_{i})+\sum_{ij}MLP(h_{ij}) y=iMLP(hi)+ijMLP(hij)其中MLP是一个非线性的2层感知机。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/457916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT课程送账号啦,让你成为新生代AI程序员

ChatGPT能帮助程序员 解决哪些具体问题? 程序员在日常工作中可能会遇到各种各样的问题,如语法错误、逻辑问题、性能问题等等。 不同业务场景的问题,都可以利用ChatGPT获取各自场景下的知识,并使用ChatGPT提供的代码示例和问题解…

S32K3系列单片学习LPSPI是什么

前言 通过前面的学习,已经可以实现最基础的引脚配置功能了,并实现了点亮LED的程序。下面将记录一下,S32K3的SPI模块的配置方法,以及注意事项。 一、LPSPI介绍 **LPSPI:LOW POWER Serial Peripheral Interface**1.概述 所有LPS…

Unity3d数字化看板-多关节机器人运动控制

特殊:机器人多关节跟随运动 机械手运动控制主要是关节的旋转,通过控制多个关节的角度,实现对机械手的同步控制 机械手运动控制,可以分解为多个关节的运动,下一关节是跟随在上一关节运动,在处理模型的时候…

小案例CSS

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge"> <meta name"viewport" content"widthde…

一个基于 go 实现的轻量级任务调度框架

github 地址&#xff1a;GitHub - memory-overflow/light-task-scheduler: 一个go语言的轻量级的快速实现任务调度的框架&#xff0c;并且支持有状态任务的持久化&#xff0c;并发控制和超时控制。 框架的设计思想和背景 业务后台开发&#xff0c;经常会遇到很多并发低&#…

QT笔记——属性栏之QtPropertyBrowser下载配置

我们常常看到Qt Designer如下图&#xff0c;属性栏 环境&#xff1a;vs2019 qt 5.12.2 QtPropertyBrowser 下面我将介绍如何去下载和安装配置 QtPropertyBrowser&#xff0c;使用的是.dll和.lib 第一种方式&#xff1a;编译qt4 源码的方式 然后修改为qt5 的形式 第一步&am…

Ext JS 4实现合并行单元格

目录 文件 最后由 oscar999 在 几秒前 编辑 有一位朋友咨询了一个问题: 在Ext JS 4中, 如何合并行的单元格, 已经选取的时候只能选择某一列, 期望的效果如下: 在Ext JS 中, 合并表头的列有现成方案, 但是合并行单元格不是extjs的现有功能,这个需要底层扩展, 也就是使…

云原生(docker+k8s+阿里云)-Docker

Gitee-Kubernetes学习 kubectl备忘清单 k8s官方文档-task [云原生-kubectl命令详解] ingress详解 ingress官方文档 云原生-语雀-架构师第一课 从Docker到Kubernetes进阶-社区 云计算学习路线-阿里云大学 如上图&#xff0c;服务器有公网ip和私网ip&#xff0c;公网ip是外部访问…

AWT-对话框——Dialog以及其子类FileDialog

Dialog: Dialog时Window类的子类&#xff0c;时一个容器类&#xff0c;属于特殊组件。对话框是可以独立存在的顶级窗口&#xff0c;因此用法与普通窗口的用法几乎完全一样&#xff0c;但是使用对话框需要注意以下几点&#xff1a; 对话框通常依赖于其它窗口&#xff0c;就是通…

分布式系统通信中使用安全套接字(SSL/TSL)

协商加密和认证算法 SSL的设计&#xff0c;可以在链接的两端初始化握手通信时&#xff0c;在进程间协商加密和认证的算法。 因此可能出现在通信双方没有足够的公共算法导致链接尝试失败的情况。 自举安全通信 通过混合协议建立安全通道。 使未加密的通信进行初始化交换&#xf…

【论文笔记】SwinIR: Image Restoration Using Swin Transformer

声明 不定期更新自己精度论文&#xff0c;通俗易懂&#xff0c;初级小白也可以理解 涉及范围&#xff1a;深度学习方向&#xff0c;包括 CV、NLP、Data Fusion、Digital Twin 论文标题&#xff1a;SwinIR: Image Restoration Using Swin Transformer 论文链接&#xff1a;http…

IDAPython入门基础语法

文章目录 参考文章IDAPython简介常用函数获取界面地址的函数数值获取函数数值判断函数patch操作函数去除花指令实例 参考文章 IDAPython入门教程 基于IDA7.5_Python3 第一讲 简介与地址获取 IDAPython简介 IDAPython拥有强大的功能,在使用IDA分析程序时非常有用,可以简化许多…

队列的实现

队列 简介 队列是一种线性表的特殊形式&#xff0c;特殊之处在于它只允许在表的前端&#xff08;front&#xff09;进行删除操作&#xff0c;而在表的后端&#xff08;rear&#xff09;进行插入操作&#xff0c;和栈一样&#xff0c;队列是一种操作受限制的线性表。进行插入操…

信息安全复习五:数据加密标准(DES)

一、本章梗概 1.主要内容&#xff1a;分组密码、分组密码用到的关键技术和结构、对称密钥密码典型算法DES 2.思考问题&#xff1a; ①按照明文被处理的形式&#xff0c;DES属于标准的什么密码 ②根据密钥的使用数量&#xff0c;DES属于标准的什么密码 3.内容回顾&#xff1a; …

力扣sql中等篇练习(十二)

力扣sql中等篇练习(十二) 1 产品销售分析 ||| 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # Write your MySQL query statement below SELECT s1.product_id,s1.first_year,s2.quantity,s2.price FROM (SELECT product_id,Min(year) first_yearF…

基于趋动云的chatGLM-6B模型的部署

首先根据官方示例教程&#xff0c;学会怎么创建项目&#xff0c;怎么使用数据&#xff0c;怎么进入开发环境&#xff0c;以及了解最重要的2个环境变量&#xff1a; 这个是进入开发环境以后的代码目录 $GEMINI_CODE 这个是引用数据集后&#xff0c;数据集存放的路径 $GEMINI_DA…

学生信息管理系统简易版(文件读写操作)

功能模块 具体功能如下&#xff1a; 添加学生信息修改学生信息&#xff08;按学号&#xff09;排序&#xff08;分别按总分升序、降序、以及按姓名升序&#xff09;查找学生&#xff08;按学号&#xff09;删除学生查看所有学生信息 数据结构体设计 本表设计一个学生信息的结…

computed和watch

computed: 写法&#xff1a; import {computed} from vue setup(){ --- //计算属性—简写 let fullName computed(()>{ return person.firstName - person. lastName}) //计算属性-完整 let fullName computed({ get(){ return person.firstName - person. lastName},…

中小企业真的需要CRM吗?

如果你的企业没有CRM客户关系管理系统&#xff0c;企业主需要问问自己&#xff0c;他们将利用什么来扩展业务。福布斯进行的研究恰当地表明&#xff0c;充分利用CRM系统的企业可以将销售额提高29%。 中小企业定期产生大量客户&#xff0c;这可能会难以管理。这正是CRM系统在有…

Esxi8.0安装Ubuntu系统教程

本篇教程主要教大家怎么在ESXi8.0虚拟机上安装Ubuntu系统&#xff0c;首先安装Ubuntu需要准备一个ISO系统镜像文件&#xff0c;我们可以去Ubuntu官网下载。 Ubuntu官网&#xff1a;https://ubuntu.com/download/desktop 点击【Download】即可下载Ubuntu的ISO系统镜像文件 ESXi…