深度学习5 RNN与LSTM

Posted 狂奔的CD

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习5 RNN与LSTM相关的知识,希望对你有一定的参考价值。

文章目录

前言

正文

参考:https://blog.csdn.net/shakehands2012/article/details/109241628

RNN 循环神经网络

模型结构

全称: Recurrent Neural Networks
是一种特殊的神经网路结构,其本身是包含循环的网络,允许信息在神经元之间传递,如下图所示:


Xt 作为输入层,经过A神经网络层,输出ht, 同时将信号传给下一层的自己,换种表达方式

相当于RNN在时间序列上把自己复制了很多遍,每个模型都对应一个时刻的输入,并且当前时刻的输出还作为下一时刻的模型的输入信号。

细化结构如下:

RNN的局限性

RNN利用了神经网络的“内部循环”来保留时间序列的上下文信息,可以使用过去的信号数据来推测对当前信号的理解,这是非常重要的进步,并且理论上RNN可以保留过去任意时刻的信息。

但在实际使用时,信息的传递往往会因为时间间隔太长而逐渐衰减,传递一段时刻以后其信息的作用效果就大大降低了。因此,普通RNN对于信息的长期依赖问题没有很好的处理办法。

为了克服这个问题,Hochreiter等人在1997年改进了RNN,提出了一种特殊的RNN模型——LSTM网络,可以学习长期依赖信息,在后面的20多年被改良和得到了广泛的应用,并且取得了极大的成功。

LSTM 长短期记忆网络

全称:Long Short Term Memory

模型结构

为了优化RNN的问题,将原来的一个神经网络层,优化为4个

黄色方块:表示一个神经网络层(Neural Network Layer);
粉色圆圈:表示按位操作或逐点操作(pointwise operation),例如向量加和、向量乘积等;
单箭头:表示信号传递(向量传递);
合流箭头:表示两个信号的连接(向量拼接);
分流箭头:表示信号被复制后传递到2个不同的地方。

LSTM的思想

LSTM的关键是细胞状态(直译:cell state),表示为 Ct ,用来保存当前LSTM的状态信息并传递到下一时刻的LSTM中,也就是RNN中那根“自循环”的箭头。当前的LSTM接收来自上一个时刻的细胞状态 Ct-1 ,并与当前LSTM接收的信号输入 xt 共同作用产生当前LSTM的细胞状态 Ct


其中
代表sigmoid神经网络层,其函数曲线如下

神经网络层可以将输入信号转换为 0 到 1 之间的数值,用来描述有多少量的输入信号可以通过。 0 表示“不允许任何量通过”, 1表示“允许所有量通过”。

遗忘门、记忆门和输出门

LSTM主要包括三个不同的门结构:遗忘门、记忆门和输出门。这三个门用来控制LSTM的信息保留和传递,最终反映到细胞状态 和输出信号。

1) 遗忘门 forget gate

遗忘门的作用就是用来“忘记”信息的。在LSTM的使用过程中,有一些信息不是必要的,因此遗忘门的作用就是用来选择这些信息并“忘记”它们。遗忘门决定了细胞状态 Ct-1中的哪些信息将被遗忘

  1. 记忆门

    记忆门中有两个神经网络层。

其中,Sigmoid神经网络层的作用很明显,跟遗忘门一样,它接收 ht-1 和 xt 作为输入,然后输出一个 0 到 1 之间的数值 it 来决定哪些信息需要被更新;

Tanh神经网络层的作用是将输入的 ht-1 和 xt 整合,然后通过一个tanh神经网络层来创建一个新的状态候选向量 Ct~ , Ct~ 的值范围在 -1 到 1之间

  1. 更新细胞状态

    4)输出门

    文中还提到其他变体,这里先不研究
开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于深度学习5 RNN与LSTM的主要内容,如果未能解决你的问题,请参考以下文章

深度学习5 RNN与LSTM

2021-07-27 深度学习基础与实践

长短期记忆网络 LSTM 深层循环神经网络 Deep RNN 双向循环神经网络 Bidirectional RNN 动手学深度学习v2

长短期记忆网络 LSTM 深层循环神经网络 Deep RNN 双向循环神经网络 Bidirectional RNN 动手学深度学习v2

深度学习与图神经网络核心技术实践应用高级研修班-Day2循环神经网络(RNN)

深度学习原理与框架-递归神经网络-RNN网络基本框架(代码?) 1.rnn.LSTMCell(生成单层LSTM) 2.rnn.DropoutWrapper(对rnn进行dropout操作) 3.tf.