前言

RNN擅长解决的问题是连续的序列,且序列的长短不一,比如基于时间的序列:一段段连续的语音等。这些序列比较长,且长度不一,比较难直接拆分成一个个独立的样本通过DNN/CNN进行训练。

而RNN由于其独有的结构和优势,能够处理DNN/CNN所不能及的问题。

RNN的5种不同架构

one2one:

个人总结:从RNN到LSTM GRU 注意力机制

一个输入对应一个输出。

one2many:

个人总结:从RNN到LSTM GRU 注意力机制

一个输入对应多个输出,这个架构多用于图片的对象识别,即输入一个图片,输出一个文本序列。

many2one:

个人总结:从RNN到LSTM GRU 注意力机制

多个输入对应一个输出,多用于文本分类或视频分类,即输入一段文本或视频片段,输出类别。

many2many I:

个人总结:从RNN到LSTM GRU 注意力机制

这种结构广泛用于机器翻译,输入一个文本,输出另一种语言的文本。

many2many II:
个人总结:从RNN到LSTM GRU 注意力机制

这种结构广泛应用于序列标注。

RNN模型与前向传播

RNN是基于序列的,它对应的输入为对应的样本序列个人总结:从RNN到LSTM GRU 注意力机制中的时间步t对应的个人总结:从RNN到LSTM GRU 注意力机制。而个人总结:从RNN到LSTM GRU 注意力机制代表t位置的隐藏状态,由个人总结:从RNN到LSTM GRU 注意力机制和t-1位置的隐藏状态个人总结:从RNN到LSTM GRU 注意力机制决定。

主流模型如下图

个人总结:从RNN到LSTM GRU 注意力机制

 

这些循环使RNN可以被看做同一个网络不同时间步的多次循环,每个神经元会把更新的结果传递到下一个时间步。这就是RNN的正向传播,依次按照时间的顺序计算一次即可。

个人总结:从RNN到LSTM GRU 注意力机制个人总结:从RNN到LSTM GRU 注意力机制分别代表序列时间步t-1和t+1时训练样本的输入。

对任意一个序列时间步t,隐藏状态个人总结:从RNN到LSTM GRU 注意力机制个人总结:从RNN到LSTM GRU 注意力机制个人总结:从RNN到LSTM GRU 注意力机制得到:

 

个人总结:从RNN到LSTM GRU 注意力机制

个人总结:从RNN到LSTM GRU 注意力机制为**函数,这里一般为tanh或者Relu,b为偏置。这个公式就可以理解为

个人总结:从RNN到LSTM GRU 注意力机制现有的输入+过去的记忆,也正是由于这个,使RNN具有了记忆能力

U:输入层到隐藏层直接的权重

W:隐藏层到隐藏层的权重

V:隐藏层到输出层的权重

U,W,V这三个矩阵是模型的线性关系参数,在整个RNN网络中是共享的,也正是共享,才体现了RNN模型的“循环反馈”的思想。

输出个人总结:从RNN到LSTM GRU 注意力机制的表达式比较简单:

 

个人总结:从RNN到LSTM GRU 注意力机制

最终在时间步t时我们预测输出为:

个人总结:从RNN到LSTM GRU 注意力机制

 

通常RNN是分类模型,所以这里的**函数个人总结:从RNN到LSTM GRU 注意力机制一般是softmax/sigmoid

误差函数个人总结:从RNN到LSTM GRU 注意力机制可以量化模型当前损失,比如交叉熵损失函数平方误差,即个人总结:从RNN到LSTM GRU 注意力机制个人总结:从RNN到LSTM GRU 注意力机制的差距。

 

个人总结:从RNN到LSTM GRU 注意力机制

RNN与反向传播

我们希望通过反向传播来更新和优化RNN的权重,而RNN的权重分布在U、W、V三个矩阵中。

所以问题在于如何求解各个权重的梯度,即

个人总结:从RNN到LSTM GRU 注意力机制

个人总结:从RNN到LSTM GRU 注意力机制

个人总结:从RNN到LSTM GRU 注意力机制

相关文章:

  • 2022-12-23
  • 2021-06-16
  • 2021-12-08
  • 2022-12-23
  • 2021-12-26
  • 2021-05-14
猜你喜欢
  • 2022-01-18
  • 2021-08-13
  • 2021-07-29
  • 2021-11-20
  • 2021-06-02
相关资源
相似解决方案