当前位置:   article > 正文

LSTM神经网络介绍

lstm神经网络

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


引言

传统的神经网络在处理与事件发生的时间轴有关系的问题时,如果需要联系并考虑上下文的时候就无能为力了,比如语音识别,机器翻译,时间序列等,因为他们的输出只是由当前的输入决定。所以就提出了RNN,了解RNN基本原理之后,也就为研究LSTM网络(long short-term memory,长短时记忆网络)做了铺垫。

一、介绍

1.1什么是LSTM?

LSTM主要通过引入门控机制来控制信息的累积速度,包括有选择地加入新的信息,并有选择地遗忘之前累积的信息,由此改善循环神经网络(RNN)的长程依赖问题以及缓解长序列训练过程中的梯度消失问题。

1.2基础知识

1.2.1门控机制

在数字电路中,门(gate)为一个二值变量(0,1),0代表关闭状态、不许任何信息通过;1代表开放状态,允许所有信息通过。
gate 在LSTM网络中实际上就是一层全连接层,输入是一个向量,输出是一个 0到1 之间的实数向量。表示以一定的比例允许信息通过。

1.2.2 相关激活函数

sigmoid函数:Sigmoid函数的输出映射在(0,1)之间,单调连续,输出范围有限。
tanh函数:tanh函数的输出映射在(-1,1)之间,在一定范围的内,比Sigmoid函数收敛速度更快。

1.2.3网络参数介绍

二、LSTM网络架构

2.1架构图

前向传播共六个公式如图所示。
LSTM三个门的作用
(1)遗忘门f:决定上一个时刻的记忆单元状态需要遗忘多少信息,保留多少信息到当前记忆单元状态。
(2)输入门i:控制当前时刻输入信息候选状态有多少信息需要保存到当前记忆单元状态。
(3)输出门o:控制当前时刻的记忆单元状态有多少信息需要输出给外部状态。

三、LSTM的门

3.1遗忘门

LSTM第一步是用来决定放弃或者保留什么信息。这个决定由“forget gate”门通过sigmoid进行选择性忘记,越接近0表示越应该忘记,越接近1表示越应该保留。


请注意这里参数应为向量输入来代表具体信息,我就先用1或0表示所有信息方便直观理解。

实例:设这一层所有权重 W f W_f Wf=100;偏置 b f b_f bf=1, h t − 1 h_{t-1} ht1=0(前一时刻没有任何隐藏信息), C t − 1 C_{t-1} Ct1=1(前一时刻记忆单元保留的张三信息), x t x_t xt=1(输入李四的信息),则由公式计算得 f t f_t ft≈1,表示需要保留信息(即当前时刻遗忘门决定保留之前的张三信息),由此我们实现了继续保留历史信息传递给当前记忆单元状态 C t C_t Ct。反之 f t f_t ft≈0,表示需要忘记之前的信息。

3.2输入门

第二步是产生我们需要更新的新信息。这一步包含两部分,“input gate”通过sigmoid来决定哪些值用来更新,tanh用来生成新的候选值。然后将sigmoid的输出值乘以tanh输出的候选信息,也即sigmoid的输出值决定tanh输出值中的内容哪些是重要的需要留下来的信息。
在这里插入图片描述

实例:设这一层权重 W i W_i Wi=100; W c W_c Wc=100偏置 b i b_i bi=1, b c b_c bc=1, h t − 1 h_{t-1} ht1=0(前一时刻没有任何隐藏信息), x t x_t xt=1(输入李四信息,同上所述),则由公式计算得 i t i_t it≈1(决定需要添加新信息), C t ~ \tilde{C_t} Ct~≈1(新的候选信息,李四的信息),即 i t i_t it* C t ~ \tilde{C_t}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/355715
推荐阅读
相关标签
  

闽ICP备14008679号