總結自吳恩達老師的網易深度學習工程師微專業
1. 前向傳播
at=g(a)(Waaa<t−1>+Waxx<t>+ba)
y^<t>=g(y)(Wyaa<t>+by)
or, 簡化版
at=g(a)(Wa[a<t−1>,x<t>]+ba)
y^<t>=g(y)(Wya<t>+by)
Note
- 一般而言,初始激活向量爲:a<0>=0
- 通常,g(a)選擇tanh函數(tanh函數梯度消失的問題會用其他方式解決),有時也會選用relu函數。
- y^<t>=g(y)(Wyaa<t>+by)如果是二分類問題,使用sigmoid函數,如果是多分類問題,可以使用softmax函數。
2. 損失函數
爲了進行反向傳播計算,使用梯度下降等方法來更新RNN的參數,我們需要定義一個損失函數,如下:
L(y^,y)=∑t=1TyL<t>(y^<t>,y<t>)=∑t=1Ty−(y<t>log(y^<t>)+(1−y<t>)log(1−y^<t>))
3. BPTT
RNN的反向傳播將在後續部分有專門的介紹。