主動卷積:為圖像分類任務學習卷積的形狀
來自專欄 Paper Reading14 人贊了文章
在卷積神經網路中,最常採用矩形的卷積核來學習圖像的空間特徵。然而,圖像中具有表示能力的特徵通常並不都是矩形的,最終模型需要為此付出額外的計算和優化代價。是否可以在學習卷積核的權值參數的同時,學習卷積核的形狀呢?這篇文章提出了一種叫做「主動卷積單元(ACU)」的結構實現了這一目的。
事實上,2014年發表的Deformable Part Models are Convolutional Neural Networks一文中,作者即通過一個非常稀疏的卷積操作來取代經典物體檢測框架DPM中的「錨(Anchor)」,但這一卷積操作是固定的,不可以根據訓練數據進行學習。
而在2015年發表的Spatial Transform Network 一文中,作者則通過額外的定位模型預測生成採樣網格,再對特徵圖進行採樣得到新的特徵圖,從中提取了對當前學習的任務最為有用的部分:
和Spatial Transform Network相關的方向逐漸成為視覺領域深度學習的研究熱點,包括近期MSRA提出的Deformable Convolution Network和CVPR 2017的多篇文章。而這篇文章提出的ACU則通過為每個卷積核學習一系列採樣位置,實現可以學習卷積核形狀的卷積操作:
計算卷積結果時,卷積核在輸入的特徵圖上滑動,通過雙線性插值得到每個採樣位置對應的採樣值,再與權值相乘並累加後得到最終的輸出。可見,ACU與傳統的卷積操作最大的不同在於採樣位置的引入。
顯然,ACU是傳統卷積操作的一種推廣:它不再局限於離散的像素點,而是可以對輸入特徵圖進行空間上連續的採樣,以獲取更好的表示能力;同時它可以表示所有傳統的卷積操作,例如3*3的卷積,甚至有孔洞的卷積(dilated convolution),只要將採樣位置固定在一系列對應的位置即可。
ACU的計算過程包括兩個部分,即將採樣位置的雙線性插值和傳統卷積的計算過程。這兩個過程的前向傳播和反向傳播過程都比較容易實現,因此整個ACU的前向傳播過程可以表示為:
而反向傳播過程則可以表示為:值得注意的是,當採樣點恰好落在輸入特徵圖的格點上時,輸出對採樣位置的偏導將不存在。不過作者的實驗結果表明,如果對採樣位置選取合適的學習率,這一現象最終不會引發問題。同時,作者通過歸一化梯度的方式來避免訓練過程中採樣位置的學習過程的不穩定,即使用採樣位置的梯度計算更新的方向,而採用固定的更新幅度。
另外,由於網路初始化時卷積的權值尚沒有實際含義,也就沒有必要學習採樣位置,因此作者選擇使用標準的矩形卷積核來初始化採樣位置,並在最初的若干輪迭代過程中固定採樣位置,之後再同步更新採樣位置和權值。
作者搭建了一個比較簡單的Baseline模型,並在CIFAR10和CIFAR100上進行傳統卷積核和ACU的對比實驗。實驗驗證ACU在兩個數據集上均帶來了一定程度的準確率提升:
同時,一些卷積層也學習到了與傳統的矩形卷積核明顯不同的採樣位置:
可見,conv2/1、conv3/1和conv3/2都學習到了和3*3的矩形卷積核顯著不同的形狀。值得注意的是,conv3/2甚至學出了和3*3並且dilation=2的卷積核非常相似的形狀。
另外,作者還搭建了具有殘差連接的Baseline模型,同樣取得了一定的準確度提升。同時,作者也使用AlexNet和自行搭建的ResNet-26在Place365上進行了對比實驗:
與Spatial Transform Network的等文章不同的是,這篇文章並沒有針對不同的輸入數據生成不同採樣位置,而是為卷積核學習了固定的採樣位置。因此前者意在視覺任務中引入類似注意力的機制,而本文則意在學習表達能力更強的卷積操作。一方面,更好的卷積操作可以帶來更高的準確率;另一方面,卷積核形狀的學習結果也可以為我們提供優化模型的一些思路。
Q&A:
1. 學習到的卷積核的形狀是否有實際的含義?
A: 是的,它應當與訓練數據集中的某些關鍵的特徵有關。如果用同樣的數據和模型多次訓練後得到的卷積核的形狀應當是大致相同的。
2. 相比於傳統的卷積操作,ACU加入了採樣,對卷積的運算效率是否有影響?
A:是的,有一定程度的影響。在作者的實現結果中,訓練耗時大約是原先的2倍,而推理的耗時大約是原先的1.6倍。
3. 為何在學習採樣位置時僅採用梯度計算得到的更新方向而採用固定的更新幅度,而不是完全由梯度確定更新方向和幅度?
A:梯度的幅度可能會比較大,但大幅度更新採樣位置是不合理的,例如一次更新採樣位置跨越了多個格點,這會造成採樣位置的學習過程不穩定。事實上,在一個格點內部對損失函數用一階近似是基本合理的,但在多個格點之間仍採用一階近似可能會出現問題。
4. 實驗中發現conv3/2學習出了類似3*3 dilation=2的卷積核的形式,是否意味著傳統形式的卷積神經網路中將conv3/2設定為3*3 dilation=2可以獲得更好的效果?
A:是的,我們有在這種設定下進行實驗。實驗結果顯示這樣設定確實比將conv3/2設定為3*3 dilation=1可以獲得更高的準確率,但和ACU相比仍然稍低。
【自動駕駛公司Momenta2019校園招聘正式啟動!點擊查看詳情】
與我們一同打造更好的人工智慧,創造更好的生活,成就更好的你!
成就下一個偉大 | 自動駕駛公司Momenta校園招聘正式啟動------------------------------------------------
知乎機構號:Momenta,打造自動駕駛大腦。基於深度學習的環境感知、高精度地圖、駕駛決策技術,讓無人駕駛成為可能。Momenta知乎專欄:Paper Reading,集聚自動駕駛知名大咖的前沿知識分享平台,歡迎申請加入或直接投稿。Paper Reading推薦閱讀:
※畢嘯南專欄 | 專訪雲跡科技CEO支濤:人類可能會變成半機器人
※用Gym學習強化學習之Policy Gradient
※上場了,很穩!ROBOGO在上海市第十人民醫院正式上崗
※人工智慧時代下的中國「智造」
※資本正在流向AI哪些領域,自動駕駛與AI晶元又發生了什麼讓人摒住呼吸? | AI Weekly
TAG:深度學習DeepLearning | 人工智慧 | 圖像識別 |