ELMO

最近重溫了下elmo模型,主要有幾點:

  1- 相比於word2vec這些多了上下文的理解。

  2 - 基本單元是一個兩層的基於字符卷積的網絡.

  3 - 內部狀態的組合構成新的詞彙向量表示.

  4-elmo採用了雙向bi-lstm模型,利用了語言模型,從elmo公式中我們就可以看出, 向左和向右的LSTM是不同的, 也就是說有兩個  LSTM單元. 
​ [公式] 是輸入的意思. 輸入的內容是最初始的詞向量. ​ [公式] 是輸出內容, 即LSTM在每個位置的 h. h會再用作softmax的輸入, 來進行詞彙選擇權重賦予,最原始的詞向量通過字符卷積而來,而LSTM的每一層都有自己不同的代表的意義, 因此,對於不同的任務, 每層參與表徵的權重也就不同, 因此, 爲了一般化, 該方案設置一個通用詞向量表徵法, 即 利用每層狀態的線性組,其中,s就是softmax-normalized weights , 也就是加和爲1的一組權重向量. 這組權重不僅僅代表的是權重, 因爲每層LSTM內部狀態,也就是 h 的分佈是不同的, 這個也可以用作layer normalization.而, ​ [公式] 允許具體的task模型去放縮 ELMo 的大小. 這個地方非常重要, 作者在補充中進行了強調, 在沒有這個的情況下, 只採用該模型的最後一層輸出作爲詞向量的時候的效果甚至差於 baseline. 這個重要的原因是, BiLM的內部表徵和具體任務的表徵的分佈是不一樣的.

5-elmo的使用方法:

將該詞向量加到一般的任務的方法是, 先固定一個權重, 構成一個 [公式] ​ , 然後聯結 ​ [公式] 和 最初始詞向量(也就是通過字符卷積獲得的向量) 爲 [​ [公式] ], 然後將這個向量輸入到任務的RNN模型中去. 然後在訓練中一同訓練權重因子.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章