G2.3 要不要把方向留下來?
四個方向都記住了,最後一定要留下來嗎?
現在道路偵測能隨地圖旋轉。若只想分類「是不是台大」,朝哪裡並不重要;若要回傳導航箭頭,朝向卻正是答案。
所以最後一層仍要回到 G1 的問題:這個任務需要 invariant summary,還是 equivariant output? 不能因為方向 channel 已經建立,就一定把它們全部平均掉。
先把方向加掉,位置還在
對四方向 feature ,定義
輸入旋轉 後,,所以
這一步只重新索引方向求和。方向 channel 消失,但位置仍一起旋轉。 如果要整個答案 invariant,還需要在保持位置集合的旋轉下再加總位置:
這就是分類 head 的一個選擇。若改成定位或向量任務,則需要保留對應的空間 action 或 vector representation,而不是把它交給全局 invariant summary。
已有任意模型,可以直接平均四次嗎?
假設已有一個分類函數 ,不保證旋轉 invariant。一個自然想法是從四個視角各問一次,再平均:
對任意 ,
最後一步因為 只重排四個 group elements,沒有增加或刪掉其中一個。這是 group averaging;在這個有限 group 上,它給出精確的 invariant 函數,即使原來 不具有這個性質。
但代價是要算四次。它和 G-CNN 中間各層的共享不同,也不保證 task accuracy 會更好。若任務 label 本來會隨旋轉改變,直接平均不對齊的答案還可能抹去訊號。
補充Equivariant averaging 要先把每次輸出轉回同一個座標系
對線性 output representation ,可以定義
重新索引 ,則 ,得到 。例如平均導航箭頭前,要先把每個旋轉視角的箭頭轉回原座標,不能直接平均四支不同座標系的箭頭。
四個方向不是任意角度
的九十度旋轉能精確重排正方像素格點;三十度旋轉後,原像素常落在格點之間,必須 interpolation。兩次 interpolation 不一定等於一次合成角度的 interpolation,有限影像也可能被裁切。
所以一個 -equivariant 網路,應先對四個合法旋轉檢查等式,再把其他角度列為額外的 robustness 測試。不能用「旋轉誤差很小」混合精確 group action 與近似取樣。
若任務真的需要連續旋轉,還能設計不同 feature representations 與 steerable kernels。這會在第二階段的 tensor features 裡展開;這裡先留下最重要的判準:先指定 group 和 feature 型態,再談保證包含哪些變換。
課堂提問
把四個視角的導航箭頭直接相加,是否與四個視角的分類分數平均一樣合理?
先想一想,再展開看整理後的答案
不一樣。分類分數的類別座標可以固定;箭頭住在各個旋轉後的座標系,先要逆旋轉回同一座標系,才能平均。
動手看一次
在四方向 lifting 下切換旋轉。每個 channel 的強度會重排,但四者的總和不變;這正是保留方向與加總方向的差異。