【NLP】圖文並茂帶你細緻瞭解ELMo的各種細節

來源 | 深度學習自然語言處理

CSDN:LiJiale_

論文鏈接:https://arxiv.org/abs/1802.05365

此論文提出了一種新的表示詞語的方法,用於解決如下問題:

(1) 詞的複雜特徵 (2) 在不同語境下詞的多義性

該論文提出的模型,使用biLM(雙向語言模型)在大型語料上進行預訓練,通過內部隱藏狀態得到詞向量,這種表示可以很容易的用在已經存在的模型並明顯提高解決NLP任務的能力,包括問答、情感分析等等。

1. 介紹

得到高質量的詞表徵方法存在難點,要基於:(1)詞的複雜特徵(句法和語義)(2)詞在不同上下文中的含義(多義詞),ELMo的目的是解決這兩個難點。和傳統的詞嵌入不同,其他模型只用最後一層的輸出值來作為word embedding的值,ELMo每個詞向量是雙向語言模型內部隱藏狀態特徵的線性組合,由一個基於大量文本訓練的雙向語言模型而得到的,該方法由此得到命名:ELMo(Embeddings from Language Models)。 結合內部狀態使得詞向量能表達的信息更加豐富,具體來看,LSTM上面的層次能夠捕捉詞義與上下文相關的方面(可以用來消歧),而下面的層次可以捕捉句法方面的信息(可以用來作詞性標註)。

2. ELMo: Embeddings from Language Models

2.1 雙向語言模型(biLM)

假設有N個詞組成的詞序列(,,...,),前向語言模型計算詞的概率使用它前面的詞序列(到):

用來表示與上下文無關的詞向量,然後將其傳入L層的前向LSTMs,在每個位置k,每個LSTM層輸出一個(j從1到L),頂層的輸出()通過softmax函數用來預測下一個詞 一個反向的LM與前向LM類似,只不過是用反方向跑一遍輸入序列,概率用下面的公式計算:

與前向LM類似,後向LSTM位置k第j層(共L層)用表示;biLM結合了前向LM和後向LM,目標是最大化前後向對數似然函數:

將前向和後向中用於詞表示和用於Softmax的參數聯繫起來,也就是說,在兩個方向共享了一些權重參數,而不是使用完全獨立的參數。

biLM模型結構如下(圖畫了半天,又醜又菜):

【NLP】圖文並茂帶你細緻瞭解ELMo的各種細節

2.2 ELMo

接下來就是ELMo的核心了,首先ELMo是biLM內部中間層的組合,對於每個詞,一個L層的biLM要計算出2L+1個表示:

其中,表示直接編碼的結果,對於每個biLSTM層,= [,] ,其中k表示序列中的位置,j表示第j層

為了應用到其他模型中,ELMo將所有層的輸出結果整合入一個向量:;最簡單的一種情況,就是ELMo只選擇最頂層,即;一般來說,ELMo利用每層狀態的線性組合,針對於某個任務通過所有的biLM層得到:

上式中,是softmax-normalized weights,標量參數γ允許任務模型縮放整個ELMo向量(γ在優化過程中很重要,因為ELMo生成詞向量的方式和任務所需存在一定的差異;個人覺得,這種差異就如前文所分析的,LSTM高層與底層所捕捉的信息是存在差異的),每個biLM層的激活有著不同的分佈,在一定程度上對每一層可以提供一些標準化的效果

2.3 如何在有監督的NLP任務中使用biLMS

大部分有監督NLP模型在最底層有著大致相同的結構,可以用一致、統一的方式添加ELMo,論文中大致體現了三種使用方法:

  • 保持biLM的權重不變,連接和初始詞向量,並將[,]傳入任務的RNN中
  • 在任務使用的RNN中,RNN的輸出加入,形成[,]
  • 在ELMo中使用適當數量的dropout,並在損失中添加

2.4 預訓練過程

在作者的預訓練過程中,用了兩層的biLSTM,共計4096個單元,輸出緯度為512,並且第一層和第二層之間有residual connection,包括最初的那一層文本向量(上下文不敏感類型的詞表徵使用2048個字符卷積filter,緊接著兩層highway layers)整個ELMO會為每一個詞提供一個3層的表示(下游模型學習的就是這3層輸出的組合),下游模型而傳統的詞嵌入方法只為詞提供了一層表示。另外,作者提出,對該模型進行FINE-TUNE訓練的話,對具體的NLP任務會有提升的作用。 經過預訓練後,biLM可為任一任務計算詞的表示。在某些情況下,對biLM進行fine tuning會對NLP任務有所幫助。

注:關於residual connection和highway layers:residual connection和highway layers這兩種結構都能讓一部分的數據可以跳過某些變換層的運算,直接進入下一層,區別在於highway需要一個權值來控制每次直接通過的數據量,而residual connection直接讓一部分數據到達了下一層

3 總結

  • ELMo著重解決一詞多義,相比較於傳統的word2vec,僅能表達一種含義(詞向量是固定的)
  • ELMo生成的詞向量利用了上下文的信息,根據下游任務,能夠通過權值來調整詞向量以適應不同任務

The End


分享到:


相關文章: