在长短期记忆网络(Long Short-Term Memory,LSTM)中,遗忘门、输入门和输出门是控制信息流动的关键组件。它们的作用是帮助LSTM网络记忆和遗忘相关信息,从而更好地处理序列数据。
遗忘门(Forget Gate)
遗忘门用于控制哪些信息需要从细胞状态中被遗忘。细胞状态是LSTM网络中记录和传递信息的一个重要组成部分。通过使用sigmoid函数作为激活函数,遗忘门得出一个介于0和1之间的值,来决定保留或遗忘细胞状态的相关信息。
遗忘门的计算过程如下:
$f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f)$
其中,$W_f$是遗忘门的权重矩阵,$h_{t-1}$表示前一次隐藏状态,$x_t$表示当前输入,$b_f$是偏置向量。$f_t$表示遗忘门的输出。
输入门(Input Gate)
输入门用于控制哪些信息需要添加到细胞状态中。它通过两个步骤来更新细胞状态:首先,sigmoid函数决定哪些信息应该更新;其次,tanh函数通过将新的候选值与sigmoid输出相乘,来计算要添加到细胞状态中的新信息。
输入门的计算过程如下:
$i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i)$
$\tilde{C}_t = \text{tanh}(W_C \cdot [h_{t-1}, x_t] + b_C)$
其中,$W_i$和$W_C$分别是输入门和细胞状态的权重矩阵,$b_i$和$b_C$是偏置向量,$h_{t-1}$表示前一次隐藏状态,$x_t$表示当前输入,$i_t$表示输入门的输出,$\tilde{C}_t$表示新的候选细胞状态。
输出门(Output Gate)
输出门用于控制从细胞状态到隐藏状态的信息流。它通过sigmoid函数来确定细胞状态的哪些部分将被输出。然后,tanh函数通过将经过sigmoid函数输出的细胞状态与隐藏状态相乘,计算出最终的隐藏状态。
输出门的计算过程如下:
$o_t = \sigma (W_o \cdot [h_{t-1}, x_t] + b_o)$
$h_t = o_t \cdot \text{tanh}(C_t)$
其中,$W_o$是输出门的权重矩阵,$b_o$是偏置向量,$h_{t-1}$表示前一次隐藏状态,$x_t$表示当前输入,$o_t$表示输出门的输出,$C_t$表示当前的细胞状态,$h_t$表示当前的隐藏状态。
总结
LSTM中的遗忘门、输入门和输出门是控制信息流动的关键组件。遗忘门决定要从细胞状态中遗忘哪些信息,输入门决定要添加哪些新的信息,输出门决定要将哪些部分的细胞状态输出到隐藏状态中。这些门的组合作用使得LSTM网络能够更好地处理长期依赖关系,适用于处理序列数据。
本文来自极简博客,作者:算法架构师,转载请注明原文链接:LSTM中的遗忘门、输入门和输出门:控制信息流动的关键组件