RNN LSTM
李宏毅機器學習課件截圖 簡短的筆記
RNN
循環神經網絡(Recurrent Neural Network,RNN)是一種用於處理序列數據的神經網絡。相比一般的神經網絡來說,他能夠處理序列變化的數據。比如某個單詞的意思會因爲上文提到的內容不同而有不同的含義,RNN就能夠很好地解決這類問題。
RNN不一定傳中間的,還可以將的權重傳入到下一層
此外還有雙向的循環神經網絡 Bidirectional RNN
LSTM
長短期記憶(Long short-term memory, LSTM)是一種特殊的RNN,主要是爲了解決長序列訓練過程中的梯度消失和梯度爆炸問題。簡單來說,就是相比普通的RNN,LSTM能夠在更長的序列中有更好的表現。
有四個輸入和一個輸出
三個門gate,輸入門(Input Gate), 遺忘門(Forget Gate), 輸出門(Output Gate)
記憶單元(Memory Cell)
LSTM舉例
這裏x2=1時表示輸入門允許輸入的相加,
當x2=-1時,遺忘門進行清零,
當x3=1的時候,輸出門輸出。
舉例兩個實際運算,每個門假設是固定的這四個權重,第一個輸入門趨向爲關閉,如果第二個輸入值爲正且>1/10,會選擇允許進入,否則輸入爲0;第二個遺忘門趨向不遺忘…
分別輸入到四個輸入出
RNN存在梯度消失梯度爆炸
如果一個權重只比1多了一點點,累計下去會導致輸出很大
如果一個權重只比1小了一點點,累計下去會導致輸出爲0
但是LSTM可以通過門來解決梯度消失和梯度爆炸
語音識別
如果對向量序列識別出多個好好好棒棒棒棒棒,然後進行重複字刪除,那麼會出現一個問題:如果識別“好棒棒”呢
出現了CTC的方法,對有些取null,提取的時候刪除null,可解決這個問題
需要這樣訓練,全部的可能性?
ATTENTION 注意力
可進行融合