- 长短期记忆网络 LSTM(输入门、遗忘门、输出门)
-
输入门(Input Gate):负责控制当前时刻是否有新的信息需要存储到细胞状态(Cell State)中。它根据当前输入和上个时刻的隐藏状态进行决策,使用了一个Sigmoid激活函数来输出0-1之间的值。
-
遗忘门(Forget Gate):负责控制前一个时刻的细胞状态的保留程度。它根据当前输入和上个时刻的隐藏状态来决定忘记多少旧的信息,同样使用Sigmoid激活函数来输出0-1之间的值。
-
输出门(Output Gate):负责决定当前时刻的隐藏状态。它根据当前输入和上个时刻的隐藏状态以及当前细胞状态来决定输出多少信息。
LSTM是一种循环神经网络变体,通过输入门、遗忘门和输出门等机制有效地解决了梯度消失和信息丢失的问题,使其适用于处理序列数据,并在各种自然语言处理、语音识别和时间序列预测等任务中得到广泛应用。
- LSTM如何克服梯度消失
LSTM(长短期记忆网络)通过引入输入门、遗忘门和输出门等机制,有效地克服了传统循环神经网络(RNN)中的梯度消失问题。
在标准的RNN中,梯度消失问题由于反向传播时涉及到多个时间步骤的乘法运算,导致梯度逐渐衰减或爆炸。这种现象使得网络难以学习和捕捉长期依赖关系。
LSTM通过以下几个关键部分来解决梯度消失问题:
细胞状态(Cell State):LSTM引入了一个细胞状态,它可以在整个时间序列中保留信息。细胞状态在每个时间步骤上都有一个线性传递路径,这有助于信息的长期传播和保持。
遗忘门(Forget Gate):遗忘门负责控制前一时刻细胞状态的保留程度。它通过使用Sigmoid激活函数来决定将哪些信息从细胞状态中丢弃。
输入门(Input Gate):输入门决定在当前时刻是否要更新细胞状态,并且选择性地更新哪些信息。它通过使用Sigmoid激活函数获取一个0-1之间的值,来控制新的信息的输入。
输出门(Output Gate):输出门根据当前时刻的输入和细胞状态,决定在隐藏状态中传递多少信息。它通过使用Sigmoid激活函数过滤细胞状态的部分信息,然后使用tanh激活函数产生最终的隐藏状态。
通过输入门、遗忘门和输出门等机制,LSTM可以有选择性地更新和传递信息,同时有效地控制梯度的传播。这样就避免了梯度消失问题,并且使网络能够更好地捕获长期依赖关系。
- 门控循环单元神经网络 GRU(更新门、重置门)
门控循环单元GRU,是LSTM的改进,它将忘记和输入门组合成一个单一的“更新门”。它还将单元格状态和隐藏状态合并,并进行了一些其他更改。 所得到的模型比标准LSTM模型更简单,计算速度更快。
更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门同时实现了遗忘门和输出门的功能。更新门的值越大说明前一时刻的状态信息带入越多。
重置门控制前一状态有多少信息被写入到当前的候选集上,重置门的功能与LSTM单元的输入门相近。重置门越小,前一状态的信息被写入的越少。