UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK

news2025/2/11 9:10:28

UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK

Neurips23

推荐指数:#paper/⭐⭐⭐#​(工作量不小)

动机

在大多数分子表征学习方法中,分子被视为 1D 顺序标记或2D 拓扑图,这限制了它们为下游任务整合 3D 信息的能力,这使得 3D几何预测/生成几乎不可能。为此,作者提出了一种3D分子表征学习方法

模型框架

在这里插入图片描述

贡献:

  1. backborn:基于 Transformer 的模型,可以有效地捕获输入的 3D 信息,并直接预测 3D 位置。
  2. 预训练。两个大规模数据集:一个 209M 分子构象数据集和一个 3M 候选蛋白质口袋数据集,分别用于分子和蛋白质口袋的预训练 2 个模型。以及两个预训练任务:3D 位置恢复和掩蔽原子预测,用于有效学习 3D 空间表示。
  3. 微调。适用于各种下游任务的多种微调策略。例如,如何在分子性质预测任务中使用预训练的分子模型;如何在蛋白质-配体结合姿势预测中结合两个预训练模型。

backborn的设计:

常用有两种的设计:GNN与transformer

由于GNN在捕获领域信息有优势,而局部连接的图缺乏捕捉原子之间长距离相互作用的能力。作者认为长距离信息更有用,因此选择Transformer 作为 Uni-Mol 中的主干模型。因为它完全连接了节点/原子,因此可以学习可能的长程相互作用。

在这里插入图片描述

整体结构概述

如图 2 所示,Uni-Mol 主干是基于 Transformer 的模型。它有两个输入,原子类型和原子坐标。模型中维护了两种表示形式(atom 和 pair)。原子表示由 Embedding 层从 atom 类型初始化;对表示由原子坐标计算的不变空间位置编码初始化。特别是,基于原子之间的成对欧几里得距离,对表示对全局旋转和平移是不变的。这两种表示在 self-attention 模块中相互通信。

编码3D位置:

编码 3D 位置 由于其排列不变性,Transformer 在没有位置编码的情况下无法区分输入的位置。与 NLP/CV 中使用的离散位置不同 ,3D 空间中的位置(坐标)是连续值。此外,位置编码过程在全局旋转和平移下需要保持不变。已经提出了几种 3D 空间位置编码来解决这个问题,我们没有兴趣重新发明一种新的编码。因此,我们对现有的编码进行了基准测试,并使用了一个简单而有效的编码:原子对的欧几里得距离,然后是一个对类型感知的高斯核。

此外,由于不变的 3D 空间位置编码是在对级编码的,作者还在 Transformer 中维护了对级表示,以增强 3D 空间表示。具体来说,对表示被初始化为上述空间位置编码。

然后,为了更新对表示,作者通过 self-attention 中的多头Query-Key 产品的结果使用atom到pair 通信。形式上,ij 对表示的更新表示为

q i j l + 1 = q i j l + { Q i l , h ( K j l , h ) T d ∣ h ∈ [ 1 , H ] } , \boldsymbol{q}_{ij}^{l+1}=\boldsymbol{q}_{ij}^l+\{\frac{\boldsymbol{Q}_i^{l,h}(\boldsymbol{K}_j^{l,h})^T}{\sqrt{d}}|h\in[1,H]\}, qijl+1=qijl+{d Qil,h(Kjl,h)Th[1,H]},(多头注意力,H是通道数)

从形式上讲,具有对原子通信的自我注意表示为:

A t t e n t i o n ( Q i l , h , K j l , h , V j l , h ) = s o f t m a x ( Q i l , h ( K j l , h ) T d + q i j l − 1 , h ) V j l , h , \mathrm{Attention}(\boldsymbol{Q}_i^{l,h},\boldsymbol{K}_j^{l,h},\boldsymbol{V}_j^{l,h})=\mathrm{softmax}(\frac{\boldsymbol{Q}_i^{l,h}(\boldsymbol{K}_j^{l,h})^T}{\sqrt{d}}+\boldsymbol{q}_{ij}^{l-1,h})\boldsymbol{V}_j^{l,h}, Attention(Qil,h,Kjl,h,Vjl,h)=softmax(d Qil,h(Kjl,h)T+qijl1,h)Vjl,h,

其中 V l V_l Vl h j h_j hj是第l层第h个头中第 j 个原子的值。

预测位置编码

x ^ i = x i + ∑ j = 1 n ( x i − x j ) c i j n , c i j = R e L U ( ( q i j L − q i j 0 ) U ) W , \hat{\boldsymbol{x}}_i=\boldsymbol{x}_i+\sum_{j=1}^n\frac{(\boldsymbol{x}_i-\boldsymbol{x}_j)c_{ij}}{n},\quad c_{ij}=\mathrm{ReLU}((\boldsymbol{q}_{ij}^L-\boldsymbol{q}_{ij}^0)\boldsymbol{U})\boldsymbol{W}, x^i=xi+j=1nn(xixj)cij,cij=ReLU((qijLqij0)U)W,

此外,为了与 delta 位置预测保持一致,Uni-Mol 使用 delta 对表示来更新坐标,而 EGNN 直接使用对表示。我们在附录 D.3 中的基准测试表明 Uni-Mol 中的那个更好。

预训练策略

由于目的是预测位置信息,因此像bert一样的mask操作实际上是不可行的。因此,作者设计了一种新的mask策略。

在这里插入图片描述

具体的是,随机位置被用作损坏的输入 3D 位置,而不是掩码,并且模型经过训练以预测正确的位置。然而,学习从随机位置到真实原子位置的映射是非常具有挑战性的。

  1. 重新分配,给定 m 个原子和 m 个随机位置,有 m!可能的任务。其中,遵循稳态作用原理 [47],我们可以使用具有最小 delta 位置的那个。由于难以找到最优解,我们使用高效的贪婪算法来找到次优的重新分配。
  2. 噪声范围,我们可以限制随机位置的空间,只允许具有噪声 (r) 的随机位置围绕真实位置。这里有一个权衡;如果 r 很大,则需要重新分配以使学习可行;如果 r 很小,则可能不需要重新分配

然后,在输入坐标损坏的情况下,使用两个额外的头来恢复正确的位置。1) 配对距离预测。基于对表示,该模型需要预测损坏的原子对的正确欧几里得距离。2) 坐标预测。基于 SE(3)-Equivariant 坐标头,该模型需要预测损坏原子的正确坐标。

最后,mask corrupt原子的原子类型,并使用head来预测正确的原子类型。为了方便微调,与 BERT 类似,使用一个特殊的原子 [CLS],其坐标是所有原子的中心,用于表示整个分子/口袋。

微调阶段

这部分有不同的任务,需要不同的微调。

非 3D 预测任务

我们可以简单地使用 [CLS] 的表示,它代表整个分子/口袋,或者所有原子的平均表示,带有线性头来微调下游任务。在具有口袋-分子对的任务中,我们可以连接它们的 [CLS] 表示,然后用线性头进行微调。

分子或口袋的 3D 预测任务

在 Uni-Mol 中,这个任务直接变成了一个构象优化任务:根据不同的输入构象生成一个新的构象。具体来说,在微调中,模型监督学习从 Uni-Mol 生成的构象到标记构象的映射。此外,输出构象可以通过 SE(3)-Equivariant head 端到端生成

蛋白质-配体对的 3D 预测任务

见论文

在这里插入图片描述

后续内容和这个方向的积累有关,等积累够,重读这篇文章(读前面的文章以及transformer)

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

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

相关文章

SQL Server查询计划操作符(7.3)——查询计划相关操作符(6)

7.3. 查询计划相关操作符 48)Key Lookup:该操作符对一个有簇索引的表进行书签查找。参数列包含簇索引的名字和用于查找簇索引中数据行的簇键。该操作符总是伴随一个Nested Loops操作符。如果其参数列中出现WITH PREFETCH子句,则查询处理器已决定使用异步预取(预读,read-ah…

C语言【基础篇】之数组——解锁多维与动态数组的编程奥秘

数组 🚀前言🦜数组的由来与用途🌟一维数组详解🖊️二维数组进阶💯动态数组原理🤔常见误区扫盲💻学习路径建议✍️总结 🚀前言 大家好!我是 EnigmaCoder。本文收录于我的专…

掌握API和控制点(从Java到JNI接口)_38 JNI从C调用Java函数 01

1. Why? 将控制点下移到下C/C层 对古典视角的反思 App接近User,所以App在整体架构里,是主导者,拥有控制权。所以, App是架构的控制点所在。Java函数调用C/C层函数,是合理的。 但是EIT造形告诉我们: App…

windows蓝牙驱动开发-蓝牙 LE 邻近感应配置文件

邻近感应检测是蓝牙低功耗 (LE) 的常见用途。 本部分提供了创建可用于开发 UWP 设备应用的邻近感应配置文件的设备实现的指南。 在开发此应用之前,应熟悉蓝牙 LE 函数和蓝牙 LE 邻近感应配置文件规范。 示例服务声明 蓝牙低功耗引入了一个新的物理层,…

免费windows pdf编辑工具Epdf

Epdf(完全免费) 作者:不染心 时间:2025/2/6 Github: https://github.com/dog-tired/Epdf Epdf Epdf 是一款使用 Rust 编写的 PDF 编辑器,目前仍在开发中。它提供了一系列实用的命令行选项,方便用户对 PDF …

C++:类和对象初识

C:类和对象初识 前言类的引入与定义引入定义类的两种定义方法1. 声明和定义全部放在类体中2. 声明和定义分离式 类的成员变量命名规则 类的访问限定符及封装访问限定符封装 类的作用域与实例化类的作用域类实例化实例化方式: 类对象模型类对象的大小存储…

伪分布式Spark3.4.4安装

参考:Spark2.1.0入门:Spark的安装和使用_厦大数据库实验室博客 我的版本: hadoop 3.1.3 hbase 2.2.2 java openjdk version "1.8.0_432" 问了chatgpt,建议下载Spark3.4.4,不适合下载Spark 2.1.0: step1 Spark下载…

kafka服务端之控制器

文章目录 概述控制器的选举与故障恢复控制器的选举故障恢复 优雅关闭分区leader的选举 概述 在Kafka集群中会有一个或多个broker,其中有一个broker会被选举为控制器(Kafka Controler),它负责管理整个集群中所有分区和副本的状态。…

【R语言】数据分析

一、描述性统计量 借助R语言内置的airquality数据集进行简单地演示: 1、集中趋势:均值和中位数 head(airquality) # 求集中趋势 mean(airquality$Ozone, na.rmT) # 求均值 median(airquality$Ozone, na.rmT) # 求中位数 2、众数 众数(mod…

传输层协议 UDP 与 TCP

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 前置复盘🦋 传输层🦋 再谈端口号🦋 端口号范围划分🦋 认识知名端口号 (Well-Know Port Number) 二&#xf…

Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用

概览 Jimmer是一个Java/Kotlin双语框架 包含一个革命性的ORM 以此ORM为基础打造了一套综合性方案解决方案,包括 DTO语言 更全面更强大的缓存机制,以及高度自动化的缓存一致性 更强大客户端文档和代码生成能力,包括Jimmer独创的远程异常 …

剪辑学习整理

文章目录 1. 剪辑介绍 1. 剪辑介绍 剪辑可以干什么?剪辑分为哪些种类? https://www.bilibili.com/video/BV15r421p7aF/?spm_id_from333.337.search-card.all.click&vd_source5534adbd427e3b01c725714cd93961af 学完剪辑之后如何找工作or兼职&#…

IDEA查看项目依赖包及其版本

一.IDEA将现有项目转换为Maven项目 在IntelliJ IDEA中,将现有项目转换为Maven项目是一个常见的需求,可以通过几种不同的方法来实现。Maven是一个强大的构建工具,它可以帮助自动化项目的构建过程,管理依赖关系,以及其他许多方面。 添加Maven支持 如果你的项目还没有pom.xm…

centos虚拟机迁移没有ip的问题

故事背景,我们的centos虚拟机本来是好好的,但是拷贝到其他电脑上就不能分配ip,我个人觉得这个vmware他们软件应该搞定这个啊,因为这个问题是每次都会出现的。 网络选桥接 网络启动失败 service network restart Restarting netw…

Java 大视界 -- Java 大数据在智能供应链中的应用与优化(76)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

赛博算命之 ”梅花易数“ 的 “JAVA“ 实现 ——从玄学到科学的探索

hello~朋友们!好久不见! 今天给大家带来赛博算命第三期——梅花易数的java实现 赛博算命系列文章: 周易六十四卦 掐指一算——小六壬 更多优质文章:个人主页 JAVA系列:JAVA 大佬们互三哦~互三必回!&#xf…

即梦(Dreamina)技术浅析(六):多模态生成模型

多模态生成模型是即梦(Dreamina)的核心技术之一,旨在结合文本和图像信息,生成更符合用户需求的视觉内容。多模态生成模型通过整合不同类型的数据(如文本和图像),能够实现更丰富、更精准的生成效果。 1. 基本原理 1.1 多模态生成模型概述 多模态生成模型的目标是结合不…

递增三元组(蓝桥杯18F)

暴力求解&#xff1a; #include<iostream> using namespace std; int main() {int N;cin >> N;int* A new int[N];int* B new int[N];int* C new int[N];for (int i 0; i < N;i) {cin >> A[i];}for (int i 0; i < N; i) {cin >> B[i];}for…

计算机毕业设计SparkStreaming+Kafka广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数据毕业设计 深度学习 机器学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

FreeCAD创建零件(系列1)

1、新建草图绘制1个矩形 2、画1个半圆弧 3、增加一个约束点 4、标注距离 5、将线段转为辅助线 将图中的线段切换为辅助线,线条颜色之后转为蓝色线。 6、离开草图