G2.3 5 分鐘閱讀 2026年10月

G2.3 要不要把方向留下來?

本篇重用1 篇

四個方向都記住了,最後一定要留下來嗎?

現在道路偵測能隨地圖旋轉。若只想分類「是不是台大」,朝哪裡並不重要;若要回傳導航箭頭,朝向卻正是答案。

所以最後一層仍要回到 G1 的問題:這個任務需要 invariant summary,還是 equivariant output? 不能因為方向 channel 已經建立,就一定把它們全部平均掉。

先把方向加掉,位置還在

對四方向 feature h(u,r)h(u,r),定義

s(u)=∑r=03h(u,r).s(u)=\sum_{r=0}^3 h(u,r).

輸入旋轉 qq 後,h′(u,r)=h(Rq−1u,r−q)h'(u,r)=h(R_q^{-1}u,r-q),所以

s′(u)=∑rh(Rq−1u,r−q)=s(Rq−1u).s'(u)=\sum_r h(R_q^{-1}u,r-q)=s(R_q^{-1}u).

這一步只重新索引方向求和。方向 channel 消失,但位置仍一起旋轉。 如果要整個答案 invariant,還需要在保持位置集合的旋轉下再加總位置:

z=∑us(u),z′=z.z=\sum_u s(u),\qquad z'=z.

這就是分類 head 的一個選擇。若改成定位或向量任務,則需要保留對應的空間 action 或 vector representation,而不是把它交給全局 invariant summary。

已有任意模型,可以直接平均四次嗎?

假設已有一個分類函數 ff,不保證旋轉 invariant。一個自然想法是從四個視角各問一次,再平均:

fˉ(x)=14∑g∈C4f(T(g)x).\bar f(x)=\frac14\sum_{g\in C_4}f(T(g)x).

對任意 q∈C4q\in C_4,

fˉ(T(q)x)=14∑g∈C4f(T(gq)x)=fˉ(x).\bar f(T(q)x)=\frac14\sum_{g\in C_4}f(T(gq)x)=\bar f(x).

最後一步因為 g↦gqg\mapsto gq 只重排四個 group elements,沒有增加或刪掉其中一個。這是 group averaging;在這個有限 group 上,它給出精確的 invariant 函數,即使原來 ff 不具有這個性質。

但代價是要算四次。它和 G-CNN 中間各層的共享不同,也不保證 task accuracy 會更好。若任務 label 本來會隨旋轉改變,直接平均不對齊的答案還可能抹去訊號。

補充Equivariant averaging 要先把每次輸出轉回同一個座標系

對線性 output representation ρ\rho,可以定義

Fˉ(x)=1∣G∣∑g∈Gρ(g)−1F(T(g)x).\bar F(x)=\frac1{|G|}\sum_{g\in G}\rho(g)^{-1}F(T(g)x).

重新索引 h=gqh=gq,則 ρ(g)−1=ρ(q)ρ(h)−1\rho(g)^{-1}=\rho(q)\rho(h)^{-1},得到 Fˉ(T(q)x)=ρ(q)Fˉ(x)\bar F(T(q)x)=\rho(q)\bar F(x)。例如平均導航箭頭前,要先把每個旋轉視角的箭頭轉回原座標,不能直接平均四支不同座標系的箭頭。

四個方向不是任意角度

C4C_4 的九十度旋轉能精確重排正方像素格點;三十度旋轉後,原像素常落在格點之間,必須 interpolation。兩次 interpolation 不一定等於一次合成角度的 interpolation,有限影像也可能被裁切。

所以一個 C4C_4-equivariant 網路,應先對四個合法旋轉檢查等式,再把其他角度列為額外的 robustness 測試。不能用「旋轉誤差很小」混合精確 group action 與近似取樣。

若任務真的需要連續旋轉,還能設計不同 feature representations 與 steerable kernels。這會在第二階段的 tensor features 裡展開;這裡先留下最重要的判準:先指定 group 和 feature 型態,再談保證包含哪些變換。

先 pool 方向只得到 scalar field;再 pool 位置才得到全局 invariant 答案。向量輸出則要保留旋轉 action。
先 pool 方向只得到 scalar field;再 pool 位置才得到全局 invariant 答案。向量輸出則要保留旋轉 action。

課堂提問

把四個視角的導航箭頭直接相加,是否與四個視角的分類分數平均一樣合理?

先想一想,再展開看整理後的答案

不一樣。分類分數的類別座標可以固定;箭頭住在各個旋轉後的座標系,先要逆旋轉回同一座標系,才能平均。

動手看一次

在四方向 lifting 下切換旋轉。每個 channel 的強度會重排,但四者的總和不變;這正是保留方向與加總方向的差異。

快速回顧一下

想一想方向 pooling 後是否立刻全局 invariant?

想一想Group averaging 為什麼有保證?

想一想測試 30° 旋轉應怎麼報告?

參考文獻

  1. Cohen 與 Welling(2016),Group Equivariant Convolutional Networks
  2. Cohen 與 Welling(2017),Steerable CNNs