BiLSTM:雙向長短-$ TERM存儲器的縮寫,它是前向LSTM和後向LSTM的組合。
可以看出,它非常適合具有上下關系的序列標註的任務,因此在NLP中經常被用來對上下文信息進行建模。
我們可以簡單的理解為,雙向LSTM是LSTM的改良版,LSTM是CNN的改良版。
下面簡單說壹下CNN,熟悉的可以直接跳過。CNN的意思是,為了預測最後的結果,我先用第壹個詞來預測。當然,只使用第壹個詞的預測結果肯定是不準確的。我用這個結果作為特征,和第二個詞壹起預測結果。然後,我用這個新的預測結果結合第三個字進行新的預測;然後重復這個過程;直到最後壹句話。這樣,如果輸入中有n個單詞,那麽我們實際上已經預測了n次結果,給出了n個預測序列。在整個過程中,模型共享壹組參數。因此,CNN減少了模型的參數數量,防止了過擬合。同時又是為了處理數列問題而設計的,所以特別適合處理數列問題。LSTM改進了CNN,使其能夠在更遠的距離捕捉信息。然而,LSTM和CNN都有壹個問題。它是從左向右移動的,所以後面的單詞會比前面的更重要。因此,有壹個雙向LSTM,它從左到右做壹次LSTM,然後從右到左,然後將兩個結果合並。