【視頻課件資料見(jiàn)置頂評(píng)論】深度學(xué)習(xí)入門(mén)必學(xué)丨神經(jīng)網(wǎng)絡(luò)基礎(chǔ)丨卷積神經(jīng)網(wǎng)絡(luò)丨循環(huán)神經(jīng)

深度學(xué)習(xí)入門(mén)
學(xué)習(xí)推薦

吳恩達(dá)深度學(xué)習(xí)課程
https://www.deeplearning.ai/
李宏毅深度學(xué)習(xí)課程2021
https://www.bilibili.com/video/BV1Wv411h7kN?from=search&seid=1027746521760509878&spm_id_from=333.337.0.0
《deep learning》(花書(shū))
《機(jī)器學(xué)習(xí)》(西瓜書(shū))
目錄
第一章 神經(jīng)網(wǎng)絡(luò)與多層感知機(jī)
1、人工神經(jīng)元
2、多層感知機(jī)
3、激活函數(shù)
4、反向傳播
5、損失函數(shù)
6、權(quán)值初始化
7、正則化
8、小結(jié)
第二章 卷積神經(jīng)網(wǎng)絡(luò)
0、第一章回顧
1、卷積神經(jīng)網(wǎng)絡(luò)發(fā)展史
2、卷積操作
3、池化操作
4、Lenet-5及CNN結(jié)構(gòu)進(jìn)化史
卷積網(wǎng)絡(luò)進(jìn)化史
5、小結(jié)
第三章 循環(huán)神經(jīng)網(wǎng)絡(luò)
0、第二章回顧
1、序列數(shù)據(jù)
2、語(yǔ)言模型
3、RNN-循環(huán)神經(jīng)網(wǎng)絡(luò)
4、GRU-門(mén)控循環(huán)單元?
5、LSTM-長(zhǎng)短期記憶網(wǎng)絡(luò)
6、小結(jié)
第四章 總結(jié)
第一章 神經(jīng)網(wǎng)絡(luò)與多層感知機(jī)
1、人工神經(jīng)元
人類(lèi)神經(jīng)元中抽象出來(lái)的數(shù)學(xué)模型

人類(lèi)神經(jīng)元的結(jié)構(gòu):
樹(shù)突(輸入):接受別的神經(jīng)元傳遞的信息
細(xì)胞核(處理):處理所接收的信息
軸突、軸突末梢(輸出):將細(xì)胞核處理好的信息傳遞給別的神經(jīng)元
M-P模型的結(jié)構(gòu):
input:接受輸入數(shù)據(jù)
weights:權(quán)重,與所接收的數(shù)據(jù)相乘(對(duì)應(yīng)人工神經(jīng)元中的連接強(qiáng)度)
sigma:求和操作
threadhold:激活函數(shù)(閾值函數(shù),當(dāng)大于一定的閾值時(shí),該函數(shù)會(huì)被激活,對(duì)應(yīng)人工神經(jīng)元中激活和抑制的兩種狀態(tài))
output:輸出

人工神經(jīng)元與M-P模型的對(duì)應(yīng)關(guān)系

人工神經(jīng)網(wǎng)絡(luò)
大量神經(jīng)元以某種連接方式構(gòu)成的機(jī)器學(xué)習(xí)模型

感知機(jī)(perceptron)

<w,x>表示向量乘法
b表示偏置項(xiàng)(bias)
感知機(jī)的缺點(diǎn):

0(O):假
1(▲):真
上圖中圖“或”畫(huà)錯(cuò)了:左下角應(yīng)該為O,右上角為▲
對(duì)perceptron不能解決異或問(wèn)題的理解
perceptron在二維平面上就是一條直線,而在二維平面中異或得出的相同結(jié)果處于對(duì)角線的位置,因此無(wú)法將兩種結(jié)果分隔開(kāi)
通過(guò)化簡(jiǎn)(忽略掉激活函數(shù))得出一條直線的表達(dá)式(O不是0,是一個(gè)變量,表示輸出)

最終化簡(jiǎn)為:y = kx + b ,結(jié)果是一條直線
一條直線無(wú)法解決異或問(wèn)題:無(wú)法保證直線的兩側(cè)分別是同一類(lèi),說(shuō)明perceptron無(wú)法解決異或問(wèn)題,導(dǎo)致了人工神經(jīng)網(wǎng)絡(luò)的第一次衰落
2、多層感知機(jī)
單層神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入一個(gè)或多個(gè)隱藏層,使神經(jīng)元有多個(gè)網(wǎng)絡(luò)層

輸入層
隱藏層
輸出層
簡(jiǎn)單的多層感知機(jī)(上圖左)中:
- 也稱(chēng)為兩層神經(jīng)網(wǎng)絡(luò),因?yàn)橹挥袃蓪?隱藏層和輸出層)具有權(quán)重參數(shù),神經(jīng)網(wǎng)絡(luò)中只會(huì)計(jì)算有權(quán)重參數(shù)的層
- 隱藏層權(quán)重參數(shù)通常寫(xiě)成W(4*5):輸入(輸入層)有四個(gè)神經(jīng)元(對(duì)應(yīng)每一個(gè)神經(jīng)元所連接的輸入層神經(jīng)元的個(gè)數(shù)),輸出(隱藏層)有五個(gè)神經(jīng)元

三個(gè)隱藏層的多層感知機(jī)(上圖右):
- 權(quán)重表示與上類(lèi)似

多層感知機(jī)的前向傳播

上述表達(dá)式中:
- X、W、H都是向量
- 忽略掉了偏置
- 不能省略激活函數(shù),如果省略掉激活函數(shù),多層感知機(jī)就會(huì)退化為單層網(wǎng)絡(luò)
多層感知機(jī)的激活函數(shù)

當(dāng)沒(méi)有激活函數(shù)時(shí),兩層的多層感知機(jī)的輸出表達(dá)式最終可以化簡(jiǎn)為O = XW + b,即退化成了單層感知機(jī)了
因此,在隱藏層中加入激活函數(shù),可以避免網(wǎng)絡(luò)退化
3、激活函數(shù)
激活函數(shù)的作用:
- 讓多層感知機(jī)成為真正的多層,避免網(wǎng)絡(luò)退化等價(jià)于一層
- 引入非線性,使網(wǎng)絡(luò)可以逼近任意非線性函數(shù)(萬(wàn)能逼近定理,universal approximator:只需要一層感知機(jī)加上激活函數(shù),就能逼近任意的非線性函數(shù))
激活函數(shù)需要具備的性質(zhì):

第三點(diǎn)影響反向傳播中權(quán)重的更新
常見(jiàn)的激活函數(shù):

sigmoid(S型):
- 早期的神經(jīng)網(wǎng)絡(luò)中使用較多,現(xiàn)在主要在RNN神經(jīng)網(wǎng)絡(luò)中使用較多
- 函數(shù)值處于0 - 1之間,符合概率值的區(qū)間,因此經(jīng)常用于二分類(lèi)問(wèn)題中輸出的激活函數(shù),將實(shí)數(shù)變換到0到1之間符合概率分布的形式
- 在RNN中也作為各種門(mén)控單元的激活函數(shù),用來(lái)控制信息的流動(dòng)(保留 or 遺忘)
- 飽和區(qū)域(左一黃色曲線(導(dǎo)函數(shù))的兩個(gè)矩形框)

- 弊端:如果神經(jīng)元大量落入飽和區(qū),其梯度幾乎是0,因此無(wú)法繼續(xù)向前傳播梯度,更新權(quán)重,使網(wǎng)絡(luò)模型的訓(xùn)練變得相對(duì)困難
- 導(dǎo)函數(shù)計(jì)算比較方便
- 線性區(qū)

Tanh(雙曲正切):
- 值域在 -1 到 1 之間,對(duì)稱(chēng)(0均值)
- 飽和區(qū)

- 弊端:如果神經(jīng)元大量落入飽和區(qū),其梯度幾乎是0,因此無(wú)法繼續(xù)向前傳播梯度,更新權(quán)重,使網(wǎng)絡(luò)模型的訓(xùn)練變得相對(duì)困難
- 線性區(qū)

ReLU(修正線性單元):
- 不存在飽和區(qū),因此現(xiàn)在廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)中,特別是在CNN中,隱藏層幾乎不使用sigmoid和tanh作為激活函數(shù)
- 運(yùn)算簡(jiǎn)單

- 導(dǎo)函數(shù):在 x = 0 處沒(méi)有定義(激活函數(shù)連續(xù)并可到,但允許在少數(shù)點(diǎn)上不可導(dǎo)),可以認(rèn)為 x = 0 處的導(dǎo)數(shù)是0或者1

- ReLU函數(shù)的一系列改進(jìn)函數(shù)主要是在負(fù)半軸上進(jìn)行改進(jìn)
激活函數(shù)的兩個(gè)大類(lèi):
- 飽和激活函數(shù):sigmoid、tanh
- 非飽和激活函數(shù):ReLU
4、反向傳播

前向傳播傳播的是數(shù)據(jù),而反向傳播傳播的是梯度信息
y^表示模型的輸出,y表示樣本的標(biāo)簽
網(wǎng)絡(luò)計(jì)算圖

圖例:
- 矩形框:節(jié)點(diǎn),數(shù)據(jù)
- 圓圈:操作
- z 和 l 在神經(jīng)網(wǎng)絡(luò)中沒(méi)有,但是因?yàn)樾枰獙⑸窠?jīng)網(wǎng)絡(luò)的操作進(jìn)行進(jìn)一步細(xì)分,因此引入了這兩個(gè)中間變量
- l 表示的是損失函數(shù)
- 前向傳播

反向傳播
計(jì)算符定義:prod(x,y),表示 x 與 y 根據(jù)形狀做必要的變換,然后相乘(簡(jiǎn)化了矩陣運(yùn)算的難度,規(guī)避了左乘與右乘的差異)

在反向傳播的推導(dǎo)中,排在下面的式子的因子中都包含了該式之前的偏導(dǎo)式,因此可以根據(jù)鏈?zhǔn)椒▌t先進(jìn)行化簡(jiǎn),然后再計(jì)算未知的偏導(dǎo)數(shù)

在計(jì)算圖中如何求變量的梯度?
從Loss出發(fā),找連接到該變量的通路,有多少條通路,就等于多少項(xiàng)進(jìn)行相加,
梯度下降法

梯度在二維空間中很好理解,就是導(dǎo)數(shù),但在三維空間中,函數(shù)在一個(gè)點(diǎn)上面的導(dǎo)數(shù)往往有很多個(gè),但是根據(jù)定義,只選擇導(dǎo)數(shù)最大的作為梯度
同時(shí)還應(yīng)該注意,由于是梯度下降法,因此權(quán)值是沿著梯度的負(fù)方向更新的,使函數(shù)值減小

學(xué)習(xí)率
控制更新的步長(zhǎng)

上述例子中學(xué)習(xí)率太大導(dǎo)致最終結(jié)果飆升
加上不同學(xué)習(xí)率之后:

- 學(xué)習(xí)率通常是小于1的,通常是0.1、0.01、0.001
5、損失函數(shù)

- 整個(gè)訓(xùn)練的目標(biāo)就是讓輸出更接近真實(shí)的標(biāo)簽
- 損失函數(shù)起到了一個(gè)橋梁的作用,連接了模型輸出與標(biāo)簽
- y^表示模型輸出,y表示標(biāo)簽
損失函數(shù)、代價(jià)函數(shù)、目標(biāo)函數(shù)三者的關(guān)系
- 損失函數(shù)描述的是單個(gè)樣本的模型輸出與標(biāo)簽之間的差異值
- 損失函數(shù)描述的是總體樣本(數(shù)據(jù)集)的模型輸出與標(biāo)簽之間的差異值的平均值,用于觀察總體的差異值,強(qiáng)調(diào)總體
- 目標(biāo)函數(shù)由兩項(xiàng)構(gòu)成:Cost(損失函數(shù):模型輸出與標(biāo)簽之間的差異)、Regularization Term(正則項(xiàng):模型的復(fù)雜度)
- 目標(biāo)函數(shù)強(qiáng)調(diào)整個(gè)訓(xùn)練過(guò)程的整體目標(biāo),既要讓模型的輸出與標(biāo)簽更接近,同時(shí)不要讓模型太過(guò)于復(fù)雜,太復(fù)雜容易產(chǎn)生過(guò)擬合現(xiàn)象
常見(jiàn)的損失函數(shù):

MSE(Mean Squared Error,均方誤差):
- label:標(biāo)簽
- pred:predict,預(yù)測(cè),表示輸出值
- 在回歸任務(wù)中廣泛使用
CE(Cross Entropy,交叉熵)
- p:樣本的真實(shí)分布
- q:模型輸出的概率分布
- 使用模型分布去逼近真實(shí)的分布,沒(méi)有對(duì)稱(chēng)關(guān)系(p、q的位置不能交換)

- 信息量:某一可能取值的自信息
- pi:可能取值
- 信息熵用于描述信息的不確定度,信息熵越大,信息越不確定,信息熵越小,信息越確定

相對(duì)熵、交叉熵、信息熵之間的關(guān)系
- 相對(duì)熵:衡量?jī)蓚€(gè)分布之間的差異(P、Q同交叉熵)
- 交叉熵:
- 信息熵:描述信息的不確定度
- 交叉熵 = 相對(duì)熵 + 信息熵
- 結(jié)論:優(yōu)化交叉熵等價(jià)于優(yōu)化相對(duì)熵,因?yàn)樾畔㈧厥且粋€(gè)常數(shù)
- 舉例:predict是一個(gè)概率分布的形式,但是模型輸出沒(méi)辦法保證是一個(gè)概率分布的形式,矩陣的乘法有可能得到一個(gè)負(fù)數(shù),也可能大于1

- 概率的性質(zhì):概率值是非負(fù)的;概率之和等于一
- 交叉熵的好伙伴: Softmax 函數(shù)(將數(shù)據(jù)變換到符合概率分布的形式)

- Softmax 函數(shù)舉例:

總結(jié):

6、權(quán)值初始化

所有權(quán)值全初始化為0可能會(huì)導(dǎo)致的問(wèn)題:
- 會(huì)導(dǎo)致模型的退化,讓每個(gè)網(wǎng)絡(luò)層等價(jià)于一個(gè)神經(jīng)元(不管怎么訓(xùn)練,所有的權(quán)重的值永遠(yuǎn)都是一樣的,即等價(jià)于一個(gè)神經(jīng)元)
隨機(jī)初始化法

- 高斯分布:N ~ (均值,標(biāo)準(zhǔn)差)
- 高斯分布的均值通常取0,以保證權(quán)重的對(duì)稱(chēng)性,正負(fù)值各一半
- 高斯分布的標(biāo)準(zhǔn)差用來(lái)控制權(quán)重的大小,不能太大(如果太大會(huì)導(dǎo)致值落入飽和區(qū),即梯度接近于0,梯度消失不利于模型的訓(xùn)練),也不能太小(如果太小會(huì)使得所有的權(quán)重都為0),大小適中
- 3σ原則:99.73%數(shù)據(jù)的數(shù)據(jù)都落在(μ-3σ,μ+3σ)中間,其中μ為均值,σ為標(biāo)準(zhǔn)差

自適應(yīng)標(biāo)準(zhǔn)差
Xavier初始化

- mean:均值
- std:標(biāo)準(zhǔn)差
- 此時(shí)標(biāo)準(zhǔn)差會(huì)根據(jù)網(wǎng)絡(luò)層結(jié)構(gòu)的不同而改變
Kaiming初始化

- 也能根據(jù)輸入神經(jīng)元和輸出神經(jīng)元的個(gè)數(shù)來(lái)控制標(biāo)準(zhǔn)差
- 代碼實(shí)現(xiàn)上也將其稱(chēng)為MSRA初始化方法
7、正則化
減小方差的策略,通俗理解為減輕過(guò)擬合的策略


- 藍(lán)色曲線:訓(xùn)練集準(zhǔn)確率曲線
- 橙色曲線:驗(yàn)證集準(zhǔn)確率曲線
- 噪聲:期望泛化誤差下界(任何算法所能達(dá)到的最大精度)
- 偏差:刻畫(huà)的是學(xué)習(xí)算法本身的擬合能力(訓(xùn)練集與期望泛化誤差下界之間的差距)
- 方差:刻畫(huà)的是數(shù)據(jù)擾動(dòng)帶來(lái)的影響(驗(yàn)證集與訓(xùn)練集之間精度的差異)
- 過(guò)擬合現(xiàn)象:方差過(guò)大(在訓(xùn)練集上表現(xiàn)良好,在測(cè)試集上表現(xiàn)糟糕),正則化就是為了解決訓(xùn)練集與測(cè)試集之間的精度差距

回顧目標(biāo)函數(shù)的構(gòu)成:

常見(jiàn)的正則項(xiàng)

- L1:對(duì)所有權(quán)重的絕對(duì)值進(jìn)行求和,然后作為目標(biāo)函數(shù)的一項(xiàng)
- L2:對(duì)所有權(quán)重的平方進(jìn)行求和,然后作為目標(biāo)函數(shù)的一項(xiàng)
- 理論證明:詳細(xì)證明見(jiàn)《深度學(xué)習(xí)》(花書(shū))第七章
- 圖中彩色圓圈是Loss值的等高線:在同一等高線上,不管權(quán)重的值是多少,最終的Loss始終相等

- 上圖中,左邊的黑色菱形框是L1正則項(xiàng)的等高線,右圖中的黑色圓圈是L2正則項(xiàng)的等高線
權(quán)重的最優(yōu)解就是正則項(xiàng)的等高線與Loss值的等高線相切的地方:
- 對(duì)于L1正則項(xiàng)來(lái)說(shuō),通常來(lái)講L1正則項(xiàng)的等高線與Loss值的等高線相切的地方是在坐標(biāo)軸上,也就是說(shuō)必定有一個(gè)權(quán)重為0(對(duì)于本例中的二維平面坐標(biāo)系來(lái)說(shuō)W1等于0,W1就消失了),即保證了權(quán)重的稀疏性

- 對(duì)于L2正則項(xiàng)來(lái)說(shuō),L2的最大作用是權(quán)值衰減(weight decay),即會(huì)收縮權(quán)重,不會(huì)讓權(quán)值過(guò)大
- 對(duì)于權(quán)值衰減的推導(dǎo)

- λ 是一個(gè)系數(shù),用來(lái)權(quán)衡Loss值與正則項(xiàng)的比例關(guān)系(更關(guān)注Loss值,還是更關(guān)注正則項(xiàng)),通常λ是一個(gè)大于0小于1的數(shù)。λ / 2中的分母2是為了抵消Wi^2求導(dǎo)后2*Wi的系數(shù)2
- 有正則項(xiàng)與無(wú)正則項(xiàng)的比較:第二項(xiàng)Loss值的偏導(dǎo)項(xiàng)是相等的,不一樣的是第一項(xiàng),當(dāng)無(wú)正則項(xiàng)時(shí)Wi的系數(shù)是1,有正則項(xiàng)Wi的系數(shù)是(1 - λ ),λ是一個(gè)大于0小于1的數(shù),所以(1 - λ )是一個(gè)大于0小于1的數(shù),所以(1 - λ ) * Wi 是小于 Wi 的,即有正則項(xiàng)時(shí)Wi減小了,體現(xiàn)了權(quán)重縮小、權(quán)值衰減的功能

- 紅色曲線表示沒(méi)有加入正則項(xiàng)
- 藍(lán)色曲線表示加入了L2正則項(xiàng)
- 可以發(fā)現(xiàn)藍(lán)色曲線較紅色曲線過(guò)擬合現(xiàn)象減輕了

- 正則化方法的作用:減小方差,減輕過(guò)擬合現(xiàn)象
另一種正則化方法:
隨機(jī)失活

- 隨機(jī):以一定的概率選中神經(jīng)元
- 失活:失去活性,即權(quán)重變?yōu)?(不與其他神經(jīng)元產(chǎn)生連接)
- 隨機(jī)失活的好處:避免網(wǎng)絡(luò)過(guò)度地依賴(lài)某一個(gè)神經(jīng)元從而實(shí)現(xiàn)減輕過(guò)擬合現(xiàn)象
- 訓(xùn)練和測(cè)試兩個(gè)階段數(shù)據(jù)尺度的變化:在訓(xùn)練的時(shí)候,神經(jīng)元有一定的概率被選擇,從而失去活性,而在正常測(cè)試階段失去活性的神經(jīng)元會(huì)恢復(fù)活性變成正常的神經(jīng)元,所有的神經(jīng)元都會(huì)被使用
- 數(shù)據(jù)尺度的變化是由于神經(jīng)元失活而丟失造成的,這樣會(huì)導(dǎo)致模型精度的下降,所以在測(cè)試階段,神經(jīng)元的輸出值要乘上神經(jīng)元失活的概率P,從而使其與測(cè)試階段的數(shù)據(jù)尺度等價(jià)
其他正則化方法

Batch Normalization(BN)
- 現(xiàn)在神經(jīng)網(wǎng)絡(luò)中的標(biāo)配
- 以下三種都是基于BN這種正則化方法在不同場(chǎng)景下的改進(jìn)
Layer Normalization(LN)
Instance Normalization(IN)
Group Normalization(GN)
8、小結(jié)
看完前面的筆記可以聽(tīng)一聽(tīng)對(duì)前面學(xué)習(xí)內(nèi)容的總結(jié),然后進(jìn)行回顧,加深記憶
第二章 卷積神經(jīng)網(wǎng)絡(luò)
0、第一章回顧

1、卷積神經(jīng)網(wǎng)絡(luò)發(fā)展史
- 下圖是一個(gè)簡(jiǎn)單的卷積神經(jīng)網(wǎng)絡(luò)示意圖:Lenet-5(第一個(gè)大規(guī)模使用的卷積神經(jīng)網(wǎng)絡(luò))

- 最早的卷積網(wǎng)絡(luò)結(jié)構(gòu)是受到了視覺(jué)系統(tǒng)的啟發(fā):視覺(jué)系統(tǒng)中的層級(jí)結(jié)構(gòu),其中的兩種重要的細(xì)胞對(duì)應(yīng)到了現(xiàn)在卷積神經(jīng)網(wǎng)絡(luò)中的卷積操作和池化操作

貓的視覺(jué)系統(tǒng)實(shí)驗(yàn)

感受野

- 感受野對(duì)應(yīng)現(xiàn)在卷積神經(jīng)網(wǎng)絡(luò)中感受野的概念:神經(jīng)元所能看到前一層輸入神經(jīng)元的值,即神經(jīng)元與前一層哪些神經(jīng)元相連接
- A、B、C、D、E、F、G表示不同種類(lèi)的視覺(jué)細(xì)胞

- 橢圓圈出的區(qū)域表示該細(xì)胞的感受區(qū)域,即感受野
細(xì)胞對(duì)角度的選擇性

- 該細(xì)胞對(duì)光條處于90度時(shí)的響應(yīng)是最強(qiáng)的
細(xì)胞對(duì)光條運(yùn)動(dòng)方向的選擇性

……
貓視覺(jué)實(shí)驗(yàn)對(duì)CNN的啟發(fā)

- 神經(jīng)元的局部連接:神經(jīng)元不需要與前一層所有的神經(jīng)元連接,只需要與前一層的某一區(qū)域相連接就可以了
第一個(gè)卷積神經(jīng)網(wǎng)絡(luò)雛形
新認(rèn)知機(jī)(Neocognitron)

- 堆疊使用 S 細(xì)胞和 C 細(xì)胞(卷積層和池化層)

- 最大的缺點(diǎn)是沒(méi)有反向傳播算法更新權(quán)值,模型性能有限
- 圖片中卷積神將網(wǎng)絡(luò)下面列舉的是福島邦彥所發(fā)表的論文
- 左下角是福島邦彥的個(gè)人主頁(yè)(如今仍然在研究新認(rèn)知機(jī))
第一個(gè)大規(guī)模商用的卷積神經(jīng)網(wǎng)絡(luò)
Lenet-5

- Lenet-5的提出和設(shè)計(jì)有很大一部分是借鑒了新認(rèn)知機(jī)

- 上圖中列出的最后一篇論文是Lenet-5應(yīng)用在了手寫(xiě)郵政編碼(0 - 9)的識(shí)別中,僅僅是使用在了灰度圖像之中,并沒(méi)有應(yīng)用在自然圖像中(對(duì)于自然圖像沒(méi)有足夠的標(biāo)簽數(shù)據(jù)供模型訓(xùn)練,當(dāng)時(shí)的計(jì)算機(jī)性能也不足以支撐起大規(guī)模的運(yùn)算,因此限制了Lenet-5的大規(guī)模使用)
第一個(gè)技驚四座的卷積神經(jīng)網(wǎng)絡(luò)
AlexNet

- 算料:數(shù)據(jù),大規(guī)模帶標(biāo)簽的數(shù)據(jù)
- 圖片規(guī)格:224*224彩色三通道

- AlexNet結(jié)構(gòu)分類(lèi)

- 豎線以前是卷積池化部分,后面是全連接層
- Conv:卷積
- pooling:池化
- FC:全連接層,多層感知機(jī)的概念,在AlexNet中經(jīng)過(guò)三個(gè)全連接層輸出1000個(gè)類(lèi)別分類(lèi)的概率
- 方塊:特征圖
- 大量的卷積池化操作得到高級(jí)特征之后,輸入到全連接層進(jìn)行分類(lèi)
2、卷積操作
圖像識(shí)別的特點(diǎn):
- 特征具有局部性

- 特征可能出現(xiàn)在任何位置

- 下采樣圖像不會(huì)改變圖像目標(biāo)(使分辨率下降)

詳細(xì)說(shuō)明:
特征具有局部性

- 上圖左邊表示全連接(共有10^12個(gè)參數(shù)),右邊表示局部連接(連接了10*10的區(qū)域,共有10^8個(gè)參數(shù)),參數(shù)的個(gè)數(shù)減少了一萬(wàn)倍
特征可能出現(xiàn)在任何位置


- 卷積核在輸入圖像上滑動(dòng)(從左到右,從上到下),連接神經(jīng)元

- 上圖中下層是輸入(Input),上層是輸出(Output),下層中陰影部分是卷積核(Kernel)的大小
- 對(duì)應(yīng)區(qū)域相乘再相加
- 卷積層的核心在于Kernel

- Kernel卷積核中的權(quán)重是可以學(xué)習(xí)的參數(shù),這些參數(shù)代表了某種特征
- 卷積操作相當(dāng)于是對(duì)于圖像特征的提取,因此卷積操作得到的輸出又被稱(chēng)為特征圖
- 三種人工設(shè)計(jì)的卷積核,完成不同的圖像操作?第二節(jié):卷積神經(jīng)網(wǎng)絡(luò)02 P7 - 11:25?
- 邊緣檢測(cè):以中間的像素減去周?chē)南袼氐牟僮鱽?lái)觀察中間像素和周?chē)袼氐牟町惔笮。ㄖ虚g等于8,周?chē)扔?1是因?yàn)槿绻艂€(gè)像素的值相等,那么中間像素值的八倍就等于周?chē)袼刂档暮?,那么通過(guò)卷積操作,最終的結(jié)果就為0)
- 銳化:中間的像素的五倍減去四個(gè)周?chē)袼?,提高圖像中某一部分的清晰度或者聚焦程度,在圖像處理中用來(lái)補(bǔ)償圖像的輪廓,增強(qiáng)圖像的邊緣以及灰度跳變的部分,使圖像變得更加清晰
- 高斯模糊:常用于去噪。模糊邊緣及細(xì)節(jié),去除噪聲。權(quán)重由中心向外擴(kuò)散減少(中心>上下左右>四角),最后取平均
- 卷積的核心在于卷積核中的權(quán)重參數(shù),它代表了某一種特征,卷積的過(guò)程就是拿著這個(gè)特征去圖像中尋找對(duì)應(yīng)的特征,如果找到了該特征就輸出比較強(qiáng)的特征值(神經(jīng)元輸出值)
卷積核可視化的示意圖

- 圖中上面48個(gè)卷積核對(duì)邊緣敏感,下面48個(gè)卷積核對(duì)色彩敏感
卷積層中的兩個(gè)重要概念
填充(padding)

- 圖像分辨率不變:方便計(jì)算特征圖(在卷積神經(jīng)網(wǎng)絡(luò)中,特征圖通常是以倍數(shù)關(guān)系縮小,如果不加padding,像素縮小之后,不利于計(jì)算特征圖的尺寸)
- 彌補(bǔ)邊界信息丟失:邊界信息被卷積的次數(shù)相對(duì)圖像中間的像素較少(舉例,未加padding時(shí)圖像四個(gè)角上的像素只會(huì)被卷積一次,而加padding后,四個(gè)角上的像素能夠和中間像素一樣被卷積四次)
步幅/步長(zhǎng)(stride)

- s 表示步幅的長(zhǎng)度

- 如上右圖所示,右邊還有一個(gè)像素,但是卷積核不會(huì)向右繼續(xù)卷積,而是跳到下一行(stride=2)進(jìn)行卷積操作(卷積核如果到達(dá)邊界的時(shí)候,如果下一次卷積不滿足卷積核的大小的時(shí)候,則會(huì)拋棄掉下一次卷積操作,這在計(jì)算輸出特征圖大小的時(shí)候體現(xiàn)為向下取整),下邊界不滿足的情況下同理
輸出特征尺寸的計(jì)算

- Fo:輸出特征圖的長(zhǎng)度
- Fin:輸入特征圖的長(zhǎng)度
- k:Kerbel size,即卷積核的大小
- p:padding,即填充像素,注意是兩倍(例如圖3中上下左右都填充了一個(gè)像素,因此對(duì)于某一行或者是某一列來(lái)說(shuō),是填充了兩個(gè)像素)
- s:stride,即步幅,步幅對(duì)圖像分辨率的改變起決定性作用
- +1:一開(kāi)始的時(shí)候有一個(gè)像素,所以要加1
多通道卷積

- 3:自然圖像是一個(gè)三通道的數(shù)據(jù)(R:紅、G:綠B:藍(lán)),彩色圖像
- 卷積核的改變:在處理自然圖像的時(shí)候,卷積核改變成為3-D張量的形式(但是執(zhí)行的時(shí)候仍然是2-D卷積,卷積核只在兩個(gè)維度即行和列上進(jìn)行滑動(dòng),在對(duì)視頻進(jìn)行卷積的時(shí)候才會(huì)使用到3-D的卷積操作,還有一個(gè)時(shí)間維度),卷積核的維度與輸入的通道數(shù)有關(guān)
- X:Input
- W:Kernel
- Y:Output
- ci:輸入通道數(shù)
- co:輸出通道數(shù)
- 對(duì)應(yīng)卷積核通道與對(duì)應(yīng)輸入通道卷積,然后在輸出特征圖的對(duì)應(yīng)像素上相加

- 一個(gè)Kernel對(duì)應(yīng)一個(gè)輸出特征圖

3、池化操作
下采樣圖像,不會(huì)改變圖像目標(biāo)

池化:主要是用來(lái)降低圖像的分辨率

一塊區(qū)域被一個(gè)像素代替的兩種方法
- MaxPooling:最大池化,取最大值
- Average Pooling:平均池化,取平均值
- 池化:可以理解為一個(gè)像素吸引周?chē)南袼刈罱K形成一個(gè)像素池的過(guò)程
- 池化輸出尺寸和卷積操作類(lèi)似
- 池化層中沒(méi)有可以學(xué)習(xí)的參數(shù)
- 池化的作用:

- 池化可以理解為一種特殊的卷積

- 緩解卷積層對(duì)位置的過(guò)度敏感

- 右圖中紅色圓圈圈出的是對(duì)原始圖像的擾動(dòng)
- 第一行表示原始輸入
- 第二行表示卷積后的輸出特征圖
- 第三行表示在卷積的基礎(chǔ)上進(jìn)行池化后輸出的特征圖
- 對(duì)比左右兩圖中卷積輸出的特征圖和池化輸出的特征圖,可以看出,右圖中卷積輸出的特征圖對(duì)原始圖像中的擾動(dòng)比較敏感(較左圖中的卷積輸出特征圖有明顯改變,紅圈已經(jīng)圈出),而左右兩圖中池化操作后的特征圖一模一樣,由此可以得出結(jié)論:池化操作能夠緩解卷積層對(duì)位置的過(guò)度敏感
4、Lenet-5及CNN結(jié)構(gòu)進(jìn)化史
LeNet-5的網(wǎng)絡(luò)結(jié)構(gòu)

- C層:卷積層
- S層:sampling,當(dāng)時(shí)叫下采樣層,后來(lái)用P表示,pooling池化層
- FC層:全連接層
- C1(6(六個(gè)卷積核),1(輸入通道是單通道),5(卷積核大小),5(卷積核大小)),他是一個(gè)4-D的張量
- 通過(guò)卷積層和池化層的疊加,來(lái)逐層提取特征

- 豎線以左用于提取特征(features),豎線以右用于分類(lèi),又稱(chēng)分類(lèi)器(classfier,類(lèi)似于多層感知機(jī)的概念)
- 在代碼實(shí)現(xiàn)過(guò)程中,定義一系列moudle構(gòu)成的特征提取器為self.features,定義一系列moudle(全連接層)構(gòu)成的classfier
卷積神經(jīng)網(wǎng)絡(luò)的進(jìn)化史

5、小結(jié)
看完前面的筆記可以聽(tīng)一聽(tīng)對(duì)前面學(xué)習(xí)內(nèi)容的總結(jié),然后進(jìn)行回顧,加深記憶

第三章 循環(huán)神經(jīng)網(wǎng)絡(luò)
(由于我是圖像方面的,這部分內(nèi)容主要是了解為主,所以記的比較粗糙,小伙伴可以從下面的時(shí)間標(biāo)簽跳到對(duì)應(yīng)的章節(jié)觀看詳細(xì)內(nèi)容)
0、第二章回顧

1、序列數(shù)據(jù)?

- 句子中的第三個(gè)元素嚴(yán)重依賴(lài)于第一個(gè)元素
序列數(shù)據(jù)有哪些:
- 語(yǔ)音識(shí)別
- 音樂(lè)生成
- 文本分類(lèi)
- DNA序列預(yù)測(cè)
- 機(jī)器翻譯
- 視頻行為識(shí)別
- 命名實(shí)體識(shí)別(人名)
?2、語(yǔ)言模型

- 時(shí)間步的概念可以理解為序列出現(xiàn)的順序

- 例中的句子總共的時(shí)間步為8

- 計(jì)算出八個(gè)標(biāo)簽為這種排列的聯(lián)合概率是多少

- 比較兩個(gè)句子出現(xiàn)的概率就能夠得到正確的輸出了
- 語(yǔ)言模型會(huì)綜合考慮序列數(shù)據(jù)的前后聯(lián)系
- 聯(lián)合概率

- 語(yǔ)料庫(kù):搜集文章、文本信息,匯集成語(yǔ)料庫(kù),然后進(jìn)行統(tǒng)計(jì)
- 缺點(diǎn):計(jì)算量會(huì)隨著時(shí)間的增長(zhǎng)呈指數(shù)增長(zhǎng)
3、RNN-循環(huán)神經(jīng)網(wǎng)絡(luò)

- 可以反復(fù)使用權(quán)重矩陣,從而避免了時(shí)間步的增加
- 引入隱藏狀態(tài)用于記錄歷史信息,有效地處理數(shù)據(jù)的前后關(guān)聯(lián)性

- 豎線以左是重疊方式的RNN示意圖,豎線以右是展開(kāi)方式的RNN示意圖
- X:輸入
- O:輸出
- h:隱藏狀態(tài),不僅接收當(dāng)前時(shí)間步的輸入數(shù)據(jù)X,同時(shí)還會(huì)考慮上一個(gè)時(shí)間步傳回來(lái)的h。在重疊方式的RNN示意圖中是看不到上一個(gè)時(shí)間步(t - 1)的概念的
- U:權(quán)重矩陣,是循環(huán)使用的
- W:權(quán)重矩陣,是循環(huán)使用的
- V:權(quán)重矩陣,是循環(huán)使用的
- t:第 t 個(gè)時(shí)間步
- t - 1:第 t 個(gè)時(shí)間步的上一個(gè)時(shí)間步
- t + 1:第 t 個(gè)時(shí)間步的下一個(gè)時(shí)間步
- 循環(huán)神經(jīng)網(wǎng)絡(luò)的工作流程?第三節(jié):循環(huán)神經(jīng)網(wǎng)絡(luò)02 P10 - 03:37?
隱藏狀態(tài)
回顧多層感知機(jī)的工作流程


- Tanh是 0 均值的,值域是(-1 , 1)開(kāi)區(qū)間
- 具體的文本生成的例子??第三節(jié):循環(huán)神經(jīng)網(wǎng)絡(luò)02 P10 - 12:14?
- 通常第一個(gè)時(shí)間步輸入全零

RNN的通過(guò)(穿越)時(shí)間反向傳播

- 找通路,有幾條通路,偏導(dǎo)數(shù)就有幾項(xiàng)


- T = 3

- 注意h2有兩條通路

- 注意h1有三條通路(紅、綠、藍(lán))


4、GRU-門(mén)控循環(huán)單元

- R:重置門(mén)
- Z:更新門(mén)
- 注意激活函數(shù)使用的是sigmoid
候選隱藏狀態(tài)






5、LSTM-長(zhǎng)短期記憶網(wǎng)絡(luò)

候選記憶細(xì)胞

記憶細(xì)胞與隱藏狀態(tài)

- C:記憶細(xì)胞

6、小結(jié)
看完前面的筆記可以聽(tīng)一聽(tīng)對(duì)前面學(xué)習(xí)內(nèi)容的總結(jié),然后進(jìn)行回顧,加深記憶

第四章 總結(jié)
千里之行,始于足下
知識(shí)點(diǎn)回顧
神經(jīng)網(wǎng)絡(luò)與多層感知機(jī)
基礎(chǔ)知識(shí)
激活函數(shù)
反向傳播
損失函數(shù)
權(quán)值初始化
正則化
卷積神經(jīng)網(wǎng)絡(luò)
統(tǒng)治圖像領(lǐng)域的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
發(fā)展歷史
卷積操作
池化操作
循環(huán)神經(jīng)網(wǎng)絡(luò)
統(tǒng)治序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
RNN
GRU
LSTM
----end----