RNN

 RNN Q&A



(1) 为什么具有记忆功能?

这个是在RNN就解决的问题,就是因为有递归效应,上一时刻隐层的状态参与到了这个时刻的计算过程中,直白一点呢的表述也就是选择和决策参考了上一次的状态


(2) 为什么LSTM记的时间长?

因为特意设计的结构中具有CEC的特点,误差向上一个状态传递时几乎没有衰减,所以权值调整的时候,对于很长时间之前的状态带来的影响和结尾状态带来的影响可以同时发挥作用,最后训练出来的模型就具有较长时间范围内的记忆功能。

 

误差回传的主力还是通过了Memory Cell而保持了下来。所以我们现在用的LSTM模型,依然有比较好的效果。

 

最后整个梳理一下误差回传的过程,误差通过输出层,分类器,隐层等进入某个时刻的Block之后,先将误差传递给了Output Gate和Memory Cell两个地方。 到达输出门的误差,用来更新了输出门的参数w,到达Memory Cell之后,误差经过两个路径:

1 是通过这个cell向前一个时刻传递或者更前的时刻传递,

2 是用来传递到input gate和block的输入,用来更新了相应的权值(注意!不会经过这里向前一个时刻传递误差)。

 

最关键的问题就是,这个回传的算法,只通过中间的Memory Cell向更前的时刻传递误差。

请使用浏览器的分享功能分享到微信等