📜  TensorFlow | RNN的类型

📅  最后修改于: 2021-01-11 10:50:23             🧑  作者: Mango

RNN的类型

递归网络更令人兴奋的主要原因是它们使我们可以对向量序列进行操作:输入序列,输出序列或在最一般的情况下都可以。一些示例可能更具体:

上图中的每个矩形代表矢量,箭头代表函数。输入向量为红色,输出向量为蓝色,绿色保持RNN的状态。

一对一:

这也称为平原神经网络。它处理输入的固定大小到输出的固定大小,它们独立于先前的信息/输出。

示例:图像分类。

一对多:

它以固定大小的信息作为输入,将一系列数据作为输出。

示例:图像字幕将图像作为输入并输出单词句子。

多对一:

它采用一系列信息作为输入,并输出固定大小的输出。

示例:情感分析,其中将任何句子归类为表达正面或负面情绪。

多对多:

它以信息序列作为输入,并将循环输出作为数据序列进行处理。

示例:机器翻译,其中RNN读取英语中的任何句子,然后输出法语中的句子。

双向多对多:

同步的序列输入和输出。请注意,在每种情况下,长度序列都没有预先指定的约束,因为循环变换(绿色)是固定的,可以根据需要多次应用。

示例:视频分类,我们希望标记视频的每一帧。

递归神经网络的优势

  • RNN可以对数据序列进行建模,以便可以假定每个样本都依赖于先前的样本。
  • 循环神经网络甚至与卷积层一起使用以扩展有效像素邻域。

递归神经网络的缺点

  • 渐变消失和爆炸问题。
  • 训练RNN是一项复杂的任务。
  • 如果它使用tanh或relu(如激活函数),则无法处理很长的序列。