本篇重用1 篇
只知道距離,怎麼還能說往哪裡推?
站在桌子的哪個位置,不該改變原子之間的力。想像兩個人拉著一條繩子:我們不必知道他們離房間原點多遠,只要知道兩人相隔多遠、彼此在哪個方向,就能描述拉動。
對兩個原子,先寫相對位移與平方距離:
rij=xi−xj,dij2=∥rij∥2.
rij 是從 j 指向 i 的向量;dij2 是不帶方向的 scalar。一個可以決定「多大」,另一個可以決定「朝哪裡」。
整個分子搬動後,它們怎麼變?
先暫時不重編原子。若 xi′=Qxi+b,
rij′=(Qxi+b)−(Qxj+b)=Qrij.
共同平移消失。再計算距離:
dij′2=(Qrij)⊤(Qrij)=rij⊤Q⊤Qrij=dij2.
這對所有 orthogonal Q 成立,包括 reflection。相對向量是 equivariant,距離是 invariant。
若還重排原子,兩個量只需一起換 (i,j) 的對應;因此與 G5 的 edge feature action 相容。
讓距離決定大小,相對位置決定方向
用共享 scalar 函數 c,
cij=c(hi,hj,dij2).
假設 hi,hj 是幾何 invariant 的 scalar features,那麼旋轉或平移後 cij′=cij。定義 coordinate displacement
Δxi=j∈N(i)∑cijrij.
變換後
Δxi′=j∑cijQrij=QΔxi.
大小不變、方向一起轉,sum 也一起轉。 這已經是我們需要的 vector action。更新 xi+=xi+Δxi 後,
xi′+=Qxi+b+QΔxi=Qxi++b.
所以座標更新保留平移;位移本身則不帶平移。Satorras 等人 [1] 在 EGNN 中使用這個核心結構。
把這些相對量接成可學的 layer
大小與方向已經能合法地組合,但我們不只想看原始距離,還想逐輪更新原子的環境,再讓這份資訊影響下一次移動。這正好能接上 G5 的 message passing。
Satorras、Hoogeboom 與 Welling [1] 的 E(n)-Equivariant Graph Neural Network(EGNN) 使用 scalar features 與座標做這件事。以下以 d 表示空間維度,避免把論文名稱的 n 與原子數混淆。
三個更新,各自負責哪種資料?
Layer ℓ 的座標與 scalar features 是 xiℓ,hiℓ。先寫 message:
mij=ϕe(hiℓ,hjℓ,∥xiℓ−xjℓ∥2,eij).
ϕe 在所有 edges 共享,eij 是幾何 invariant 的 edge attributes,例如鍵型別。mij 仍是 scalar feature 向量,不是空間方向向量。
用另一個 scalar 輸出函數 ϕx 決定位移大小:
xiℓ+1=xiℓ+Cij∈N(i)∑(xiℓ−xjℓ)ϕx(mij).
Ci 是和 node 身份一致的 normalization,例如完整圖中用 1/(n−1)。接著更新 scalar feature:
hiℓ+1=ϕhhiℓ,j∈N(i)∑mij.
這是本章使用的 EGNN-style layer;實際模型還可以有 attention、residual 等變形,但每次增加運算都要重新檢查 action。
前面的幾何推導,能不能用在整層?
將座標改成 Qxiℓ+b,距離、scalar features 與 edge attributes 都不變,所以 mij 和 ϕx(mij) 不變。Coordinate update 因而正是前面已證過的「scalar 乘相對向量」:
xi′ℓ+1=Qxiℓ+1+b,hi′ℓ+1=hiℓ+1.
一層後,座標仍是座標,scalar features 仍是 scalar features,下一層才能沿用同樣規則。
再檢查原子重編
把 (xi,hi) 改成 (xπ(i),hπ(i)),鄰居與 edges 也一起重編,mij′=mπ(i),π(j)。將加總重新索引,得到
xi′ℓ+1=xπ(i)ℓ+1,hi′ℓ+1=hπ(i)ℓ+1.
兩種 action 合起來,就是 G6.0 的聯合 action。Proof 仍與 MLP 訓練值無關;幾何保證來自資料型態與運算,不是來自最後的 loss 很小。
鄰居圖也算架構的一部分
如果使用原本固定的 molecular graph,它只隨原子重編。若每層重新用 cutoff distance 建圖,距離不變,所以合法邊集也不變。
但使用 k-nearest neighbors 時,恰好相同距離的 tie 若用 row index 決定,重編可能選到不同鄰居。這在一般隨機點中少見,卻是精確保證的邊界;可以保留全部 ties,或明確處理並單獨測試。
Ci 若是 degree normalization,也要跟著自己的 node 重新排列。把一個依 row index 定義的額外係數放進去,會破壞 permutation equivariance,即使其他幾何項正確。
補充距離可以組合幾何資訊,但不能留下鏡像的符號
Inner product 也不變:(Qrij)⊤(Qrik)=rij⊤rik。結合 norms 可以描述角度;完整 pairwise distances 在合適條件下也能約束形狀。但單條 edge 的距離不會立刻告訴我們第三個點在哪裡,模型如何組合這些關係仍影響表示能力。
所有距離在 reflection 下都相同,因此即使知道全部距離,仍不能辨認鏡像的 orientation。這個問題留到 G6.3。
補充等變位移,不一定是物理力
若 scalar 權重不對稱,cij=cji,兩條有向邊的貢獻相加為
cijrij+cjirji=(cij−cji)rij,不一定抵消。幾何等變不自動保證總力為零、動量守恆或來自某個 energy。若 target 是 force,下一篇會從 invariant energy 的 gradient 加入這份結構。
EGNN 以 invariant edge messages 更新 scalar features,並用 scalar 權重乘相對位移更新 coordinates。
課堂提問
若 message 的 MLP 完全沒有訓練,EGNN 的幾何等變性會因此不成立嗎?
先想一想,再展開看整理後的答案
不會,只要運算、鄰居圖和資料型態符合上述條件,任意參數都保留等式。但未訓練模型的 task error 仍可能很大。
動手看一次
改變幾何變換,檢查 distance 與 force defect。Demo 使用解析 energy 的 gradient 展示向量 action;完整 EGNN coordinate update 則在實作篇逐項測試。
快速回顧一下
參考文獻
- Satorras、Hoogeboom 與 Welling(2021),E(n) Equivariant Graph Neural Networks