nlp基础—12.LSTM-CRF模型介绍
文章目錄
- 引言
- 一、模型介紹
- 1. LSTM模型
- 2. BI-LSTM(雙向LSTM)模型
- 3.CRF模型
- 4. LSTM+CRF模型
- 5. BiLSTM+CRF模型
引言
??本文討論的是序列標注問題,所使用的模型是將兩種現有的模型(LSTM+CRF)進行拼接,一種模型是雙向LSTM模型,一種是CRF模型。下面介紹如何結合LSTM和CRF用于sequence tagging,并且對這些結合的效果進行測量。
一、模型介紹
??本篇文章涉及以下幾種模型:LSTM,BI-LSTM,CRF,LSTM+CRF,BI-LSTM+CRF。BiLSTM-CRF模型通過雙向LSTM有效地捕捉到了輸入的過去和未來特征。它也可以通過CRF層使用到句子級的標注信息。BiLSTM-CRF在POS(詞性標記)、NER(命名實體識別)數據集上都取得了很好的效果。另外,與之前的工作相比,它更健壯,依賴于更少的詞向量。
1. LSTM模型
??在實際建模中,RNN 經常出現梯度爆炸或梯度消失等問題,因此我們一般使用長短期記憶單元或門控循環單元代替基本的 RNN 循環體。它們引入了門控機制以遺忘或保留特定的信息而加強模型對長期依賴關系的捕捉,它們同時也大大緩解了梯度爆炸或梯度消失的問題。循環網絡的每一個隱藏層都有多個循環單元,隱藏層 ht?1h_{t-1}ht?1? 的向量儲存了所有該層神經元在t?1t-1t?1 步的激活值。一般標準的循環網絡會將該向量通過一個仿射變換并添加到下一層的輸入中,即 W?ht?1+U?XtW* h_{t-1}+U* X_tW?ht?1?+U?Xt?。而這個簡單的計算過程由于重復使用 W 和 U 而會造成梯度爆炸或梯度消失。因此我們可以使用門控機制控制前一時間步隱藏層保留的信息和當前時間步輸入的信息,并選擇性地輸出一些值而作為該單元的激活值。 之所以叫“門”結構,是因為使用 sigmoid 作為激活函數的全連接神經網絡層會輸出一個 0 到 1 之間的數值,描述當前輸入有多少信息量可以通過這個結構。于是這個結構的功能就類似于一扇門,當門打開時(sigmoid 全連接層輸出為 1 時),全部信息可以通過;當門關上時(sigmoid 神經網絡層輸出為 0 時),任何信息都無法通過。
????LSTM 有三個門,分別是“遺忘門”(forget gate)、“輸入門”(input gate)和“輸出門”(output gate)。
“遺忘門”的作用是讓循環神經網絡“忘記”之前沒有用的信息,控制以前記憶的信息到底需要保留多少
“輸入門”決定哪些信息進入當前時刻的狀態,分為以前保留的信息加上當前輸入有意義的信息
通過“遺忘門”和“輸入門”,LSTM 結構可以很有效地決定哪些信息應該被遺忘,哪些信息應該得到保留。且更新當前時刻狀態Ct,輸入與輸入門對應元素相乘表示當前時刻需要添加到Ct的記憶,前一時間步的記憶 Ct-1 與遺忘門 ft 對應元素相乘就表示了需要保留或遺忘的歷史信息是多少,最后將這兩部分的信息相加在一起就更新了記憶Ct的信息。
LSTM 在得到當前時刻狀態 Ct 之后,需要產生當前時刻的輸出,該過程通過“輸出門”完成。
LSTM 的內部狀態向量𝒄𝑡并不會直接用于輸出,這一點和基礎的RNN 不一樣。基礎的RNN 網絡的狀態向量 既用于記憶,又用于輸出,所以基礎的RNN 可以理解為狀態向量𝒄和輸出向量 是同一個對象。在LSTM 內部,狀態向量并不會全部輸出,而是在輸出門的作用下有選擇地輸出。
LSTM計算公式總結如下:
2. BI-LSTM(雙向LSTM)模型
??諸如在詞性標注下游任務中,我們不僅考慮上文信息,而且還要考慮下文信息,此時,就需要雙向LSTM。雙向LSTM可以理解為同時訓練兩個LSTM,兩個LSTM的方向、參數都不同。當前時刻的hth_tht?就是將兩個方向不同的LSTM得到的hth_tht?拼接到一起。我們使用雙向LSTM捕捉到當前時刻ttt的過去和未來的特征。通過反向傳播來訓練雙向LSTM網絡。
3.CRF模型
??CRF模型是在HMM模型的基礎上發展起來的。根據HMM模型的齊次馬爾科夫性假設:假設隱藏的馬爾科夫鏈在任意時刻t的狀態只依賴于其前一時刻的狀態,與其他時刻的狀態及觀測無關,也與時刻t無關。而CRF模型不僅考慮前一時刻的狀態,還考慮其前面與后面的多個狀態。一般來說,CRF會具有更好的標記性能。
4. LSTM+CRF模型
??將LSTM和CRF結合在一起,可以捕捉到輸入的過去特征和句子級的標簽信息。CRF層有一個狀態轉換矩陣參數,通過CRF層,我們可以有效地使用過去和未來的標簽信息來預測當前標簽,這與雙向LSTM有點類似。LSTM網絡輸出的狀態分數為fθ([x]1T)f_\theta([x]_1^T)fθ?([x]1T?) ,表示句子[x]1T[x]_1^T[x]1T?中第ttt個詞的第iii個標簽的得分,θ\thetaθ 為參數。接著將這個分數輸入到CRF層,CRF層有一個轉換分數矩陣 [A]i,j[A]_{i,j}[A]i,j? ,表示從第iii個狀態轉移到第jjj個狀態的得分,此轉換矩陣與位置無關。模型的參數集合為:
句子[x]1T[x]_1^T[x]1T?的標簽序列[i]1T[i]_1^T[i]1T?的分數是狀態分數和轉換分數的和,動態規劃可以用來計算轉移矩陣[A]i,j[A]_{i,j}[A]i,j?和最優的標簽序列。一句話的分數可以如下計算:
5. BiLSTM+CRF模型
??與LSTM-CRF網絡類似,只是將LSTM換為BiLSTM,可以捕捉到過去和未來的特征。那么既然雙向LSTM網絡可以利用前后信息,為什么還要加上CRF模型呢?雙向LSTM網絡利用隱含信息,但是CRF可以直接利用label信息,可以加快訓練。
如果對您有幫助,麻煩點贊關注,這真的對我很重要!!!如果需要互關,請評論或者私信!
總結
以上是生活随笔為你收集整理的nlp基础—12.LSTM-CRF模型介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AfterEffect滤镜插件总目录
- 下一篇: 打开UG10 C语言错误,修复UG软件在