[論文分享] 2019 CVPR Kervolutional Neural Networks 核卷積網路

Devoted
機器學習、深度學習與電腦視覺
13 min readJul 2, 2020

名稱: Kervolutional Neural Networks
作者: Chen Wang, Jianfei Yang, Lihua Xie, Junsong Yuan
出處: CVPR 2019

摘要

卷積神經網路目前在電腦視覺的任務中舉足輕重,而目前多數的卷積神經網路中,卷積運算屬於線性運算,非線性運算僅透過激發函數,在點層級(point-wise)逐點的進行非線性映射,然而電腦視覺中許多是補丁層級的(patch-wise)特徵。本篇論文透過核方法(kernel trick)提出新穎的模型層Kervolution (kernel convolution),模擬複雜人類大腦神經系統運作情形。Kervolution 不僅提升卷積神經網路的模型性能,同時在沒有增加更多參數的前提下,透過補丁層級(patch-wise)的核方法擷取了更高階的特徵,並且在實驗中達到比卷積神經網路更好的預測準確率以及更快的收斂速度。

介紹

  1. 目的
    卷積神經網路是當前電腦視覺任務中最常用的模型,其中關鍵的運算就是卷積,這項操作是透過不同的神經元在圖片有限且部分的區域,或稱為感受野(receptive field)中,產生激發。而卷積神經網路因為其相較全連接網路(fully connected network)神經元連接更稀疏,同時共用權重,而使運算非常效率,然而卷積神經網路上有一些限制,例如其運算為線性運算,使得運算無法表現出複雜的行為。在過去的文獻中顯示,經非線性運算後所得到的特徵圖(feature map)更具有可靠性,然而在過去的研究中,卷積神經網路的非線性運算都是透過激發函式(activation function)來提供點層級(point-wise)的非線性轉換,譬如RELU,或是最大池化層(Max pooling layer)來完成。本篇作者則推斷,如果能夠過核方法(kernel trick)提供補丁層級(patch-wise),也就是區域性的非線性轉換,便有機會提升卷積神經網路的表現及效能,因為核方法(kernel trick)能提供更具表現性且能力更好的模型。
  2. 特色
    非線性映射在數學運算上是非常簡單的,但要將卷積運算轉換成非線性的方式,同時保留卷積神經網路的優點卻非常困難,例如共用權重以及低運算成本。Georgios Zoumpourlis等人曾在2017年提出非線性卷積神經網路,然而在這個方法中需要額外的 (n(n+1)) / 2個參數,其中n為感受野(receptive field)的大小,因為非線性變化項所需求的指數性成長的參數量,這項研究犧牲了卷積神經網路權重稀疏性的優點。Yin Cui等人則同樣在2017年提出核池化方法(kernel pooling method),這項研究是在要計算非線性項時,直接連接一個非線性項進行運算,並探索池化層來獲取更高階的特徵,這項研究犧牲了卷積神經網路低運算量的優點。

為了解決上述問題,本篇論文提出核卷積層(kervolution, a.k.a kernel convolution)來將卷積層拓展到核空間當中,同時保留前述線性卷積層的優點。因此本篇論文的貢獻旨在於透過核方法(kernel trick)將卷積運算轉變為核卷積(kervolution),這項操作保留了線性卷積的優點,包含平移同變性(translation equivariance),同時增強模型能力;提供核卷積未來的用途解釋以及透過實驗證明其對於網路建構的高度可用性;透過實驗證明KNN(kervolution neural network)較基礎CNN(convolution neural network)更佳的表現。

方法

設線性卷積公式如下,其中f(x)為輸出,⊕為卷積符號,x為向量輸入且x∈R^n,w是濾波器且w∈R^n

則對於輸出f(x)的第i個元素,其運算可寫成下式

其中<.,.>為兩向量內積,而x_((i)) 則為x做 i個循環平移,若假設i從0開始,則可以得到核卷積(kervolution)公式為

其中⊗為核卷積運算子,因此對於g(x)的第i個元素,可以得到如下式子

其中φ(.)為R^n ⇒R^d,d≫n,並在高維空間中擷取特徵,這樣的運算原本應該先將低維特徵轉置到高維空間,再做擷取特徵的運算,譬如內積,這樣的運算相較一般線性卷積高非常多,然而透過核方法,其計算的時間複雜度僅為Ο(n),而該式也就是在核方法中非線性映射到高維度空間的函式,如下式說明

其中κ(.,.)為R^n×R^n⇒R,係數c_j 由映射函式φ(.)決定,由於核卷積函式中的濾波器w相較卷積運算函式並沒有改變大小,因此可說明保留了卷積神經網路中連接稀疏性的特點,同時相較Yin Cui等人所提出的方法,其時間複雜度為O(p∙nlogn),使用核方法也達到了更好的結果(O(n)),而基本上核卷積層可以再使用任意n階非線性項的情況下保持線性複雜度。

在平移同變性(translation equivariance)方面,作者提出定理

並提供證明如下,假設

則由前式可知,針對g’ (x)第i個元素而言,可得

此式意謂著對於x_j⊗w的第i個元素就等同於g(x)第 i+j個元素,也就說明了kervolution同樣具有平移同變性,而具有平移同變性意味著在擷取特徵時,輸入的影像如果經過平移、旋轉或伸縮等變化,經過卷積層加上池化層或核卷積的特徵圖同樣會有平移、旋轉或伸縮等特徵,也就說明了卷積神經網路補丁層級(patch-wise)的特徵擷取以及核卷積補丁層級(patch-wise)的非線性映射。要注意的是,卷積神經網路的平移同變性需要在卷積層後加上池化層才具有此特性。

而使用核方法的另外一項優點便是只要使用不同的核函式(kernel function),非線性的映射的特性是很容易客製化的,在本篇論文中,作者介紹了幾種比較常見的核函式,並說明他們的優點,包含L²-norm核卷積,高斯核卷積,多項式核卷積等。其中歐基里德核卷積(L²-norm kervolution)對於微小的像素擾動有更穩定的表現;多像式核(polynomial kernel)則在自然語言處理中有廣泛的應用,作者則發現當參數d_p=3時,在KNN應用於圖片辨識當中有最好的結果,而在實驗中也顯示,某些層的核卷積(kervolution)和卷積層(convolution)所擷取到的特徵相似度很高,意味著核卷積(kervolution)在部分層也會擷取線性特徵;而高斯核核卷積則可以產生出非常豐富且多變的特徵,並且量測梯度基礎的補丁層級(patch-wise)特徵,例如SIFT、HOG。

同時作者在論文中提到,由於仍舊可能缺乏對於核(kernel)的知識,因此不知道如何設計或調整核函式,其於本篇論文中提出可學習的核函數參數,透過到傳遞學習,而理論上這項設計可能會增加許多訓練複雜度,但在實驗中顯示這僅僅增加了些微額外的成本,但大幅提升了模型彈性。

結果

作者進行了多項實驗。在第一項實驗中作者使用LeNet-5及MNISTy 資料集證明核卷積(kervolution)的超參數調整、不同核卷積(kervolution)層數組合對的影響, 而各種模型準確度對於MNIST資料集已經飽和,作者採用DAWN-Bench提出的評比方法進行驗證。

  1. 不同核的比較
    作者實驗使用不同核函式進行比較,實驗結果顯示高斯核卷積(Gaussian kervolution)比一般卷積神經網路快兩倍速度收斂,最終表現和一般卷積神經網路相同皆為精準度98%,然而sigmoid核卷積則慢兩倍收斂;使用L¹ 、L² norm則分別達到99.05%及99.17%,如上圖(a)(b)所示。
  2. 不同超參數
    在此部分的實驗中,作者針對每個核函式選擇了數個參數進行調整,其結果如上圖©(b)所示,其中值得注意的是,可學習化的核卷積網路達到了99.2%的準確率,並且比起卷積神經網路更快收斂。
  3. 不同的核卷積層組合
    在此部分實驗中,作者實驗不同的核卷積層組合,譬如核卷積-卷積、卷積-卷積、卷積-核卷積等不同的層數組合,其中值得注意的是,核卷積-卷積達到了最好的效果,但收斂速度慢於卷積-核卷積組合,這顯示核卷機的前後順序也會影響模型的表現結果,推測這可能是因為非線性轉換位於模型的前後順序差別所造成的,而在實驗中也顯示核卷積-核卷積有最快的收斂速度,但準確度僅和一般卷積神經網路相同,作者推測者可能是因為過擬合的問題(因為此模型在訓練時的損失函數和其他種組合方式非常相近,都非常低),結果如上圖(e)(f)所示

值得注意的是,作者在實驗中移除了所有非線性轉換方法,包含RELU以及最大池化層,確保非線性轉換完全由核卷積提供,而這項實驗中,移除了非線性映射的一般卷積神經網路僅達到92%準確度,多種不同核函式的核卷積神經網路則都達到99%以上的準確度。而使用在不同資料及以及模型上,也得到了不一樣的結果,譬如使用CIFAR資料集,修改ResNet為核卷積層達到了顯著的效果提升,然而在DenseNet上卻沒有相應的提升,由此看出在此實驗中使用的多項式核卷積可能不適合全連接網路架構。而可學習式的核卷積則在所有實驗中都得到最佳的結果。相關實驗結果如下圖所示。

討論

  1. 在實驗中僅嘗試了數種核函式,這些未必是最佳的選擇,其中每種核函式更有多個超參數可以調整,因此對於核卷積網路的性能評估,還有待更深度的實驗與研究
  2. 過多的核卷積層可能對於某些任務會造成過於複雜的解答空間,也就是過強的模型能力,這雖然可以透過減少核卷積層數量來解決問題,但在做遷移式學習時,要減少何處的核卷積層,又要如何理解核卷積層所提取的特徵,都有待更多的研究了解。
  3. 本篇論文中僅僅是將核卷積層使用在現存的網路架構中,但也許這都不是最好的解答,因此了解核卷積與整體架構的互動關係,也許是未來研究的方向之一。

Review

針對本篇論文進行paper review,提出數項優點及缺點。

優點

  1. 提出patch-wise的非線性映射方法,有別於過去point-wise的非線性映射方法,在特徵擷取中,patch-wise的映射更符合對於區域特徵應該具有相似特性及非線性映射方法的認知。
  2. 提出非線性映射方法同時保留卷積神經網路的連接稀疏性、共享權重等優點。
  3. 提出可學習的核函數超參數調整模組,讓超參數可透過梯度倒傳遞的方式學習,大幅減少對於核函數領域知識的需求。
  4. 核方法具有非常良好的非線性映射能力,針對Ian J. Goodfellow等人在2014年所提出的<Explaining and Harnessing Adversarial Examples>論文中描述之模型攻擊問題,即影像加上微小干擾訊號,產生肉眼分不出差別的對抗例(adversarial example),對於模型可能產生誤判問題。因作者在其論文中有結論,若模型具有較好的非線性轉換能力,則能建立更穩定,即容錯能力更強的模型。而此篇論文所提出的架構則具有極佳的非線性映射能力,和解決對抗例攻擊問題之能力。
  5. 對於圖像分割(image segmentation)之問題,補丁層級(patch-wise)的非線性映射理論上可以帶來更好的預測結果。在過去圖像分割的任務就有多訓練方法是為補丁訓練(patch training),意即將圖像切割為多個有興趣的區域(或稱為補丁,patch)做為獨立的訓練樣本進行訓練,而KNN(kervolution neural network)高非線性映射的特性及補丁層級(patch-wise)的非線性映射,則有機會提供圖像中各區域之間更好的超平面(hyperplane)分割,特別針對邊緣部分,將有機會改善各現存模型分割結果。

缺點

  1. 由於核卷積層數的排列會影響模型的能力,則對於非常深的網路而言,試驗出最佳排列方式可能需要非常多時間,此部分需要更多相關研究來提升找尋最佳排列的效率。
  2. 核卷積所提供的非線性映射能力非常強,很可能造成容易過擬合的問題。
  3. 對於核函式的選擇需要對於核函式本身有深度了解,對於不同任務適合的核函式也不同,因此在找尋恰當的核函式時能需要透過大量實驗,在時間上不太效率。

參考資料

[1] Georgios Zoumpourlis, Alexandros Doumanoglou, Nicholas, Vretos, and Petros Daras. Non-linear Convolution Filters for CNN-Based Learning. In IEEE International Conference on Computer Vision (ICCV), pages 4771–4779. IEEE, 2017.

[2] Yin Cui, Feng Zhou, Jiang Wang, Xiao Liu, Yuanqing Lin, and Serge Belongie. Kernel Pooling for Convolutional Neural Networks. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 3049–3058. IEEE, 2017.

[3] GOODFELLOW, I. J., SHLENS, J., AND SZEGEDY, C. Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572 (2014).

[4] Taibou Birgui Sekoua, Moncef Hidane, Julien Olivier, Hubert Cardot, From Patch to Image Segmentation using Fully Convolutional Networks — Application to Retinal Images. arXiv preprint arXiv:1904.03892 (2019)

--

--

Devoted
機器學習、深度學習與電腦視覺

燃著文科魂的資工人,興趣在電腦視覺、影像處理、機器學習和電影,夢想是養一隻熊。