能有人告诉我为什么LSTM被称为长短两种类型的记忆吗?我知道在LSTM中,它们存储了之前状态的一些数据。但是,如果这些数据是短时间存储的,那么为什么它被称为长时记忆?如果是长时间存储的数据,那么为什么又被称为短时记忆?这很 confusing!
回答:
长短期记忆意味着在长时间内存储短期数据。
例如,想象一段文字。“Barnie是一只大红狗,有小耳朵和一条长长的黑色尾巴。他12岁了”。如果你的任务是找出第二句话中的“他”指的是谁,你会将这些数据输入到LSTM网络中,它会逐个分析每个单词。单个单词的计算就是短期记忆。然而,正如你所说,每个单词的计算(隐藏状态)会在分析下一个单词时被传递和包含。LSTM网络通过能够在多个状态中存储这些数据,从而在长时间内存储短期数据(单个单词的计算),这比标准RNN有改进。
可能一个普通的RNN可以处理上述例子,但如果你输入的是100个单词的文本,普通的RNN将无法存储所有数据,导致梯度消失或爆炸。因此,RNN能够存储短期数据,就像LSTM一样,只是LSTM能够在更长的时间内(通常是时间)做到这一点。