葫芦书笔记----CNN和RNN
卷積神經(jīng)網(wǎng)絡(luò)
卷積基本知識(shí)
卷積與全理解層的區(qū)別
速記:局部連接;權(quán)值共享;輸入/輸出數(shù)據(jù)結(jié)構(gòu)化
詳細(xì):局部連接:卷積核尺寸遠(yuǎn)小于輸入特征圖的尺寸。
權(quán)值共享:卷積核的滑動(dòng)窗機(jī)制,使得輸出層上不同未知的節(jié)點(diǎn)與輸入層的連接權(quán)值都是一樣的(即卷積核參數(shù))。
輸入/輸出數(shù)據(jù)結(jié)構(gòu)化:局部連接和權(quán)值共享,使得剪輯操作能夠在輸出數(shù)據(jù)中大致保持輸入數(shù)據(jù)的結(jié)構(gòu)信息。
?
卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)模塊
批歸一化為了解決什么問題?他的參數(shù)有何意義?他在網(wǎng)絡(luò)中一般放在什么位置?
速記:解決內(nèi)部協(xié)變量偏移問題。激活層前后都可以。
詳細(xì):在機(jī)器學(xué)習(xí)中,一般會(huì)假設(shè)模型的輸入數(shù)據(jù)的分布是穩(wěn)定的。如果這個(gè)假設(shè)不成立,及模型輸入數(shù)據(jù)的分布發(fā)生變化,則稱為協(xié)變量偏移。模型的訓(xùn)練集和測(cè)試即的分布不一致,或者模型在訓(xùn)練過程中輸入數(shù)據(jù)的分布發(fā)生變化,這些都屬于協(xié)變量偏移現(xiàn)象。
同樣,對(duì)于一個(gè)復(fù)雜的計(jì)算機(jī)學(xué)習(xí)系統(tǒng),在訓(xùn)練過程中一般也會(huì)要求系統(tǒng)李的各個(gè)子模塊的輸入分布是穩(wěn)定的,如不滿足,則稱為內(nèi)部協(xié)變量偏移。對(duì)于深度神經(jīng)網(wǎng)絡(luò),其在訓(xùn)練過程中,每一層的參數(shù)都會(huì)隨之更新。易第i層為例,其輸入數(shù)據(jù)與之前所有層的網(wǎng)絡(luò)參數(shù)取值都有很大關(guān)系;在訓(xùn)練過程中,如果之前層的參數(shù)被更新后,第i層的輸入數(shù)據(jù)的分布必然也跟著變化,此即為內(nèi)部協(xié)變量偏移。
內(nèi)部協(xié)變量偏移會(huì)給深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程帶來諸多問題:
-
網(wǎng)絡(luò)每一層需要不斷適應(yīng)輸入數(shù)據(jù)的分布的變化,這會(huì)影響學(xué)習(xí)效率,使學(xué)習(xí)過程變得不穩(wěn)定。
-
網(wǎng)絡(luò)前幾層的更行,很可能使得后幾層的輸入數(shù)據(jù)變得過大或過小,從而掉進(jìn)激活函數(shù)的飽和區(qū),導(dǎo)致學(xué)習(xí)過程過早停止。
-
為降低內(nèi)部協(xié)變量偏移的影響,避免參數(shù)更新過快,實(shí)際應(yīng)用中會(huì)采用較小的學(xué)習(xí)率,這回降低收斂速度。
?
批歸一化就是為了解決上述問題而提出的,它的主要作用為:確保網(wǎng)絡(luò)中的各層,即使參數(shù)發(fā)生了變化,其輸入/輸出數(shù)據(jù)的分布也不能產(chǎn)生較大變化,從而避免發(fā)生內(nèi)部協(xié)變量偏移現(xiàn)象。
批歸一化可以看作帶參數(shù)的標(biāo)準(zhǔn)化,具體公式為
其中,?和?分別是原始輸入數(shù)據(jù)和批歸一化后的輸出數(shù)據(jù),?分別是輸入數(shù)據(jù)的均值和標(biāo)準(zhǔn)差(在mini-batch上),?分別是可學(xué)習(xí)的平移參數(shù)和縮放參數(shù),上標(biāo)k表示數(shù)據(jù)的第k維(批歸一化在數(shù)據(jù)各個(gè)維度上是獨(dú)立進(jìn)行的), ?是防止分母為0的一個(gè)小量。
可學(xué)習(xí)的參數(shù)?有以下作用:
-
保留網(wǎng)絡(luò)各層在訓(xùn)練過程中的學(xué)習(xí)成果。
-
保證激活單元的非線性表達(dá)能力
-
使批歸一化模塊具有自我關(guān)閉能力。若兩參數(shù)分別取數(shù)據(jù)的均值和標(biāo)準(zhǔn)差,則可以復(fù)原初始的輸入值。
批歸一化的位置
-
激活層前:有效避免批歸一化破壞費(fèi)線性特征的分布;使數(shù)據(jù)點(diǎn)盡量不落入激活函數(shù)的飽和區(qū)域,緩解梯度消失問題。
-
激活層后:避免在激活層之前被轉(zhuǎn)化成相似的模式從而舍得非線性特征分布趨于同化。
?
用于分類任務(wù)的卷積神經(jīng)網(wǎng)絡(luò)最后幾層一般使什么層?在最近幾年有什么變化?
速記:全連接層;近幾年用平均池化多。
詳細(xì):用于分類的卷積神經(jīng)網(wǎng)絡(luò),末端一般是幾層全連接層。為了提取不同元素之間的關(guān)聯(lián)關(guān)系,需要一個(gè)全局的、位置敏感的特征提取器,全連接層是最方便的選擇。
最近幾年,最后一層之前通常采用全局平均池化,具有以下優(yōu)點(diǎn):
參數(shù)量和計(jì)算量大大降低;有較好的可解釋性。
?
循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)能較好地處理序列信息,并能捕獲長距離樣本之間的關(guān)聯(lián)關(guān)系。用因節(jié)點(diǎn)狀態(tài)保存序列中有價(jià)值的歷史信息,使得網(wǎng)絡(luò)能夠?qū)W習(xí)到整個(gè)序列的濃縮的、抽象的信息。相關(guān)內(nèi)容
神經(jīng)網(wǎng)絡(luò)與序列建模
描述神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)以及參數(shù)更新方式。
詳細(xì):其實(shí)從神經(jīng)網(wǎng)絡(luò)的計(jì)算公式可以看出,神經(jīng)網(wǎng)絡(luò)的參數(shù)對(duì)于每一步是共享的。(其實(shí)就是只有一個(gè),并沒有一串)
參數(shù)更新 :基于時(shí)間的反向傳播算法。
?
如何使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)序列數(shù)據(jù)建模?
速記:Text CNN
?
循環(huán)神經(jīng)網(wǎng)絡(luò)中的Dropout
在循環(huán)神經(jīng)網(wǎng)絡(luò)中如何使用Dropout?
速記:不能直接用。
詳細(xì):如果張子杰用Dropout刪除一些神經(jīng)元,會(huì)導(dǎo)致RNN的記憶能力減退。
一個(gè)較為直觀的思路為:只將Dropout用在前饋連接上,但這一效果并不太理想,因?yàn)镽NN中給的大量參數(shù)其實(shí)是在循環(huán)連接上的。
基于變分推理的Dropout方:對(duì)于同一個(gè)序列,在其所有時(shí)刻的循環(huán)連接上采用形同的丟棄方法,也就是說不同時(shí)刻丟棄的連接是相同的,實(shí)驗(yàn)表明,這種Dropout在語言模型和情感分析中會(huì)獲得較好的效果。
?
RNN中的長期依賴問題
RNN為什么容易出現(xiàn)長期依賴問題?
速記:梯度消失/爆炸,解決方法:LSTM,GRU
?
?
總結(jié)
以上是生活随笔為你收集整理的葫芦书笔记----CNN和RNN的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去APP Store评分撰写评论方案
- 下一篇: scala trait ,abstrac