• 沒有找到結果。

遞迴式類神經網路語言模型

遞迴式類神經網路的出現,改善了有時序特徵的預測任務,遞迴式類神經網路 (Recurrent Neural Network, RNN)藉由將前一個時間點的資訊傳遞給下一個時間點 作輔助,來幫助下一個時間點的預測,相較於前饋式類神經網路,遞迴式類神經 網路可以處理更長遠的時序特徵,但是會碰到梯度消失或爆炸的問題。

3.1.1 長短期記憶(Long Short-Term Memory)

為了解決梯度消失或爆炸,長短期記憶(Long Short-Term Memory, LSTM)被提出 來,藉著閥門的結構,控制資訊保留或丟棄,以達到防止梯度消失或爆炸,長短 期記憶的遞迴式神經網路也時常被當作目前最好的類神經語言模型,以下是長短 期記憶的詳細架構:

𝑓𝑡 = 𝜎(𝑊𝑓𝑥𝑥𝑡+ 𝑊𝑓𝑡−1+ 𝑏𝑓)

𝑖𝑡 = 𝜎(𝑊𝑖𝑥𝑥𝑡+ 𝑊𝑖𝑡−1+ 𝑏𝑖)

𝑜𝑡 = 𝜎(𝑊𝑜𝑥𝑥𝑡+ 𝑊𝑜𝑡−1+ 𝑏𝑜)

𝑐̅ = tanh(𝑊𝑡 𝑐𝑥𝑥𝑡+ 𝑊𝑐𝑡−1+ 𝑏𝑐)

𝑐𝑡 = 𝑓𝑡∗ 𝑐𝑡−1+ 𝑖𝑡∗ 𝑐̅ 𝑡

𝑡 = 𝑜𝑡∗ tanh(𝑐𝑡)

圖 3-1長短期記憶架構

𝑓𝑡指的是遺忘閥(forget gate),𝑖𝑡指的是輸入閥(input gate),𝑜𝑡指的是輸出閥(output gate),𝑐𝑡指的是記憶元(memory cell),ℎ𝑡指的是輸出的隱藏層(output layer),LSTM 的設計與傳統RNN的不同是使用一個記憶元來保存需要的資訊,使用前一個時間 點的隱藏層和現在時間點的輸入來決定三個閥門的值,輸入閥決定現在時間點的 資訊要保留多少,遺忘閥則是決定前一個時間點的資訊要丟棄多少,最後輸出閥 決定記憶元要有多少資料輸出給下一層,LSTM因為有遺忘閥的設計,可以有效 的解決梯度消失或爆炸的問題。

因為LSTM能很好的解決梯度消失問題,且在語言模型上的表現優於大部分 的RNN架構,所以現今類神經網路語言模型多半採用LSTM,以下是LSTM語言模 型的架構。

𝑒𝑡 = 𝐸(𝑥𝑡)

𝑡= 𝐿𝑆𝑇𝑀(𝑒𝑡, ℎ𝑡−1, 𝑐𝑡−1)

𝑝𝑡 = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑊ℎ𝑦𝑡+ 𝑏ℎ𝑦)

𝑦𝑡 = argmax(𝑝𝑡)

圖 3-2 LSTM語言模型

LSTM語言模型的測試階段,先將詞的獨熱編碼(One-Hot Encoding),也就是 維度為詞典大小的空間,經過嵌入層投影到維度較小的語意的連續空間中,接著 使用LSTM將過去時間點的資訊加入計算,最後解碼回維度為詞典大小的空間中,

並且使用歸一化指數函數(Softmax)將輸出變成機率和為1。在訓練階段,訓練的準 則(Training Criterion)是交互熵值(Cross-Entropy),訓練的演算法則是時序性倒傳遞 演算法 (Backpropagation Through Time) [Werbos, 1990]。

3.1.2 時序性倒傳遞演算法推導

與倒傳遞演算法不同的地方,遞迴式類神經網路是利用時間的變化來調整權重值,

也就是說會調整不只一次且經由不同時間點上的隱藏層資訊來進行調整。在時間 點t 所使用的權重是過去時間點所累積的,但利用此方法必須要記錄所有歷史資 訊及過去的網路狀態,這將造成記憶體不足和運算量倍增的問題。因此需定義一 個變數𝜏當作遞迴的次數[Bengio et al., 1994],以此來決定想使用多少的歷史資訊,

並且忽略掉更早之前的資訊。如前述所提到,假使網路是穩定的話,則權重的更

新量將會隨著時間越來越小,這是因為網路倚靠有力的小幅度回饋來增加強度。

相關文件