发现与发明 › 20 世纪

长短期记忆神经网络1995

long short-term memory

artificial recurrent neural network architecture used in deep learning

长短期记忆 是一种时间循环神经网络(RNN),论文首次发表于1997年。由于独特的设计结构,LSTM适合于处理和预测时间序列中间隔和延迟非常长的重要事件。

摘自维基百科「長短期記憶」,CC BY-SA 4.0

发现 / 发明时间
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 使用,去掉了参考文献、外部链接等尾部小节,公式改写成了纯文本。全文、配图和出处见原文。

同一位科学家的其他条目

同一学科、时间相近的发现与发明