Long-Short Term Memory(长短时记忆模型)
来源:互联网 发布:淘宝短链 编辑:程序博客网 时间:2024/05/01 09:41
长短期记忆(Long-Short Term Memory, LSTM)是一种时间递归神经网络(RNN),论文首次发表于1997年。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。
LSTM的表现通常比时间递归神经网络及隐马尔科夫模型(HMM)更好,比如用在不分段连续手写识别上。2009年,用LSTM构建的人工神经网络模型赢得过ICDAR手写识别比赛冠军。LSTM还普遍用于自主语音识别,2013年运用TIMI自然演讲数据库达成17.7%错误率的纪录。作为非线性模型,LSTM可作为复杂的非线性单元用于构造更大型深度神经网络。(wikipedia)
LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为它可以记忆不定时间长度的数值,区块中有一个gate能够决定input是否重要到能被记住及能不能被输出output。每一个激活函数都可以看层一个gate,经典的,LSTM有三种gate 。根据谷歌的测试表明,LSTM中最重要的是Forget gate,其次是Input gate,最次是Output gate。
关于LSTM详细的介绍请看LSTM
循环神经网络展开成一个全神经网络:
下面是其中一个隐藏层的分析:
黄色矩形表示有学习能力的神经网络层
粉色圆圈表示运算符号,”x” 表示乘号(例如向量乘法),“+”表示加号
黑色箭头表示 向量传递
两条线融合表示进行运算
线分叉表示内容被复制成两个,不同方向传递
forget gate layer:
数据信息由上一层hidden state信息与现在的输入数据信息的加权之和,
而激活函数sigmoid,决定什么信息是需要从cell state中丢弃的,forget gate layer 输出是[0,1]之间的数,1表示完全变成保留信息,0表示完全丢弃。
input gate layer:
同样有一个激活函数sigmoid,意义解释为决定哪些值需要更新,其实和forget gate layer的意思类似,
但作用不同。
A tanh layer :
a tanh layer creates a vector of new candidate values:
tanh layer是创建现隐藏层cell state的候选值,之前说候选值,只因为它只是一个中间值。
Final memory cell:
这里是获取现隐藏层cell state,它是基于上一个隐藏层cell state(称为old cell state)与现隐藏层的候选值。这两个值通过与forget gate 、input gate相乘,决定我们从之前的cell state忘记多少信息和更新多少信息。
Output gate :
这里也有一个激活函数sigmoid,习惯把它叫Output gate。
它决定我们应该输出哪一部分的cell state。Final hidden state:
计算现隐藏层Final state的时候,先要让现隐藏层cell state经过一个激活函数tanh,让它的值控制在[-1,1]之内,这样做可能是防止梯度爆炸(exploding gradient )。然后再与Output gate相乘决定输出那部分信息。
- Long-Short Term Memory(长短时记忆模型)
- tree-structured Long Short-Term Memory networks
- Long short-term memory 论文小记
- LSTM(Long Short Term Memory) 核心入门
- 论文笔记:Long Short-Term Memory
- 论文笔记:Grid Long Short-Term Memory
- Long Short-Term Memory(LSTM)
- 理解长短期记忆(Long Short Term Memory, LSTM)模型(colah 原文翻译)
- 时间递归神经网络LSTM(Long-Short Term Memory)
- 【Deep Learning】LSTM(Long Short-Term Memory)及变体
- Introducing deep learning and long-short term memory networks
- LSTM (Short-Term Memory)
- 『RNN 监督序列标注』笔记-第四章 LSTM(Long Short-Term Memory)
- 有哪些LSTM(Long Short Term Memory)和RNN(Recurrent)网络的教程?
- 阅读"voice conversion using deep bidirectional long short-term memory based recurrent neural networks"
- Python写出LSTM-RNN(Long-Short Term Memory Recurrent Neural Networks )的代码
- Time Series Forecasting with the Long Short-Term Memory Network in Python
- 【论文阅读】 输入法相关论文二 LONG SHORT TERM MEMORY NEURAL NETWORK
- 什么是硬分叉,什么是软分叉,什么是共识?
- Qt-俄罗斯方块
- cocoapods创建共有库过程中遇到的坑以及版本删除
- Nginx之代理配置以及负载均衡
- UIbutton设置圆角边框(Xcode8.3.3+swift3)
- Long-Short Term Memory(长短时记忆模型)
- 剑指offer 数值的整数次方
- ue4 c++ 接口写法
- 机器学习笔记之线性回归的正则化
- Java集合---Stack的源码分析
- lua获取get请求中的参数
- RadioGroup初识
- SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation
- 欢迎使用CSDN-markdown编辑器