企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# RNN 变种 RNN 架构已经以多种方式扩展,以适应某些问题中的额外需求,并克服简单 RNN 模型的缺点。我们列出了下面的 RNN 架构的一些主要扩展。 * **双向** **RNN** ( **BRNN** )用于输出依赖于序列的前一个和后一个元素的情况。 BRNN 通过堆叠两个 RNN(称为前向和后向层)来实现,输出是前向和后向层 RNN 的隐藏状态的结果。在前向层中,存储器状态 h 从时间步长`t`流向时间步长`t + 1`,并且在后向层中,存储器状态从时间步长`t`流出。到时间步`t-1`。两个层在时间步`t`时采用相同的输入`x[t]`,但它们在时间步`t`共同产生输出。 * **深双向 RNN** ( **DBRNN** )通过添加多个层进一步扩展 BRNN。 BRNN 在时间维度上隐藏了层或单元。但是,通过堆叠 BRNN,我们可以在 DBRNN 中获得分层表示。其中一个显着差异是,在 BRNN 中,我们对同一层中的每个单元使用相同的参数,但在 DBRNN 中,我们对每个堆叠层使用不同的参数。 * **长短期记忆** ( **LSTM** )网络通过使用涉及多个非线性函数而不是一个简单非线性函数的架构来扩展 RNN 隐藏状态。 LSTM 由称为 **单元** 的黑盒组成,取三个输入:时间`t-1`的工作记忆(`h[t-1]`),当前输入(`x[t]`)和时间`t-1`的长期记忆(`c[t-1]`),并产生两个输出:更新的工作记忆(`h[t]`)和长期记忆(`c[t]`)。单元使用称为门的功能来决定从内存中选择性地保存和擦除的内容。我们在下面的部分中详细描述了 LSTM。 阅读以下关于 LSTM 的研究论文,以获得有关 LSTM 起源的更多信息: ``` S. Hochreiter and J. Schmidhuber, Long Short-Term Memory, Neural Comput., vol. 9, no. 8, pp. 1735–1780, 1997.http://www.bioinf.jku.at/publications/older/2604.pdf ``` * **门控递归单元** ( **GRU** )网络是 LSTM 的简化变体。 结合遗忘和输入的功能,在更简单的更新门中进行门控。它还将隐藏状态和单元状态组合成一个单一状态。因此,与 LSTM 相比,GRU 在计算上更便宜。 我们在下面的部分中详细描述了 GRU。 阅读以下研究论文以探索 GRU 的更多细节: ``` K. Cho, B. van Merrienboer, C. Gulcehre, D. Bahdanau, F. Bougares, H. Schwenk, and Y. Bengio, Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation, 2014.https://arxiv.org/abs/1406.1078 J. Chung, C. Gulcehre, K. Cho, and Y. Bengio, Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling, pp. 1–9, 2014. https://arxiv.org/abs/1412.3555 ``` * **seq2seq** 模型将编码器 - 解码器架构与 RNN 架构相结合。在 seq2seq 架构中,模型训练数据序列,例如文本数据或时间序列数据,然后该模型用于生成输出序列。例如,在英文文本上训练模型,然后从模型生成西班牙文本。 seq2seq 模型由编码器和解码器模型组成,它们都使用 RNN 架构构建。可以堆叠 seq2seq 模型以构建分层多层模型。