Group Equivariant Convolutional Networks
Cohen T, Welling M. Group equivariant convolutional networks[C]//International conference on machine learning. 2016: 2990-2999.
https://github.com/tscohen/gconv_experiments
傳統的卷積具有平移不變性(translation symmetry):對輸入圖片進行平移後再輸入網絡,得到的輸出與未平移的輸出仍然滿足平移關係
提取不變性的數學表達式:
x表示輸入,Tg表示變換,Φ表示特徵提取過程(即卷積過程),上式的含義是輸入x經過平移變換得到Tgx,對Tgx提取特徵,等價於:直接對x提取特徵再進行Tg′變換。對於平移不變性而言,這邊的變換Tg和Tg′等價,均爲平移變換。
進一步理解不變性:
根據上圖,有兩張臉x和y,兩者經過特徵提取之後映射到同一個點Φ(x)=Φ(y),假設對這兩張臉進行變換Tg1,得到旋轉後的臉Tg1x和Tg1y,再進行特徵提取,得到Φ(Tg1x)和Φ(Tg1y),根據變換不變性:Φ(Tgx)=Tg′Φ(x),有:
Φ(Tg1x)=Tg2Φ(x)
Φ(Tg1y)=Tg2Φ(y)
又因爲Φ(x)=Φ(y),所以得到Φ(Tg1x)=Φ(Tg1y),即:旋轉之後再提取特徵,兩張臉還是能夠被映射到同一個點,即具有旋轉不變性
那麼,爲什麼傳統的CNN會具有平移不變性呢? 作者對此進行了如下推導:
首先傳統CNN的卷積過程可以表示爲:
上面的式子表示卷積,下面的式子表示相關(correlation),兩者應用於CNN時從訓練結果上講是等價的。x表示座標,f表示特徵圖,l表示第l層,Kl表示通道數,ψ表示卷積核,上式表現了一個卷積核ψ在特徵圖上卷積的過程。
那麼,假設對輸入的特徵圖f做位移:y→y+t,可以得到以下推導過程:
Lt表示進行位移t的變換,上式表明:先對特徵圖f進行位移t的變換再通過卷積核ψ提取特徵,等價於:先通過卷積核ψ提取特徵,再進行位於t的變換。由此,得到位移不變性。
那麼,爲什麼傳統的CNN沒有旋轉不變性呢? 作者進行了對應的旋轉變換的推導證明[[Lrf]∗ψ](x)=Lr[f∗[Lr−1ψ]](x):
[[Lrf]⋆ψ](x)=∑yf(Ary)ψ(y−x)=∑yf(y)ψ(Ar−1y−x)=∑yf(y)ψ(Ar−1(y−Arx))=Lr[f⋆[Lr−1ψ]](x)
其中,Ar表示旋轉矩陣。
直觀上理解,若對特徵圖進行旋轉之後再進行卷積,等價於:對卷積核做反向的旋轉,再對原始特徵圖進行卷積,再把卷積得到的結果旋轉回來。這與不變性的定義不符(按照不變性的定義,應該是等價於:特徵圖直接與卷積核卷積,再進行旋轉),因此,傳統的CNN沒有旋轉不變性。
以下是腦洞(存在問題):
假設我們定義一個新的卷積操作:
[f⋄ψi](θ)=∑y∈Z2∑k=1Klfk(y)ψki(Aθ−1y)
其中,Aθ表示旋轉角度爲θ的旋轉矩陣。
根據這個卷積操作,推導旋轉不變性:
[[Lrf]⋄ψ](θ)=∑yf(Ary)ψ(Aθ−1y)=∑yf(y)ψ(Ar−1Aθ−1y)=∑yf(y)ψ(A(θ+r)−1y)=Lr[f⋄ψ](θ)
作者由此提出了G-CNN,定義了一個新的卷積操作:
其中g∈G,表示變換的集合,在第一層之後,上式各函數可以定義在離散集合G上:
推導不變性,h→uh:
這篇文章的主要思想如上。