1.4 通过时间的反向传播(Backpropagation through time)

反向传播计算方向与前向传播基本上是相反:

识别人名的例子,经过RNN正向传播,单个元素的Loss function为:

L<t>(y^<t>,y<t>)=y<t>log y^<t>(1y<t>)log (1y^<t>)L^{<t>}(\hat y^{<t>},y^{<t>})=-y^{<t>}log\ \hat y^{<t>}-(1-y^{<t>})log\ (1-\hat y^{<t>})

这是 binary classification 的 Loss Function,注意与1.6 的softmax Loss Function区别

该样本所有元素的Loss function为:

L(y^,y)=t=1TyL<t>(y^<t>,y<t>)L(\hat y,y)=\sum_{t=1}^{T_y}L^{<t>}(\hat y^{<t>},y^{<t>})

反向传播(Backpropagation)过程就是从右到左分别计算L(y^,y)L(\hat y,y)对参数WaW_{a}WyW_{y}bab_abyb_y的偏导数,这种从右到左的求导过程被称为Backpropagation through time

RNN反向传播示意图:

Last updated