1. 为什么选择序列模型

循环神经网络基础

2. 数学符号

循环神经网络基础
符号表示
循环神经网络基础
词典用来表示单词。
循环神经网络基础
上图是one-hot表示法,不在词表的单词标记为UNK。

3. 循环神经网络模型

对于这种序列任务,我们可以尝试用标准的神经网络,但是有两个问题:
循环神经网络基础
即输入输出序列长度可能不等、不能共享不同位置上学到的特征。
循环神经网络基础
这里是我们的第一个循环神经网络的例子,首先可以看到是Tx=Ty。从最左边看起,这里有一个零时刻的**值,通常是零向量;在每一个时间步,输入向量x集合上一个神经元传过来的**值,共同生成输出**值,在经过一层线性变换以后输出y。
产生的问题:只用了序列前的信息,没有用到后面信息,后面双向循环神经网络会解决这个问题。
循环神经网络基础
上图给出了循环神经网络的前向传播的例子,可以看到,每个隐藏单元输出两个值,一个是**值,另一个是当前x对应的y。
a<t>=g1(Waaa<t1>+Waxx<t>+ba)y^<t>=g2(Wyaa<t>+by)\begin{array}{c}{a^{<t>}=g_{1}\left(W_{a a} a^{<t-1>}+W_{a x} x^{<t>}+b_{a}\right)} \\ {\hat{y}^{<t>}=g_{2}\left(W_{y a} a^{<t>}+b_{y}\right)}\end{array}
**函数通常是tanh,或者ReLU。
问题:梯度消失
输出y**函数的类别具情具分,如二分类问题,使用sigmoid,k分类用softmax。

符号简化:(利用了矩阵乘法)
前提是隐藏层的权重矩阵维度是相同的。
循环神经网络基础
循环神经网络基础

4.通过时间的反向传播

循环神经网络基础
反向传播需要一个损失函数,而这里的损失函数是每一个输出y的损失相加。
循环神经网络基础
循环神经网络基础

5. 不同类型的循环神经网络

6. 语言模型和序列生成

7.对新序列采样

8.循环神经网络的梯度消失

9. GRU单元

10. 长短期记忆

11.双向循环神经网络

12. 深层循环神经网络

相关文章:

  • 2021-08-03
  • 2021-11-07
  • 2021-12-04
猜你喜欢
  • 2021-05-24
  • 2021-11-01
  • 2021-10-01
  • 2021-06-22
  • 2021-07-28
  • 2021-07-14
  • 2021-05-22
相关资源
相似解决方案