BiLSTM即双向长短期记忆网络(Bidirectional Long Short-Term Memory, BiLSTM)最早由Jürgen Schmidhuber和Sepp Hochreiter等人于1997年在论文《Long short-term memory》中提出,它是传统长短期记忆网络(Long Short-Term Memory, LSTM)的一种扩展形式,结合了正向LSTM和反向LSTM来获取更完整的上下文信息。从而通过BiLSTM可以更好的捕捉双向的语义依赖.
BiLSTM通过添加一个反向层来实现双向读取。具体而言,它使用两个LSTM网络,一个按照正向顺序处理输入序列,另一个按照反向顺序处理输入序列。这样,在每个时间步骤,每个LSTM单元都能够同时访问前面和后面的上下文信息。
这种双向读取的能力使得BiLSTM能够更好地理解和建模序列中的上下文信息,尤其在涉及到双向依赖的任务中效果明显。例如,在情感分析任务中,识别句子中的情感倾向与前文有关,同时与后文也有关系,BiLSTM能够同时考虑到这两方面的影响。
BiLSTM在自然语言处理、语音识别、命名实体识别等任务中得到广泛应用,对于需要全面把握序列特征的任务,它是一种非常有效的模型。
前向LSTM的输出,具体计算公式如下:
后向LSTM的输出,具体计算公式如下:
BiLSTM中的输出是前向LSTM和后向LSTM在各个时间步t的隐藏状态htf和htb的拼合,此过程步骤具体计算公式如下: