亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区

常州機器視覺培訓

常州上位機軟件開發(fā)

常州工業(yè)機器人編程設計培訓

常州PLC培訓

常州PLC

常州PLC編程培訓

常州電工培訓

常州和訊plc培訓中心歡迎您!
當前位置:網(wǎng)站首頁 > 新聞中心 新聞中心
卷積神經(jīng)網(wǎng)絡(CNN)詳細介紹及其原理詳解,常州PLC培訓,常州上位機培訓,常州機器視覺培訓
日期:2023-12-8 10:52:08人氣:  標簽:常州PLC培訓 常州上位機培訓 常州機器視覺培訓

 

前言

本文總結了關于卷積神經(jīng)網(wǎng)絡(CNN)的一些基礎的概念,并且對于其中的細節(jié)進行了詳細的原理講解,通過此文可以十分全面的了解卷積神經(jīng)網(wǎng)絡(CNN),非常適合于作為Deep Learning的入門學習。下面就是本篇博客的全部內(nèi)容!


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

卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks, CNN)這個概念的提出可以追溯到二十世紀80~90年代,但是有那么一段時間這個概念被“雪藏”了,因為當時的硬件和軟件技術比較落后,而隨著各種深度學習理論相繼被提出以及數(shù)值計算設備的高速發(fā)展,卷積神經(jīng)網(wǎng)絡得到了快速發(fā)展。

那究竟什么是卷積神經(jīng)網(wǎng)絡呢?以手寫數(shù)字識別為例,整個識別的過程如下所示:

1.png

圖1:手寫數(shù)字識別過程


話說回來,可以看到整個過程需要在如下幾層進行運算:

•輸入層:輸入圖像等信息


•卷積層:用來提取圖像的底層特征


•池化層:防止過擬合,將數(shù)據(jù)維度減小


•全連接層:匯總卷積層和池化層得到的圖像的底層特征和信息


•輸出層:根據(jù)全連接層的信息得到概率最大的結果

可以看到其中最重要的一層就是卷積層,這也是卷積神經(jīng)網(wǎng)絡名稱的由來,下面將會詳細講解這幾層的相關內(nèi)容。



二、輸入層

輸入層比較簡單,這一層的主要工作就是輸入圖像等信息,因為卷積神經(jīng)網(wǎng)絡主要處理的是圖像相關的內(nèi)容,但是我們?nèi)搜劭吹降膱D像和計算機處理的圖像是一樣的么?

很明顯是不一樣的,對于輸入圖像,首先要將其轉換為對應的二維矩陣,這個二位矩陣就是由圖像每一個像素的像素值大小組成的,我們可以看一個例子,如下圖所示的手寫數(shù)字“8”的圖像,計算機讀取后是以像素值大小組成的二維矩陣存儲的圖像。

2.gif

圖2:數(shù)字8的灰度圖像與其對應的二維矩陣



上圖又稱為灰度圖像,因為其每一個像素值的范圍是0~255(由純黑色到純白色),表示其顏色強弱程度。另外還有黑白圖像,每個像素值要么是0(表示純黑色),要么是255(表示純白色)。

我們?nèi)粘I钪凶畛R姷木褪荝GB圖像,有三個通道,分別是紅色、綠色、藍色。每個通道的每個像素值的范圍也是0~255,表示其每個像素的顏色強弱。

但是我們?nèi)粘L幚淼幕径际腔叶葓D像,因為比較好操作(值范圍較小,顏色較單一),有些RGB圖像在輸入給神經(jīng)網(wǎng)絡之前也被轉化為灰度圖像,也是為了方便計算,否則三個通道的像素一起處理計算量非常大。

當然,隨著計算機性能的高速發(fā)展,現(xiàn)在有些神經(jīng)網(wǎng)絡也可以處理三通道的RGB圖像。

現(xiàn)在我們已經(jīng)知道了,輸入層的作用就是將圖像轉換為其對應的由像素值構成的二維矩陣,并將此二維矩陣存儲,等待后面幾層的操作。


三、卷積層

那圖片輸入進來之后該怎么處理呢?

假設我們已經(jīng)得到圖片的二維矩陣了,想要提取其中特征,那么卷積操作就會為存在特征的區(qū)域確定一個高值,否則確定一個低值。這個過程需要通過計算其與卷積核(Convolution Kernel)的乘積值來確定。

假設我們現(xiàn)在的輸入圖片是一個人的腦袋,而人的眼睛是我們需要提取的特征,那么我們就將人的眼睛作為卷積核,通過在人的腦袋的圖片上移動來確定哪里是眼睛,這個過程如下所示:

3.gif

圖3:提取人的眼睛的特征的過程

通過整個卷積過程又得到一個新的二維矩陣,此二維矩陣也被稱為特征圖(Feature Map),最后我們可以將得到的特征圖進行上色處理(我只是打個比方,比如高值為白色,低值為黑色),最后可以提取到關于人的眼睛的特征,如下所示:

默認文件1701415489273.jpg

圖4:提取人的眼睛的特征的結果

看著上面的描述可能有點懵,別急,首先卷積核也是一個二維矩陣,當然這個二維矩陣要比輸入圖像的二維矩陣要小或相等,卷積核通過在輸入圖像的二維矩陣上不停的移動,每一次移動都進行一次乘積的求和,作為此位置的值,這個過程如下圖所示:

5.gif

圖5:卷積的過程

可以看到,整個過程就是一個降維的過程,通過卷積核的不停移動計算,可以提取圖像中最有用的特征。

我們通常將卷積核計算得到的新的二維矩陣稱為特征圖,比如上方動圖中,下方移動的深藍色正方形就是卷積核,上方不動的青色正方形就是特征圖。

有的讀者可能注意到,每次卷積核移動的時候中間位置都被計算了,而輸入圖像二維矩陣的邊緣卻只計算了一次,會不會導致計算的結果不準確呢?

讓我們仔細思考,如果每次計算的時候,邊緣只被計算一次,而中間被多次計算,那么得到的特征圖也會丟失邊緣特征,最終會導致特征提取不準確,那為了解決這個問題。

我們可以在原始的輸入圖像的二維矩陣周圍再拓展一圈或者幾圈,這樣每個位置都可以被公平的計算到了,也就不會丟失任何特征,此過程可見下面兩種情況,這種通過拓展解決特征丟失的方法又被稱為Padding。

•Padding取值為1,拓展一圈

6.gif

圖6:Padding為1時卷積的過程

•Padding取值為2,拓展兩圈

7.gif

圖7:Padding為2時卷積的過程

那如果情況再復雜一些呢?如果我們使用兩個卷積核去提取一張彩色圖片呢?

之前我們介紹過,彩色圖片都是三個通道,也就是說一個彩色圖片會有三個二維矩陣,當然,我們僅以第一個通道示例,否則太多了也不好介紹。

此時我們使用兩組卷積核,每組卷積核都用來提取自己通道的二維矩陣的特征,剛才說了,我們只考慮第一通道的,所以說我們只需要用兩組卷積核的第一個卷積核來計算得到特征圖就可以了,那么這個過程可見下圖

8.gif

圖8:兩個卷積核進行卷積的過程

看著上面的動圖確實有些不知所措是吧,我來解釋一下,按照剛才的思路,輸入圖片是彩色圖片,有三個通道,所以輸入圖片的尺寸就是7×7×3,而我們只考慮第一個通道,也就是從第一個7×7的二維矩陣中提取特征。

那么我們只需要使用每組卷積核的第一個卷積核即可,這里可能有讀者會注意到Bias,其實它就是偏置項,最后計算的結果加上它就可以了,最終通過計算就可以得到特征圖了。

可以發(fā)現(xiàn),有幾個卷積核就有幾個特征圖,因為我們現(xiàn)在只使用了兩個卷積核,所以會得到兩個特征圖。

以上就是關于卷積層的一些相關知識,當然,本文也只是一個入門,所以說還有一些比較復雜的內(nèi)容沒有進行深入闡述,這個就需要等到過后的學習與總結了。


四、池化層

剛才我們也提到了,有幾個卷積核就有多少個特征圖,現(xiàn)實中情況肯定更為復雜,也就會有更多的卷積核,那么就會有更多的特征圖,當特征圖非常多的時候,意味著我們得到的特征也非常多,但是這么多特征都是我們所需要的么?

顯然不是,其實有很多特征我們是不需要的,而這些多余的特征通常會給我們帶來如下兩個問題:

•過擬合

•維度過高

為了解決這個問題,我們可以利用池化層,那什么是池化層呢?

池化層又稱為下采樣,也就是說,當我們進行卷積操作后,再將得到的特征圖進行特征提取,將其中最具有代表性的特征提取出來,可以起到減小過擬合和降低維度的作用,這個過程如下所示:

9.png

圖9:池化的過程

那有的讀者可能會問了,我應該以什么規(guī)則進行特征提取呢?

其實這個過程類似于卷積的過程,就是一個正方形的小方塊在圖片上進行移動,每次我們?nèi)∵@個正方形方框中最具有代表性的特征,那么問題又來了,如何提取到最有代表性的特征呢,通常有兩種方法:

•最大池化

顧名思義,最大池化就是每次取正方形中所有值的最大值,這個最大值也就相當于當前位置最具有代表性的特征,這個過程如下所示:

10.png

圖10:最大池化的過程

這里有幾個參數(shù)需要說明一下:

① kernel_size = 2:池化過程使用的正方形尺寸是2×2,如果是在卷積的過程中就說明卷積核的大小是2×2

② stride = 2:每次正方形移動兩個位置(從左到右,從上到下),這個過程其實和卷積的操作過程一樣

③ padding = 0:這個之前介紹過,如果此值為0,說明沒有進行拓展

•平均池化

平均池化就是取此正方形區(qū)域中所有值的平均值,考慮到每個位置的值對于此處特征的影響,平均池化計算也比較簡單,整個過程如下圖所示:

11.png

圖11:平均池化的過程

對于其中的參數(shù)含義與上面介紹的最大池化一致,另外,需要注意計算平均池化時采用向上取整。

以上就是關于池化層的所有操作,我們再回顧一下,經(jīng)過池化后,我們可以提取到更有代表性的特征。

同時還減少了不必要的計算,這對于我們現(xiàn)實中的神經(jīng)網(wǎng)絡計算大有脾益,因為現(xiàn)實情況中神經(jīng)網(wǎng)絡非常大,而經(jīng)過池化層后,就可以明顯的提高模型的效率。

所以說,池化層的好處很多,將其優(yōu)點總結如下:

•在減少參數(shù)量的同時,還保留了原圖像的原始特征

•有效防止過擬合

•為卷積神經(jīng)網(wǎng)絡帶來平移不變性

以上兩個優(yōu)點我們之前已經(jīng)介紹過了,那什么又是平移不變性呢?可以用我們之前的一個例子,如下圖所示:

12.gif

圖12:池化的平移不變性

可以看到,兩張原始圖片的位置有所不同,一個是正常的,另一個是人的腦袋稍稍左移了一些。

經(jīng)過卷積操作后,得到各自對應的特征圖,這兩張?zhí)卣鲌D也和原始圖片的位置相對應,一個眼睛特征的位置是正常的,另一個眼睛特征的位置稍稍左移了一些。

雖然人可以分辨,但是經(jīng)過神經(jīng)網(wǎng)絡計算后,就可能帶來誤差,因為應該出現(xiàn)眼睛的位置并沒有出現(xiàn)眼睛,那應該怎么辦呢?

此時使用池化層進行池化操作,可以發(fā)現(xiàn),雖然池化之前兩幅圖片的眼睛特征不在一個位置,但是經(jīng)過池化之后,眼睛特征的位置都是相同的,這就為后續(xù)神經(jīng)網(wǎng)絡的計算帶來了方便,此性質就是池化的平移不變性


五、全連接層

假設還是上面人的腦袋的示例,現(xiàn)在我們已經(jīng)通過卷積和池化提取到了這個人的眼睛、鼻子和嘴的特征,如果我想利用這些特征來識別這個圖片是否是人的腦袋該怎么辦呢?

此時我們只需要將提取到的所有特征圖進行“展平”,將其維度變?yōu)? × x 1×x1×x,這個過程就是全連接的過程。

也就是說,此步我們將所有的特征都展開并進行運算,最后會得到一個概率值,這個概率值就是輸入圖片是否是人的概率,這個過程如下所示:

13.png

圖13:全連接的過程


單看這個過程可能還是不太清晰,所以我們可以把之前的過程與全連接層結合起來,如下圖所示:

14.png

圖14:整個過程

可以看到,經(jīng)過兩次卷積和最大池化之后,得到最后的特征圖,此時的特征都是經(jīng)過計算后得到的,所以代表性比較強,最后經(jīng)過全連接層,展開為一維的向量,再經(jīng)過一次計算后,得到最終的識別概率,這就是卷積神經(jīng)網(wǎng)絡的整個過程。


六、輸出層

卷積神經(jīng)網(wǎng)絡的輸出層理解起來就比較簡單了,我們只需要將全連接層得到的一維向量經(jīng)過計算后得到識別值的一個概率,當然,這個計算可能是線性的,也可能是非線性的。

在深度學習中,我們需要識別的結果一般都是多分類的,所以每個位置都會有一個概率值,代表識別為當前值的概率,取最大的概率值,就是最終的識別結果。

在訓練的過程中,可以通過不斷地調整參數(shù)值來使識別結果更準確,從而達到最高的模型準確率。

15.png

圖15:輸出層示意圖


七、回顧整個過程

卷積神經(jīng)網(wǎng)絡最經(jīng)典的應用莫過于手寫數(shù)字識別了,比如我現(xiàn)在手寫一個數(shù)字8,那么卷積神經(jīng)網(wǎng)絡是如何識別出來的呢?整個識別的過程如下圖所示:

16.png

圖16:手寫數(shù)字識別的過程

1. 將手寫數(shù)字圖片轉換為像素矩陣

2. 對像素矩陣進行Padding不為0的卷積運算,目的是保留邊緣特征,生成一個特征圖

3. 對這個特征圖使用六個卷積核進行卷積運算,得到六個特征圖

4. 對每個特征圖進行池化操作(也可稱為下采樣操作),在保留特征的同時縮小數(shù)據(jù)流,生成六個小圖,這六個小圖和上一層各自的特征圖長得很像,但尺寸縮小了

5. 對池化操作后得到的六個小圖進行第二次卷積運算,生成了更多的特征圖

6. 對第二次卷積生成的特征圖進行池化操作(下采樣操作)

7. 將第二次池化操作得到的特征進行第一次全連接

8. 將第一次全連接的結果進行第二次全連接

9.將第二次全鏈接的結果進行最后一次運算,這種運算可能是線性的也可能是非線性的,最終每個位置(一共十個位置,從0到9)都有一個概率值,這個概率值就是將輸入的手寫數(shù)字識別為當前位置數(shù)字的概率,最后以概率最大的位置的值作為識別結果。

可以看到,右側上方是我的手寫數(shù)字,右側下方是模型(LeNet)的識別結果,最終的識別結果與我輸入的手寫數(shù)字是一致的,這一點從圖片左邊最上邊也可以看到,說明此模型可以成功識別手寫數(shù)字


總結

以上就是本篇博客的全部內(nèi)容了,可以看到內(nèi)容寫的非常充實,也耗費了我不少時間來總結,希望可以和大家一起學習、進步。另外,由于本人水平有限,有錯的地方還望讀者指正,謝謝大家!


本文網(wǎng)址:

相關信息:
版權所有 CopyRight 2006-2017 江蘇和訊自動化設備有限公司 常州自動化培訓中心 電話:0519-85602926 地址:常州市新北區(qū)府琛商務廣場2號樓1409室
蘇ICP備14016686號-2 技術支持:常州山水網(wǎng)絡
本站關鍵詞:常州PLC培訓 常州PLC編程培訓 常州PLC編程 常州PLC培訓班 網(wǎng)站地圖 網(wǎng)站標簽
在線與我們?nèi)〉寐?lián)系
亚洲mv大片欧洲mv大片入口,国产粉嫩无码一区二区三区,国内精品自产拍在线观看91,久久久亚洲欧洲日产国码二区,中文字幕人妻久久一区二区三区