- 发现 / 发明时间
- 1995 年
- 发现者 / 提出者
- 赛普·霍克赖特、于尔根·施密德胡伯
- 学科
- 计算机科学
- 上级概念
- 循环神经网络
相关科学家
百科正文
LSTM的表现通常比时间循环神经网络及隐马尔科夫模型(HMM)更好,比如用在不分段连续手写识别上。2009年,用LSTM构建的人工神经网络模型赢得过ICDAR手写识别比赛冠军。LSTM还普遍用于自主语音识别,2013年运用TIMIT自然演讲数据库达成17.7%错误率的纪录。作为非线性模型,LSTM可作为复杂的非线性单元用于构造更大型深度神经网络。
通常情况,一个LSTM单元由细胞单元(cell)、输入门(input gate)、输出门(output gate)、遗忘门(forget gate)组成。
历史
1997年,赛普·霍克赖特和于尔根·施密德胡伯提出LSTM。版本包含了cells, input以及output gates。
2014年,Kyunghyun Cho et al.发明了门控循环单元(GRU)。
2016年,谷歌用LSTM进行谷歌翻译。 苹果公司、微软和亚马逊公司也用LSTM生产产品,例如:iPhone、Amazon Alexa等。中国公司也正在用LSTM。
结构
LSTM是一种含有LSTM区块(blocks)或其他的一种人工神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为它可以记忆不定时间长度的数值,区块中有一个gate能够决定input是否重要到能被记住及能不能被输出output。
右图底下是四个S函数单元,最左边函数依情况可能成为区块的input,右边三个会经过gate决定input是否能传入区块,左边第二个为input gate,如果这里产出近似于零,将把这里的值挡住,不会进到下一层。左边第三个是forget gate,当这产生值近似于零,将把区块里记住的值忘掉。第四个也就是最右边的input为output gate,他可以决定在区块记忆中的input是否能输出。
LSTM有很多个版本,其中一个重要的版本是GRU(Gated Recurrent Unit),根据谷歌的测试表明,LSTM中最重要的是Forget gate,其次是Input gate,最次是Output gate。
方程: (公式略)
变量: xₜ∈ R ^(d): LSTM的input(输入) fₜ∈ R ^(h): forget gate(遗忘阀) iₜ∈ R ^(h): input gate(输入阀) oₜ∈ R ^(h): output gate(输出阀) hₜ∈ R ^(h): hidden state(隐藏状态) cₜ∈ R ^(h): cell state(单元状态) W∈ R ^(h× d)、 U∈ R ^(h× h)、 b∈ R ^(h): 训练中的矩阵,网络学习计算元值
训练方法
为了最小化训练误差,梯度下降法(Gradient descent)如:应用时序性倒传递算法,可用来依据错误修改每次的权重。梯度下降法在循环神经网络(RNN)中主要的问题初次在1991年发现,就是误差梯度随着事件间的时间长度成指数般的消失。当设置了LSTM 区块时,误差也随着倒回计算,从output影响回input阶段的每一个gate,直到这个数值被过滤掉。因此正常的倒循环人工神经是一个有效训练LSTM区块记住长时间数值的方法。
Backpropagation through time、BPTT
应用
- 机器控制
- 时间序列
- 语音识别
- 音乐
- 自然语言处理
- 手写识别
- 生物
- 飞机处理
- 自动驾驶汽车
- 自平衡滑行车
- 电脑游戏
- 动画
- 即时天气预报(ConvLSTM)
以上内容摘自维基百科「長短期記憶」,按 CC BY-SA 4.0 使用,去掉了参考文献、外部链接等尾部小节,公式改写成了纯文本。全文、配图和出处见原文。