7-卷積神經網絡-讀書筆記
本筆記根據PaddlePaddlePPT中第7章內容整理總結。
1. 概述
1.1 深層神經網絡問題導入
- 神經網絡的問題
- 圖像模式的特徵
1.2 卷積神經網絡概念引出
1.2.1 卷積神經網絡的誕生
- 卷積:平移不變模式
- 池化:下采樣被檢測物體不變模式
1.2.2 CNN基礎結構
- CNN應用圖像模式的一般框架:卷積層+激活函數+池化層+全連接層
- CONV+RELU+CONV+RELU+POOL出現多次:用作提取特徵
- FC在最後出現一次或多次:用作分類
2. 自己動手搭CNN
2.1 CNN網絡結構
- CNN基本結構:輸入層、卷積層、激活層、池化層、全連接層
2.1.1 輸入層:
2.1.2 卷積層:
- 卷積的直覺:卷積計算=特徵提取
- 灰度圖像上使用單卷積核:單個特徵的抽取
- 術語:feature map(特徵映射)、activation map(激活映射)、convolved feature(卷積特徵)、receptive field(感受野)
- RGB圖像上使用單卷積核:單個特徵的抽取
- 卷積核的深度=上一層數據輸入的深度(channel數)
- RGB圖像上使用多卷積核:多個不同特徵的抽取
- 一個卷積核提取一種局部模式,多個卷積核提取多種不同局部模式
- 卷積隱層的堆疊
- 卷積核的個數=下一層數據的深度=下一卷積層卷積核的深度
- 卷積核的個數=提取特徵的數量,超參數,可以調節
- 隱層的卷積:特徵組合
- 多層卷積:一層卷積得到的特徵只是局部的,層數越高,學到的特徵越全局化
- 需要注意的參數:stride
- 一次滑動的步長,有height上的和width上的stride
- stride>1時,相當於在stride=1的卷積結果中做了下采樣
- 需要注意的參數:padding
- padding=valid:不進行補零操作,s=1時,每卷積一次,寬和高數據維度下降F-1,F爲卷積核大小
- padding=same:在輸入的周圍進行0或複製補充;卷積前後寬高不變
小結
- 輸入:
- 超參數:①the number of filters:K②the dimension of filters:F③stride步長:S④padding:P
- 輸出:
- 參數:
2.1.3 激活層
- 激活函數:sigmoid(x)、tanh(x)、relu(x)
2.1.4 池化層
- 在寬高維度進行下采樣,不改變深度的維度
- 能成倍減少計算量
-相比stride,池化層可以選擇進行下采樣的方式 - 最大池化(max-pooling):對鄰域內特徵點取最大作爲最後的特徵值
- 平均池化(mean-pooling):對鄰域內特徵點取平均作爲最後的特徵值
小結
- 輸入:
- 超參數:the dimension of filters:F
- 輸出:
- 參數:max-pooling和mean-pooling沒參數
2.1.5 全連接層
- 將多層的特徵映射伸直成一個一維的向量
- 採用全連接的方式將向量連接向輸出層
- 輸出層就是對應每個類別的得分
2.1.6 網絡搭建小結
- 卷積神經網絡的一般結構:
- CONV+ReLU和POOL的組合多次出現:提取特徵
- 多個FC或特殊的CNN結構作爲輸出層:作分類器/檢測器/分割器
2.2 CNN網絡訓練
2.2.1 損失與誤差的反向傳播
- 多分類(打標)損失導入:
- 損失函數
- 交叉熵損失&SoftMax概率歸一化:,用來衡量兩個概率分佈間的差異性
a.所以在網絡中先將得分結果歸一化爲概率分佈SoftMax:
b.由輸出和真實標籤間的概率分佈計算交叉熵,度量二者的差異情況 - 梯度下降
a.公式:
b.梯度下降使用樣本方式的變種:批量梯度下降(Batch gradient descent)、隨機梯度下降(Stochastic gradient descent)、小批量梯度下降(Mini-batch gradient descent)
c.梯度下降方式的優化:Momentum法、Nesterov加速梯度法、Adagrad法、Adadelta法、RMSprop法、Adam法 - 反向傳播
a.求解損失對所有參數的梯度
b.兩個過程:Forward pass(逐層計算,保存參數,便於反向計算時用)、Backward pass(由最後的損失倒序逐層計算每一參數的梯度,便於更新)
c.基本原理:鏈式法則 - 神經元中梯度的計算
2.2.2 模型評估與正則化
- 模型的泛化
a.學習算法的基本假設:用來訓練模型的數據(測試集)和真實數據(測試集)間是獨立同分布的
b.泛化能力:機器學習算法對未知樣本的適應能力
c.如何提高學習算法效果:降低訓練誤差(欠擬合)、縮小訓練誤差和測試誤差的差距(過擬合)
d.深度神經網絡的泛化能力:高模型容量、正則化 - 模型的正則化
a.Early-stopping(早停法)
b.權重正則化:L1正則:、L2正則weight decay:
c.數據增強:dropout
2.3 第一個CNN
- MNIST
- CIFAR
- ImageNet
- 如何用PaddleCNN
3. 經典CNN結構探索
3.1 AlexNet
3.2 VGG
3.3 GoogLeNet/Inception
3.4 ResNet
4. 課程實踐
缺公式,公式後面再補