Equivariance in DL:從平移不變到 E(3) 等變
什麼是 Equivariance?
Equivariance(等變性)是深度學習中一個優雅的概念。一個函式 f 對群 G 等變,意味著:
對輸入施加群作用 g,等價於對輸出施加相同的群作用。即
f(g·x) = g·f(x)。
最直覺的例子是 CNN:卷積操作對平移具有等變性——把圖片往右移 5 pixel,feature map 也跟著往右移 5 pixel。這不是巧合,而是卷積的數學結構保證的。
為什麼 Equivariance 重要?
在處理 3D 分子、蛋白質結構、粒子物理等問題時,資料天然具有幾何對稱性。一個分子旋轉後還是同一個分子,物理規律不會因為你選的座標系而改變。
如果模型不具備對應的等變性,它需要從資料中「學習」這些對稱——這意味著需要更多資料和更大的模型。等變網路則是把對稱性直接 bake into 模型架構中。
歷史脈絡:四個里程碑
1. CNN → 平移等變(1989-)
LeCun 的 CNN 是最早利用等變性的深度學習模型。卷積操作的 weight sharing 自然保證了平移等變性。Pooling 則提供了近似的平移不變性(注意等變和不變的區別)。
2. Spherical CNN → 旋轉等變(2018)
Cohen et al. 的 Spherical CNN 將等變性從平面上的平移推廣到球面上的旋轉。核心想法是用球諧函數(Spherical Harmonics)作為基底,在頻譜域上做卷積。
這對天文學(天球影像)和氣候科學(地球表面資料)特別有用——這些資料天然定義在球面上。
3. SE(3)-Transformer(2020)
Fuchs et al. 提出的 SE(3)-Transformer 將等變性帶入 Transformer 架構。SE(3) 是三維空間中的剛體運動群(旋轉 + 平移),這對分子和蛋白質建模至關重要。
關鍵創新是設計了等變的 attention 機制——attention weights 只依賴於原子間的相對位置和方向,不依賴絕對座標。
4. EGNN(2021)
Satorras et al. 的 E(n) Equivariant Graph Neural Network 提供了一個更簡潔的方案。不需要球諧函數或不可約表示,只用簡單的向量運算就能保證等變性。
EGNN 的核心洞察是:如果你只用相對位移向量和距離來更新節點特徵,等變性就自動成立。這大幅降低了實作複雜度。
實作工具:e3nn
e3nn 是一個 PyTorch 套件,提供了構建等變神經網路所需的基礎組件:
- 不可約表示(Irreducible Representations)的張量積運算
- 等變的線性層、非線性層、正規化層
- 球諧函數的高效計算
- 與 PyTorch Geometric 的整合
展望
等變神經網路正在從一個學術研究方向走向實際應用。AlphaFold2 中的 Invariant Point Attention、分子動力學模擬中的力場預測、材料科學中的性質預測——這些都受益於等變架構。
核心啟示是:好的歸納偏置(inductive bias)能讓模型用更少的資料學到更好的表示。等變性就是一種特別強大的歸納偏置。