參考鏈接:https://datawhalechina.github.io/unusual-deep-learning/
前言
卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),是受到生物學(xué)上感受野(感受野主要是指聽覺系統(tǒng)、本體感覺系統(tǒng)和視覺系統(tǒng)中神經(jīng)元的一些性質(zhì),也就是神經(jīng)網(wǎng)絡(luò)中神經(jīng)元“看到的”輸入?yún)^(qū)域)的機(jī)制而提出的。在視覺神經(jīng)系統(tǒng)中,一個(gè)神經(jīng)元的感受野是指視網(wǎng)膜上的特定區(qū)域,只有這個(gè)區(qū)域內(nèi)的刺激才能夠激活該神經(jīng)元。
卷積:(f** g*)(n)成為 f 和 g 的卷積,連續(xù)卷積和離散卷積表達(dá)為如下形式:
卷積經(jīng)常用于處理一個(gè)輸入,可通過以下方法產(chǎn)生一個(gè)適應(yīng)需求的輸出。
- 統(tǒng)計(jì)學(xué)中加權(quán)平均法
- 概率論中兩個(gè)獨(dú)立變量之和概率密度的計(jì)算
- 信號處理中的線性系統(tǒng)
- 物理學(xué)的線性系統(tǒng)
- 圖像處理中的應(yīng)用(卷積神經(jīng)網(wǎng)絡(luò))
卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)大致包括:卷積層、激活函數(shù)、池化層、全連接層、輸出層等。
1 卷積層
卷積實(shí)際上就是互相關(guān)。由若干卷積單元組成,每個(gè)卷積單元的參數(shù)都是通過反向傳播算法最佳化而得到的。卷積運(yùn)算的目的是提取輸入的不同特征,第一層卷積層可能只能提取一些低級的特征如邊緣、線條和角等層級,更多層的網(wǎng)路能從低級特征中迭代提取更復(fù)雜的特征。
2 激活函數(shù)
激活函數(shù)是神經(jīng)元上運(yùn)行的函數(shù),負(fù)責(zé)將神經(jīng)元的輸入映射到輸出端,可加入非線性因素,提高網(wǎng)絡(luò)表達(dá)能力,卷積神經(jīng)網(wǎng)絡(luò)中最常用的是ReLU(The Rectified Linear Unit 線性整流函數(shù)),Sigmoid使用較少。
ReLU函數(shù)的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
- 計(jì)算速度快,ReLU函數(shù)只有線性關(guān)系,比Sigmoid和Tanh要快很多;
- 輸入為正數(shù)的時(shí)候,不存在梯度消失問題。
缺點(diǎn): - 強(qiáng)制性把負(fù)值置為0,可能丟掉一些特征;
- 當(dāng)輸入為負(fù)數(shù)時(shí),權(quán)重?zé)o法更新,導(dǎo)致“神經(jīng)元死亡”(學(xué)習(xí)率不 要太大)。
Parametric ReLU函數(shù)(參數(shù)線性整流函數(shù))
公式如下:
image.png
PReLU函數(shù)的優(yōu)缺點(diǎn) - 比sigmoid/tanh收斂快;
- 解決了ReLU的“神經(jīng)元死亡”問題;
- 但需要再學(xué)習(xí)一個(gè)參數(shù),工作量變大。
ELU函數(shù)(指數(shù)線性函數(shù))
公式如下:
image.png
ELU函數(shù)的優(yōu)缺點(diǎn) - 處理含有噪聲的數(shù)據(jù)有優(yōu)勢;
- 更容易收斂;
- 但計(jì)算量較大,收斂速度較慢。
3、池化層
池化層是模仿人的視覺系統(tǒng)對數(shù)據(jù)進(jìn)行降維,用更高層次的特征表示圖像,不包含需要訓(xùn)練學(xué)習(xí)的參數(shù),僅需指定池化操作的核大小、操作步幅以及池化類型。
作用:
(1) 降低信息冗余,獲得不因尺寸而改變的等效圖片表征;
(2) 增強(qiáng)網(wǎng)絡(luò)對輸入圖像中的小變形、扭曲、平移的魯棒性,提升模型的尺度不變性、旋轉(zhuǎn)不變性;
(3) 減少網(wǎng)絡(luò)中的參數(shù)計(jì)算量,從而遏制過擬合。
4 卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
Step 1:用隨機(jī)數(shù)初始化所有的卷積核和參數(shù)/權(quán)重;
Step 2:將訓(xùn)練圖片作為輸入,執(zhí)行前向步驟(卷積, ReLU,池化以及全連接層的前向傳播)并計(jì)算每個(gè)類別的對應(yīng)輸出概率;
Step 3:計(jì)算輸出層的總誤差;
Step 4:反向傳播算法計(jì)算誤差相對于所有權(quán)重的梯度,并用梯度下降法更新所有的卷積核和參數(shù)/權(quán)重的值,以使輸出誤差最小化。
注:卷積核個(gè)數(shù)、卷積核尺寸、網(wǎng)絡(luò)架構(gòu)這些參數(shù),是在 Step 1 之前就已經(jīng)固定的,且不會在訓(xùn)練過程中改變——只有卷積核矩陣和神經(jīng)元權(quán)重會更新。
5 總結(jié)
卷積神經(jīng)網(wǎng)絡(luò)的概念、公式容易理解,相當(dāng)于一個(gè)轉(zhuǎn)接口,但是里面的方法、過程及應(yīng)用挺難的,而且因?yàn)閿?shù)據(jù)量巨大,一般的電腦難以承受。