一、初識RNN
1、 循環神經網絡是指隨着時間的推移,重複發生的結構。在自然語言處理,語音圖像等多個領域均有着廣泛的使用。RNN網絡和其它網絡的不同之處在於RNN可以實現某種記憶功能,是進行時間序列分析的最好選擇。好像人類能夠憑藉自己過往的記憶更好的認識這個世界一樣。RNN也實現了類似於人腦的這一機制,對所處理過的信息留存有一定的記憶,而不像其他類型的神經網絡並不能對處理過的信息留存記憶。
2、 重複發生的結構概括性的描述了,RNN和CNN類似,通過共用一組權值來減少運算量。
3、 通過時間序列,我們將輸入的內容按時間先後進行輸入,通過計算將時刻之前總結的內容和時刻的內容一起輸入進行運算,則表達了記憶的特徵
二、RNN原理
1、
整個網絡中只有簡單的輸入、輸出以及網絡參數狀態 ,每個時間點輸入的都是類似於該狀態。一個典型的RNN網絡包含一個輸入X、一個輸出h和一個神經網絡單元A。和普通的神經網絡不同的是,RNN網絡的神經網絡單元A不僅僅與輸入和輸出存在聯繫,其與自身也存在一個迴路。這種網絡結構就揭示了RNN的主要工作原理:即上一個時刻的網絡狀態信息將會作用於下一個時刻的網絡狀態。
2、 將1中的圖展開可得
數學公式的表達如下
在上圖右側爲RNN的展開形式,由於RNN一般處理的是序列信息,我們將以時間序列的例子來學習和解釋。等號右邊的等價RNN網絡中最初的輸入狀態爲,輸出爲,這代表着在(t-1)的時刻RNN網絡的輸入爲,輸出爲,網絡神經元在(t-1)時刻的狀態保存在了中。當下一個時刻(t)時刻到來時,此時網絡神經元的狀態不僅僅由(t)時刻的輸入所決定,也由(t-1)時刻的保存的神經元狀態所決定。之後的所有情況以此類推。
實例: 假設現有一句話 爲“我 是 中國 _”,我們的輸入框爲 ’ ,則在相應的輸出框中理論上應該爲 通過預測,我們可以得出大概率爲