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