[自然语言处理先修]六、循环神经网络

六、循环神经网络

学习路线参考:

https://blog.51cto.com/u_15298598/3121189

https://github.com/Ailln/nlp-roadmap

https://juejin.cn/post/7113066539053482021

本节学习使用工具&阅读文章:

https://zybuluo.com/hanbingtao/note/541458

https://blog.csdn.net/HiWangWenBing/article/details/121547541

https://easyai.tech/ai-definition/lstm/

https://zhuanlan.zhihu.com/p/518848475

1. RNN-概述

RNN跟传统神经网络最大的区别在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。也就是说,RNN有记忆前文的能力。RNN对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息。

RNN结构

2. RNN-隐藏层

从上面的图来看,忽视右边W的部分,左边的部分就是普通的全连接神经网络。此时,隐藏层的输入为\(U\),输出为\(\theta(U*X)\)

引入\(W\)后,隐藏层输出的值会与\(W\)相乘,加入下一次的隐藏层输入。假设本次隐藏层执行的是第\(t-1\)次循环,那么此次的输出会被加入到第\(t\)次循环中去。此时,隐藏层的输出变为:\(S_t=\theta(U_t*X_t+W_t*S_{t-1})\)

反向传播时,\(U\)\(W\)的权重都会被更新。

3. RNN-缺陷

  • 容易出现梯度消失和梯度爆炸

  • 由于梯度消失,导致RNN网络的时间序列不能太长,无法支持长序列,只有短期记忆

  • 只利用了上文的信息,而没有利用下文的信息

  • RNN网络不同词对当前输出的影响效果完全取决于时间,离当前时间越远的隐藏层的输出,对当前隐藏层的输出的影响越小。RNN无法根据不同词本身的重要性来对当前的输出产生影响

卷积层的计算原理是池化核在输入矩阵上进行滑动,按照池化规则进行计算。通常池化核的计算方法一般有最大值池化和平均值池化两种。

4. LSTM-长短期记忆

长短期记忆网络是RNN的一种变体,通过门控制将短期记忆与长期记忆结合起来,且一定程度上解决了梯度消失的问题。

如果把RNN中的S和W看作是同一部分,那么结构图如下所示:

结构图

中间循环的模块在RNN中的结构非常简单,只有一个线性层,且只有一种状态。

LSTM对中间的循环部分(隐藏层部分)进行改变,使用了四个线性层,表示三个不同的状态。

LSTM结构

5. LSTM-结构分析

图例

  • 黄色:代表线性层

  • 粉色:对位操作。矩阵之间按对应位置进行运算

  • 箭头:信息的传递、汇合、复制

    层内结构

    • 黄色:细胞状态,LSTM 的关键。细胞状态有点像传送带。它贯穿整个链条,只有一些次要的线性交互作用。信息很容易以不变的方式流过。
    • 紫色:隐层状态,受门控制而选择向细胞状态添加或移除信息。

6. LSTM-门结构

  1. 遗忘门

    遗忘门

    \(\theta\)(Sigmoid函数)的输出在0和1之间,其输出与\(C_{t-1}\)对位相乘。因此,当某一位信息为0时,\(C_{t-1}\)对应那一位的信息就消失;而值在0到1之间,对应位的信息保留一部分;值为1的时候,对应的信息完整的保留。

    • 计算公式:\(f_t=\theta(W_f*[h_{t-1},x_t]+b_f)\)\([h_{t-1},x_t]\)表示两个矩阵进行拼接。
  2. 更新门

    更新门

    左半部分和遗忘门完全相同。右半部分的激活函数是\(tanh\)函数,该函数的输出在[-1,1]之间,可以看作是新的输入带来哪些信息。左右两部分首先对位相乘,表示对新的信息有选择的保留。随后将新信息加入原本的\(C_{t-1}\),完成了对信息的更新。

    • 计算公式:\(i_t=\theta(W_i*[h_{t-1},x_t]+b_i), \widetilde C_t=\tanh(W_C*[h_{t-1},x_t]+b_C)\)
  3. 输出门

    输出门

    首先经过\(\theta\),表示输出哪些内容,其结果与经过tanh的\(C_t\)对位相乘,作为隐藏层本次的输出。

    • 计算公式:\(o_t=\theta(W_o*[h_{t-1},x_t]+b_o), h_t=\tanh(C_t)*o_t\)

posted @ 2023-03-07 21:51  无机呱子  阅读(19)  评论(0编辑  收藏  举报