图神经网络和分子表征:5. Completeness

news2024/11/25 0:54:06

大家都知道 “两点确定一线,三点确定一平面”,那么多少个变量可以确定一个分子呢?这是最近顶刊们热烈讨论的话题。
(据笔者不完全统计)最早在 SphereNet (2022 ICLR)论文里,摘要上就开始讨论 completeness 了。后来,ClofNet (2022 ICML)和 ComENet (2022 NeruIPS)直接在标题里就标明 Complete (两个Net名字中的 C 就是 Complete 意思)。

从模型设计角度看,实现 Completeness 似乎成为了提升模型性能的一条捷径。诸多研究小组加入战场,completeness 这个词逐渐演变成了罗生门。在最近的 LEFTNet (2023 NeruIPS)中,作者重新提及 completeness ,似乎能够从一个更高的视角看待这一问题。

本文将首先介绍 SphereNet 和 ClofNet 中有关完备性的观点。两篇论文的作者均花费很多篇幅强调模型的完备性,却没有深入思考 local completeness 如何转化为 global completeness。ComENet 首先意识到了这一点,通过固定两个刚体结构间的旋转键尝试固定整个分支。然而,ComENet 对刚体结构间的相对自由度进行了误判,仅仅考虑了两刚体结构共线平面中的一个自由度,没有将其放在立体的环境中思考。最后,LEFTNet 仔细论证了这一点,补齐了全部三个自由度,最终实现了 Global Completeness。

这篇博客中,我将首先介绍不变模型考虑 Completeness 的代表 SphereNet,向量模型考虑 Completeness 的代表 ClofNet。最后,我将介绍对 local to global 展开讨论的两篇文章 ComENet 和 LEFTNet。

SphereNet 中的 Completeness

在 图神经网络和分子表征:3. 不变网络最后的辉煌-CSDN博客 中我们提到,SphereNet 是 DimeNet 的改进之作。一个朴素的想法是,在引入角度的基础上进一步引入二面角将十分有潜力进一步提高精度。当然,这并非是 AI 研究员首创的想法。

在传统的计算化学领域,距离、角度、二面角所构成的内坐标体系已经被广泛用于改造输入坐标。基于内坐标的几何构型优化被认为大幅降低了势能面的自由度,提高了构型优化的速度。例如,Gaussian 就支持冗余(Redundant)内坐标、z-matrix,广义内坐标(generalized internal coordinates)等关键词。大家感兴趣可以看以下链接中的说明:

z-matrix:

  1. 维基百科:https://en.wikipedia.org/wiki/Z-matrix_(chemistry)
  2. 一个案例:https://www.chm.bris.ac.uk/pt/ajm/mmhtm/MM_L2p16.htm
  3. 优缺点详细解析:https://www.cup.uni-muenchen.de/ch/compchem/geom/internal.html

冗余内坐标(Gaussian 构型优化默认格式):https://gaussian.com/opt/

广义内坐标:https://gaussian.com/gic/

形式多样内坐标的设计本意是希望3D坐标能够由距离、角度、二面角唯一表示,并能够据此复现出原始结构。如下所示:
在这里插入图片描述
SphereNet 原文中多次提到的完备性正是基于这样的理念:

  1. 3D 坐标可以预测性质。
  2. 3D 坐标能够转化为不变性的距离、角度、二面角。
  3. 距离、角度、二面角能够预测不变性质。
    在这里插入图片描述

作者思路可以进一步小结为:之前的模型只是将 3D 坐标转换成了距离和角度,我把二面角添上就完备了,所以一定会有精度提高!具体转换框架见 图神经网络和分子表征:3. 不变网络最后的辉煌-CSDN博客

其实这样的想法忽略了很多问题:

  1. 3D 坐标转化为距离、角度、二面角不能有信息损失。换言之,作者设计的转换框架需要有效鉴别所有结构。但是作者在原文就列举了一个反例,作者设计的框架可以鉴别手性分子(下图a,b),但不能鉴别一些特殊案例(下图b,c):
    在这里插入图片描述

  2. 3D 坐标转换为内坐标的方式并非只有唯一解。在 z-matrix 的这个案例中(Internal coordinates of a molecule (bris.ac.uk)),乙烯6个原子,3个原子的确定都涉及了二面角,但是参考平面可以有多种选择。作者在原文指出,GemNet 3-hop 的消息传递模式可以做到完备性,笔者此处表示质疑。如何设计规则拿到正则、完备、物理的几何信息,传统的量子化学软件已经给出了很多解(见上),SphereNet 和 GemNet 显然没有达到上述方法的理论深度。
    请添加图片描述

  3. 即便转换过程没有损失,消息传递(local to global)过程 也会带来损失。SphereNet 原文完全没有考虑到消息传递(local to global)过程。这一点同样出现在 ClofNet 中,而 ComENet 和 LEFTNet 都对这一过程进行了讨论。

总体来说,SphereNet 中的 Completeness 还是一个 local Completeness。作者的想法就是对 3D 坐标完成不变替代,没有深入考虑后续传递过程。

ClofNet

ClofNet 这个框架本系列还没详细讲过。这篇论文和 LEFTNet 一样,读起来让人非常痛苦。下面就简单介绍下笔者的理解吧。

ClofNet 故事起源

ClofNet 在故事开头指出,现有表征框架无法有效纳入恒电势等真实物理环境。
在这里插入图片描述
在之前的表征框架中(EGNN),两原子排斥力可以映射到原子向量差上。但原子向量差的形式无法有效反应外加的恒电场。作者指出,如果我们能够建立起一个局域的坐标系,就可以将各种方向的向量标量化。如此以来,我们在消息传递的内部,可以只用标量

ClofNet 中的 Complete local frame

ClofNet 论文读起来有着对 EGNN 非常明显的模仿痕迹。比如公式 1 直接照搬了 EGNN 的定义
请添加图片描述

EGNN 本身是一个非常经典的框架,此处碍于笔者的精力,不作展开。

但原作者一个很明显的思路是:EGNN 基于原子坐标向量差去做迭代,只能做原子连线上的性质预测,例如原子受力,类似恒电势就不行。为了解决这个问题,作者拓展了原子坐标向量差的概念:坐标向量差,坐标向量叉乘定义一个平面,加上该平面上的法向向量,三个向量构成了一个正则坐标系

请添加图片描述

任何有关两原子的向量在该正则坐标系下均有唯一标量坐标,这样即可完成向量向标量的映射。

ClofNet 中的消息传递

写到这里的时候,笔者已经看 ClofNet 这篇论文很久了。这篇论文里的定理证明实在是太多了,这里只放一下笔者粗浅的理解。

一种尝试理解新模型的方式是用已经建立起的框架规则去套。在 On the Expressive Power of Geometric Graph Neural Networks 这篇论文里,作者对 PAINN 做了如下归纳总结:

在这里插入图片描述

其消息传递过程可以归纳为向量和标量两条平行的路径。

前文已经提到,ClofNet 的消息传递和 EGNN 是基本一致的:
请添加图片描述

我们从下往上看,第2,3行公式表明 ClofNet 依旧是面向点编程的,将点的性质作为核心的迭代对象。同时,ClofNet 采用和 PAINN 一致的思路,即,标量、向量两条并行的迭代路线

ClofNet 和 PAINN 的不同之处在于消息本身的设计(第一行),以及消息是如何影响向量性质迭代的(第二行),标量性质的迭代似乎和 PAINN 是一样的。

PAINN 里,消息分为了标量的消息和向量的消息,分别用于标量和向量的迭代。但是 ClofNet 似乎仅有标量的消息,向量的消息通过标量的向量化实现。(第二行)

其实说到这里,把上述三段话中的 ClofNet 换成 EGNN 也完全成立。标量的向量化这个概念已经出现在了 EGNN 的设计框架中。所以,ClofNet 真正的创新在于局域坐标系的建立,进而拓展了向量标量间相互转化这个概念。

现在我们小结一下 ClofNet 的消息传递过程:

  1. 从大的视角看, ClofNet 遵从了 PAINN 的设计思想,面向点编程+向量、标量两条平行的迭代路线。我们可以直接套用 PAINN 的图:

    在这里插入图片描述

  2. 当然,需要把两个 m 的来源抹掉,同时向量 m 依赖于标量 m
    在这里插入图片描述

  3. 在构建这两个 m 的过程中, ClofNet 设计了一个完备的局域坐标系,将向量标量化,进行迭代计算后再重新向量化。

具体实现细节,请各位读者阅读原文和源码。

ClofNet 中的 Completeness

前文中,我们介绍了 SphereNet 的 Completeness。可以看到,作者十分强调3D坐标向不变几何信息转化的过程中不能出现信息损失。 ClofNet 中并不涉及复杂的多体几何关系, ClofNet 和 PAINN 一样是向量、标量双通路模型。因此,角度、二面角信息隐藏在了向量模型的加减中,无需多虑。笔者认为, ClofNet 中的 Completeness 更多是相对于 EGNN 而言的。因为 EGNN 只能表示原子连线方向的性质(原子相互作用力等),而 ClofNet 则进一步,通过设计局域坐标系,实现了恒电势等向量信息的拟合。意义不在于增加了多少的几何鉴别能力,而是增加了完备的、无损的向量信息拟合能力,因此叫 complete。

值得注意的是,此处的 complete 依然是一个局域的概念,因为作者并没有考虑 local to global 对 Completeness 的影响,这一点在 LEFTNet 中被重点讨论。

ComENet 和 LEFENet 中的 Completeness

ComENet 的消息传递过程在前面博客已经讲过了。图神经网络和分子表征:3. 不变网络最后的辉煌-CSDN博客

在 ComENet 论文的2.2节,作者详细介绍了引入第二个二面角的目的:

  1. 在距离+角度+一个二面角的模式下,我们可以做到局域结构的完备性,但这只局限于一近邻的范围。这跟 SphereNet 的思路基本一致 (SphereNet 做到了二近邻的完备性)。
  2. 如下图所示,局域坐标系的设定可以将R1和R2两个基团变成刚体(完备性),但是包含R1和R2的整个分支是否是一个刚性结构呢?

在这里插入图片描述

  1. 这就是前文多次提到的,local to global 的完备性。ComENet 是这样解释的:i 的 local 是蓝色区域,可以看作上图中的其中一个基团 R1。j 的 local 是黄色区域,可以看作上图基团 R2. 刚性结构 R1 和 R2 间唯一的自由度就是两个刚性结构的夹角,下右图。如果我们把这个夹角固定,整个分支就变成了一个刚性结构。考虑到每个节点都将衍生出一个 local,只要我们能将相邻两个 local 完全冻住,整个体系又是一个连通图,这样整个体系都将被唯一确定。

在这里插入图片描述

  1. 这是 ComENet 中的描述,整个论证过程十分精彩,但是在 LEFTNet 中,作者指出 刚性结构 R1 和 R2 间自由度并不唯一,如果我们在 R1 和 R2 中分别建立局域正交坐标系,那么两个坐标系间的相互转换存在 3 个自由度。 ComENet 描述简化了两个刚体结构。将 刚体结构 R1 简化为了 上右图紫色平面, R2 简化为了上右图黄色平面。如果我们只是平面间的 Freeze,确实只需要一个自由度。但事实是,两个刚体结构都是立体的,我们应该考虑的是两个立体空间相互之间的转换。

在这里插入图片描述

  1. 如上图所示,作者十分犀利的指出,ComENet 中的 torsion angle 只是两个 local frames 相互转换间的其中一个自由度。
  2. LEFTNet 通过设计合理的消息传递机制(FTE)实现了 local to global 的完备性. LEFTNet 的技术细节太多,后面再详细展开。

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

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

相关文章

【多态-动态绑定-向上转型-抽象类】

文章目录 静态绑定动态绑定多态的具体实现向上转型多态的优缺点抽象类抽象类的作用 总结 静态绑定 重载就是典型例子 动态绑定 多态的具体实现 //多态 class Animal{public String name;public int age;//无参构造方法public Animal() {}//有参构造方法public Animal(Strin…

MySQL安装『适用于 CentOS 7』

✨个人主页: 北 海 🎉所属专栏: MySQL 学习 🎃操作环境: CentOS 7.6 腾讯云远程服务器 🎁软件版本: MySQL 5.7.44 文章目录 1.MySQL 的清理与安装1.1查看是否存在 MySQL 服务1.2.卸载原有服务1.…

每日Python:十个实用代码技巧

1、Jpg转Png 示例代码: # 图片格式转换, Jpg转Png# 方法① from PIL import Imageimg Image.open(demo.jpg) img.save(demo_open.png)# 方法② from cv2 import imread, imwriteimage imread("demo.jpg", 1) imwrite("demo_imread.png", im…

近年来上海高考数学命题趋势和备考建议,附1990年以来真题和解析

这篇文章六分成长为您介绍上海高考数学科目的一些分析和如何备考2024年的上海高考数学,并且为您提供1990-2023年的34年的上海高考数学真题和答案解析,供您反复研究。 一、上海高考数学题近年来的命题特点和趋势 1. 注重基础知识和基本技能:…

一文带你在GPU环境下配置YOLO8目标跟踪运行环境

本文介绍GPU下YOLO8目标跟踪任务环境配置、也即GPU下YOLO8目标检测任务环境配置。 YOLO8不仅仅可以实现目标检测,其还内置有Byte-Tracker、Bot-Tracker多目标跟踪算法。可以实现行人追踪统计、车流量跟踪统计等功能。值得注意的是Byte-Tracker、Bot-Tracker多目标跟…

全面详细讲解OSEK直接网络管理,并对比Autosar网管。

搞了两年的Autosar,用到的网络管理都是Autosar网络管理,虽然偶尔有听到或看到Osek网络管理,但是一直没机会具体进行开发和测试。最近有机会具体接触和开发到,弄完之后感受就是:还是Autosar的网络管理好用,O…

10、SpringCloud -- 优化重复下单

目录 优化重复下单问题的产生:需求:思路:代码:测试:优化重复下单 之前超卖、重复下单的解决方式 问题的产生: 比如这个秒杀活动没人去玩,只有一个人去参与秒杀,然后秒杀成功了,因为有联合索引,所以这个人他没法重复下单,但是他依然去请求秒杀,在秒杀的10个商品没…

设计模式大赏(一):桥接模式,组合模式

设计模式大赏(一):桥接模式,组合模式 导言 本篇文章是设计模式大赏中的第一篇文章,这个系列的文章中我们主要将介绍一些常见的设计模式,主要是我在看Android源码中发现用到的一些设计模式。本篇文章将主要…

Android 快速实现隐私协议跳转链接

首先在string.xml创建对应字串 <string name"link">我已仔细阅读并同意<annotation value"privacy_policy">《隐私政策》</annotation>和<annotation value"service_agreement">《服务协议》</annotation></st…

十八、模型构建器(ModelBuilder)快速提取城市建成区——批量掩膜提取夜光数据、夜光数据转面、面数据融合、要素转Excel(基于参考比较法)

一、前言 前文实现批量投影栅格、转为整型,接下来重点实现批量提取夜光数据,夜光数据转面、夜光数据面数据融合、要素转Excel。将相关结果转为Excel,接下来就是在Excel中进行阈值的确定,阈值确定无法通过批量操作,除非采用其他方式,但是那样的学习成本较高,对于参考比较…

c++设计模式三:工厂模式

本文通过一个例子简单介绍简单工厂模式、工厂模式和抽象工厂模式。 1.简单工厂&#xff08;静态&#xff09; 假如我想换个手机&#xff0c;换什么手机呢&#xff1f;可以考虑苹果或者华为手机&#xff0c;那我们用简单工厂模式来实现这个功能&#xff1a; 我们关注的产品是手…

人工智能与航天技术的融合:未来发展的新趋势

人工智能与航天技术的融合&#xff1a;未来发展的新趋势 随着科技的飞速发展&#xff0c;人工智能和航天技术已经成为人类探索未知世界的重要工具。本文将探讨这两个领域的结合点&#xff0c;以及未来的发展趋势和应用前景。通过了解这些技术&#xff0c;读者将更好地理解人工…

用Python定义一个函数,用递归的方式模拟汉诺塔问题

【任务需求】 定义一个函数&#xff0c;用递归的方式模拟汉诺塔问题&#xff0c;三个柱子&#xff0c;分别为A、B、C&#xff0c;其中A柱子上有N个盘子&#xff0c;从小到大编号为1到N&#xff0c;盘子大小不同。现在要将这N个盘子从A柱子移动到C柱子上&#xff0c;但移动的过…

段页式管理方式

一、分段、分页的优缺点 1.分页管理&#xff1a;内存空间利用率高&#xff0c;无外部碎片&#xff0c;只有少量页内碎片&#xff0c;以物理结构划分&#xff0c;不便于按逻辑方式实现信息共享和保护 2.分段管理&#xff1a;为段长过大分配连续空间会很不方便&#xff0c;会产生…

Nginx动静分离以及防盗链问题

目录 1.动静分离 1.1概念 1.2准备环境 1.3.测试访问 2.Nginx防盗链问题 2.1nginx 防止网站资源被盗用模块 2.2防盗链配置 2.3准备两台机器 2.4测试 ①开启防盗链 ②让盗链ip可一访问服务资源 ③防盗链不设置none参数 1.动静分离 1.1概念 为了加快网站的解析速度&…

【图像分类】钢轨表面缺陷分类数据集介绍(4个类别)

写在前面&#xff1a; 首先感谢兄弟们的支持&#xff0c;让我有创作的动力&#xff0c;在创作过程我会尽最大能力&#xff0c;保证作品的质量&#xff0c;如果有问题&#xff0c;可以私信我&#xff0c;让我们携手共进&#xff0c;共创辉煌。 路虽远&#xff0c;行则将至&#…

Pytorch入门实例

数据集是受教育年限和收入,如下图 代码如下 import torch import numpy as np import matplotlib.pyplot as plt import pandas as pd import torch.nn as nn import torch.optim as optimdata pd.read_csv(./Income.csv)X torch.from_numpy(data.Education.values.reshape…

Windows环境下MosQuitto服务器搭建,安装mqtt服务端软件

1、下载、安装MosQuitto服务器 下载地址&#xff1a;http://mosquitto.org/files/binary/ 根据平台选择相应的代码下载。 安装完成后&#xff0c;安装文件夹下部分文件的功能

私有云:【9】Connection配置

私有云&#xff1a;【9】Connection配置 1、关闭IE增强配置2、Connection配置2.1、登录connection管理台配置许可证2.2、添加VCenter主机2.3、配置Composer 1、关闭IE增强配置 关闭此项 全部关闭 2、Connection配置 2.1、登录connection管理台配置许可证 上一章connection…

DevChat:你的私人助理,让工作变得如此简单!

前言&#xff1a; 首先我们来浅浅说下AI吧。有小伙伴把AI看得十分“高高在上”&#xff0c;觉得它属于“诸神之战”&#xff0c;与我等凡人无关。其实这个看法是不对的。就好像我们刚开始对于手机系统或者电脑系统感觉很有陌生感一样&#xff0c;一直到技术落地到抖音、微信等…