cnn卷積神經網絡(史上最容易理解版)


什么是cnn卷積神經網絡?ta有什么用呢?
這些問題是否現在或者曾經是你們心中的問題?

cnn卷積神經網絡詳解

cnn卷積神經網絡是一種人工智能網絡,用於圖片識別、圖片分類等。
那怎么可以進行圖片識別、分類等問題呢?
傳一些圖片進去為什么能實現訓練和分類呢?
明明就是一張人們可見的圖片,怎么能用於訓練和計算呢?
其實大家應該都知道:灰色圖片是由一個2維網格組成
灰色圖片:

而彩色圖片是由一個3層2維網格組成的,分別是R、P、G
彩色圖片

給大家用python來檢驗一下:

所以,我們可以用圖片來進行一系列數值、矩陣運算
到這里,大家應該對圖片有些了解了,接下來我們來講解一下cnn卷積神經網絡
cnn卷積神經網絡由卷積層池化層全連接層組成

卷積層:

這層主要是為了提取圖像的特征值(特征值就是:該類圖片與其他圖片的不同點,如兔子的耳朵、猴子的尾巴)
提取特征值的主要操作:
b=a*w+b w就是在原圖片挪動的小框框(即卷積核),小框框每個格子都有自己的值,b就是映射出來的矩陣,即映射出來的圖片,b就是一個偏移值
bij=aij*wij+b

不同卷積核能提取圖像不同的輪廓

池化層:

池化層為了減少數據量和減少特征值以防止過擬合
什么是過擬合呢?

第一個是欠擬合
第二個是擬合
第三個是過擬合
那什么是池化呢?其實與卷積差不多
就是有一個小框框(即最大池),在圖像框中挪動,提取框中的最大值

經過池化的圖像能減少一些特征值,讓圖像輪廓不那么明顯

全連接層:

在全連接之前,應該將2維、3維的圖像數據變為1維的數據

以便於后續的計算
flatten之后的長度=圖片的長度*圖片的寬度*3
圖片中的fully connected layers就是全連接層的輸入層,輸入層的神經元個數等於flatten之后的長度
即每個神經元對應每個flatten之后的數值
全連接層的最后一層(圖中的output layers)的神經元個數等於要分類的類別數

w就是每個神經元所帶的權值,a就是flatten之后每個方格的數值,b就是一個偏移量
最后把每一個output算出來
因為算出來的值有正有負,所以我們用自然指數函數將其變為正的
output=e^output
再采用下面的函數算出該張圖片是每一類的每一個概率

圖中的e^z正是剛剛算出的每一個output
概率最大的說明就是這一類
全部串起來就是這樣:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM