余昉恒, 沈海斌
(浙江大學(xué) 超大規(guī)模集成電路設(shè)計(jì)研究所,浙江 杭州 310027)
長(zhǎng)短期記憶(long short-term memory,LSTM)為基礎(chǔ)的門(mén)結(jié)構(gòu)循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)能夠解決傳統(tǒng)RNN所不能解決的長(zhǎng)時(shí)記憶問(wèn)題[1~4]。門(mén)結(jié)構(gòu)在RNN中的應(yīng)用啟發(fā)了深度神經(jīng)網(wǎng)絡(luò)(deep neural network, DNN)[5]如何處理一些深度學(xué)習(xí)在空間展開(kāi)上遇到的問(wèn)題,如過(guò)擬合和運(yùn)算消耗過(guò)大等。Highway網(wǎng)絡(luò)[6]結(jié)構(gòu)就是受到RNN中的門(mén)結(jié)構(gòu)特點(diǎn)的啟發(fā)而提出的。如今許多改進(jìn)的門(mén)結(jié)構(gòu)RNN都是基于網(wǎng)絡(luò)中的函數(shù)參數(shù)[7]等方法來(lái)提高學(xué)習(xí)效果,缺少能夠提高訓(xùn)練深度以處理深層數(shù)據(jù)特征的能力。
針對(duì)上述問(wèn)題,本文提出一種基于信息跨層連接的門(mén)結(jié)構(gòu)(cross-layer integration gated unit,CIGU),利用門(mén)結(jié)構(gòu)能夠解決時(shí)間展開(kāi)的長(zhǎng)時(shí)依賴(lài)問(wèn)題的特點(diǎn),參考了Highway網(wǎng)絡(luò)的門(mén)結(jié)構(gòu)特點(diǎn),實(shí)現(xiàn)了RNN門(mén)結(jié)構(gòu)在深層網(wǎng)絡(luò)中的空間展開(kāi)。
LSTM結(jié)構(gòu)在本質(zhì)上是使用門(mén)結(jié)構(gòu)來(lái)實(shí)現(xiàn)RNN對(duì)長(zhǎng)短期信息的記憶功能,解決了傳統(tǒng)RNN所無(wú)法處理的隨著時(shí)間遞歸的加深,梯度消失的問(wèn)題。如圖1所示。圖中虛線框內(nèi)結(jié)構(gòu)即為典型的門(mén)結(jié)構(gòu)表示,其中g(shù),i,f,o分別為選擇門(mén)、輸入門(mén)、遺忘門(mén)和輸出門(mén),通過(guò)非線性激活函數(shù)分別對(duì)流入的信息進(jìn)行選擇性通過(guò)。C為L(zhǎng)STM內(nèi)部的隱含狀態(tài)信息,會(huì)隨著時(shí)間傳遞給下個(gè)狀態(tài)。門(mén)結(jié)構(gòu)通過(guò)σ函數(shù)(Sigmoid)對(duì)輸入信息進(jìn)行限制,通過(guò)遺忘過(guò)去信息和使當(dāng)前輸入選擇性通過(guò)來(lái)確保有效信息的傳遞。其中輸入門(mén)i和輸出門(mén)o分別可以對(duì)當(dāng)前時(shí)刻t輸入數(shù)據(jù)xt和輸出狀態(tài)ht進(jìn)行選擇性通過(guò),遺忘門(mén)f可以選擇性忘記狀態(tài)C中存在的信息,而選擇門(mén)g則如傳統(tǒng)RNN的非線性神經(jīng)元。各種門(mén)共同作用,實(shí)現(xiàn)長(zhǎng)期的信息記憶功能。
圖1 典型LSTM門(mén)結(jié)構(gòu)
基本結(jié)構(gòu)如圖2所示。下一層神經(jīng)網(wǎng)絡(luò)得到的輸入由上一層神經(jīng)網(wǎng)絡(luò)的輸入和輸出共同決定。這種結(jié)構(gòu)的好處在于,能夠?qū)ι顚拥纳窠?jīng)元提供來(lái)自底層的數(shù)據(jù),防止因?yàn)閷哟渭由疃a(chǎn)生的信號(hào)特征消失的問(wèn)題。
圖2 Highway網(wǎng)絡(luò)門(mén)結(jié)構(gòu)
本文結(jié)合了圖2 Highway網(wǎng)絡(luò)門(mén)結(jié)構(gòu)的特征,提出了信息跨層連接的門(mén)結(jié)構(gòu),目的在于加深循環(huán)網(wǎng)絡(luò)的可訓(xùn)練深度,提高深層RNN模型收斂速度和測(cè)試準(zhǔn)確性。
跨層連接的門(mén)結(jié)構(gòu)可以像Highway結(jié)構(gòu)那樣傳遞信息,并能夠從時(shí)間和空間兩個(gè)方向?qū)⑤斎胄畔⑦M(jìn)行跨層傳遞。信息流會(huì)跨過(guò)當(dāng)前隱含層直接傳遞到下一層并在下一層融合匯集的信息,使得部分?jǐn)?shù)據(jù)經(jīng)過(guò)的層數(shù)減少,深層的神經(jīng)網(wǎng)絡(luò)能夠獲得淺層的數(shù)據(jù)特征。如圖3所示為CIGU,其可以沿箭頭方向在時(shí)間和空間方向?qū)π畔⑦M(jìn)行有效的反向傳遞。
圖3 基于跨層連接的門(mén)結(jié)構(gòu)
實(shí)線箭頭所指的方向?yàn)橥瑢由窠?jīng)網(wǎng)絡(luò)延時(shí)間展開(kāi)后的反向傳播信息流,虛線箭頭所指方向?yàn)榭鐚由窠?jīng)網(wǎng)絡(luò)之間的連接通路。基于跨層連接的門(mén)結(jié)構(gòu)沿時(shí)間展開(kāi)的結(jié)果如圖4所示。
通過(guò)上述門(mén)結(jié)構(gòu)實(shí)現(xiàn)前一個(gè)空間或時(shí)間上隱含層的輸入直接傳遞給下一個(gè)隱含層,從而實(shí)現(xiàn)多層神經(jīng)網(wǎng)絡(luò)中間層的跨層連接??鐚舆B接門(mén)結(jié)構(gòu)可以寫(xiě)為
(1)
圖4 跨層連接門(mén)結(jié)構(gòu)沿時(shí)間展開(kāi)后的結(jié)構(gòu)
本文使用Google開(kāi)源機(jī)器學(xué)習(xí)框架TensorFlow,在Python語(yǔ)言環(huán)境下搭建了傳統(tǒng)LSTM模型、基于Highway網(wǎng)絡(luò)的LSTM+Highway模型和基于跨層連接門(mén)結(jié)構(gòu)的LSTM+CIGU,并對(duì)上述模型進(jìn)行了不同模型層數(shù)的訓(xùn)練和測(cè)試。
實(shí)驗(yàn)對(duì)比模型參考了Kim Y等人[8]對(duì)于LSTM和LSTM+Highway模型在PTB(Penn Treebank dataset)數(shù)據(jù)集中的測(cè)試,其中,經(jīng)過(guò)優(yōu)化后的LSTM模型在Word-Level下困惑度能達(dá)到85.4~97.6。
離散概率分布p的困惑度的定義為
(2)
式中NC為當(dāng)前測(cè)試集C中所有詞的個(gè)數(shù);lC為測(cè)試集中為句子的個(gè)數(shù);P(Ci)為訓(xùn)練模型在測(cè)試集中的概率。由式(2)可知,困惑度越小,訓(xùn)練的語(yǔ)言模型概率越大,語(yǔ)言模型也就越好。
PTB語(yǔ)言模型,包括已經(jīng)預(yù)先處理好的10 000個(gè)不同的Word-Level詞語(yǔ),包括語(yǔ)句結(jié)束符號(hào)和稀有詞語(yǔ)的特殊標(biāo)記等。測(cè)試目的是研究隨著網(wǎng)絡(luò)層數(shù)的增加,不同模型結(jié)構(gòu)訓(xùn)練收斂速度和準(zhǔn)確性的差異。模型隱含神經(jīng)元為500個(gè)/層,采用了0.5的學(xué)習(xí)效率衰減和0.5的Dropout系數(shù),實(shí)驗(yàn)采用相同的模型參數(shù),對(duì)比不同模型結(jié)構(gòu)在不同層數(shù)下的學(xué)習(xí)表現(xiàn)。
由于傳統(tǒng)RNN結(jié)構(gòu)并不能很好的解決長(zhǎng)時(shí)依賴(lài)問(wèn)題,因此基于PTB測(cè)試集的訓(xùn)練模型選擇了傳統(tǒng)的LSTM結(jié)構(gòu)、結(jié)合了Highway網(wǎng)絡(luò)的LSTM+Highway結(jié)構(gòu)和基于跨層連接的門(mén)結(jié)構(gòu)LSTM+CIGU。
50 000次迭代周期下3種基于LSTM結(jié)構(gòu)的模型的困惑度與迭代周期的關(guān)系如圖5所示。
圖5 各模型在不同層數(shù)下的學(xué)習(xí)表現(xiàn)
可以看出,隨著神經(jīng)網(wǎng)絡(luò)層數(shù)加深,在6層神經(jīng)網(wǎng)絡(luò)下傳統(tǒng)LSTM模型已經(jīng)無(wú)法收斂,而LSTM+Highway和LSTM+CIGU結(jié)構(gòu)能夠處理傳統(tǒng)LSTM無(wú)法處理的環(huán)境。隨著模型層數(shù)加深,8層神經(jīng)網(wǎng)絡(luò)中基于Highway網(wǎng)絡(luò)的LSTM+Highway與4層相比收斂速度顯著降低,而基于跨層連接門(mén)結(jié)構(gòu)的LSTM+CIGU收斂速度變化不明顯。其中,在4層神經(jīng)網(wǎng)絡(luò)中LSTM+CIGU訓(xùn)練到困惑度小于200時(shí)所需要的迭代次數(shù)比LSTM+Highway結(jié)構(gòu)快9.4 %,訓(xùn)練到困惑度小于150時(shí),快12.4 %;在8層神經(jīng)網(wǎng)絡(luò)中,收斂所需要的迭代次數(shù)分別提高了37.0 %和39.8 %。
不同層數(shù)下各模型的訓(xùn)練平均困惑度和測(cè)試?yán)Щ蠖葦?shù)值如表1所示。
表1 各模型在PTB中的訓(xùn)練和測(cè)試?yán)Щ蠖?/p>
由表1可以看出,隨著層數(shù)的加深,相同次數(shù)的訓(xùn)練周期下模型的訓(xùn)練效果均產(chǎn)生了一定程度的下降,主要原因可能是由于訓(xùn)練難度加大,所需迭代次數(shù)也需要進(jìn)一步的加大才能盡可能的接近最小困惑度訓(xùn)練結(jié)果。但由實(shí)驗(yàn)可以看出,相同層數(shù)下,基于跨層連接門(mén)結(jié)構(gòu)的LSTM+CIGU的困惑度普遍優(yōu)于其他2種LSTM結(jié)構(gòu),且隨著層數(shù)的進(jìn)一步增加,比Highway網(wǎng)絡(luò)結(jié)構(gòu)的LSTM有著更好的訓(xùn)練效果。
綜合上述實(shí)驗(yàn)結(jié)果,基于跨層連接的門(mén)結(jié)構(gòu)在大部分實(shí)驗(yàn)中都有著顯著的優(yōu)勢(shì),并且隨著構(gòu)建的神經(jīng)網(wǎng)絡(luò)層數(shù)的加深,其在收斂速度和訓(xùn)練效果上的改善更加明顯。
1)與傳統(tǒng)LSTM相比,跨層連接的門(mén)結(jié)構(gòu)能夠在縱向空間跨度上對(duì)輸入信息進(jìn)行高效的跨層傳遞,解決層次過(guò)深的隱含層不能很好地獲取數(shù)據(jù)特征的問(wèn)題;
2)與基于Highway網(wǎng)絡(luò)的LSTM+Highway相比,跨層連接的門(mén)結(jié)構(gòu)能夠減少橫向時(shí)間跨度上門(mén)結(jié)構(gòu)冗余程度,合理的分開(kāi)信息傳輸?shù)耐ǖ?,使縱向空間跨度的跨層連接門(mén)結(jié)構(gòu)并不會(huì)增加橫向傳播的負(fù)擔(dān),從而實(shí)現(xiàn)信息更加高效的傳遞。