RNN(迴圈神經網路),顧名思義,將之前的輸出(隱藏狀態)作為輸入,構成迴圈。
上面的展開圖清晰地展示了RNN的結構。從展開圖中,我們也不難發現RNN的結構和序列化的資料具有內在的一致性。事實上,RNN確實主要用於處理序列化資料。
不過,實際應用中,因為RNN存在梯度爆炸(gradient explosion)和梯度消失(gradient vanishing)的問題,基本上不使用原始的RNN,而是使用RNN的變體。
梯度爆炸可以透過梯度裁剪(gradient clipping)來緩解,而RNN的變體,比如現在主流的LSTM和GRU,緩解了梯度消失。
LSTM(long short-term memory,長短時記憶網路)建模了輸入、輸出和遺忘。具體來說,LSTM用機率(稱為gate,閥門,一般是sigmoid層)建模輸入、輸出和遺忘。
上為LSTM架構示意圖,左上藍色的為輸入門、右上綠色的為輸出門、下方紅色的為遺忘門。
RNN(迴圈神經網路),顧名思義,將之前的輸出(隱藏狀態)作為輸入,構成迴圈。
上面的展開圖清晰地展示了RNN的結構。從展開圖中,我們也不難發現RNN的結構和序列化的資料具有內在的一致性。事實上,RNN確實主要用於處理序列化資料。
不過,實際應用中,因為RNN存在梯度爆炸(gradient explosion)和梯度消失(gradient vanishing)的問題,基本上不使用原始的RNN,而是使用RNN的變體。
梯度爆炸可以透過梯度裁剪(gradient clipping)來緩解,而RNN的變體,比如現在主流的LSTM和GRU,緩解了梯度消失。
LSTM(long short-term memory,長短時記憶網路)建模了輸入、輸出和遺忘。具體來說,LSTM用機率(稱為gate,閥門,一般是sigmoid層)建模輸入、輸出和遺忘。
上為LSTM架構示意圖,左上藍色的為輸入門、右上綠色的為輸出門、下方紅色的為遺忘門。