为什么要使用RNN_工作流管理_工作流软件_深圳市和丰软件技术有限公司【知名】

13544009511
我们做过什么

为什么要使用RNN

发布日期:2021-01-10 浏览次数:

1、什么是RNN?为什么要使用RNN?

我们先从架构角度了解一下RNN和MLP之间的区别:

MLP隐藏层上的环形约束转向RNN

如上图所示,RNN在隐藏状态上有一个循环连接,此循环约束能够确保在输入数据中捕捉到顺序信息。

循环神经网络能够帮助我们解决以下相关问题:

  • 时间序列数据

  • 文本数据

  • 音频数据

2、循环神经网络(RNN)的优势

  • RNN能够捕捉数据中出现的顺序信息,例如,预测时文本中单词之间的依赖关系:

Many2Many Seq2Seq 模型

如图所示,每个时间步长的输出(o1, o2, o3, o4)不仅取决于当前单词,还取决于先前的单词。

  • RNN跨不同的时间步长共享参数。这通常被称为参数共享(Parameter Sharing)。这将减少训练参数并降低计算成本。

展开的RNN

如上图所示,U、W、V 这3个权值矩阵是所有时间步长中共享的权值矩阵。

3、循环神经网络(RNN)面临的挑战

深度RNN(具有大量时间步长的RNN)也存在梯度消失和爆炸问题,这是在所有不同类型神经网络中常见的问题。

梯度消失(RNN)

如图所示,在最后一个时间步长处计算的梯度在到达初始时间步长时消失。

粤公网安备 44030502004911号