官术网_书友最值得收藏!

2.2 典型的神經(jīng)網(wǎng)絡(luò)架構(gòu)

經(jīng)過不斷的實(shí)驗(yàn)測試,人們發(fā)現(xiàn)不同的神經(jīng)網(wǎng)絡(luò)架構(gòu)適合處理不同的任務(wù)。卷積神經(jīng)網(wǎng)絡(luò)適用于圖像處理,因?yàn)檫@種網(wǎng)絡(luò)結(jié)構(gòu)適合圖像處理的不變性,例如貓的圖像,平移旋轉(zhuǎn)處理后依然是貓。循環(huán)神經(jīng)網(wǎng)絡(luò)適合進(jìn)行序列預(yù)測的任務(wù),如語音識別、詩詞填空等語音語言的處理。因?yàn)殚L短期記憶循環(huán)網(wǎng)絡(luò)訓(xùn)練快,已經(jīng)在語音識別中大規(guī)模應(yīng)用。

2.2.1 卷積神經(jīng)網(wǎng)絡(luò)

對于高維數(shù)據(jù)如圖像(200×200像素),如果第一層是全連接的話,這意味著第一個隱藏層的每個神經(jīng)元都有40 000個輸入權(quán)重。為了效率更高,可以強(qiáng)制神經(jīng)元的輸入權(quán)重的數(shù)量,強(qiáng)制輸入只和局部的神經(jīng)元有連接。這樣形成的網(wǎng)絡(luò)又稱為局部網(wǎng)絡(luò),或者局部連接網(wǎng)絡(luò)。

權(quán)重共享(Weight Sharing)是一種簡單的局部網(wǎng)絡(luò)形成方法,如圖2-6所示。這種權(quán)重共享等效于信號處理領(lǐng)域中的卷積運(yùn)算(Convolution)。

圖2-6 權(quán)重共享

實(shí)際中,每一個卷積層后緊跟著一個下采樣層,例如采用最大池化(Max-pooling)方法完成下采樣。最大池化層的操作,就是在過濾器之后(卷積之后),計(jì)算出卷積層神經(jīng)元輸出的最大值。最大池化的操作原理如圖2-7所示。

圖2-7 最大池化操作

卷積操作就是在輸入信號上使用過濾器(Filter),而過濾器的參數(shù)就是一組權(quán)重值。所以,這種局部區(qū)域的權(quán)重共享的神經(jīng)網(wǎng)絡(luò),又稱為卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)。一個卷積神經(jīng)網(wǎng)絡(luò)的工作原理如圖2-8所示。

圖2-8 卷積神經(jīng)網(wǎng)絡(luò)

最新CNN進(jìn)展還包括LCN(Local Contrast Normalization)。LCN操作在最大池化層之后,其目標(biāo)是減去平均值,除以標(biāo)準(zhǔn)差。這個操作允許亮度不變性,對于圖像識別用處很大。

2.2.2 循環(huán)神經(jīng)網(wǎng)絡(luò)

對于時間序列的預(yù)測是一個重要問題。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的每一個時間步處理時,權(quán)重共享。一個單向RNN如圖2-9所示。

圖2-9 單向RNN

RNN會在時間域上進(jìn)行反饋操作,具體來說,有兩種反饋方式:一種是上一時刻或前面若干時刻的輸出會被作為輸入的一部分與真正的輸入一起構(gòu)成總的輸入量,即前向方式;另一種是后面若干時刻的輸出會被作為輸入的一部分與真正的輸入一起構(gòu)成總輸入量,即后向方式。如果前向方式和后向方式都存在,那么就被稱為雙向模式。一個雙向RNN如圖2-10所示。

雙向網(wǎng)絡(luò)這樣的做法,就是采用兩個單向網(wǎng)絡(luò)結(jié)構(gòu),這樣做增加了復(fù)雜性,但是充分利用了輸入的前后相關(guān)性,識別的準(zhǔn)確率也提高了。單向RNN的優(yōu)點(diǎn)是結(jié)構(gòu)簡單,可以完成實(shí)時的處理功能。

圖2-10 雙向RNN

2.2.3 長短時記憶循環(huán)網(wǎng)絡(luò)

長短時記憶循環(huán)網(wǎng)絡(luò)(Long-Short Term Memory Recurrent Network,LSTM)是RNN的一個改進(jìn)。相比于RNN,LSTM增加了一個主輸入單元和其他3個輔助的門限輸入單元:輸入門(Input Gate)、記憶單元(Memory Cell)、遺忘門(Forget Gate)及輸出門(Output Gate)。

輸入門、遺忘門、輸出門和記憶單元組合起來,大大提升了RNN處理遠(yuǎn)距離依賴問題的能力,解決了RNN的梯度值消失問題(Vanishing Gradient Problem),無法學(xué)習(xí)長程的相關(guān)性問題。

典型的LSTM結(jié)構(gòu)是一個主輸入單元和其他3個輔助的門限輸入單元。3個輔助的門限輸入單元分別控制網(wǎng)絡(luò)是否輸入,是否存儲輸入以及是否輸出。這樣一來就可以寄存時間序列的輸入。在訓(xùn)練過程中會利用后向傳播的方式進(jìn)行。

如圖2-11所示,其中,輸入門控制是否輸入,遺忘門控制是否存儲,輸出門控制是否輸出。

假設(shè)在t時刻的輸入是xtmtmt-1f的線性組合。

圖2-11 長短時記憶單元

t時刻的隱含層的狀態(tài)ht,計(jì)算如下:

其中,htmt會在下一個時間步繼續(xù)使用。αβγ形式如下:

α(t)=g1(xtht-1mt-1)

β(t)=g2(xtht-1mt-1)

γ(t)=g3(xtht-1mt)

其中,αβγ也被稱為輸入門、記憶門和輸出門,分別控制了輸入、記憶和輸出到下一個時間。

LSTM最早是由Sepp Hochreiter和Jürgen Schmidhub er提出。

2.2.4 門控循環(huán)單元循環(huán)網(wǎng)絡(luò)

門控循環(huán)單元(Gated Recursive Unit,GRU)是由Cho等人在LSTM的基礎(chǔ)上提出的簡化版本,也是RNN的一種擴(kuò)展。GRU的結(jié)構(gòu)如圖2-12所示。

GRU單元只有兩個門,即重置門和更新門。

(1)重置門(Reset Gate):如果重置門關(guān)閉,會忽略掉歷史信息,即歷史不相干的信息不會影響未來的輸出。重置門:

圖2-12 GRU的結(jié)構(gòu)

rtσ(Wt?[ht-1xt ])

其中,σ為Sigmoid()函數(shù)。

(2)更新門(Update Gate):將LSTM的輸入門和遺忘門合并,用于控制歷史信息對當(dāng)前時刻隱層輸出的影響。如果更新門接近1,會把歷史信息傳遞下去。更新門:

ztσ(Wt?[ht-1xt ])

其中,σ為Sigmoid()函數(shù)。

隱含層節(jié)點(diǎn)狀態(tài)更新:

其中,tanh()為雙曲正切函數(shù),輸出值為(-1,1)。

輸出:

GRU論文最早是用于研究機(jī)器翻譯(Machine Translation),在語音識別中也被證明很有用。GRU和LSTM在實(shí)用中,很多任務(wù)性能相當(dāng),但是GRU參數(shù)少,運(yùn)算更簡單也更快,需要的訓(xùn)練數(shù)據(jù)少。如果擁有的數(shù)據(jù)量足夠多,LSTM可以充分發(fā)揮表達(dá)能力強(qiáng)的優(yōu)點(diǎn)。

主站蜘蛛池模板: 迭部县| 安徽省| 奈曼旗| 永昌县| 乌海市| 湖北省| 浮山县| 夹江县| 武威市| 贵德县| 平原县| 和静县| 嫩江县| 襄垣县| 昌邑市| 天祝| 长治市| 农安县| 宜州市| 连州市| 平顶山市| 锡林浩特市| 原阳县| 黄冈市| 岱山县| 读书| 龙胜| 江门市| 屏南县| 阿城市| 班戈县| 恩平市| 昌黎县| 堆龙德庆县| 南雄市| 阿拉善盟| 西昌市| 乌兰察布市| 河源市| 平远县| 筠连县|