天天看點

cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

卷積神經網絡(CNN)–幾乎聽起來像是生物學,藝術和數學的融合。

由CNN驅動的深度學習模型現在無處不在,你會發現它們已散布到全球的各種計算機視覺應用程式中。就像XGBoost和其他流行的機器學習算法一樣,卷積神經網絡通過黑客馬拉松(2012年ImageNet競賽)進入了公衆的意識。

從那時起,這些神經網絡就如火一樣吸引了靈感,并擴充到各個研究領域。以下是一些使用CNN的流行計算機視覺應用程式:

  • 面部識别系統
  • 通過文檔分析和解析
  • 智慧城市(例如交通攝像頭)
  • 推薦系統,以及其他用例
cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

但是,為什麼卷積神經網絡能很好地工作呢?與傳統的人工神經網絡相比,它的性能如何?為何深度學習專家喜歡它?

要回答這些問題,我們必須了解CNN實際上是如何運作的。在本文中,我們将研究CNN模型背後的數學原理。

神經網絡導論

神經網絡是所有深度學習算法的核心。但是,在深入研究這些算法之前,對神經網絡的概念有一個很好的了解是很重要的。

這些神經網絡試圖模仿人腦及其學習過程。就像大腦接受輸入,對其進行處理并生成一些輸出一樣,神經網絡也是如此。

這三個動作- 接收輸入,處理資訊,生成輸出 -在神經網絡中以層的形式表示-輸入,隐藏和輸出。以下是神經網絡的骨架:

cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

這些層中的各個單元稱為神經元。神經網絡的完整訓練過程包括兩個步驟。

1.正向傳播

圖像以數字形式輸入到輸入層。這些數值表示圖像中像素的強度。隐藏層中的神經元對這些值應用了一些數學運算(我們将在本文稍後讨論)。

為了執行這些數學運算,需要随機初始化某些參數值。将這些數學運算釋出到隐藏層後,結果将發送到生成最終預測的輸出層。

2.向後傳播

生成輸出後,下一步就是将輸出與實際值進行比較。根據最終輸出以及該值與實際值(錯誤)的接近或相距遠近,将更新參數的值。使用更新的參數值重複進行前向傳播過程,并生成新的輸出。

這是任何神經網絡算法的基礎。在本文中,我們将研究卷積神經網絡的向前和向後傳播步驟!

卷積神經網絡(CNN)架構

考慮一下–您需要在兩個給定的圖像中識别對象。您将如何去做?通常,您将觀察圖像,嘗試從圖像中識别出不同的特征,形狀和邊緣。根據收集到的資訊,您可以說該物體是狗或汽車等。

這正是CNN中的隐藏層所做的–查找圖像中的特征。卷積神經網絡可以分為兩部分:

  • 卷積層:從輸入中提取特征
  • 完全連接配接的(密集)層:使用卷積層中的資料生成輸出
cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

正如我們在上一節中讨論的那樣,任何神經網絡的訓練都涉及兩個重要過程:

  1. 正向傳播:接收輸入資料,處理資訊并生成輸出
  2. 向後傳播:計算誤差并更新網絡參數

我們将一一介紹這兩個方面。讓我們從正向傳播過程開始。

卷積神經網絡(CNN):正向傳播

卷積層

您知道我們如何看待圖像并識别物體的形狀和邊緣嗎?卷積神經網絡通過比較像素值來做到這一點。

下面是數字8的圖像以及該圖像的像素值。仔細看看圖像。您會注意到,數字邊緣周圍的像素值之間存在顯着差異。是以,識别邊緣的簡單方法是比較相鄰像素值。

cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

卷積通常在數學上用星号*表示。如果我們有一個表示為X的輸入圖像和一個表示為f的濾鏡,則表達式為:

Z = X * f
           

讓我們用一個簡單的例子來了解卷積的過程。考慮我們有一個尺寸為3 x 3的圖像和一個尺寸為2 x 2的濾鏡:

cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

過濾器周遊圖像塊,執行逐元素乘法,然後将值相加:

(1x1 + 7x1 + 11x0 + 1x1)= 9(7x1 + 2x1 + 1x0 + 23x1)= 32(11x1 + 1x1 + 2x0 + 2x1)= 14(1x1 + 23x1 + 2x0 + 2x1)= 26
           
cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

仔細看看,您會發現濾鏡一次隻考慮一小部分圖像。我們還可以将其想象成分解為較小更新檔的單個圖像,每個更新檔都與濾鏡卷積。

cnn卷積神經網絡_卷積神經網絡(CNN)背後的數學解謎神經網絡導論卷積神經網絡(CNN)架構卷積神經網絡(CNN):正向傳播

在上面的示例中,我們有一個形狀為(3,3)的輸入和一個形狀為(2,2)的過濾器。由于圖像和濾鏡的尺寸很小,是以很容易解釋輸出矩陣的形狀為(2,2)。但是,如何為更複雜的輸入或過濾器尺寸找到輸出的形狀?有一個簡單的公式可以做到這一點:

圖檔尺寸=(n,n)過濾器尺寸=(f,f) 輸出的尺寸為((n-f + 1),(n-f + 1))
           

繼續閱讀