1. 序言

  • 临渊羡鱼不如归而结网

  • 学习的目的是为了应用

2. RNN的基本概念与网络结构

LSTM是在RNN的基础上演进而来的,因此有必要简单了解RNN

2.1 概念

RNN = Recurrent Neural Network,循环神经网络

RNN是专门处理序列数据的网络,是对序列数据最自然的神经网络架构,在语音识别、语言翻译和图片描述等方面获得应用。

2.2 结构
  • 链式结构 + 重复单元

在这里插入图片描述
神经网络A处理输入x_t,输出h_t

在这里插入图片描述
左侧是折叠,右侧是展开

2.3 要素
xt -> t时刻输入层的值,一个向量或矩阵
st -> 表示隐藏层的值,一个向量或矩阵
ot -> 表示输出层的值
U -> 输入层到隐藏层的权重矩阵
V -> 隐藏层到输出层的权重矩阵
W -> 参数权重矩阵

t时刻的隐藏层st不仅取决于当前时刻的输入xt,还取决于上一时刻隐藏层的值st-1

标准RNN的特点
(1) 权值共享。W是相同的,U和V也一样
(2) 每一个输入只会和它本身的那条路线建立权连接,不会和别的神经元连接

RNN的训练方法:BPTT(Back Propagation Through Time),BPTT的本质是BP算法,BP算法的本质是梯度下降法,而算法的核心是求各个参数的梯度

RNN存在的问题:梯度消失和梯度爆炸。由于梯度消失只有短时记忆,无法解决长期依赖问题。可以通过选取更好的激活函数或改变网络结构(比如LSTM)来改善梯度消失的问题。

LSTM通过精妙的门控制将加法运算带入网络中,一定程度上解决了梯度消失的问题。

3. LSTM的基本概念与网络结构

3.1 概念

LSTM = Long Short Term Memory network,长短期记忆神经网络

记住长期信息是LSTM的默认行为,很好解决了长期依赖问题

3.2 结构
  • RNN的网络结构:重复单元只有一个简单的tanh层(双曲正切)
    在这里插入图片描述
  • LSTM的网络结构:重复单元包含了4个交互的层
    在这里插入图片描述
3.3 要素

(1)细胞状态:重复单元顶端传送的向量。细胞状态只需要进行一些初级的线性变换,因此保持不变很容易。

(2)门:门是一个可以让信息选择性通过的结构,LSTM通过精心设计的各种门来去除或新增信息到细胞状态。

LSTM有三个门来保护和控制细胞状态:遗忘门 + 输入门 + 输出门

  • 遗忘门
    在这里插入图片描述

确定从细胞状态中丢弃什么信息。

由sigmoid函数组成的层来完成,sigmoid函数描述每个部分有多少量可以通过。

  • 输入门
    在这里插入图片描述

确定什么样的新信息要输入细胞状态中。

第一部分是sigmoid层,确定要更新哪个值;

第二部分是tanh层,产生新的待用值。

在这里插入图片描述
旧细胞状态通过遗忘门,待用值通过输入门,两者结合的结果更新细胞状态。

  • 输出门
    在这里插入图片描述

确定输出什么值。

sigmoid函数决定要输出的部分,与tanh将细胞状态变换后相乘,输出需要的信息

这三个门都使用sigmoid函数作为选择工具tanh函数作为变换工具,这两个函数结合起来实现三个门的功能。

一开始的LSTM只有输入和输出门,现在LSTM增加了遗忘门。

4. LSTM网络结构的说明

  • LSTM为什么能保留历史信息

    历史和当前状态简单相加,自然保留。
    
  • 为什么h_t输出两次

    LSTM不仅有横向链接,还有纵向链接。
    
    纵向预测:根据变量历史预测变量。
    横向链接:根据一些变量特征预测变量。
    
  • 为什么采用sigmoid函数和tanh函数作为激活函数

    两个激活函数都是饱和的,饱和的意思就是输入达到一定值后输出就不会发生明显变化;
    
    sigmoid输出0~1,符合门控的物理定义。在输入较大或较小时,输出接近01,从而保证门开或关。
    
    tanh函数双曲正切函数,输出在-1~1之间,这与大多数场景下特征分布是0中心吻合。
    
    tanh函数在输入为0附近相比sigmoid有更大的梯度,通常使模型收敛更快。
    

    sigmoid/tanh/relu函数图像

  • LSTM是通过数据去学习内在规律,如果有用信息不蕴含在数据中,LSTM无论如何都是学不到的。

5. 补充

  • LSTM的变体

    peephole connection/coupled忘记和输入门/GRU = gated recurrent unit

    其中GRU可能是最成功的一种,正在变得越来越流行

  • LSTM的应用

    自动图片标题生成
    文本自动翻译
    自动手写体生成
    音乐的生成
    字母的生成
    天气/股票/趋势预测

接下来通过具体实例熟悉LSTM的应用,请移步到:To Do


参考文章:
RNN和LSTM原理
LSTM入门
LSTM网络结构
LSTM总结

created by shuaixio, 2021.12.06

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐