长短期记忆网络(LSTM)是一种解决隐变量模型长期信息保存和短期输入缺失问题的方法,有趣的是,长短期记忆网络的设计比门控循环单元稍微复杂一些, 却比门控循环单元早诞生了近20年。
一、什么是LSTM?
LSMT全称为长短期记忆网络(Long Short-Term Memory)是一种特殊的循环神经网络(RNN),专门设计用于解决长期依赖的问题,即在处理序列数据时能够记住较长时间间隔的信息。RNNs通过在序列中每个时间步传递隐藏状态来保留过去信息,但它在处理长序列时往往会遇到梯度消失或梯度爆炸的问题,这限制了它记忆远距离信息的能力
位于序列后端的was和were的选择取决于前面的名词是单数还是复数,图中的序列还比较短,但若是对长序列而言,记忆cat的单复数就显得非常关键。
二、LSTM的基本结构
LSTM的基本结构由四个主要组件构成:输入门、遗忘门、输出门以及记忆细胞(也称为细胞状态)。还有一个额外的概念是候选记忆状态,它是新信息被考虑加入到细胞状态之前的形式。下面先把LSTM的网络模型图放出来,有助于理解这四个组件。
为了更加直观的展示LSTM的结构,我把B站UP主梗直哥丶的视频截取出来给大家看,强烈推荐大家去看他的视频,讲的非常好。
(1)输入门
输入门(Input Gate)记为 ,是决定当前输入中哪些部分应当被更新到细胞状态。它使用一个sigmoid函数来产生一个0到1之间的值,表示新信息的多少应该被“记忆”。 数学表达式为:
其中 和 分别是输入门和候选细胞状态的权重矩阵,和 是对应的偏置项。是当前时间步的输入。是候选细胞状态。
(2)遗忘门
遗忘门(Forget Gate)记为 ,是确定细胞状态中哪些信息应当被遗忘。同样使用sigmoid函数,决定过往记忆的重要性,值接近1表示大部分保留,接近0表示大部分遗忘。 数学表达式为:
其中 是sigmoid激活函数,是遗忘门的权重矩阵,是遗忘门的偏置项,是上一个时间步的隐藏状态,是当前时间步的输入。
(3)细胞状态
细胞状态(Cell State)记为 , 是LSTM的核心,一个能够存储长期信息的向量。它通过点积运算结合遗忘门和前一时间步的细胞状态,以及输入门和一个新的候选记忆状态来更新。候选记忆状态是由当前输入和一个输入的权重矩阵通过tanh激活函数得到的。 数学表达式为:
候选细胞状态,记为 ,是在每个时间步中,当前输入和前一隐藏状态的信息经过处理生成了一个候选细胞状态,该候选细胞状态包含可能加入长期状态的信息。
隐藏状态,记为 ,包含了当前时间步的输出信息,它是基于细胞状态的过滤输出,输出门控制着细胞状态中的哪些信息会传输到隐藏状态,然后用于输出或传递到下一个时间步。
(4)输出门
输出门(Output Gate)记为 ,是控制细胞状态中哪些信息应当被用于生成当前时间步的输出。它结合了sigmoid函数(决定哪些细胞状态的内容应该输出)和tanh函数(对选定的记忆进行缩放,确保输出在-1到1之间)。 数学表达式为:
其中是输出门的权重矩阵, 是输出门的偏置项。是上一个时间步的隐藏状态,是当前时间步的输入。
三、LSTM和GRU的区别与联系
LSTM(长短期记忆网络)和GRU(门控循环单元)都是循环神经网络(RNN)的变种,目的是解决标准RNN中的梯度消失问题,并更好地捕捉长期依赖关系。下面是它们之间的一些关键区别与联系
(1)联系
- 共同目标:LSTM和GRU都被设计来改善标准RNN在处理长期依赖问题上的能力,通过引入门控机制来控制信息的遗忘和更新。
- 门控机制:两者都使用门(gate)来调节信息流,允许网络选择性地忘记旧信息或记住新信息。
- 解决梯度消失:它们都能有效缓解梯度消失问题,从而在序列数据建模中表现得更为稳定和强大。
(2)区别
① 门的数量和结构
- LSTM拥有三个门:遗忘门(forget gate)、输入门(input gate)和输出门(output gate),以及一个细胞状态(cell state)和隐藏状态(hidden state)。遗忘门决定哪些旧信息被遗忘,输入门控制新信息的接纳程度,输出门则决定细胞状态中多少信息将被用于生成隐藏状态。
- GRU简化了结构只有两个门:重置门(reset gate)和更新门(update gate)。重置门决定在处理新输入时,多少以前的信息应该被“重置”或遗忘;更新门则同时控制着旧信息的保留和新信息的加入。
② 记忆单元
- LSTM拥有独立的细胞状态,这个细胞状态可以长期存储信息,而隐藏状态则基于此细胞状态计算得出,这为信息的长期保留提供了专门的机制。
- GRU没有明确区分细胞状态和隐藏状态,而是直接在一个状态中通过门控机制控制信息的更新,使得模型结构更为简洁。
③ 计算复杂性和参数量
- LSTM结构更复杂,拥有更多的门和独立的细胞状态,因此在计算上通常比GRU更耗时且需要更多的参数。
- GRU结构简化,计算效率较高,所需参数较少,这在资源有限或数据量较小的场景下可能更有优势。
④ 性能
- 在多数任务上,LSTM和GRU的表现相近,但在某些特定任务或大规模数据集上,LSTM由于其更强的表达能力和参数量,可能会取得更好的性能。
- GRU以其较少的参数量和较简单的结构,在训练速度和资源消耗上占有优势,尤其是在处理较短序列或资源受限环境时。