《深度学习》LSTM 长短期记忆网络 结构及原理解析

目录

一、关于LSTM网络

1、什么是LSTM网络

        举例:

2、RNN网络的结构

3、Tanh双曲正切函数

二、LSTM网络结构

1、遗忘门

        1)功能

        2)步骤

2、输入门

        1)功能

        2)步骤

3、输出门

        1)功能

        2)步骤


一、关于LSTM网络

1、什么是LSTM网络

        LSTM网络,全称长短期记忆网络(Long Short-Term Memory network),是一种特殊的循环神经网络(RNN)架构,大部分与RNN模型相同,但它们用了不同的函数来计算隐状态h,旨在解决传统RNN在处理长序列数据时遇到的梯度消失梯度爆炸问题。LSTM网络通过引入自循环的巧妙设计,使得信息能够在网络中长期保留或遗忘,从而能够捕获长距离的时间依赖关系。

        举例:

                当你想在网上购买生活用品时,一般都会查看一下其他已购买的用户评价。当你浏览评论时,大脑下意识记住重要的关键词,比如“好看”和“真酷”这样的词汇,而不太会关心“我”、“也”、“是”等字样。如果朋友第二天问你用户评价都说了什么,你不可能会全部记住它,而是说出大脑里记得的主要观点,比如“下次肯定还会来买”,无关紧要的内容自然会从记忆中逐渐消失。

2、RNN网络的结构

        如下图所示,首先第一个单词的词向量进入隐含层与偏置项进行处理后进入tanh激活函数然后得到的结果进入下一个隐含层与第二个单词的词向量结合再传入激活函数,以此类推,将所有单词都传入隐含层处理,得到最终结果。

        上述的隐状态单独拿出来一个,得到下列状态

3、Tanh双曲正切函数

                保证值在-1~1之间

4、sigmoid函数

二、LSTM网络结构

        X表示做内积+表示数值相加

        LSTM网络的核心在于其内部的“记忆单元”(Memory Cell),这个单元由三个“门”结构(遗忘门、输入门和输出门)来控制信息的流动。

1、遗忘门

        上述第一幅图的左下角,x和h经过乘以矩阵U和W再加上偏置项后传入sigmoid激活函数,得到0-1之间的结果,然后左上角传来一个c细胞或叫c仓库,其中存储当前的关键信息(关键词信息),h存储句子的特征信息,将上述结果与c做内积,如下图所示,最终得到的结果一部分很接近0,一部分很接近1,遗忘接近0的数据,保留接近1的信息。

        c仓库的数据最初为空,之后来自于上一层的隐藏层的输出的处理完的关键词信息,每输入一个词,经过sigmoid激活函数处理后与c仓库的数据内积,即可除去当前隐藏层处理的不需要的词,然后剩下的即为需要的关键词,将关键词加入c仓库,经过不断剔除,最终得到完整的所有关键词。

        1)功能

                决定从上一个时间步长的记忆单元状态中丢弃哪些信息。

        2)步骤

                来自前一个隐藏状态的信息和当前输入的信息同时传递到 sigmoid 函数中去,输出值介于 0 和 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。

2、输入门

        1)功能

                决定当前时间步长的输入信息中有哪些部分应该被加入到记忆单元c中,以此来更新细胞状态

        2)步骤

                1、首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。

                2、将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的,然后将重要的信息增加到仓库c中去。

3、输出门

        1)功能

                用来确定下一个隐藏状态的值。

        2)步骤

                1、将前一个隐藏状态和当前输入传递到 sigmoid 函数中,然后将新得到的细胞状态传递给 tanh 函数。

                2、将 tanh 的输出与 sigmoid 的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前细胞的输出,把新的细胞状态和新的隐藏状态传递到下一个时间步长中去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜就多练_0828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值