等变GNN

fig1

非空集合 G G G上定义的二元运算如果满足某些性质,就构成了一个群。常见的群有:

  • O ( n ) O(n) O(n) n n n维正交群,包含旋转和反演操作,反演可以理解为推理或者映射
  • S O ( n ) SO(n) SO(n) n n n维特殊正交群,只包含旋转操作。
  • E ( n ) E(n) E(n) n n n维欧几里得群,包含旋转反演和平移操作。
  • S O ( n ) SO(n) SO(n) n n n维特殊欧几里得群,只包含旋转和平移操作。

对于群 G G G中的任意变换,如果有: ϕ ( ρ i n p u t ( g ) x ) = ρ o u t p u t ( g ) ϕ ( x ) , ∀ g ∈ G \phi(\rho_{input}(g)x)=\rho_{output}(g)\phi(x),\thinspace\thinspace\forall g\in G ϕ(ρinput(g)x)=ρoutput(g)ϕ(x),gG则称函数 ϕ \phi ϕ在群空间 G G G上具有等变性。其中 ρ i n p u t \rho_{input} ρinput ρ o u t p u t \rho_{output} ρoutput分别代表输入和输出空间的群表示。

例如在 O ( 3 ) O(3) O(3)群中,假设输入与输出空间使用同一套坐标系,如果等变性成立则意味着 ϕ ( O x ) = O ϕ ( x ) \phi(Ox)=O\phi(x) ϕ(Ox)=(x)

又例如对于一个平移向量 t ∈ R n t\in\mathbb{R}^{n} tRn,同一坐标系下的平移等变性意味着 ϕ ( x − t ) = ϕ ( x ) − t \phi(x-t)=\phi(x)-t ϕ(xt)=ϕ(x)t

特殊的,如果 ρ o u t p u t ( g ) \rho_{output}(g) ρoutput(g)为单位元,则得到不变性的定义: ϕ ( ρ i n p u t ( g ) x ) = ϕ ( x ) , ∀ g ∈ G \phi(\rho_{input}(g)x)=\phi(x),\thinspace\thinspace\forall g\in G ϕ(ρinput(g)x)=ϕ(x),gG因此,不变性是一种特殊的等变性

以化学物理领域为例,不变性和等变性各有用途:

  • 分子的能量预测应该偏向于使用不变性,包括预测配体和蛋白质口袋的相互作用也更倾向于使用不变性(比如几何相互作用GNN预测3D-PLA)。
  • 在预测蛋白质结合位点时偏向于使用等变性,这种任务类似视觉领域的分割和检测,它们需要等变性来受益。

在GNN中实现等变性通常有三种方式:

  • 不可约表示:一个群的线性表示可以被表示为一系列不可约表示的和,利用这一性质可以实现等变,比如SE(3)-Transformer。
  • 正则表达:将图卷积滤波器定义为群的函数,比如LieConv,它定义了李群上的卷积操作,从而可以实现任意李群上的等变网络。
  • 标量法:将几何向量转化为具有不变性的标量,然后将其施加在原始的向量上,从而获得等变表示。比如EGNN,即E(n) Equivariant Graph Neural Networks,通过使用向量的标量化来实现 E ( 3 ) E(3) E(3)等变性,EGNN结构简单高效,已经被用作很多任务的backbone。

下面主要引入EGNN,模型的输入包括 M M M个节点的嵌入向量 h l = { h 0 l , . . . , h M − 1 l } \textbf{h}^{l}=\left\{\textbf{h}_{0}^{l},...,\textbf{h}_{M-1}^{l}\right\} hl={h0l,...,hM1l},每个节点的坐标向量 x l = { x 0 l , . . . , x M − 1 l } \textbf{x}^{l}=\left\{\textbf{x}_{0}^{l},...,\textbf{x}_{M-1}^{l}\right\} xl={x0l,...,xM1l}和边的特征向量 e i j e_{ij} eij。EGNN基于如下的消息传递和特征聚合来实现GNN运算: m i j = ϕ e ( h i l , h j l , ∣ ∣ x i l − x j l ∣ ∣ 2 , e i j ) x i l + 1 = x i l + ∑ j ( x i l − x j l ) ϕ x ( m i j ) m i = ∑ j ∈ N ( i ) m i j h i l + 1 = ϕ i ( h i l , m i ) \textbf{m}_{ij}=\phi_{e}(\textbf{h}_{i}^{l},\textbf{h}_{j}^{l},||\textbf{x}_{i}^{l}-\textbf{x}_{j}^{l}||^{2},e_{ij})\\ \textbf{x}_{i}^{l+1}=\textbf{x}_{i}^{l}+\sum_{j}(\textbf{x}_{i}^{l}-\textbf{x}_{j}^{l})\phi_{x}(\textbf{m}_{ij})\\ \textbf{m}_{i}=\sum_{j\in N(i)}\textbf{m}_{ij}\\ \textbf{h}_{i}^{l+1}=\phi_{i}(\textbf{h}_{i}^{l},\textbf{m}_{i}) mij=ϕe(hil,hjl,∣∣xilxjl2,eij)xil+1=xil+j(xilxjl)ϕx(mij)mi=jN(i)mijhil+1=ϕi(hil,mi)证明等变性也很简单,首先证明消息 m i j \textbf{m}_{ij} mij具有不变性(具体参考几何相互作用GNN预测3D-PLA): m i j = ϕ e ( h i l , h j l , ∣ ∣ Q x i l + g − [ Q x j l + g ] ∣ ∣ 2 , e i j ) = ϕ e ( h i l , h j l , ∣ ∣ x i l − x j l ∣ ∣ 2 , e i j ) \textbf{m}_{ij}=\phi_{e}(\textbf{h}_{i}^{l},\textbf{h}_{j}^{l},||Q\textbf{x}_{i}^{l}+g-[Q\textbf{x}_{j}^{l}+g]||^{2},e_{ij})=\phi_{e}(\textbf{h}_{i}^{l},\textbf{h}_{j}^{l},||\textbf{x}_{i}^{l}-\textbf{x}_{j}^{l}||^{2},e_{ij}) mij=ϕe(hil,hjl,∣∣Qxil+g[Qxjl+g]2,eij)=ϕe(hil,hjl,∣∣xilxjl2,eij)基于此可证明 x \textbf{x} x具有等变性: Q x i l + g + ∑ j ( Q x i l + g − Q x j l − g ) ϕ x ( m i j ) = Q x i l + g + Q ∑ j ( x i l − x j l ) ϕ x ( m i j ) = Q ( x i l + ∑ j ( x i l − x j l ) ϕ x ( m i j ) ) + g = Q x i l + 1 + g Q\textbf{x}_{i}^{l}+g+\sum_{j}(Q\textbf{x}_{i}^{l}+g-Q\textbf{x}_{j}^{l}-g)\phi_{x}(\textbf{m}_{ij})\\=Q\textbf{x}_{i}^{l}+g+Q\sum_{j}(\textbf{x}_{i}^{l}-\textbf{x}_{j}^{l})\phi_{x}(\textbf{m}_{ij})\\=Q(\textbf{x}_{i}^{l}+\sum_{j}(\textbf{x}_{i}^{l}-\textbf{x}_{j}^{l})\phi_{x}(\textbf{m}_{ij}))+g\\=Q\textbf{x}_{i}^{l+1}+g Qxil+g+j(Qxil+gQxjlg)ϕx(mij)=Qxil+g+Qj(xilxjl)ϕx(mij)=Q(xil+j(xilxjl)ϕx(mij))+g=Qxil+1+g另外,可以发现,对于性质类型的特征 h \textbf{h} h是具有不变性的。

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

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

相关文章

【学习笔记】java项目—苍穹外卖day04

文章目录 1. 新增套餐1.1 需求分析和设计1.2 代码实现1.2.1 DishController1.2.2 DishService1.2.3 DishServiceImpl1.2.4 DishMapper1.2.5 DishMapper.xml1.2.6 SetmealController1.2.7 SetmealService1.2.8 SetmealServiceImpl1.2.9 SetmealMapper1.2.10 SetmealMapper.xml1.…

Web攻击越发复杂,企业如何保护云上业

如今,电子政务、电子商务、网上银行、网上营业厅等依托Web应用,为广大用户提供灵活多样的服务。在这之中,流量攻击堪称是Web应用的最大敌人,黑客通过流量攻击获取利益、竞争对手雇佣黑客发起恶意攻击、不法分子通过流量攻击瘫痪目…

MySQL中使用distinct单、多字段去重方法

目录 一、distinct 1.1 只对一个字段查重 1.2多个字段去重 1.3针对null处理 1.4与distinctrow同义 二、聚合函数中使用distinct 三、CONCAT_WS函数 多个字段拼接去重是指将多个字段的值按照一定的规则进行拼接,并去除重复的拼接结果。这样可以生成唯一标识符…

【中大厂前端面试百问】这不迷死你?

写在前面 最近收到很多同行的抱怨,前端开发高级还行,对初中级最难过的不是面试过不去,而是“已读不回”,来自某聘的梗,确实是,初中级因为坑位较少,很多HR在专心招聘的时候都未必能让所有投简历…

TikTok账号为什么被封?如何防止被封?

多人在使用TikTok的过程中都会遇到一些问题,比如为什么TikTok没有浏览量?事实上,这很可能是因为你的账号已被禁止。但为什么它会被封呢?你怎样才能解决它? 一、TikTok账号为什么被封? 1、什么是 TikTok 影…

TikTok账号封号原因是什么?全面攻略

多人在使用TikTok的过程中都会遇到一些问题,比如为什么TikTok没有浏览量?事实上,这很可能是因为你的账号已被禁止。但为什么它会被封呢?你怎样才能解决它? 一、TikTok账号为什么被封? 1、什么是 TikTok 影…

本地项目提交到远程服务器的git流程

初入职场的开发小白或多或少都会遇到一些使用git来管理项目的问题,这里给大家浅浅的总结一下大致的提交流程 具体步骤如下: 将当前目录下的所有修改的文件添加到暂存区 git add .提交暂存区文件到本地仓库中 描述的内容就是你本次提交的一些相关说明 …

数据结构与算法(2)顺序表的初始化、插入、打印、删除、查找元素——C语言版

目录 1.前言 2.头文件的定义 3.菜单栏的设置 4.顺序表的初始化 5.添加元素 6.打印元素 7.查找元素 8.删除元素 9.插入元素 10.主函数 11.完整的代码实现 1.前言 数据结构包括三个方面 逻辑结构存储结构运算 而线性表有两种典型的存储结构 顺序存储结构链式存储结构 具体关系可…

idea端口占用

报错:Verify the connector‘s configuration, identify and stop any process that‘s listening on port XXXX 翻译: 原因: 解决: 一、重启大法 二、手动关闭 启动spring项目是控制台报错,详细信息如下&#xff…

openGauss 访问控制模型

访问控制模型 可获得性 本特性自openGauss 1.1.0版本开始引入。 特性简介 管理用户访问权限,为用户分配完成任务所需要的最小权限。 客户价值 客户依据自身需求创建对应的数据库用户并赋予相应的权限给操作人员,将数据库使用风险降到最低。 特性描…

Compose Navigation导航使用的部分注意事项

文章目录 一、前言二、使用判断条件进行显示隐藏和Navigation的区别三、Navigation和ViewModel的关系四、Navigation中替换页面的方式 一、前言 在Android的项目架构中有一种由单个Activity,多个页面组成的架构。页面之前是由Fragment来承载显示,现在可…

Photoshop 2024 Mac/win---图像处理的新纪元,解锁无限创意

Photoshop 2024是一款功能强大的图像处理软件,以其卓越的性能和广泛的应用领域,赢得了设计师、摄影师、图形艺术家等各类创意工作者的青睐。它提供了丰富的绘画和编辑工具,让用户能够轻松进行图片编辑、合成、校色、抠图等操作,实…

【0day】号卡sql注入

漏洞描述 号卡系统一键即可便捷快速的为您自己打造一个独立的属于你的号卡分销商城。此系统某接口存在SQL注入漏洞。 fofa语句 icon_hash"-795291075" 漏洞复现 构造payload nuclei验证 pocsuite3 验证 verify 验证 attack 验证 github poc总汇地址&#xff1a…

SpringBoot:自定义线程池配置类

文章目录 一、前言二、案例展示1、初始版本2、代码审核意见和优化建议3、潜在问题和风险4、优化建议5、优化后的代码 三、具体使用 一、前言 有时候我们在项目中做一些长链路的跑批任务时,基于Springboot项目的定时任务,我们可以指定一个自定义的线程配…

无极低码:同时删除两张表中的记录

原始需求:删除两张表用户id为44的数据记录 删除user_info表中u_id为44的用户 DELETE FROM user_info WHERE u_id 44; 删除user_org_rel 表中u_id为44的用户 DELETE FROM user_org_rel WHERE u_id 44; 简便写法:用工mysql写法一次执行两张表删除 &…

深入理解WebSocket:实时双向通信的利器

一、介绍 1.1 基础概念介绍 单工通信:数据传输只允许在一个方向上传输,只能一方发送数据,另一方接收数据并发送。半双工:数据传输允许两个方向上的传输,但在同一时间内,只可以有一方发送或接收数据。全双…

SpringBoot集成Mysql

一、概述 Spring Boot是一个用于简化Spring应用开发的框架,它提供了很多默认配置,使得开发者能够快速地集成各种技术和组件,包括MySQL数据库。在Spring Boot中集成MySQL,我们通常会使用Spring Data JPA或MyBatis等持久层框架&…

Python中的全栈开发前端与后端的完美融合【第160篇—全栈开发】

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Python中的全栈开发:前端与后端的完美融合 全栈开发已成为当今软件开发领域中的…

代克斯特拉演算法C代码

代克斯特拉演&#xff08;Dijkstra&#xff09;算法是一个用于找出图中单源最短路径问题的算法。下面是一个使用C语言实现的Dijkstra算法的例子。这个例子假定图是以邻接矩阵的形式表示的&#xff0c;并且图中的边权重是非负的。 #include <stdio.h> #include <limit…

华为OD机试 - 查找舆情热词(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;每一题都有详细的答题思路、详细的代码注释、样例测试…