GRU(Gated Recurrent Unit)是LSTMs网络的一种变式,主要的目的也是解决RNNs网络长时记忆的问题,通过hidden state来记忆上下文关系。GRU基本repeating module如下图所示:
图中ht为t时刻的hidden state,也为t时刻单元的输出;xt为t时刻的输出;rt为reset gate(重置,决定生成新的candidate hidden state—即带上波浪的ht—时是否包含之前状态的影响,取值为1,0);zt为update gate(更新,决定是否用candidate hidden state更新当前状态);带上波浪线的ht为由ht-1和xt新生成的当前状态的备选;ht为最终保留并输出的当前状态,由zt在带上波浪线的ht与ht-1之间选择。
与标准LSTMs网络不同的是,在生成新的记忆状态时,GRU合并了LSTMs中的forget gate和input gate,以update gate(Zt)来代替;并且将LSTMs中的cell state和hidden state整合为一个hidden state,这样做简化了整个网络单元的结构,并且在实验上也取得了比较不错的结果。