作者:zhenguo
來源:Python與演算法社區 轉自:機器學習實驗室
神經網路是深度學習的載體,而神經網路模型中,最經典非RNN模型所屬,儘管它不完美,但它具有學習歷史資訊的能力。 後面不管是encode-decode 框架,還是注意力模型,以及自注意力模型,以及更加強大的Bert模型家族,都是站在RNN的肩上,不斷演化、變強的。這篇文章,闡述了RNN的方方面面,包括模型結構,優缺點,RNN模型的幾種應用,RNN常使用的啟動函數,RNN的缺陷,以及GRU,LSTM是如何試圖解決這些問題,RNN變體等。
這篇文章最大特點是圖解版本,其次語言簡練,總結全面 傳統RNN的體系結構。 Recurrent neural networks,也稱為RNNs,是一類允許先前的輸出用作輸入,同時具有隱藏狀態的神經網路。 它們通常如下所示: 對於每一時步, 啟這裡是時間維度網路的共享權重係數 是啟動函數下表總結了典型RNN架構的優缺點 RNN模型主要應用於自然語言處理和語音辨識領域。 下表總結了不同 對於RNN網路,所有時間步的損失函數是根據每個時間步的損失定義的,如下所在每個時間點進行反向傳播。 在,損最常用的啟動函數 在RNN中經常遇到梯度消失和爆炸現象。 之所以會發生這種情況,是因為很難捕捉到長期的依賴關係,因為乘法梯度可以隨著層的數量呈指數遞減/遞增。術,用於執行反向傳播時,有時遇到的梯度爆炸問題。 通過限制梯度的最大這種現象實踐中得問題,在某些類型的RNN中使用特定的門,並且通常有明確的目的。 它們通常標註為,等於:其中Gated Recurrent Unit(GRU)和長-短期記憶單元(LSTM)處理傳統R
|