摘要:在現有深度學習框架下,我們所編寫的卷積層往往是一個單行語句,它可以抽象出許多結構細節。本文試圖闡述卷積層的一個特定的解剖特征,而這是在大多數文章和相關討論中被忽略的問題。來自卷積層的輸出經常用作后續卷積層的輸入。
近來,深度學習的火爆程度顯而易見,而在深度學習領域,卷積網絡則是引起這許多令人驚嘆的結果的主要原因。自從2012年AlexNet公開亮相之后,現如今,我們很難列舉一個根本不使用卷積架構,具有突破性的計算機視覺架構。
在現有深度學習框架下,我們所編寫的卷積層往往是一個單行語句,它可以抽象出許多結構細節。不過,有時候后退一步去揭開一些抽象概念也是一個不錯的選擇。本文試圖闡述卷積層的一個特定的解剖特征,而這是在大多數文章和相關討論中被忽略的問題。
許多卷積架構是從一個外部卷積單元開始的,它將信道RGB的輸入圖像映射到一系列內部過濾器中。在當下最通用的深度學習框架中,這個代碼可能如下所示:
out_1=Conv2d(input=image, filter=32, kernel_size=(3,3), strides=(1,1))
relu_out=relu(out_1)
pool_out=MaxPool(relu_out, kernel_size=(2,2), strides=2)
對許多人來說,我們都很清楚,上面的結果是一系列的具有32層深度的過濾器。我們不知道的是,該如何將具有3個信道的圖像較精確地映射到這32層中!另外,我們也不清楚該如何應用較大池(max-pool)操作符。例如,是否一次性將較大池化應用到了所有的過濾層中以有效地生成一個單一的過濾映射?又或者,是否將較大池獨立應用于每個過濾器中,以產生相同的32層的池化過濾器?
如何做
一張圖勝過千言萬語,下面有一個圖表,可以顯示上述代碼片段中所有的操作。
卷積層的應用
觀察上圖,可以看到最顯著的一點是,步驟1中的每個過濾器(即過濾器-1、過濾器-2……)實際上包含一組3個卷積核(Wt-R、Wt-G和WT-B)。這些內核中的每一個分別保存為輸入圖像中的紅(R)、綠(G)和藍(B)信道。
在正向傳播期間,圖像中的R、G和B像素值分別與Wt-R、Wt-G和Wt-B內核相乘以產生一個間歇激活映射(intermittent activation map)(圖中未標出)。然后將三個核的輸出相加以為每個過濾器產生一個激活映射。
隨后,這些激活中的每一個都要受到ReLu函數的支配,最后運行到較大池化層,而后者主要負責減少輸出激活映射的維度。最后,我們得到的是一組激活映射,通常其維數是輸入圖像的一半,但現在其信號跨越了一組32個選擇(我們選擇作為過濾器的數量)作為二維張量。
來自卷積層的輸出經常用作后續卷積層的輸入。因此,如果我們的第二個卷積單元如下:
conv_out_2 = Conv2d(input = relu_out,filters = 64)
那么框架就需要實例化64個過濾器,每個過濾器使用一組32個獨特的核。
為什么
另一個微妙的但重要的一點,就是為什么我們為第一個卷積層使用了32個過濾器。在許多常用的體系結構中,隨著我們深入網絡,所使用的過濾器數量也越來越大(例如,第二個為64,第三個為128,依此類推)。
在本文中,Matt Zeiler使用了一個反卷積算子,以便可視化深度卷積結構的不同層次和深度的核在訓練過程中得到調諧。普遍的共識是,在經過最優訓練的卷積網絡中,在邊緣(接近圖像)的濾波器對基本邊緣和圖案變得敏感。深層中的過濾器對逐漸升高的階數形狀和模式敏感。這些現象在Matt論文的圖表中得到了很好的總結:
?在第一層和第二層(最外層)上過濾器激活的可視化
?
第三層過濾器激活的可視化
第4層和第5層的過濾器的可視化激活
另一個我想了很長一段時間的問題是,為什么不同的過濾器,即使在任何給定的層,都會被調整到一個特定的形狀或模式。畢竟,任何內核的權重都沒有什么異常的,這可以保證觀察到的結果。正是到了這一點:隨機梯度下降(SGD)的過程自動糾正權重,使內核獲得以上的特征。重要的是:
?核(或權重矩陣)被隨機初始化,以確保每個核都被優化到一個獨特的解決方案空間。
?我們定義了足夠多的過濾器來較大限度地捕獲我們數據集中的各種特征,同時針對所發生的計算成本實現了平衡。
最后,許多論文還提出,過濾器激活的可視化為卷積結構的性能提供了一個窗口。一個平衡的和高性能的網絡通常顯示如上所述的激活,具有明確的邊緣和形狀檢測器的表現。一個過度擬合、欠擬合和泛化的網絡往往無法顯示這些觀察結果。因此,使用(2)中使用的過程來測試網絡是一個好主意,以查看實驗性的卷積網絡是否產生了良好的結果。
參考文獻:
深度卷積神經網絡的ImageNet分類,Alex Krizhevsky,Ilya Sutskever,Geoffrey E. Hinton,https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks
卷積網絡的可視化與理解,Matthew D Zeiler,Rob Fergus https://arxiv.org/abs/1311.2901
歡迎加入本站公開興趣群商業智能與數據分析群
興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識
QQ群:81035754
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/4665.html
摘要:第二部分高級概念我們現在對卷積有了一個良好的初步認識,也知道了卷積神經網絡在干什么為什么它如此強大。 譯自Tim Dettmers的Understanding Convolution in Deep Learning。有太多的公開課、教程在反復傳頌卷積神經網絡的好,卻都沒有講什么是卷積,似乎默認所有讀者都有相關基礎。這篇外文既友好又深入,所以翻譯了過來。文章高級部分通過流體力學量子力學等解釋...
摘要:文章第一部分旨在幫助讀者理解卷積的概念和深度學習中的卷積網絡。卷積定理要理解卷積,不得不提,它將時域和空域上的復雜卷積對應到了頻域中的元素間簡單的乘積。 譯者按:本文譯自 Tim Dettmers 的 Understanding Convolution in Deep Learning。有太多的公開課、教程在反復傳頌卷積神經網絡的好,卻都沒有講什么是「卷積」,似乎默認所有讀者都有相關基礎。這...
摘要:年,發表,至今,深度學習已經發展了十幾年了。年的結構圖圖片來自于論文基于圖像識別的深度卷積神經網絡這篇文章被稱為深度學習的開山之作。還首次提出了使用降層和數據增強來解決過度匹配的問題,對于誤差率的降低至關重要。 1998年,Yann LeCun 發表Gradient-Based Learning Applied to Document Recognition,至今,深度學習已經發展了十幾年了...
閱讀 2035·2021-11-08 13:22
閱讀 2499·2021-09-04 16:40
閱讀 1143·2021-09-03 10:29
閱讀 1708·2019-08-30 15:44
閱讀 2119·2019-08-30 11:13
閱讀 2784·2019-08-29 17:07
閱讀 1962·2019-08-29 14:22
閱讀 1243·2019-08-26 14:00