完整教程:AI學(xué)習(xí)日記——卷積神經(jīng)網(wǎng)絡(luò)(CNN):卷積層與池化層的概念
目錄
一、CNN整體結(jié)構(gòu)
1. 從全連接網(wǎng)絡(luò)到CNN
傳統(tǒng)的全連接神經(jīng)網(wǎng)絡(luò)在處理圖像時(shí)存在明顯局限性,而卷積神經(jīng)網(wǎng)絡(luò)通過特殊的層結(jié)構(gòu)更好地處理具有空間結(jié)構(gòu)的數(shù)據(jù)。
全連接網(wǎng)絡(luò)結(jié)構(gòu):
相鄰層的所有神經(jīng)元之間都有連接

CNN網(wǎng)絡(luò)結(jié)構(gòu):
CNN引入了兩種新的層類型替代Affine層:
卷積層(Convolution層)
池化層(Pooling層)

2. 全連接層的問題
形狀信息丟失:
全連接層需要將3D圖像素材展平為1D向量(把輸入(1, 28, 28)的圖片數(shù)據(jù)信息變成784)
丟失了像素間的空間關(guān)系信息(圖片像素點(diǎn)相鄰值應(yīng)該相似)
無法利用圖像的局部相關(guān)性
3. CNN的優(yōu)勢(shì)
在CNN中,各層的輸入輸出素材稱為特征圖:
輸入特征圖
輸出特征圖
特征圖保持了數(shù)據(jù)的空間結(jié)構(gòu)CNN能夠有效就是,這處理圖像的關(guān)鍵。
二、卷積層詳解
1. 卷積運(yùn)算基礎(chǔ)
卷積運(yùn)算相當(dāng)于圖像處理中的濾波器運(yùn)算,通過滑動(dòng)窗口在輸入數(shù)據(jù)上應(yīng)用濾波器。
基本計(jì)算過程:

濾波器在輸入數(shù)據(jù)上滑動(dòng)
對(duì)應(yīng)位置元素相乘后求和
結(jié)果保存到輸出對(duì)應(yīng)位置
把結(jié)果加上偏置求和
2. 填充(Padding)

在輸入數(shù)據(jù)周圍添加固定值(通常是0)
目的:控制輸出特征圖的大小,防止網(wǎng)絡(luò)過深時(shí)特征圖尺寸過小
3. 步幅(Stride)

濾波器移動(dòng)的間隔大小
步幅增大,輸出尺寸減小
步幅減小,輸出尺寸增大
輸出尺寸計(jì)算公式:

H, W:輸入高和寬
FH, FW:濾波器高和寬
P:填充大小
S:步幅
OH, OW:輸出高和寬
所設(shè)定的值必須使輸出尺寸計(jì)算公式可以除盡,當(dāng)值無法除盡時(shí),有時(shí)會(huì)向最接近的整數(shù)四舍五入,不進(jìn)行 報(bào)錯(cuò)而繼續(xù)運(yùn)行。
4. 三維數(shù)據(jù)的卷積運(yùn)算

真實(shí)圖像是3維數(shù)據(jù)(通道×高度×寬度),會(huì)按通道進(jìn)行輸入數(shù)據(jù)和濾波器的卷積運(yùn)算,并將結(jié)果相加,從而得到輸出。
3D卷積特點(diǎn):
輸入數(shù)據(jù)和濾波器通道數(shù)必須相同(輸入三層,濾波器也必須是三層)
各通道分別進(jìn)行卷積運(yùn)算
結(jié)果相加得到單通道輸出,結(jié)果只輸出一層
數(shù)據(jù)格式:
輸入數(shù)據(jù):(C, H, W)
濾波器:(C, FH, FW)
輸出材料:(1, OH, OW)
5. 多濾波器機(jī)制
由前文所說,多通道數(shù)據(jù)在濾波器過后只會(huì)輸出一層數(shù)據(jù),因此為了在通道方向獲得多個(gè)輸出,需要采用多個(gè)濾波器,每個(gè)濾波器獨(dú)立提取不同類型的特征。

多濾波器部署:
濾波器形狀變?yōu)椋?FN, C, FH, FW)
FN:濾波器數(shù)量
輸出形狀變?yōu)椋?FN, OH, OW)

偏置形狀:
偏置形狀:(FN, 1, 1)
每個(gè)濾波器對(duì)應(yīng)一個(gè)偏置值
6. 批處理

批處理數(shù)據(jù)格式:
輸入數(shù)據(jù):(N, C, H, W)
濾波器:(FN, C, FH, FW)
輸出數(shù)據(jù):(N, FN, OH, OW)
三、池化層
1. 作用與類型
池化層的主要作用是縮小特征圖的尺寸,從而減少參數(shù)量并增強(qiáng)特征的魯棒性(穩(wěn)健性)。
特點(diǎn):
- 沒有要學(xué)習(xí)的參數(shù)
- 通道數(shù)不變化
- 對(duì)微小的位置變化具有魯棒性(穩(wěn)健性)
主要池化類型:
Max池化:從目標(biāo)區(qū)域中取最大值
Average池化:計(jì)算目標(biāo)區(qū)域的平均值
在圖像識(shí)別領(lǐng)域,Max池化是最常用的辦法。
2. Max池化的計(jì)算過程
Max池化按指定窗口大小和步幅在輸入信息上滑動(dòng),取每個(gè)區(qū)域內(nèi)的最大值。一般池化的窗口大小會(huì)和步幅設(shè)定成相同的值。

總結(jié)
本文介紹了卷積神經(jīng)網(wǎng)絡(luò)(CNN)的基本結(jié)構(gòu)和工作原理。與全連接網(wǎng)絡(luò)不同,CNN通過卷積層和池化層處理圖像資料,保留了空間結(jié)構(gòu)信息。卷積層利用濾波器提取特征,涉及填充、步幅、三維卷積和多濾波器機(jī)制;池化層則通過Max池化、Average池化等手段縮小特征圖尺寸。這些特性使CNN能有效處理圖像數(shù)據(jù),在計(jì)算機(jī)視覺領(lǐng)域展現(xiàn)顯著優(yōu)勢(shì)。

浙公網(wǎng)安備 33010602011771號(hào)