為 AI 從業者/研究生/研究員專門定制的全網唯一高端 AI 訓練營
1872
2025-04-01
BP神經網絡與卷積神經網絡(CNN)
1、BP神經網絡
1.1 神經網絡基礎
神經網絡的基本組成單元是神經元。神經元的通用模型如圖 1所示,其中常用的激活函數有閾值函數、sigmoid函數和雙曲正切函數。
圖 1 神經元模型
神經元的輸出為:
2、深度學習之卷積神經網絡
2.1 卷積神經網絡概要
卷積神經網絡是基于動物視覺感受野設計而成,由卷積層、池化層和其他層構成。
BP神經網絡中,每一層都是全連接的,假如輸入是一幅1000*1000*1 的圖像,則輸入層與隱層某一個節點將有1000*1000 個權重需要訓練,這會導致訓練困難。而卷積神經網絡的卷積層每個節點與上一層某個區域通過卷積核連接,而與這塊區域以外的區域無連接。同樣對于一副1000*1000*1的圖像,采用10*10的卷積核,那么卷積層每個節點只需要訓練100個節點;假若卷積核在圖像上掃描的步長為1個像素,則卷積層需要991*991個節點,若每個節點對應不同的卷積核,則需要訓練的參數依然是一個天文數字。為此,卷積神經網絡提出了權值共享概念,即同一個卷積層內,所有神經元的權值是相同的,也就是用同一個卷積核生成卷積層上的所有節點。因此對于上面的訓練,只需要訓練100個權重。
池化層夾在卷積層中間,其主要作用逐步壓縮減少數據和參數的數量,也在一定程度上減少過擬合現象。其操作是把上一層輸入數據的某塊區域壓縮成一個值。
其他層:以前設計卷積神經網絡時,在后面都有歸一化層,用來模擬人腦的抑制作用,但是后來認為對最終的效果沒什么幫助,就用的很少了;最后用的分類層是全連接層。
CNN的訓練也采用前向和后向傳播。
2.2 前向傳播
(1)卷積層
卷積操作是用一個卷積核與圖像對應區域進行卷積得到一個值,然后不斷的移動卷積核和求卷積,就可完成對整個圖像的卷積。在卷積神經網絡中,卷積層的計算不僅涉及一般圖像卷積概念,還有深度和步長的概念。深度決定同一個區域的神經元個數,也就是有幾個卷積核對同一塊區域進行卷積操作;步長是卷積核移動多少個像素。
以一個例子來說明卷積層的具體操作。輸入數據的大小為5*5*3,卷積核大小為3*3,輸出的深度為2,如圖 4所示。圖中將輸入數據在長寬方向進行了填0擴充。
圖 4 卷積層操作例子
輸入數據是一個3通道數據,因此卷積層每個深度的節點都有3個不同的卷積核,分別與輸入的3個通道進行卷積,每個通道卷積后都得到一個值,也就是3個通道卷積完成后,有3個值,再把這3值和偏置求和就得到節點的值。每移動卷積核都進行這樣的計算。在這篇博客中有卷積計算的動態圖。
得到了卷積層每層深度的特征圖后,需要將這些特征輸入到激活函數中,從而得到卷積層最終的輸出。神經網絡中常用的sigmoid函數和雙曲正切函數容易飽和,造成梯度消失。在CNN中采用的是另外一種激活函數:ReLU。
ReLU函數是有神經科學家Dayan、Abott從生物學角度,模擬腦神經元接受信號更精確的激活模型,其表達式為:
(3)全連接層
全連接層主要用來進行學習,和傳統BP神經網絡類似。CNN一般通常采用SoftMax方法進行分類。
2.3 后向傳播(參照論文Notes on Convolutional Neural Networks)
學習的目的是獲得對輸入準確精煉的描述。影響輸出結果的是每層的權重和偏置,因此為了達到目標,需要將輸出誤差層層傳遞回去,看每個參數對誤差的影響,并因此調整參數。
(1)誤差傳遞概述
對于輸入數據對,經過CNN網絡處理,其輸出為?。根據上面BP神經網絡的分析可知,層的殘差滿足遞推關系。但是卷積神經網絡在結構上和bp神經網絡不同,需要對CNN網絡做一些處理,使得可以套用bp網絡的公式。
(2)當前層(l)為卷積層
卷積層的輸出是由若干個卷積核與上一層輸出卷積之和,并將這些和通過激活函數而生成的:
卷積神經網絡 神經網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。