观文听傑

返回

不变网络与等变网络中的几何变换示意图不变网络与等变网络中的几何变换示意图

一张猫的照片旋转 90°,它仍然是猫;但照片中猫头朝向的箭头,也应该跟着旋转 90°。

这两种需求分别对应:

  • 不变(Invariant):输入变了,输出保持不变。
  • 等变(Equivariant):输入怎么变,输出就有规律地跟着变。

等变网络并不是一种特定模型,而是一类把“对称规律”写进网络结构的设计思想。

先从一个直观例子开始#

假设输入是一张图片,我们把它旋转 90°。

如果任务是判断“图中是不是猫”,理想输出仍然是“猫”。这是旋转不变

如果任务是标出猫头朝向,那么原本指向右侧的箭头也应旋转 90°。这是旋转等变

任务输入旋转后,输出应该怎样变化?需要的性质
图像分类类别不变不变
关键点定位关键点一起旋转等变
分子能量预测整体旋转不影响能量不变
分子受力预测力的方向一起旋转等变

旋转实验

旋转输入,观察网络输出如何响应。

输入图形
网络输出 保持不变

拖动角度滑块,再切换“不变”和“等变”。你会发现:不变输出只关心“它是什么”,等变输出还保留了“它朝哪里”。

两个公式就够了#

xx 表示输入,用 gg 表示一种变换,例如旋转、平移或重新排列节点,用 ff 表示网络。

不变性#

f(gx)=f(x)f(gx)=f(x)

先变换输入再送入网络,结果与原输入相同。网络忽略了这类变化。

等变性#

f(gx)=gf(x)f(gx)=g f(x)

先变换输入再计算,等于先计算再对输出做同样的变换。网络没有忽略变化,而是让变化以可预测的方式传递下去。

“群”到底是什么?#

阅读等变网络资料时,经常会看到“群(Group)”。它听起来抽象,其实可以先把它理解为:一套允许使用、并且能够相互组合的变换规则

例如,平面旋转可以连续做两次;旋转 30° 后再旋转 60°,等于旋转 90°。每次旋转也都能找到反向操作。这套旋转规则就是一个群。

常见的变换包括:

  • 平移:图片向左或向右移动。
  • 旋转:图像、点云或分子整体转动。
  • 反射:像照镜子一样翻转。
  • 置换:改变集合或图节点的输入顺序。

所以,“对某个群等变”可以通俗地理解为:网络遵守这一套变换规则。

常见网络里早已有等变性#

CNN:对平移近似等变#

卷积核在图片各处共享参数。同一个边缘无论出现在左边还是右边,都能触发相似的特征。因此,在忽略边界、步长等影响时,卷积对平移具有等变性。

当最后使用 Global Pooling,把整张特征图汇总为一个向量时,位置信息被压缩,输出就更接近平移不变。可以把它看成一条常见路线:

前面用等变层保留结构,最后用不变操作完成分类。

GNN:对节点排列等变#

同一张图的节点编号可以任意改变,但图的连接关系没有改变。消息传递层会让节点特征随编号一起重新排列,因此是置换等变的;把所有节点特征求和或求平均后,得到的整图表示则是置换不变的。

E(3) 等变网络:处理三维几何#

分子和点云生活在三维空间。把整个分子平移或旋转,不应改变它的能量;但每个原子的受力方向应该同步旋转。E(3) 等变网络正是为了遵守这些三维几何规律。

为什么不只做数据增强?#

数据增强会向模型展示许多旋转、平移后的样本,让模型“尝试学会”规律;等变结构则直接规定模型“必须遵守”规律。

这通常带来三个好处:

  1. 更省数据:不必把每个方向都反复展示给模型。
  2. 更稳定:模型对未见过的姿态也更容易保持一致。
  3. 更符合物理规律:在分子、材料、机器人等任务中尤其重要。

代价也很现实:等变层通常更复杂,计算量更大,而且选错对称性会限制模型。例如数字 6 旋转 180° 可能变成 9,此时强行要求旋转不变就是错误的。

怎么判断该用哪一种?#

先问两个问题:

  1. 哪些输入变化不应改变任务含义?
  2. 输出是标量、类别,还是带方向和位置的量?

如果输出是类别、能量、分数,通常需要不变性;如果输出是坐标、方向、速度、力,通常需要等变性。实际模型常常两者都用:中间层保持等变,最终读出层根据任务产生不变或等变输出。

三道自测题#

1. 把一张猫图向右平移,分类结果仍是猫。这是什么性质?

平移不变。输入位置改变,但类别输出不变。

2. 分子旋转后,每个原子的预测受力也同步旋转。这是什么性质?

旋转等变。输出方向按照与输入相同的规则变化。

3. 为什么分类网络常在等变层后使用 Pooling?

等变层先保留位置和结构信息,Pooling 再汇总这些信息,得到不依赖具体位置或排列的分类表示。

延伸阅读与相关工作#

建议按下面的顺序阅读:先建立整体认识,再进入二维卷积、集合与三维几何。

  1. What is an Equivariant Neural Network?:面向初学者的概念综述,适合作为本文之后的第一篇英文材料。
  2. Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges:从统一视角解释 CNN、GNN 与等变网络,是系统学习的总览。
  3. Group Equivariant Convolutional Networks:G-CNN 的代表性工作,把普通卷积推广到旋转、反射等变换群。
  4. General E(2)-Equivariant Steerable CNNs:进一步讨论二维旋转、反射等变卷积,理论内容更深入。
  5. Deep Sets:理解集合上的置换不变与置换等变,也是学习 GNN 的重要基础。
  6. Tensor Field Networks:较早系统处理三维旋转、平移等变的神经网络工作。
  7. SE(3)-Transformer:把三维旋转和平移等变性引入 Attention。
  8. E(n) Equivariant Graph Neural Networks:结构相对直观,适合从 GNN 进入分子与三维动力学任务。

准备动手实践时,可以从 e3nn 官方文档 开始。它提供了 Irreducible Representations、Convolution、Transformer 和等变性测试等教程。

小结#

  • 不变性:输入发生特定变换,输出不变。
  • 等变性:输入发生特定变换,输出按相同规则变化。
  • 群:一套可以组合和逆转的变换规则。
  • 设计网络前,应先从任务中寻找真正存在的对称性。
  • 常见做法是“中间层等变,最终输出按任务选择不变或等变”。

理解这些直觉后,再学习 Group Convolution、Steerable CNN、SE(3)/E(3) Equivariant GNN,会容易很多:它们解决的核心问题都一样——让模型尊重数据本来就拥有的对称规律。

从零理解等变网络与不变网络
https://zwjcode.cn/blog/equivariant-invariant-networks
作者
发布于 2026年8月16日
版权协议 CC BY-NC-SA 4.0
评论加载似乎遇到了问题,请尝试刷新页面。