Insights \u0026 Innovations

Tutorial 06 – 举一反三:迁移学习(Transfer Learning)

Learning Methods of Deep Learning create by Deepfinder Agenda 师徒相授:有监督学习(Supervised Learning) 见微知著:无监督学习(Un-supervised Learning) 无师自通:自监督学习(Self-supervised Learning) 以点带面:半监督学习(Semi-supervised learning) 明辨是非:对比学习(Contrastive Learning) 举一反三:迁移学习(Transfer […]

Tutorial 06 – 举一反三:迁移学习(Transfer Learning) Read More »

Tutorial 05 – 明辨是非:对比学习(Contrastive Learning)

Learning Methods of Deep Learning create by Deepfinder Agenda 师徒相授:有监督学习(Supervised Learning) 见微知著:无监督学习(Un-supervised Learning) 无师自通:自监督学习(Self-supervised Learning) 以点带面:半监督学习(Semi-supervised learning) 明辨是非:对比学习(Contrastive Learning) 举一反三:迁移学习(Transfer

Tutorial 05 – 明辨是非:对比学习(Contrastive Learning) Read More »

Tutorial 04 – 以点带面:半监督学习(Semi-supervised learning)

Learning Methods of Deep Learning create by Deepfinder Agenda 师徒相授:有监督学习(Supervised Learning) 见微知著:无监督学习(Un-supervised Learning) 无师自通:自监督学习(Self-supervised Learning) 以点带面:半监督学习(Semi-supervised learning) 明辨是非:对比学习(Contrastive Learning) 举一反三:迁移学习(Transfer

Tutorial 04 – 以点带面:半监督学习(Semi-supervised learning) Read More »

Tutorial 03 – 无师自通:自监督学习(Self-supervised Learning)

Learning Methods of Deep Learning create by Deepfinder Agenda 师徒相授:有监督学习(Supervised Learning) 见微知著:无监督学习(Un-supervised Learning) 无师自通:自监督学习(Self-supervised Learning) 以点带面:半监督学习(Semi-supervised learning) 明辨是非:对比学习(Contrastive Learning) 举一反三:迁移学习(Transfer

Tutorial 03 – 无师自通:自监督学习(Self-supervised Learning) Read More »

Tutorial 02 – 见微知著:无监督学习(Un-supervised Learning)

Learning Methods of Deep Learning create by Deepfinder Agenda 师徒相授:有监督学习(Supervised Learning) 见微知著:无监督学习(Un-supervised Learning) 无师自通:自监督学习(Self-supervised Learning) 以点带面:半监督学习(Semi-supervised learning) 明辨是非:对比学习(Contrastive Learning) 举一反三:迁移学习(Transfer

Tutorial 02 – 见微知著:无监督学习(Un-supervised Learning) Read More »

Tutorial 01 – 师徒相授:有监督学习(Supervised Learning)

Learning Methods of Deep Learning create by Deepfinder Agenda 师徒相授:有监督学习(Supervised Learning) 见微知著:无监督学习(Un-supervised Learning) 无师自通:自监督学习(Self-supervised Learning) 以点带面:半监督学习(Semi-supervised learning) 明辨是非:对比学习(Contrastive Learning) 举一反三:迁移学习(Transfer

Tutorial 01 – 师徒相授:有监督学习(Supervised Learning) Read More »

SE(3)-Transformers

SE(3)-Transformers: 3D Roto-Translation Equivariant Attention Networks是一篇研究如何在三维空间中实现旋转和平移等变性的深度学习网络的工作。这种网络通过结合\(SE(3)\)群的等变性,将传统的Transformer结构扩展到了三维空间,从而在不牺牲表达能力的前提下,显著提升了对三维几何信息的建模能力。此项工作为在三维空间中的物理模拟、生物信息学以及计算机视觉等领域的应用提供了强大的工具。 1、SE(3)-Transformer的计算流程 图1展示了一个用于\(SE(3)\)-Transformer等变注意力机制的工作流程。该流程分为四个步骤:首先获取节点的最近邻居及其相对位置,然后通过\(SE(3)\)等变权重矩阵进行特征映射,接着将查询、键和值向量传递到边上,最后通过注意力机制计算并聚合邻居节点的信息。整个过程确保了在旋转等变性下节点特征的更新,适用于需要保持空间对称性的图形数据处理任务。 在第一步中,节点\(\mathrm{i}\)的最近邻居(节点\(\mathrm{j}\))及其相对位置\(x_{j}-x_{i}\)被获取。最近邻居通常通过在三维空间中的某个距离度量来定义,图1中节点\(\mathrm{i}\)和它的邻居节点\(\mathrm{j}\)以向量的形式表示它们之间的相对位置。 在第二步中,重点在于构造\(SE(3)\)等变的权重矩阵\(W(x)\),这是为了确保在\(SE(3)\)群的选择操作下,模型的输出结果保持不变。具体而言,权重矩阵\(W(x)\)是通过结合Clebsch-Gordan系数\(\varrho_{Jm}^{\ell k}\)、径向神经网络\(\varphi_J^{\ell k}(\parallel x\parallel)\)和球谐函数\(Y_{Jm}\left(\frac{x}{\parallel x\parallel}\right)\)来构建的。Clebsch-Gordan系数用于处理不同角动量态之间的耦合关系,径向神经网络则基于距离\(\left|x\right|\)来建模径向特征,而球谐函数用于处理角度方向上的信息。通过这些成分的组合,构建出的权重矩阵能够确保特征在旋转操作下依然保持\(SE(3)\)等变性。这一矩阵为后续计算中的查询、键和值向量提供了基础,使得模型能够在处理三维空间中的数据时保持旋转对称性,即对数据进行旋转时输出结果不会发生改变。这对于处理具有空间对称性的数据(如3D点云、分子结构等)尤其关键。 在第三步中,模型通过\(SE(3)\)等变权重矩阵将节点的特征向量映射为査询(query)、键(key)和值(value)向量,并将这些向量传递到图的边上。具体来说,给定目标节点\(\mathrm{i}\)的特征向量\(f_{i}\)和其邻居节点\(\mathrm{j}\)的特征向量\(f_{j}\),模型首先利用相对位置(\(x_j-x_i\))结合特征\(f_{j}\),通过等变权重矩阵\(W_{K}\)和\(W_{V}\)生成键向量\(k_{ij}\)和值向量\(\boldsymbol{v}_{{ij}}\)。同时,目标节点\(\mathrm{i}\)的查询向量\(q_{i}\)由其自身特征向量\(f_{i}\)通过另一权重矩阵\(W_{Q}\)生成。这个过程确保了在图的每条边上都有与目标节点和邻居节点相关联的查询、键和值向量,且这些向量的生成过程具有\(SE(3)\)等变性,即在旋转和平移操作下保持不变。这一机制为后续的注意力计算和信息聚合奠定了基础,使得模型能够有效地捕捉邻居节点对目标节点的影响,并保证结果的空间变换不变性。 在第四步中,模型利用先前计算的查询、键和值向量,通过注意力机制对邻居节点的信息进行加权聚合。具体来说,目标节点\(\mathrm{i}\)和其邻居节点\(\mathrm{j}\)之间的注意力权重\(\alpha_{ij}\)是通过目标节点的查询向量\(q_{i}\)和邻居节点的键向量\(k_{ij}\)的点积计算得出的,表达式为: \(\alpha_{ij}=\frac{\exp(q_i^\top k_{ij})}{\sum_{j^{\prime}}\exp(q_i^\top k_{ij^{\prime}})}\) 这种注意力权重反映了目标节点\(\mathrm{i}\)对邻居节点\(\mathrm{j}\)信息的关注程度。随后,目标节点的输出特征\(f_{\mathrm{out},i}\)是对所有邻居节点的信息(即值向量\(\boldsymbol{v}_{{ij}}\))进行加权求和后的结果,公式为:

SE(3)-Transformers Read More »

SEGNN

Geometric and Physical Quantities Improve E(3) Equivariant Message Passing是另一篇研究如何通过几何和物理量来增强E(3)等变消息传递的论文。E(3) 等变性指的是在三维欧几里得空间中,模型在平移、旋转和反射变换下保持不变性。在分子模拟和其他三维数据应用中,捕捉输入数据的对称性(如平移、旋转和反射)是至关重要的。SEGNN实际上与TFN非常相似,甚至其模型计算与结构更加简单,但是SEGNN对于一些操作的术语使用与描述更加专业合理,可能在某些情况下提供了更为直观和易于理解的等变性实现方法。另一方面,TFN强调使用张量场来捕捉几何关系,而SEGNN则更多地依赖于图神经网络的结构和消息传递机制。 1、可导向特征 使用可导向向量(Steerable features)是在图神经网络中实现等变性的有效方法。这里的“可导向性”指的是是一类在特定变换下具有特定行为的特征。例如,如果一个结构被旋转,那么它的可导向特征将以已知的方式响应这次旋转。这些特征通常是在网络的设计中引入对称性和等变性原则,以确保在变换(如旋转、平移或反射)下,特征能够保留输入的对称性。简单说,可导向特征确保了特征表示的等变性,即当输入发生变换时,特征表示也会相应变换。 在SEGNN中,可导向向量的定义如下:向量\(\tilde{h}\)被定义为可导向的,这意味着它可以通过矩阵\(\boldsymbol{D}(g)\)来响应变换\(\mathrm{g}\)。例如,在三维空间中,一个欧几里得向量通过旋转矩阵\(\mathrm{R}\)进行变换,为了表示向量在变换下的行为,矩阵\(\boldsymbol{D}^{(l)}(g)\)通常是Wigner-D,根据球谐函数的定义,这些矩阵是\((2l+1)\)维的,可以作用于对应维数的向量空间。Wigner-D矩阵帮助实现了向量在旋转下的等变性,如图1所示。 图1(a)显示了一个可导向向量\(\tilde{\boldsymbol{h}}^{(l)}\)。可导向向量在不同\(\mathrm{l}\)阶的球谐函数子空间中被展开,这里\(l=0,1,2\),分别表示标量空间、向量空间和张量空间。每个子空间通过基函数\(Y_m^{(l)}\)(球谐函数)进行表示,向量的不同分量\(\left[h\right]_l^m\)与对应的阶数的球谐函数相乘,形成了这个向量的完整表达。具体来说,\(Y^{(l)}(x)\cdot Y_m^{(l)}(\cdot)\) 的运算表示在点\(\mathrm{x}\)处的球谐函数展开与基函数\(Y_{m}^{(l)}(\cdot)\)的组合。\(Y^{(l)}(x)\)是一个向量,包含所有磁量子数\(\mathrm{m}\)对应的球谐函数值,\(Y_{m}^{(l)}(\cdot)\)是具体的一个基函数,表示在某个特定模式下的值。\(Y^{(l)}(x)\)和\(Y_{m}^{(l)}(\cdot)\)的乘积表示一种分解和重构方式,将复杂函数表示为一组基函数的线性组合。这种表示在处理具有旋转对称性的系统时非常有效,能够方便地进行旋转和其他对称操作的计算。 图1(b)描述的是展示了应用旋转矩阵\(\mathrm{R}\)后向量\(\tilde{\boldsymbol{h}}^{(l)}\)的变化。每个子空间分别变换,向量的整体形态随着旋转而变化,但其基本结构和信息保持一致,体现了等变性。旋转矩阵\(\mathrm{R}\)的本质是Winger-D矩阵,Wigner-D 矩阵是对球谐函数在旋转下的变换进行描述,保证了每个分量在旋转下的正确变换行为。因此,当应用旋转矩阵\(\mathrm{R}\)时,不同阶数\(\mathrm{l}\)的子空间\(V_{l}\)内的向量部分通过相应的 Wigner-D

SEGNN Read More »

张量场神经网络TFN

张量场网络(Tensor Field Networks, TFNs)源于论文Tensor Field Networks: Rotation- and translation-equivariant neural networks for 3D point clouds,是一个为分子和物质建模量身定制的工具,其设计充分考虑了化学和物理学的原理,特别是对称性和不变性。通过这种方式,TFN提供了一个强大的框架,可以精确地捕捉分子的三维结构和它们如何相互作用。 1、TFN输入数据的Embedding 嵌入层的作用是将每个点的输入特征(例如原子的类型和状态)映射到一个高维空间,从而能更丰富地表示其化学性质和物理状态。在分子建模中,通过嵌入层将每个原子的类型和状态映射到一个高维空间,张量场网络能够更丰富地表示分子的化学性质和物理状态。这种嵌入表示为网络的后续层提供了基础,同时也是可学习的,确保了网络在训练过程中能够优化这些特征来更好地捕捉分子属性。特别是在处理三维空间中的分子时,张量场网络进一步将这些嵌入向量与SO(3)群的表示相关联,允许网络通过一系列不可约表示来捕捉不同旋转对称性级别的信息。 具体来说,张量场网络的每一层的输入和输出都是一个有限节点集\(\mathrm{S}\),这些点位于3D空间\(\mathbb{R}^3\)中,每个节点都有一个与SO(3)群的表示相关联的向量。换句话说,网络中的每个节点不仅仅是三维空间中的一个坐标点,它还携带了一定的附加信息,这些信息以向量的形式体现,且这个向量是如SO(3)群元素那样可以变换的。在物理意义上,这意味着这些向量能够反映点的旋转性质和对旋转的响应方式,确保网络在处理旋转时能够保持一致性和不变性。这些向量实际上就是Winger D矩阵(详见第一章)不同的不可约表示,对应于旋转对称性的不同球谐函数阶数,这被称作\(\mathrm{l}\) -旋转阶数不可约表示。例如,\(l=0\)对应于标量(无方向的量),\(l=1\)对应于向量(有方向的量),而更高的\(\mathrm{l}\)

张量场神经网络TFN Read More »

LEFTNet

1、三种图同构问题 图同构问题是图论中的一个基本问题,它要求确定两个图是否在结构上完全相同。具体来说,这意味着存在一种顶点间的一对一映射,使得两个图中的顶点相互连接的方式完全一致。如果这样的映射存在,这两个图被认为是同构的。图神经网络是一种专为处理图结构数据设计的神经网络架构,它能够通过节点的特征信息和连接模式来学习图的表示。一个优秀的几何GNN模型可以有效地学习和提取节点和边的特征。这种学习方式使得GNN能够捕捉到图的局部和全局结构特征,这是判断图同构问题时的关键。简单说,对于图同构的识别能力是衡量GNN模型表征能力的重要方面。 LEFTNet中,定义了三种图同构结构: (1)树同构:任意邻接的两原子间的距离一致。 (2)三角同构:任意邻接的三原子构成的三角形一致。 (3)子图同构:任意两个三角形的相对位置保持一致。 具体示例如图1所示: 在图1(a)中,展示了一种满足树同构,但不满足三角同构的情况。三角同构不仅仅是距离上的相似,还包括了角度和方向的一致性。在图1(b)中,展示了一种满足三角同构,但不满足子图同构的情况,而LEFTNet的模型设计方向是让模型对这三种情况都有表征能力。 首先,为了满足树同构的要求,作者认为:只要正确抽取原子间距离即可,所有的几何GNN,无论是等变性质的还是不变性质的几乎均满足。 其次,为了满足三角同构的要求,作者认为:三角同构本质上是局域完备性问题。通过设计一个合理的局域正交坐标系,让此局域坐标有能力可以表征局部空间范围内所有的几何向量。同时还需要满足等变要求,通过将原坐标映射到局域坐标,即可满足局域完备性的要求。这里,LEFTNet的模型直接采用ClofNet中提出的局域坐标系。 最后,为了满足子图同构的要求,模型需要将局域完备性扩展到全域完备性,且这个过程是信息无损的。不幸的是,图结构中不同的节点建立的局域坐标系是不同的。不同局域坐标系相对位置不一样,换句话说,对不同局域坐标系对局部范围内点位置信息的建模角度不同,这导致局域信息汇聚过程中遭受信息损失,如图2所示。 如图2所示,点b和点c分别建立了局域坐标系,在这两个局域坐标系下,cluster(团簇)b和cluster c进行了有效映射。但由于局域坐标下的不同,b处的局域信息和c处的局域信息融合时会存在问题。类比理解可以将cluster b和cluster c看作喜结连理的一对夫妻的原生家庭,由于两个原生家庭所在的生活环境不同,直接交流起来难免存在矛盾。这时候怎么办呢?当然是找夫妻的家人或朋友做中间调理人呀!同理,可以通过节点b和c二者共同的邻居们 a(可能不止一个),两个局域坐标系的信息交互与融合便会更加的有效。下面给出相关概念的具体定义: 令\(S_{i}\)表示与上图节点\(\mathrm{b}\)关联的局域\(\text{clusterb}\),这个局域包含节点\(\mathrm{b}\)的所有一跳邻居(1-hop neighbors)。类似的,定义令\(S_{j}\)表示与上图节点\(\mathrm{c}\)关联的局域\(\text{clusterc}\)。这个局域包含节点\(\mathrm{c}\)的所有一跳邻居(1-hop neighbors)。此时可以定义\(S_{i-j}\),表示节点\(\mathrm{b}\)和节点\(\mathrm{c}\)之间的共享或相互的3D子结构。具体来说,是通过取两个局域\(\text{clusterb}\)和\(\text{clusterc}\)的交集来定义的,这意味着\(S_{i-j}\)包括了所有同时是节点\(\mathrm{b}\)和节点\(\mathrm{c}\)的一跳邻居的节点,以及连接这些节点的边。 2、LSE模块提取局域信息

LEFTNet Read More »

Scroll to Top