機器學習與深度學習系列連載: 第二部分 深度學習(十三)迴圈神經網路 1(Recurre Neural Network 基本概念 )
阿新 • • 發佈:2018-11-12
迴圈神經網路 1(Recurre Neural Network 基本概念 )
迴圈神經網路的特點:
• RNNs 在每個時間點連線引數值,引數只有一份
• 神經網路出了輸入以外,還會建立在以前的“記憶”的基礎上
• 記憶體的要求與輸入的規模有關
當然,他的深度不只有一層:
1. 公式表達
對於輸入x1…xT , 我們有記憶h和分類結果yhat
2 .RNN 語言處理模型
在自然語言處理中,RNN和它的模型變種,是主力軍。
(1) 輸入層、隱藏層、引數設定
是初始化的在時間點0的隱藏層向量
是在時間點t的輸入向量
是其中各引數集的維度設定:
(2) Loss
是在整個詞彙表中的概率分佈
整個Loss函式:
整體的Loss:
3 .RNN 訓練
RNN的訓練比較難,原因如下:
- 每次前向傳播的時候,乘以的都是同一個引數矩陣W
- 好多步以前的輸入,可能會影響現在的結果
- 求導的過程非常長
相應的就會出現梯度消失或者爆炸的問題(vanishing/exploding)
原因推導:
- 總的誤差是每一個時間點的誤差的和
- 根據chain-rule:
很多數值的相乘,如果乘數大於1,結果容易爆炸,如果小於1,結果趨近於0
本專欄圖片、公式很多來自臺灣大學李弘毅老師、斯坦福大學cs229,斯坦福大學cs231n 、斯坦福大學cs224n課程。在這裡,感謝這些經典課程,向他們致敬!