ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LSTM学习笔记

2021-10-31 17:31:58  阅读:225  来源: 互联网

标签:输出 RNN 笔记 学习 神经网络 细胞 哔哩 LSTM


LSTM是RNN(循环神经网络)的变体,所以我们可以基于RNN来了解长短期记忆(Long Short-Term Memory, 简称 LSTM).

1.基础认知

什么是RNN:什么是循环神经网络 RNN (深度学习)?_哔哩哔哩_bilibili

什么是循环神经网络 RNN (深度学习)?_哔哩哔哩_bilibili

什么是长短时记忆网络LSTM?【知多少】_哔哩哔哩_bilibili

2.LSTM结构

理解LSTM网络:理解 LSTM 网络 - 简书

https://colah.github.io/posts/2015-08-Understanding-LSTMs/

自己的理解:

对于传统的神经网络而言,之前的训练结果对后期的训练并没有什么帮助,但是在经验主义的我们看来,过去的知识对于现在的问题的解决一定是有帮助的。那么,循环神经网络就是借助于先前理论来解决现在问题的一种思想,是不是很符合人类的思维。下图是循环神经网络的结构图。

RNN就可以看作同一神经网络的多次复制,每个神经网络模块把消息传给下一代。展开如下图。

 但是对于短期记忆而言,RNN是有效的,但是长期记忆就没有那么有效。因此,引出了长短期神经网络LSTM,将长期记忆当作是默认行为,LSTM区别于RNN不同的是在于重复模块的结构。如下图所示。

 接下来看LSTM的核心思想。(这里原文讲的话弄清楚)

门:让信息选择通过。LSTM 有通过精心设计的称作为“门”的结构来去除或者增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。他们包含一个 sigmoid 神经网络层和一个按位的乘法操作。Sigmoid 层输出 0 到 1之间的数值,描述每个部分有多少量可以通过。0代表“不许任何量通过”,1就指“允许任意量通过”!

 LSTM 拥有三个门,来保护和控制细胞状态。

逐步理解LSTM。

1.忘记门层:决定我们从细胞中丢弃什么信息。该门会读取h(t-1) 和 ,输出一个在 到 1 之间的数值给每个在细胞状态 C_{t-1} 中的数字。

 

2.下一步是确定什么样的新信息被存放在细胞状态中。第一,sigmoid 层称 “输入门层” 决定什么值我们将要更新。然后,一个 tanh 层创建一个新的候选值向量,,会被加入到状态中。

 

 3.更新旧信息。

 

 4.决定输出什么值。

首先,我们运行一个 sigmoid 层来确定细胞状态的哪个部分将输出出去。接着,我们把细胞状态通过 tanh 进行处理(得到一个在 -1 到 之间的值)并将它和 sigmoid 门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。


这就是整个过程。总结一下就是,第一个门决定我们要忘记什么信息;第二个门决定什么样的信息新信息会被放入细胞中。然后进行替换。最后一个门决定输出。

具体的实现代码:TensorFlow中简单的LSTM代码实现_小码仔-CSDN博客_lstm代码实现

接下来我们来看看LSTM有什么延申之处。改动较大的变体是 Gated Recurrent Unit (GRU),这是由 Cho, et al. (2014) 提出。它将忘记门和输入门合成了一个单一的 更新门。同样还混合了细胞状态和隐藏状态,和其他一些改动。最终的模型比标准的 LSTM 模型要简单,也是非常流行的变体。

 

 

 

 

 

 

 

标签:输出,RNN,笔记,学习,神经网络,细胞,哔哩,LSTM
来源: https://blog.csdn.net/moshenglcm/article/details/121061277

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有