本篇重用1 篇
箭頭的兩個數字,不是兩個無關的 channel
前面用四個方向 channel 表示朝向,旋轉只重排它們。現在想直接預測導航箭頭 v=(v1,v2)。轉九十度後,它會變成 (−v2,v1);兩個分量會交換,而且出現負號。
如果每個分量都先做 ReLU,負號就可能被抹掉。我們能不能仍把所有 feature 都當成普通 scalar channels?
先問每種 feature 在旋轉後代表什麼。全局溫度 scalar s 不變,ρs(R)=1;方向向量 v 變成 Rv,ρv(R)=R;四個方向的響應則由四維 permutation matrix 重排。這些矩陣都保留旋轉組合,所以是 linear representations。
Representation 的目的,是讓我們知道「這幾個數字一起描述哪一種幾何物件」,不是給每個 channel 多貼一個名稱。
線性 layer 的兩條路要相同
若 input feature 的 representation 是 ρin,output 的是 ρout,線性 layer W 要滿足
Wρin(R)h=ρout(R)Wh.
對所有 h 成立,因此要求
Wρin(R)=ρout(R)W.
左邊先轉 input,右邊先運算再轉 output。這叫 intertwining condition;它實際就是 G1 的一致性要求套到矩陣上。
若輸入是單一 scalar、輸出是單一向量,沒有位置或其他方向資訊,W 是一支固定向量。要求 W=RW 對所有平面旋轉成立,唯一解是 W=0。只憑一個沒有方向的數字,不能用線性運算製造一個有偏好的方向。
有位置的 kernel,條件會怎麼變?
對 feature field h(u),旋轉會同時搬位置與轉分量:
[T(R)h](u)=ρin(R)h(R−1u).
考慮 F(h)(u)=∑vK(v)h(u+v)。代入旋轉後的輸入,再令 v=Rw,左邊的係數是 K(Rw)ρin(R);先算再旋轉的係數是 ρout(R)K(w)。
兩條路逐項相同,需要
K(Rw)=ρout(R)K(w)ρin(R)−1.
位置 w 可以提供方向,所以 scalar field 到 vector field 並非只能輸出零。條件要求的是 kernel 的位置與分量互相配合。Cohen 與 Welling [1] 的 Steerable CNNs 系統化利用 feature representation 來設計這類 layers;這裡先把它所遵守的限制推出來。
ReLU 的反例,真的算一次
令 v=(1,−1),九十度旋轉後 Rv=(1,1)。逐分量 ReLU 得到
ReLU(Rv)=(1,1),RReLU(v)=R(1,0)=(0,1).
兩條路不同,所以它不 rotation-equivariant。
一個替代方法是隻用向量長度決定縮放比例,保留方向:
ϕ(v)=a(∥v∥)v.
這叫 norm gating。因為旋轉不改 norm,
ϕ(Rv)=a(∥Rv∥)Rv=R(a(∥v∥)v)=Rϕ(v).
a 可以是可學的 scalar 函數。這個例子不是說所有向量 activation 都只能這樣做,而是展示一個符合 action、可以直接驗證的選擇。
Feature 型態決定運算限制:scalar 不變、vector 旋轉、方向 channel 重排;activation 要與各自 action 交換。
課堂提問
如果用 ReLU 處理四個方向的 scalar 響應是合法的,為什麼不代表也能逐分量處理二維向量?
先想一想,再展開看整理後的答案
四個方向的 action 只重排數值,相同 scalar 函數與重排可交換;二維向量的旋轉會混合分量與符號,ReLU 不與這種矩陣作用交換。
動手看一次
選擇 Vector activation,切換旋轉,對照逐分量 ReLU 與 norm gating 的 defect。圖中的兩支箭頭來自先旋轉或先 activation 的兩條路。
快速回顧一下
參考文獻
- Cohen 與 Welling(2017),Steerable CNNs
- Cohen 與 Welling(2016),Group Equivariant Convolutional Networks