GRU(门控循环单元)
门控rnn是一个现代的rnn的变体。
在rnn计算梯度的时候,往往出现了消失爆炸的情况。
1 早期观测值对预测所有未来观测值具有非常重要的意义,需要给早期值一个大梯度,这句话无法理解。
2 情绪分析中,出现的h5之类的词元和观测无相关性,需要机制来跳过隐状态表示这类词元。
3 中间出现连续中断,一本书中间的章节,还有牛市和熊市之间的中断,需要机制重置内部状态表示。
总结上述可能导致梯度的问题,和机制就是,
1需要跳过无关词元机制
2需要重置内部状态
3需要给早期值一个大梯度
总共两个方式来解决,LSTM(长短记忆),门控循环单元(gate recurrent unit)
GRU比较简单,它可以在观测不相关词元,则不更新隐状态,对应机制1, 也可以在必要的时候重置隐状态,对应机制2,
对于机制3,可以在观测第一个词元后不更新隐状态,对应机制1。
对于这个机制,可以理解的是,需要通过两个小组件来决定是否要更新,是否需要重置?
所以这里才命名成,更新门,和重置门。
这里可能需要放如何实现更新门,和重置门的公式。
简单的说,可以通过进化和退化,来说明重置门,和候选隐状态的关系。公式1
再通过更新门来说明候选隐状态,和下一个真正的隐状态的关系。公式2
图
然后就是demo的实现了。