一张猫的照片旋转 90°,它仍然是猫;但照片中猫头朝向的箭头,也应该跟着旋转 90°。
这两种需求分别对应:
- 不变(Invariant):输入变了,输出保持不变。
- 等变(Equivariant):输入怎么变,输出就有规律地跟着变。
等变网络并不是一种特定模型,而是一类把“对称规律”写进网络结构的设计思想。
先从一个直观例子开始#
假设输入是一张图片,我们把它旋转 90°。
如果任务是判断“图中是不是猫”,理想输出仍然是“猫”。这是旋转不变。
如果任务是标出猫头朝向,那么原本指向右侧的箭头也应旋转 90°。这是旋转等变。
| 任务 | 输入旋转后,输出应该怎样变化? | 需要的性质 |
|---|---|---|
| 图像分类 | 类别不变 | 不变 |
| 关键点定位 | 关键点一起旋转 | 等变 |
| 分子能量预测 | 整体旋转不影响能量 | 不变 |
| 分子受力预测 | 力的方向一起旋转 | 等变 |
旋转实验
旋转输入,观察网络输出如何响应。
拖动角度滑块,再切换“不变”和“等变”。你会发现:不变输出只关心“它是什么”,等变输出还保留了“它朝哪里”。
两个公式就够了#
用 表示输入,用 表示一种变换,例如旋转、平移或重新排列节点,用 表示网络。
不变性#
先变换输入再送入网络,结果与原输入相同。网络忽略了这类变化。
等变性#
先变换输入再计算,等于先计算再对输出做同样的变换。网络没有忽略变化,而是让变化以可预测的方式传递下去。
“群”到底是什么?#
阅读等变网络资料时,经常会看到“群(Group)”。它听起来抽象,其实可以先把它理解为:一套允许使用、并且能够相互组合的变换规则。
例如,平面旋转可以连续做两次;旋转 30° 后再旋转 60°,等于旋转 90°。每次旋转也都能找到反向操作。这套旋转规则就是一个群。
常见的变换包括:
- 平移:图片向左或向右移动。
- 旋转:图像、点云或分子整体转动。
- 反射:像照镜子一样翻转。
- 置换:改变集合或图节点的输入顺序。
所以,“对某个群等变”可以通俗地理解为:网络遵守这一套变换规则。
常见网络里早已有等变性#
CNN:对平移近似等变#
卷积核在图片各处共享参数。同一个边缘无论出现在左边还是右边,都能触发相似的特征。因此,在忽略边界、步长等影响时,卷积对平移具有等变性。
当最后使用 Global Pooling,把整张特征图汇总为一个向量时,位置信息被压缩,输出就更接近平移不变。可以把它看成一条常见路线:
前面用等变层保留结构,最后用不变操作完成分类。
GNN:对节点排列等变#
同一张图的节点编号可以任意改变,但图的连接关系没有改变。消息传递层会让节点特征随编号一起重新排列,因此是置换等变的;把所有节点特征求和或求平均后,得到的整图表示则是置换不变的。
E(3) 等变网络:处理三维几何#
分子和点云生活在三维空间。把整个分子平移或旋转,不应改变它的能量;但每个原子的受力方向应该同步旋转。E(3) 等变网络正是为了遵守这些三维几何规律。
为什么不只做数据增强?#
数据增强会向模型展示许多旋转、平移后的样本,让模型“尝试学会”规律;等变结构则直接规定模型“必须遵守”规律。
这通常带来三个好处:
- 更省数据:不必把每个方向都反复展示给模型。
- 更稳定:模型对未见过的姿态也更容易保持一致。
- 更符合物理规律:在分子、材料、机器人等任务中尤其重要。
代价也很现实:等变层通常更复杂,计算量更大,而且选错对称性会限制模型。例如数字 6 旋转 180° 可能变成 9,此时强行要求旋转不变就是错误的。
怎么判断该用哪一种?#
先问两个问题:
- 哪些输入变化不应改变任务含义?
- 输出是标量、类别,还是带方向和位置的量?
如果输出是类别、能量、分数,通常需要不变性;如果输出是坐标、方向、速度、力,通常需要等变性。实际模型常常两者都用:中间层保持等变,最终读出层根据任务产生不变或等变输出。
三道自测题#
1. 把一张猫图向右平移,分类结果仍是猫。这是什么性质?
平移不变。输入位置改变,但类别输出不变。
2. 分子旋转后,每个原子的预测受力也同步旋转。这是什么性质?
旋转等变。输出方向按照与输入相同的规则变化。
3. 为什么分类网络常在等变层后使用 Pooling?
等变层先保留位置和结构信息,Pooling 再汇总这些信息,得到不依赖具体位置或排列的分类表示。
延伸阅读与相关工作#
建议按下面的顺序阅读:先建立整体认识,再进入二维卷积、集合与三维几何。
- What is an Equivariant Neural Network? ↗:面向初学者的概念综述,适合作为本文之后的第一篇英文材料。
- Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges ↗:从统一视角解释 CNN、GNN 与等变网络,是系统学习的总览。
- Group Equivariant Convolutional Networks ↗:G-CNN 的代表性工作,把普通卷积推广到旋转、反射等变换群。
- General E(2)-Equivariant Steerable CNNs ↗:进一步讨论二维旋转、反射等变卷积,理论内容更深入。
- Deep Sets ↗:理解集合上的置换不变与置换等变,也是学习 GNN 的重要基础。
- Tensor Field Networks ↗:较早系统处理三维旋转、平移等变的神经网络工作。
- SE(3)-Transformer ↗:把三维旋转和平移等变性引入 Attention。
- E(n) Equivariant Graph Neural Networks ↗:结构相对直观,适合从 GNN 进入分子与三维动力学任务。
准备动手实践时,可以从 e3nn 官方文档 ↗ 开始。它提供了 Irreducible Representations、Convolution、Transformer 和等变性测试等教程。
小结#
- 不变性:输入发生特定变换,输出不变。
- 等变性:输入发生特定变换,输出按相同规则变化。
- 群:一套可以组合和逆转的变换规则。
- 设计网络前,应先从任务中寻找真正存在的对称性。
- 常见做法是“中间层等变,最终输出按任务选择不变或等变”。
理解这些直觉后,再学习 Group Convolution、Steerable CNN、SE(3)/E(3) Equivariant GNN,会容易很多:它们解决的核心问题都一样——让模型尊重数据本来就拥有的对称规律。