0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

卷積神經(jīng)網(wǎng)絡結構_卷積神經(jīng)網(wǎng)絡訓練過程

姚小熊27 ? 來源:CSON. ? 作者:CSON. ? 2021-05-11 17:02 ? 次閱讀

卷積神經(jīng)網(wǎng)絡結構

一個卷積神經(jīng)網(wǎng)絡主要由以下5種結構組成:

1.輸入層。輸入層是整個神經(jīng)網(wǎng)絡的輸入,在處理圖像的卷積神經(jīng)網(wǎng)絡中,它一般代表了一張圖片的像素矩陣。比如在圖6-7中,最左側的三維矩陣的長和寬代表了圖像的大小,而三維矩陣的深度代表了圖像的色彩通道(channel)。比如黑白圖片的深度為1,而在RGB色彩模式下,圖像的深度為3。從輸入層開始,卷積神經(jīng)網(wǎng)絡通過不同的神經(jīng)網(wǎng)絡結構下將上一層的三維矩陣轉化為下一層的三維矩陣轉化為下一層的三維矩陣,直到最后的全連接層。

2.卷積層。從名字就可以看出,卷積層是一個卷積神經(jīng)網(wǎng)絡中最重要的部分。和傳統(tǒng)全連接層不同,卷積層中的每一個節(jié)點的輸入只是上一層神經(jīng)網(wǎng)絡中的一小塊,這個小塊的大小有3*3或者5*5。卷積層試圖將神經(jīng)網(wǎng)絡中的每一個小塊進行更加深入的分析從而得到抽象程度更高的特征。一般來說,通過卷積層處理的節(jié)點矩陣會變得更深,所以圖6-7中可以看到經(jīng)過卷積層之后的節(jié)點矩陣的深度會增加。

3.池化層。池化層神經(jīng)網(wǎng)絡不會改變?nèi)S矩陣的深度,但是它可以縮小矩陣的大小。池化操作可以認為是將一張分辨率較高的圖片轉化為分辨率較低的圖片。通過池化層,可以進一步縮小最后全連接層中節(jié)點的個數(shù),從而達到減少整個神經(jīng)網(wǎng)絡中的參數(shù)的目的。

4.全連接層。如圖6-7所示,在經(jīng)過多輪卷積層和池化層處理之后,在卷積神經(jīng)網(wǎng)絡的最后一般會由1到2個全連接 層來給出最后的分類結果。經(jīng)過幾輪的卷積層和池化層的處理之后,可以認為圖像中的信息已被抽象成了信息含量更高的特征。我們可以將卷積層和池化層看成自動圖像特征提取的過程。在特征提取完成之后,仍然需要使用全連接層來完成分類任務。

5.Softmax層。Softmax層主要用于分類問題。經(jīng)過Softmax層,可以得到當前樣例中屬于不同種類的概率分布情況。

卷積神經(jīng)網(wǎng)絡訓練過程

卷積神經(jīng)網(wǎng)絡的訓練過程分為兩個階段。第一個階段是數(shù)據(jù)由低層次向高層次傳播的階段,即前向傳播階段。另外一個階段是,當前向傳播得出的結果與預期不相符時,將誤差從高層次向底層次進行傳播訓練的階段,即反向傳播階段。訓練過程如圖4-1所示。訓練過程為:

1、網(wǎng)絡進行權值的初始化;

2、輸入數(shù)據(jù)經(jīng)過卷積層、下采樣層、全連接層的向前傳播得到輸出值;

3、求出網(wǎng)絡的輸出值與目標值之間的誤差;

4、當誤差大于我們的期望值時,將誤差傳回網(wǎng)絡中,依次求得全連接層,下采樣層,卷積層的誤差。各層的誤差可以理解為對于網(wǎng)絡的總誤差,網(wǎng)絡應承擔多少;當誤差等于或小于我們的期望值時,結束訓練。

5、根據(jù)求得誤差進行權值更新。然后在進入到第二步。

圖4-1卷積神經(jīng)網(wǎng)絡的訓練過程

1.1卷積神經(jīng)網(wǎng)絡的前向傳播過程

在前向傳播過程中,輸入的圖形數(shù)據(jù)經(jīng)過多層卷積層的卷積和池化處理,提出特征向量,將特征向量傳入全連接層中,得出分類識別的結果。當輸出的結果與我們的期望值相符時,輸出結果。

1.1.1卷積層的向前傳播過程

卷積層的向前傳播過程是,通過卷積核對輸入數(shù)據(jù)進行卷積操作得到卷積操作。數(shù)據(jù)在實際的網(wǎng)絡中的計算過程,我們以圖3-4為例,介紹卷積層的向前傳播過程。其中一個輸入為15個神經(jīng)元的圖片,卷積核為2×2×1的網(wǎng)絡,即卷積核的權值為W1,W2,W3,W4。那么卷積核對于輸入數(shù)據(jù)的卷積過程,如下圖4-2所示。卷積核采用步長為1的卷積方式,卷積整個輸入圖片,形成了局部感受野,然后與其進行卷積算法,即權值矩陣與圖片的特征值進行加權和(再加上一個偏置量),然后通過激活函數(shù)得到輸出。

圖4-2圖片深度為1,卷積層的向前傳播過程

而在圖3-4中,圖片深度為2時,卷積層的向前傳播過程如圖4-3所示。輸入的圖片的深度為4×4×2,卷積核為2×2×2,向前傳播過程為,求得第一層的數(shù)據(jù)與卷積核的第一層的權值的加權和,然后再求得第二層的數(shù)據(jù)與卷積核的第二層的權值的加權和,兩層的加權和相加得到網(wǎng)絡的輸出。

圖4-3圖片深度為2,卷積層的向前傳播過程

1.1.2下采樣層的向前傳播過程

上一層(卷積層)提取的特征作為輸入傳到下采樣層,通過下采樣層的池化操作,降低數(shù)據(jù)的維度,可以避免過擬合。如圖4-4中為常見的池化方式示意。最大池化方法也就是選取特征圖中的最大值。均值池化則是求出特征圖的平均值。隨機池化方法則是先求出所有的特征值出現(xiàn)在該特征圖中的概率,然后在來隨機選取其中的一個概率作為該特征圖的特征值,其中概率越大的選擇的幾率越大。

圖4-4池化操作示意圖

1.1.3全連接層的向前傳播過程

特征圖進過卷積層和下采樣層的特征提取之后,將提取出來的特征傳到全連接層中,通過全連接層,進行分類,獲得分類模型,得到最后的結果。圖4-5為一個三層的全連接層。假設卷積神經(jīng)網(wǎng)絡中,傳入全連接層的特征為x1,x2。則其在全連接層中的向前傳播過程如圖4-5所示。第一層全連接層有3個神經(jīng)元y1,y2,y3。這三個節(jié)點的權值矩陣為W,其中b1,b2,b3分別為節(jié)點y1,y2,y3的偏置量。可以看出,在全連接層中,參數(shù)的個數(shù)=全連接層中節(jié)點的個數(shù)×輸入的特征的個數(shù)+節(jié)點的個數(shù)(偏置量)。其向前傳遞過程具體如圖所示,得到輸出矩陣后,經(jīng)過激勵函數(shù)f(y)的激活,傳入下一層。

圖4-5全連接層的向前傳播過程

1.2卷積神經(jīng)網(wǎng)絡的反向傳播過程

當卷積神經(jīng)網(wǎng)絡輸出的結果與我們的期望值不相符時,則進行反向傳播過程。求出結果與期望值的誤差,再將誤差一層一層的返回,計算出每一層的誤差,然后進行權值更新。該過程的主要目的是通過訓練樣本和期望值來調(diào)整網(wǎng)絡權值。誤差的傳遞過程可以這樣來理解,首先,數(shù)據(jù)從輸入層到輸出層,期間經(jīng)過了卷積層,下采樣層,全連接層,而數(shù)據(jù)在各層之間傳遞的過程中難免會造成數(shù)據(jù)的損失,則也就導致了誤差的產(chǎn)生。而每一層造成的誤差值是不一樣的,所以當我們求出網(wǎng)絡的總誤差之后,需要將誤差傳入網(wǎng)絡中,求得該各層對于總的誤差應該承擔多少比重。

反向傳播的訓練過程的第一步為計算出網(wǎng)絡總的誤差:求出輸出層n的輸出a(n)與目標值y之間為誤差。計算公式為:

其中,為激勵函數(shù)的導函數(shù)的值。

1.2.1全連接層之間的誤差傳遞

求出網(wǎng)絡的總差之后,進行反向傳播過程,將誤差傳入輸出層的上一層全連接層,求出在該層中,產(chǎn)生了多少誤差。而網(wǎng)絡的誤差又是由組成該網(wǎng)絡的神經(jīng)元所造成的,所以我們要求出每個神經(jīng)元在網(wǎng)絡中的誤差。求上一層的誤差,需要找出上一層中哪些節(jié)點與該輸出層連接,然后用誤差乘以節(jié)點的權值,求得每個節(jié)點的誤差,具體如圖所示:

圖4-6全連接層中誤差的傳遞過程

1.2.2當前層為下采樣層,求上一層的誤差

在下采樣層中,根據(jù)采用的池化方法,把誤差傳入到上一層。下采樣層如果采用的是最大池化(max-pooling)的方法,則直接把誤差傳到上一層連接的節(jié)點中。果采用的是均值池化(meanpooling)的方法,誤差則是均勻的分布到上一層的網(wǎng)絡中。另外在下采樣層中,是不需要進行權值更新的,只需要正確的傳遞所有的誤差到上一層。

1.2.3當前層為卷積層,求上一層的誤差

卷積層中采用的是局部連接的方式,和全連接層的誤差傳遞方式不同,在卷積層中,誤差的傳遞也是依靠卷積核進行傳遞的。在誤差傳遞的過程,我們需要通過卷積核找到卷積層和上一層的連接節(jié)點。求卷積層的上一層的誤差的過程為:先對卷積層誤差進行一層全零填充,然后將卷積層進行一百八十度旋轉,再用旋轉后的卷積核卷積填充過程的誤差矩陣,并得到了上一層的誤差。如圖4-7為卷積層的誤差傳遞過程。圖右上方為卷積層的向前卷積過程,而右下方為卷積層的誤差傳遞過程。從圖中可以看出,誤差的卷積過程正好是沿著向前傳播的過程,將誤差傳到了上一層。

圖4-7卷積層的誤差傳遞過程

1.3卷積神經(jīng)網(wǎng)絡的權值更新

1.3.1卷積層的權值更新

卷積層的誤差更新過程為:將誤差矩陣當做卷積核,卷積輸入的特征圖,并得到了權值的偏差矩陣,然后與原先的卷積核的權值相加,并得到了更新后的卷積核。如圖4-8,圖中可以看出,該卷積方式的權值連接正好和向前傳播中權值的連接是一致的。

圖4-8卷積核的權值更新過程

1.3.2全連接層的權值更新過程

全連接層中的權值更新過程為:

1、求出權值的偏導數(shù)值:學習速率乘以激勵函數(shù)的倒數(shù)乘以輸入值;

2、原先的權值加上偏導值,得到新的權值矩陣。具體的過程如圖4-9所示(圖中的激活函數(shù)為Sigmoid函數(shù))。

圖4-9全連接層的權值更新過程

責任編輯:YYX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    卷積神經(jīng)網(wǎng)絡如何使用

    卷積神經(jīng)網(wǎng)絡(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡在工程上經(jīng)歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發(fā)表于 07-17 07:21

    什么是圖卷積神經(jīng)網(wǎng)絡?

    卷積神經(jīng)網(wǎng)絡
    發(fā)表于 08-20 12:05

    卷積神經(jīng)網(wǎng)絡的層級結構和常用框架

      卷積神經(jīng)網(wǎng)絡的層級結構  卷積神經(jīng)網(wǎng)絡的常用框架
    發(fā)表于 12-29 06:16

    卷積神經(jīng)網(wǎng)絡(CNN)是如何定義的?

    什么是卷積神經(jīng)網(wǎng)絡?ImageNet-2010網(wǎng)絡結構是如何構成的?有哪些基本參數(shù)?
    發(fā)表于 06-17 11:48

    卷積神經(jīng)網(wǎng)絡一維卷積的處理過程

    。本文就以一維卷積神經(jīng)網(wǎng)絡為例談談怎么來進一步優(yōu)化卷積神經(jīng)網(wǎng)絡使用的memory。文章(卷積神經(jīng)網(wǎng)絡
    發(fā)表于 12-23 06:16

    卷積神經(jīng)網(wǎng)絡模型發(fā)展及應用

    神經(jīng)網(wǎng)絡已經(jīng)廣泛應用于圖像分類、目標檢測、語義分割以及自然語言處理等領域。首先分析了典型卷積神經(jīng)網(wǎng)絡模型為提高其性能增加網(wǎng)絡深度以及寬度的模型結構
    發(fā)表于 08-02 10:39

    卷積神經(jīng)網(wǎng)絡簡介:什么是機器學習?

    復雜數(shù)據(jù)中提取特征的強大工具。例如,這包括音頻信號或圖像中的復雜模式識別。本文討論了 CNN 相對于經(jīng)典線性規(guī)劃的優(yōu)勢。后續(xù)文章“訓練卷積神經(jīng)網(wǎng)絡:什么是機器學習?——第2部分”將討論如何訓練
    發(fā)表于 02-23 20:11

    卷積神經(jīng)網(wǎng)絡結構

    卷積神經(jīng)網(wǎng)絡結構 卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)是一種前饋神經(jīng)網(wǎng)絡,常用于圖像處理、自然
    的頭像 發(fā)表于 08-17 16:30 ?1106次閱讀

    卷積神經(jīng)網(wǎng)絡如何識別圖像

    多層卷積層、池化層和全連接層。CNN模型通過訓練識別并學習高度復雜的圖像模式,對于識別物體和進行圖像分類等任務有著非常優(yōu)越的表現(xiàn)。本文將會詳細介紹卷積神經(jīng)網(wǎng)絡如何識別圖像,主要包括以下
    的頭像 發(fā)表于 08-21 16:49 ?1767次閱讀

    卷積神經(jīng)網(wǎng)絡層級結構 卷積神經(jīng)網(wǎng)絡卷積層講解

    卷積神經(jīng)網(wǎng)絡層級結構 卷積神經(jīng)網(wǎng)絡卷積層講解 卷積
    的頭像 發(fā)表于 08-21 16:49 ?6831次閱讀

    卷積神經(jīng)網(wǎng)絡的基本原理、結構訓練過程

    、訓練過程以及應用場景。 一、卷積神經(jīng)網(wǎng)絡的基本原理 卷積運算 卷積運算是卷積
    的頭像 發(fā)表于 07-02 14:21 ?1031次閱讀

    卷積神經(jīng)網(wǎng)絡的原理是什么

    基本概念、結構、訓練過程以及應用場景。 卷積神經(jīng)網(wǎng)絡的基本概念 1.1 神經(jīng)網(wǎng)絡 神經(jīng)網(wǎng)絡是一種
    的頭像 發(fā)表于 07-02 14:44 ?350次閱讀

    卷積神經(jīng)網(wǎng)絡的基本結構訓練過程

    處理具有空間層次結構的數(shù)據(jù)時表現(xiàn)出色。本文將從卷積神經(jīng)網(wǎng)絡的歷史背景、基本原理、網(wǎng)絡結構訓練過程以及應用領域等方面進行詳細闡述,以期全面解
    的頭像 發(fā)表于 07-02 18:27 ?569次閱讀

    卷積神經(jīng)網(wǎng)絡訓練的是什么

    、訓練過程以及應用場景。 1. 卷積神經(jīng)網(wǎng)絡的基本概念 1.1 卷積神經(jīng)網(wǎng)絡的定義 卷積
    的頭像 發(fā)表于 07-03 09:15 ?219次閱讀

    卷積神經(jīng)網(wǎng)絡的實現(xiàn)原理

    訓練過程以及應用場景。 卷積神經(jīng)網(wǎng)絡的基本原理 1.1 卷積操作 卷積神經(jīng)網(wǎng)絡的核心是
    的頭像 發(fā)表于 07-03 10:49 ?387次閱讀