长短时记忆网络(LSTM)作为递归神经网络(RNN)的一种变体,在处理序列数据(如时间序列分析、自然语言处理等领域)方面展现出了卓越的性能。LSTM的关键创新在于其独特的门控机制,包括遗忘门、输入门和输出门。本文将聚焦于遗忘门与输入门机制,详细解析它们在LSTM单元中的作用。
遗忘门负责决定从前一个时间步长的细胞状态(cell state)中丢弃哪些信息。它是通过sigmoid函数实现的,sigmoid函数的输出介于0和1之间,表示保留或遗忘的比例。
遗忘门的计算公式如下:
f_t = σ(W_f · [h_(t-1), x_t] + b_f)
f_t
是遗忘门的输出。σ
是sigmoid函数。W_f
是遗忘门的权重矩阵。h_(t-1)
是前一个时间步长的隐藏状态。x_t
是当前时间步长的输入。b_f
是遗忘门的偏置项。遗忘门通过控制前一时间步长的细胞状态的保留程度,帮助LSTM网络避免梯度消失问题,同时保持长期记忆。
输入门决定哪些新的信息将被加入到细胞状态中。与遗忘门类似,输入门也使用sigmoid函数来生成一个介于0和1之间的值,表示添加新信息的比例。然而,与遗忘门不同,输入门还配合一个tanh函数生成一个新的候选向量(candidate vector),这个向量将被添加到细胞状态中。
输入门的计算公式如下:
i_t = σ(W_i · [h_(t-1), x_t] + b_i)
ṽ_t = tanh(W_C · [h_(t-1), x_t] + b_C)
i_t
是输入门的输出。W_i
是输入门的权重矩阵。ṽ_t
是新的候选向量。W_C
是候选向量的权重矩阵。b_i
和 b_C
分别是输入门和候选向量的偏置项。新的细胞状态 C_t
是由前一时间步长的细胞状态 C_(t-1)
经过遗忘门调整后,再加上输入门和候选向量的乘积得到的:
C_t = f_t * C_(t-1) + i_t * ṽ_t
输入门通过精确控制新信息的添加,确保了LSTM单元能够在学习到新信息的同时,也保持对重要历史信息的记忆。
遗忘门和输入门机制是LSTM网络处理序列数据时的重要组件,它们通过精细地控制信息的保留和添加,使得LSTM能够在长期依赖问题上表现出色。这些机制不仅增强了LSTM的记忆能力,还提高了其在复杂序列任务中的学习效率和性能。