論文筆記《Active Convolution: Learning the Shape of Convolution for Image Classification》
研究背景
近年來,深入學習在許多計算機視覺應用中取得了巨大的成功。傳統的卷積神經網路(CNN)成為最近幾年計算機視覺研究的主要方法。
AlexNet 迄今為止,關於CNN的大多數研究集中在開發諸如Inception , residual networks的這種網路結構上。 卷積單元通常設定為3*3,5*5,11*11 這種固定的卷積單元。但是卷積層是CNN的核心,卻很少有研究針對卷積單元本身。
CNN模型 |
Layers |
convolutions |
Contribution |
ILSVRC top-5 error |
AlexNet |
8層(5 +3) |
3*3 , 5*5 , 11*11 |
Dropout ReLU |
16.4% |
VGGNet |
16層(13+3) |
1*1,3*3 |
1*1卷積核 更深的網路效果更好 |
7.3% |
GoogleNet |
22層 |
1*1 , 3*3 , 5*5 |
Inception |
6.7% |
ResNet |
152 |
1*1 , 3*3 , 7*7 |
shortcut |
3.57% |
研究內容
在本文中,提出了一種新的卷積單元。和傳統的卷積單元及其變形不同,這種卷積單元並不具有一個固定的感受野,並且它能為不同的卷積層獲得不同的感受野。
由於卷積單元的形狀可變,因此稱它為主動卷積單元ACU(Active Convolution Unit)。這種新的卷積單元沒有固定的形狀,它的形狀是在訓練的過程中學習得到的。因此我們可以定義任何形式的卷積。
一,ACU的優點
ACU的優點
1,ACU是一般化的卷積;它不僅可以定義所有傳統的卷積,還可以定義具有區域性畫素座標的卷積。我們可以自由地改變卷積的形狀,從而提供更大的自由形成CNN結構。
2,卷積的形狀是在訓練時學習的,沒有必要手動調整。
3,ACU可以比傳統的卷積單元更好地學習,可以通過將傳統卷積改為ACU來獲得改進。
ACU:一種新的帶位置引數的卷積單元
ACU具有更強的表達能力
2,位置引數的學習
傳統的卷積可用如下等式描述:
ACU除了要訓練學習 weight 和 bais 引數外,還要學習位置引數來控制突觸在神經元之間的連線位置。
通過θp,可以定義ACU:
線性插值
雙線性插值
前向傳播
反向傳播
位置引數的學習
由此可以看出來只與權重有關
3,梯度歸一化
突觸位置的反向傳播值的大小控制其移動的大小。如果該值太小,突觸停留在幾乎相同的位置,因此ACU無效。相比之下,一個大的值使得突觸變化多樣化。因此,控制移動的大小很重要。
相對於位置的偏導數取決於權重,並且反向傳播的誤差可以在層之間波動。因此,確定位置的學習率比較困難。
減少層間梯度波動的一種方法是僅使用導數的方向,而不是大小。當我們使用歸一化的位置梯度時,我們可以很容易地控制移動位置的大小。在實驗中觀察到,使用歸一化梯度使得訓練更容易,並獲得了良好的效果。
歸一化的位置梯度定義為:
初始的學習率設定為 0.001 ,這意味著突觸在每次迭代後,只能移動 0.001 個畫素點。也就是說,在一千次迭代後,突觸最多隻能移動一個畫素點。
由於最開始的weight值是一般是從隨機分佈中初始化得到的,早期的突觸的移動會變得相對隨機,這使得position可能會保持區域性最小值。
在早期的迭代中,網路的卷積單元具有固定的形狀。之後才開始同時學習weight和position,這樣會幫助突觸學習到一個更穩定的形狀。
實驗過程及結果
ACU with a Plain Network
1,僅包含卷積層,不含池化層
2,使用了批歸一化,ReLU
3,突觸初始形狀和傳統的3*3卷積單元相同
4,使用 CIFAR-10/100 資料集
網路結構
位置的學習
ACU with the Residual Network
總結
ACU ( Active Convolution Unit ) 相比傳統的卷積單元擁有更好的靈活性,因此在表達能力上更強。使用ACU會增加較少的 position 引數,position 可以在反向傳播中得到學習。
實驗結果表明,通過簡單地改變卷積單元的結構,網路取得了更好的 performance