Harmonic Networks 筆記
變換等變性 (Transformation Equivariance)
直接將輸入變換與特徵向量變換相關聯的所追求的屬性稱為等變性。換另外一種說法,就是輸入圖片變換之後,feature map產生相應的變換,比如圖片產生平移,feature map也發生了平移,圖片旋轉度,feature map同樣旋轉度,這種屬性就叫做變換等變性。
等變性 vs 不變性 不變性不同於等變性,不變性是指特徵向量在輸入的所有變換下保持不變。比如無論輸入圖片怎麼平移,輸出的feature map都不變。不變性是等變性的一種特殊情況。
等變性可以保留變換後圖片的大量細節特徵,減少變換的損失,這些豐富的特徵沿著網路傳遞下去,提高模型的效能。對於分類任務,不變性比較重要,但是對於定位任務、語義分割任務,等變性更加重要。
在計算機視覺任務中常考慮的兩種等變性分別是平移等變性和旋轉等變性。
平移等變性 (Translation Equivariance)
平移等變性的理解如下圖所示
輸入圖片經過平移變換得到另外一張圖片。通過CNN後得到feature map ,feature map 同樣經過相應的平移變換得到另一個feature map 。平移等變性體現在。注意兩個平移變換和是不相等的,因為卷積池化導致的空間上的不同。如果是自身對映函式,那麼,這就是平移不變性。
因為卷積層的滑動窗體卷積的操作,平移等變性是CNN固有的屬性。而旋轉等變性卻不是CNN固有的屬性。
旋轉等變性 (Rotation Equivariance)
旋轉等變性的理解如下圖所示
和平移等變性一樣,旋轉等變性體現在,是旋轉角度。
為了讓CNN有旋轉等變性,有許多方法已經被提出來了。這些方法分為:編碼全域性旋轉等變性和編碼區域性旋轉等變性(patch-wise equivariance),這些方法或者旋轉過濾器或者旋轉feature map。
編碼全域性旋轉等變性的方法是這樣的,把訓練圖片旋轉不同的角度,從而使卷積網路具有全域性旋轉等變性。但是這種方法得到的結果區域性區域還是變化的,如下圖所示:
右下圖從旋轉得到的feature map中取出人臉部分並擺正,可以看到得到的feature map區域性細節是不斷產生變換的。理想的旋轉等變性應該是這樣的,變換的只是旋轉角度,其他內容相對保持不變,因此理想的效果是右下圖的人臉保持不變。
上述的方法也是旋轉feature map的方法。編碼區域性旋轉等變性的方法是旋轉過濾器的方法,以捕獲區域性的旋轉等變性。
這些方法通過旋轉feature map或過濾器來獲取旋轉等變性,但是取的旋轉角度是離散的,不是連續的,為了取得更好的效果,就要嘗試更多的離散旋轉角度。Harmonic Networks,或者說H-Nets不同於上面的方法,它採用了steerable filters,通過限制過濾器在圓形諧波族(circular harmonics family)中,把區域性360°旋轉等變性融入到模型中。Steerable filters指具有可操作性的過濾器,它可以在任何旋轉處被構造為基礎過濾器的有限線性組合。Steerable filters可以去掉對應不同旋轉角度的過濾器,減少了網路的引數,因此,H-Nets可以被看作是使用無限旋轉的過濾器的副本。
H-Nets的旋轉等變性效果是
CNN和H-Nets二者的等變性比較
通過對比可知H-Nets的旋轉等變性效果很好。
Prior Knowledge
首先了解讀懂這篇論文的先驗知識。
Complex number1
複數的一般表示為:,在複數平面中,橫軸表示實部,縱軸表示虛部,座標為。複數還有其他表示形式。
極座標表示形式
就是把複數平面轉變成極座標系。在極座標中,複數z的絕對值或模,z的夾角,座標為。
從極座標形式到笛卡爾座標形式的轉換,因此z在極座標形式的符號是。
根據尤拉公式,z又可以寫成,這叫做“指數形式”。
矩陣表示式
複數表示為矩陣表達形式:
複數運算
複數加法 在複平面中,兩個點A和B的和是點X = A + B使得頂點0, A, B的三角形和頂點A, B, X的三角形是全等的。
設,則。
複數乘法 在複平面中,兩個點A和B的積是點X = AB使得頂點0, 1, A的三角形和頂點0, B, X的三角形是相似的。
設,則。考慮極座標形式,設,則,從圖可以看到X的角座標等於A的角座標加B的角座標。
複數共軛 點A的共軛複數是點X = A*使得頂點0, 1, A的三角形和頂點0, 1, X的三角形相互是映象。
設,則。
複數在訊號分析的應用
訊號分析和其他領域使用複數可以方便的表示週期訊號。模值表示訊號的幅度,輻角表示給定頻率的正玄波的相位。利用傅立葉變換可將實訊號表示成一系列周期函式的和。這些周期函式通常用形式如下的複函式的實部表示: 其中w對應角頻率,複數z包含了幅度和相位的資訊。
Circular harmonics
圓諧波(Circular harmonics)是球諧波(Spherical harmonics)的在二維空間上的版本。 Spherical harmonics2: 球形諧波可以在3d中用於將照明環境投射到一小組係數中,這些係數緊湊地表示來自所有方向的射入光。 Circular harmonics2: 圓諧波就像球諧波的小兄弟,可以用來有效地編碼基於單個角度而不是兩個角度變化的值。就像球諧波一樣,任何角度變換的有趣屬性都可以用這種方法表示。
網上關於Circular Harmonics的介紹資訊比較少,從YouTube3上看到了一個有意思的關於Circular Harmonics視訊,我下載下來放在這裡
上面的公式是 其中m是旋轉階(rotation order),是相位,它等價於複數z,模,幅角。上面的影象是這樣畫出來的(個人理解),固定m和,在極座標中,夾角為,半徑為,當時,隨著的值增大,半徑由1變為-1,再變為1,如此迴圈,紅色的曲線表示負值。當時,半徑同時受到和,當或者固定時,整個曲線是一個2葉草形狀,隨著增大,整個曲線圖形逆時針旋轉。當m變大後,就會出現4葉草,8葉草等形狀。rotation order為m,圖形為葉草。
Rotation order的一種說法是,把圖形旋轉360,新圖形與原圖形重合的次數是rotation order。先不考慮m=0的情況,當m=1時,把上面的曲線圖形旋轉360度,重合了1次(注意曲線顏色),當m=2時,重合了2次,等等。考慮固定m和,一個點A,距離原點,繞著原點旋轉,與極軸的夾角是,當m=1時,A繞著原點旋轉360度回到原來位置的次數是1,m=2時,A繞著原點旋轉360度回到原來位置的次數是2。Rotation order還可以理解成A的旋轉角速度,或者旋轉頻率,m越大,A繞著原點旋轉的速度越大,A繞著原點旋轉360度回到原來位置的次數也越多。
說了那麼多,可能對理解Harmonic networks有用,也可能沒用。說了這麼多也因為上面這個視訊展示了Circular Harmonics的美妙。
Harmonic Networks
複數圓形諧波(circular harmonics)過濾器
H-Nets使用複數圓形諧波過濾器,它的形式是