分子生成领域的stable diffusion - GEOLDM

一、关于stable diffusion

很多人都知道stable diffusion,stable diffusion的出现改变了机器生成领域,让AI技术第一次无比的接近正常人。大语言模型,AIGC概念于是兴起。基于stable diffusion 大家开发了lora, hyperwork等微调技术,使得我们可以精确的控制生成图片,于是我们可以生成如下一些图片,以假乱真:

​​​​​​​

神奇的stable diffusion模型的架构如下:

stable diffusion模型架构简单理解:首先使用一个编码器,将图片编码到隐式空间的潜向量,然后基于该潜向量实现diffusion model的增噪和去噪过程,生成新的潜向量,然后再使用解码器,解码潜向量,生成新图片。关于stable diffusion的介绍,全网到处都是,感兴趣的可以仔细研究研究。

那么问题来了,在分子生成领域,在药物设计领域,是不是可以有一个stable diffusion 模型?实现真正的可控分子生成?让药物设计、分子设计领域的大语言模型真正的兴起,实现Drug-AIGC?要实现这一点的难点在于:药物分子是具有空间几何特征的(即旋转不变性和空间平移不变性),且不连续稀疏的。而图片更简单,是平面的且连续的。因此,基机器视觉开发的stable diffusion是不能直接使用于分子设计、药物设计等领域的,需要专门开发一个能处理空间几何与稀疏不连续的stable diffusion模型架构。

新发表的GEOLDM 模型实现了这一点。也许从此刻开始,变天了。Drug-AIGC真的要来了。分子设计领域有了stable diffusion模型,那么分子设计领域的lora还远吗?

二、分子生成领域的stable diffusion - GeoLDM

GEOLDM 模型是发表在2023年 ICML(全称:International Conference on Machine Learning)会议上的会刊 <Geometric Latent Diffusion Models for 3D Molecule Generation> 文章。第一作者是斯坦福大学计算机系的Minkai Xu。文章链接为:https://arxiv.org/pdf/2305.01140.pdf

GEOLDM模型可以生成3D的分子,在有条件或者无条件下都可以生成。

GEOLDM的全称是Geometric Latent Diffusion Models,几何隐式扩散模型。GEOLDM 是分子几何领域的第一个隐式扩散模型(简称:DM),由将结构编码为连续隐式向量的自动编码器和在隐式空间中运行的扩散模型组成。 文章的关键创新在于,对 3D 分子几何进行建模,通过构建具有不变标量和等变张量的点结构隐式空间来捕获其关键的旋转平移等变约束。

在GEOLDM模型中,分子中原子坐标和特征,即x,h会,被编码器编码成隐式向量,即z_x和z_h。然后在隐式空间内,对z_x和z_h进行T步的加噪过程,使用深度学习网络预测噪音,反向去噪,生成隐式向量。解码器根据去噪后的隐式向量生成分子。

注意,GEOLDM的扩散过程是操作在隐式向量空间的。这一点与之前的分子生成模型,EDM,Difflinker,Targetdiff等不同。之前的分子生成模型的扩散过程是直接操作在原子空间的,即添加噪音在坐标x和原子特征h上。而GEOLDM是将扩散过程操作在坐标x和原子特征h,生成的嵌入隐空间z上。这一点完全与机器视觉中的stable diffusion对齐了。

训练GEOLDM模型的伪代码:

首先,需要按照常规的变分自动编码器一样,在没有加噪和去噪的扩散过程下,先训练变分自动编码器,即First stage。然后,固定自动变分编码器,加入扩散的加噪和去噪过程,训练模型学习去噪。所以,可以简单的理解GEOLDM模型由编码器,扩散去噪,解码器,三个AI网络组成。

使用GEOLDM模型生成分子的伪代码如下:

三、GeoLDM模型的性能

作者在QM9和DRUG数据上进行了测试,考察了分子生成的质量(有效性,唯一性)。作者对每个模型都进行了三次分子生成,每次生成1w个分子。测试结果如下:

与之前的方法相比,同时具有不变变量和等变变量的潜在空间使GEOLDM在大分子生成的有效性方面实现了高达7%的改进。

stable diffusion模型厉害之处,主要是其非常强大的可改造能力,最简单的,就是条件控制生成。这里作者做了尝试。作者尝试让GEOLDM模型生成HOMO等更低的分子,结果发现,GEOLDM确实要好于我们之前常用的EDM模型。如下图:

另一方面,在条件控制生成中,GEOLDM,可以对生成的条件的程度进行控制。作者以生成极化的分子为例,使用了不同的极化控制参数,如下图:

四、总结

整体感觉GEOLDM这个模型非常好模拟了stable diffusion模型的结构,将扩散过程的加噪去噪过程操作在隐式向量空间内。大大降低了,在分子生成领域的计算成本。同时,因为在潜向量空间内,也打开了分子生成领域的优化可能,我们可以CLIP, LORA, Controlnet 等技术,微调模型,实现精确控制分子生成。

看来Drug-AIGC的日子不远了,真的不远了。距离作者正式发表GEOLDM有几个月了,距离作者开始在GitHub上传代码有10个月了。我们将很快看到很多的相关文章出现。老了,脑子跟不上了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【VS Code】Visual Studio Code 你必须安装的 Plugins - 持续更新

文章目录 GitLens — Git supercharged【真香】EditorConfig for VS Code【真香】Remote - SSH【真香】MySQL【真香】 Talk is cheap, show me the code. GitLens — Git supercharged【真香】 插件地址&#xff1a; https://marketplace.visualstudio.com/items?itemNameeam…

C语言有哪些预处理操作?

C语言的预处理是在编译之前对源代码进行处理的阶段&#xff0c;它主要由预处理器完成。预处理器是一个独立的程序&#xff0c;它负责对源代码进行一些文本替换和处理&#xff0c;生成经过预处理的代码。以下是C语言预处理的一些重要特性&#xff1a; 1&#xff0c;头文件包含 #…

侮辱性涨薪!业绩得了S,调薪涨了450

信安这个行业3年前各大媒体&#xff0c;信安自己人都觉得自己在个朝阳行业&#xff0c;红利在咋弄不得再吃5年。 现在拉个干网络安全的再去问问&#xff0c;看看谁不是去年年终奖砍了一半、或者根本就没了&#xff0c;再或者每天岌岌可危生怕去领大礼包。 原本10月份的激励性…

python变量的命名和使用

变量名只能包含字母、数字和下划线 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头&#xff0c;但不能以数字打头。例如&#xff0c;可将变量命名为message_1&#xff0c;但不能将其命名为1_message。 Python 语言中&#xff0c;以下划线开头的标识符有特殊含…

Android 相机库CameraView源码解析 (五) : 保存滤镜效果

1. 前言 这段时间&#xff0c;在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位&#xff0c;在项目前期&#xff0c;的确为我们节省了不少时间。 但随着项目持续深入&#xff0c;对于CameraView的使用进入深水区&#xff0c;逐…

若依vue-新建目录及菜单

前面我们把标题和logo换成了自己系统的标题和logo了 接下来就是要建立自己需要的菜单和页面 新建目录解析 在拉下来的代码跑起来后 有一个系统菜单--菜单管理(如图) 在这个菜单的这个页面内有对应的操作功能 修改功能 这个功能可以修改写好了的菜单数据 例如:名称/排序/路由…

(一)五种最新算法(SWO、COA、LSO、GRO、LO)求解无人机路径规划MATLAB

一、五种算法&#xff08;SWO、COA、LSO、GRO、LO&#xff09;简介 1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法&#xff08;Spider wasp optimizer&#xff0c;SWO&#xff09;由Mohamed Abdel-Basset等人于2023年提出&#xff0c;该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为&…

vscode 编译运行c++ 记录

一、打开文件夹&#xff0c;新建或打开一个cpp文件 二、ctrl shift p 进入 c/c配置 进行 IntelliSense 配置。主要是选择编译器、 c标准&#xff0c; 设置头文件路径等&#xff0c;配置好后会生成 c_cpp_properties.json&#xff1b; 二、编译运行&#xff1a; 1、选中ma…

SpringBoot的依赖管理和自动配置

与其明天开始&#xff0c;不如现在行动&#xff01; 文章目录 1 依赖管理机制2 自动配置机制2.1 初步理解2.2 完整流程 &#x1f48e;总结 1 依赖管理机制 为什么导入starter-web后所有相关依赖都会导入进来&#xff1f; 开发什么场景&#xff0c;导入什么场景启动器-spring-bo…

[ROS2] --- action

1 action介绍 ROS通信机制也会被常常用到——那就是动作。从这个名字上就可以很好理解这个概念的含义&#xff0c;这种通信机制的目的就是便于对机器人某一完整行为的流程进行管理。 1.1 客户端/服务器模型 动作和服务类似&#xff0c;使用的也是客户端和服务器模型&#xf…

zabbix 进阶

zabbix的字段发现机制&#xff1a; zabbix客户端主动和服务端联系&#xff0c;将自己的地址和端口发送服务端实现字段添加监控主机。 客户端是主动一方。 缺点&#xff1a;自定义网段中主机数量太多&#xff0c;登记耗时会很久&#xff0c;而且这个自动发现机制不是很稳定。…

c-语言->数据在内存的存储

系列文章目录 文章目录 系列文章目录前言 前言 目的&#xff1a;学习整数在内存的储存&#xff0c;什么是大小端&#xff0c;浮点数的储存。 1. 整数在内存中的存储 在讲解操作符的时候&#xff0c;我们就讲过了下⾯的内容&#xff1a; 整数的2进制表⽰⽅法有三种&#xff0…

Minio保姆级教程

转载自&#xff1a;www.javaman.cn Minio服务器搭建和整合 1、centos安装minio 1.1、创建安装目录 mkdir -p /home/minio1.2、在线下载minio #进入目录 cd /home/minio #下载 wget https://dl.minio.io/server/minio/release/linux-amd64/minio1.3、minio配置 1.3.1、添加…

基于Springboot的校园失物招领系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的校园失物招领系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

三、jvm中的对象及引用

一、对象在jvm的创建过程 检查加载-->分配内存-->内存空间初始化-->设置-->对象初始化 1) 检查加载 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用&#xff0c;并且检查类是否已经被加载、解析和初始化过。 虚拟机遇到一条 new 指令时&#xf…

【Deeplearning4j】小小的了解下深度学习

文章目录 1. 起因2. Deeplearning4j是什么3. 相关基本概念4. Maven依赖5. 跑起来了&#xff0c;小例子&#xff01;6. 鸢尾花分类代码 7. 波士顿房价 回归预测代码 8. 参考资料 1. 起因 其实一直对这些什么深度学习&#xff0c;神经网络很感兴趣&#xff0c;之前也尝试过可能因…

Python实现GUI图片浏览程序

Python实现GUI图片浏览程序 下面程序需要pillow库。pillow是 Python 的第三方图像处理库&#xff0c;需要安装才能实用。pillow是PIL&#xff08; Python Imaging Library&#xff09;基础上发展起来的&#xff0c;需要注意的是pillow库安装用pip install pillow&#xff0c;导…

javaEE -14(10000字 JavaScript入门 - 1)

一&#xff1a;初始 JavaScript JavaScript (简称 JS)是世界上最流行的编程语言之一&#xff0c;它是一个脚本语言, 通过解释器运&#xff0c;主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行. JavaScript 和 HTML 和 CSS 之间的关系&#xff1a; HTML…

Rellax.js,一款超酷的 JavaScript 滚动效果库

嗨&#xff0c;大家好&#xff0c;欢迎来到猿镇&#xff0c;我是镇长&#xff0c;lee。 又到了和大家见面的时间&#xff0c;今天和大家分享一款轻松实现视差滚动效果的 JavaScript 库——Rellax.js。无需大量的配置&#xff0c;即可为你的网站增色不少。 什么是Rellax.js&am…

simulinkveristandlabview联合仿真环境搭建

目录 开篇废话 软件版本 明确需求 软件安装 matlab2020a veristand2020 R4 VS2017 VS2010 软件安装验证 软件资源分享 开篇废话 推免之后接到的第一个让人难绷的活&#xff0c;网上开源的软件资料和成功的案例很少&#xff0c;查来查去就那么几篇&#xff0c;而且版本…