GRU改变了RNN隐藏层,使其可以更好的捕获深层连接并改善了梯度消失问题。
RNN隐藏层的单元的可视化呈现:
a<x>计算公式:
GRU
c= memory cell 记忆细胞
GRU中 ,c<t>=a<t>
在每个timestep,我们用一个候选值写记忆细胞。
cn<t>代替c<t>。
GRU真正思想:门
Γu是一个在0到1之间的门值,实际上它是
计算得到的。sigmoid~
u代表update。门决定是否真正要更新c<t>
记忆细胞被设置为0或1取决与句子中的名词是单复数。
GRU单元会一直记住c<t>的值,比如代表单数。
Γu代表什么时候更新c<t>,比如看到the cat,要更改句子后面就不用记住它了。
如果更新值(Γu)是1,就更新c。如果更新值是0,则不更新c。
因为门很容易取到0值。上面的更新公式会维持c的值。
梯度消失就会被很大程度缓解,因为Γ很小接近0,c值被很好的维持。
c和Γ是相同的维度。
完整GRU单元(与简易版GRU做一些改变)
Γr代表c~<t>和c<t>的相关性。