摘要:隨著復雜和高效的神經網絡架構的出現,卷積神經網絡的性能已經優于傳統的數字圖像處理方法,如和。子網絡由多個卷積層組成,而子網絡由幾個完全連接層組成。結論總而言之,模型用信號分析的角度為我們剖析了卷積神經網絡。
隨著復雜和高效的神經網絡架構的出現,卷積神經網絡(CNN)的性能已經優于傳統的數字圖像處理方法,如 SIFT 和 SURF。在計算機視覺領域,學者們開始將研究重點轉移到 CNN,并相信 CNN 是這一領域的未來趨勢。但是,人們對成效卓著的 CNN 背后的機理卻缺乏了解。研究 CNN 的運行機理是當今一個熱門話題。基本上,有三種主流觀點:1>優化、2>近似、3>信號。前兩種觀點主要集中在純數學分析,它們試圖分析神經網絡的統計屬性和收斂性,而第三種觀點信號嘗試解決以下問題:1)為什么非線性激活函數(activation function)對所有中間層的過濾式輸出(filter output)是必不可少的?2)雙層級聯系統(two-layer cascade system)比單層系統的優勢在哪里?
球面修正相關性(REctified COrrelations on a Sphere/RECOS)
眾所周知,前饋神經網絡(FNN)可以被看作是一個萬能的近似器,在給定包含有限數量神經元的單個隱藏層的情況下,它能夠近似任何連續的函數。FNN 的特殊之處在于神經元的非線性激活函數。有的神經網絡龐大且深度,但如果離開非線性激活函數,它們的復雜架構的效果與一個簡單的單層線性模型沒什么不同,都是將輸入映射到另一個輸出空間。具體來說,非線性激活函數學習到的輸入的表征集合更適合解決實際問題。
CNN 只是 FNN 或 MLP(多層感知器/perceptron)的另一種類型。為了分析 CNN 的非線性,作者提出了一個數學模型來理解 CNN 的行為。在模型中,CNN 被視為由基本操作單元組成的一個網絡,它們計算「球面修正相關(RECOS)」。因此,它被稱為 RECOS 模型。在 CNN 訓練期間,首先初始化核權重,然后通過梯度下降法(gradient descent)和反向傳播(back propagation)算法進行調整。在 RECOS 模型中,權重被稱為錨向量(anchor vector),以表示它們在聚類輸入數據中的作用。也就是說,我們試圖計算輸入向量和錨向量之間的相關性,然后測量其相似度。
為什么用非線性激活函數?
與 MLP 僅用 1 步考慮所有像素的交互作用不同,CNN 將輸入圖像分解成較小的圖像塊(patch),在某些層中又被稱為節點的感受域(receptive field)。算法逐漸擴大感受域的范圍以覆蓋更大的圖像。神經元計算輸入向量與其錨向量之間的相關性,以測量它們的相似度。每個 RECOS 單元中有 K 個神經元。我們將模型表示為 Y = AX,其中 X 是輸入向量,Y 是輸出向量,A 是我們的錨向量(核過濾器(kernel filter)的權重矩陣)。這個方程表示 CNN 將輸入映射到另一個空間。通過研究 RECOS 模型,我們可以立即得出結論:學習到的核權重傾向于將相似的對象映射到同一個區域。例如,如果 x_i 與 x_j 的歐式距離相近,則相應的輸出 y_i 和 y_j 在新空間中也必須相近。對于用于捕獲貓的特征的過濾器,學習到的錨向量 A 將所有代表貓特征的向量 X_cat 映射為 Y_cat,而其它代表狗特征的向量 X_dog 或代表車特征的向量 X_car 將永遠不會出現在這個區域。這就是 CNN 能夠有效識別不同對象的原因。
但為什么我們必須使用非線性激活函數?考慮上面兩幅圖像:(左)原始的貓圖像,(右)左圖像的負片。從人的角度判斷,這兩個圖像可以是一樣的,但也可以是不同的。我們可以得出結論,兩幅圖中的貓是相同的貓,并且它們是負相關的。因為黑貓只是通過從白貓圖像的像素值減去 255 來獲得。那么 CNN 如何理解這兩只貓呢?
從上圖中,我們可以看到使用非線性激活函數的必要性。X 是輸入向量,a_1、a_2 和 a_3 是學習到的不同的錨向量。在 RECOS 模型中,線性運算 Y = AX 用于測量輸入向量和錨向量之間相似度。因此,對于錨向量 a_1 和 a_3,可以看到 x 與兩個錨向量之間的相似度在幅度上是相同的,但是符號相反。此時,對于 CNN 來說貓是不同的。但是例如在有兩個卷積層的 LeNet5 中,當原始輸入 x 通過兩層之后,最終的輸出結果將會被混淆:以下兩種情況不能被沒有非線性激活函數的系統正確區分:1)第一層的正響應遇到第二層的負過濾權重;和 2)第一層的負響應遇到第二層的正過濾權重。然而,通過使用非線性激活函數,CNN 可以很容易地排除負值的影響,從而得到魯棒的系統。
此外,作者還進行了一個有趣的實驗,結果如下:
我們用 MNIST 訓練集訓練了 LeNet-5 網絡,在 MNIST 測試集上得到了 98.94% 的正確識別率。然后,我們將這個 LeNet-5 網絡應用于如圖 5 所示的灰度反轉的測試圖像。準確率下降為 37.36%。接下來,我們將 conv1 中的所有過濾權重改為負值,同時保持網絡的其余部分不變。經過微修改的 LeNet-5 網絡對灰度反轉測試集的正確識別率為 98.94%,而原始測試集的準確率下降為 37.36%。
可以看到,改變第一個卷積層中的所有過濾權重將得到對稱的結果。該結果表明,引入激活函數將消除負相關關系,若我們在學習灰度反轉圖像的特征時不僅保留學習原圖像的錨向量同時加入灰度翻轉圖像的錨向量,則對兩個測試集均能夠達到高識別效果。
級聯層的優勢是什么?
通常來講,隨著 CNN 層數的深入,核函數會試圖基于所有之前核函數的輸出來構建自己的抽象特征。所以相比淺層,深層可以捕捉全局語義和高級特征。在 RECOS 模型中,CNN 利用與測量相似度類似的一系列非線性變換來逐層聚類相似的輸入數據。輸出層預測所有可能決策(如,對象的類)的似然值。訓練樣本含有圖像與其決策標簽之間的關系,并能夠幫助 CNN 生成更適合的錨向量(從而形成更好的聚類),最終將聚類數據與決策標簽聯系起來。
上圖顯示了深度網絡的有效性,實驗細節如下:
我們用一個例子來說明這一點。首先,我們通過在 MNIST 數據集的原始手寫數字上隨機添加 10 個不同的背景來修改 MNIST 的訓練集和測試集。對上面的三行圖像,每行最左邊的列顯示 3 個數字圖像輸入,中間列是分別來自卷積層和 ReLU 層的 6 個譜圖像(spectral image)輸出,最右邊兩列是分別來自卷積層和 ReLU 層的 16 個譜圖像輸出。由于背景的多樣性,難以為第一層找到的良好的錨向量矩陣。然而,這些圖像的背景在空間域中是不一致的,而它們的前景數字是一致的。
對于不同的變形背景,CNN 成功地捕捉到了代表性模式。值得注意的是,第一層含有很多冗余和無關的信息,通過在級聯層運用特征提取,CNN 學習到了全局樣式而不是局部細節。也就是說,對于輸入向量 x,RECOS 變換產生一組 K 個非負相關值作為 K 維度的輸出向量。這種方式實現了逐層重復聚類。最后,訓練圖像的標簽幫助 CNN 在不同背景的圖像中找到相同的模式。
從上面的分析可以看出,卷積層模型對于自動選擇特征是很有用的。它能在沒有人工干預的情況下測量輸入數據的相似性并將其聚類到不同區域。
那么完全連接層的作用是什么?
通常 CNN 被分解為兩個子網絡:特征提取(FE)子網絡和決策(DM)子網絡。FE 子網絡由多個卷積層組成,而 DM 子網絡由幾個完全連接層組成。簡而言之,FE 子網絡通過一系列 RECOS 變換以形成用于聚類的新表征。DM 子網絡將數據表征與決策標簽聯系起來,它的作用與 MLP 的分類作用類似。
到這里我們可以得出結論,CNN 比計算機視覺中經典的機器學習算法要好得多。因為 CNN 可以自動提取特征并且基于這些特征學習分類輸入數據,而隨機森林(RF)和支持向量機(SVM)則非常依賴于特征工程,而這種特征工程往往很難操作。
結論
總而言之,RECOS 模型用信號分析的角度為我們剖析了卷積神經網絡。從這個角度來看,我們可以看到激活函數和深度架構的有效性。然而,以下幾個方面仍需要重點研究:網絡架構設計、弱監督學習、對錯誤標簽的魯棒性、數據集偏差和過擬合問題等。?
論文:Understanding Convolutional Neural Networks with A Mathematical Model
歡迎加入本站公開興趣群商業智能與數據分析群
興趣范圍包括各種讓數據產生價值的辦法,實際應用案例分享與討論,分析工具,ETL工具,數據倉庫,數據挖掘工具,報表系統等全方位知識
QQ群:81035754
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/4538.html
摘要:本文將詳細解析深度神經網絡識別圖形圖像的基本原理。卷積神經網絡與圖像理解卷積神經網絡通常被用來張量形式的輸入,例如一張彩色圖象對應三個二維矩陣,分別表示在三個顏色通道的像素強度。 本文將詳細解析深度神經網絡識別圖形圖像的基本原理。針對卷積神經網絡,本文將詳細探討網絡 中每一層在圖像識別中的原理和作用,例如卷積層(convolutional layer),采樣層(pooling layer),...
摘要:深度學習方法是否已經強大到可以使科學分析任務產生最前沿的表現在這篇文章中我們介紹了從不同科學領域中選擇的一系列案例,來展示深度學習方法有能力促進科學發現。 深度學習在很多商業應用中取得了前所未有的成功。大約十年以前,很少有從業者可以預測到深度學習驅動的系統可以在計算機視覺和語音識別領域超過人類水平。在勞倫斯伯克利國家實驗室(LBNL)里,我們面臨著科學領域中最具挑戰性的數據分析問題。雖然商業...
摘要:第二部分高級概念我們現在對卷積有了一個良好的初步認識,也知道了卷積神經網絡在干什么為什么它如此強大。 譯自Tim Dettmers的Understanding Convolution in Deep Learning。有太多的公開課、教程在反復傳頌卷積神經網絡的好,卻都沒有講什么是卷積,似乎默認所有讀者都有相關基礎。這篇外文既友好又深入,所以翻譯了過來。文章高級部分通過流體力學量子力學等解釋...
摘要:文章第一部分旨在幫助讀者理解卷積的概念和深度學習中的卷積網絡。卷積定理要理解卷積,不得不提,它將時域和空域上的復雜卷積對應到了頻域中的元素間簡單的乘積。 譯者按:本文譯自 Tim Dettmers 的 Understanding Convolution in Deep Learning。有太多的公開課、教程在反復傳頌卷積神經網絡的好,卻都沒有講什么是「卷積」,似乎默認所有讀者都有相關基礎。這...
閱讀 3884·2021-11-17 09:33
閱讀 1196·2021-10-09 09:44
閱讀 399·2019-08-30 13:59
閱讀 3477·2019-08-30 11:26
閱讀 2177·2019-08-29 16:56
閱讀 2849·2019-08-29 14:22
閱讀 3151·2019-08-29 12:11
閱讀 1267·2019-08-29 10:58