當前位置:
首頁 > 最新 > 神經語言模型的多尺度分析

神經語言模型的多尺度分析

來源:arXiv

編譯:Bing

編者按:最近的研究表明,在單詞級的語言建模中,經過良好調整的LSTM基準比複雜的結構表現要好。但是大規模的單詞級和字元級的數據集都要訓練數以億計的token,這往往需要大規模的計算資源。那麼有沒有一種方法能讓模型在單一GPU上運行,只需要幾天甚至幾小時就能達到良好效果呢?Salesforce的研究人員Stephen Merity用標準的LSTM/QRNN模型實現了這一目的。以下是論智對原論文的大致編譯,如有不足之處請在文末留言。

語言建模的許多方法都具有新奇複雜的結構。我們採用現有的基於LSTM和QRNN的最先進的詞級語言模型,並將它們擴展到更大的辭彙表及字元級模型中。經過適當調整後,LSTM和QRNN分別在字元級數據集(Penn Tree-bank, enwik8)和單詞級數據集(WikiText-103)上表現出了最佳結果。只用一個GPU,在12小時至2天的時間裡即獲得了結果。

項目介紹

語言建模(LM)是自然語言處理的基礎任務之一,該任務的目的是給定的n個tokens,預測第n+1個token是什麼。訓練過的語言模型在許多應用中都能發揮作用,包括語音識別、機器翻譯、自然語言生成、或是作為下游任務中的通用特徵提取器。語言模型可以有不同的粒度,其中的tokens可以是單詞、子詞(sub-words)或者字元。在實驗中,單詞級別的模型比字元級別的表現得更好,但是會佔用較多的計算內存。如果任務中含有大量辭彙,單詞級別的模型仍然需要將不常用的單詞替換成辭彙表之外(OoV)的tokens,而字元級別的模型就不存在這種問題。

對於單詞級別的語言模型來說,要理解一個句子表達的含義,可能一兩個有代表性的詞語就夠了。但是一個字元級別的模型需要好幾個詞語才能辨別。對於這種差異,單詞級別和字元級別的模型在訓練時都有著不同的結構。而vanilla長短期記憶(LSTM)網路已經被證明能在單次級別的語言模型上發揮出目前為止最佳的性能。在這篇論文中,我們證明了由vanilla RNN(LSTM或QRNN)和自適應softmax組成的標準模型框架能夠以多種數據規模針對單詞和字元級別的任務進行建模,同時達到最先進的結果。此外,我們還對LSTM和QRNN結構進行了比較,並分析了模型中不同參數的重要性。

模型結構

我們的基礎架構基於Merity等人使用的模型,該模型中有一個可訓練的嵌入層、一個或多個層疊式循環神經網路和一個Softmax分類器。在Merity等人的論文中,他們評估了兩個不同的循環神經網路:LSTM和QRNN。在性能方面,LSTM更勝一籌;而QRNN更能提高GPU的利用率:它用卷積層處理輸入的數據,然後在跨通道中應用一個極簡的循環池化函數。由於卷積層不依賴之前的輸出,因此所有的輸入處理都可以分成單個矩陣乘法。雖然循環池化函數是連續的,但它是基於元素的快速操作,要被用於現有的已經準備好的輸入上,因此幾乎沒有任何額外成本。

除此之外,結構還加上了簡潔版的時序反向傳播(BPTT),這是長連續數據集的必備工具。BPTT不僅能增加準確度,還能提高GPU的利用率。

最後,模型結構還加上了可自適應的softmax,解決大量辭彙導致模型速度變慢或佔用GPU內存而無法訓練模型的問題。

數據集對比

試驗在三個數據集上進行,兩個字元級數據集(Penn Treebank和enwik8),一個大型單詞級數據集(WikiText-103)。

在Mikolov等人的論文中,Penn Treebank數據集經過處理後可生成字元級別的語言模型數據集,該數據集由單詞和字元兩種形式。最初,該數據集由《華爾街日報》的文章組成,預處理過程刪去了許多可能會影響建模的特徵。模型用了一個三層的LSTM和長度為150的BPTT,嵌入的尺寸為200,隱藏層的尺寸為1000。下表顯示了模型在Penn Treebank數據集上的實驗結果:

Hutter Prize Wikipedia數據集(即enwik8)是一個位元組級數據集,有維基百科XML轉儲的前一億位元組組成。在該數據集上,模型使用了三層LSTM,BPTT的長度為200,嵌入尺寸400,隱藏層尺寸為1850。最終實驗結果如下:

該數據集比字元級的Penn Treebank更具挑戰性,enwik8的訓練token數量比Penn Treebank增加了18倍,並且數據沒有進行預處理。

最後,WT-103數據集包含1.03億單詞,其中是對維基百科文章進行了輕微預處理。由於維基百科的文章相對較長,並且專註於單一主題,因此捕獲和利用長期依賴關係是讓模型擁有強大性能的關鍵。

三個數據集結果匯總

分析

QRNN vs LSTM

QRNN和LSTM以完全不同的方式對順序數據進行操作。對於單次級別的語言模型,QRNN能用LSTM的一小部分成本進行類似的訓練和泛化。然而,在我們的工作中,我們發現QRNN在字元級任務中不太成功,即使進行了大量超參數調整。下圖是LSTM和QRNN在單詞級和字元級任務中的表現比較:

對於字元級數據集(enwik8和PTB的字元級),token的位置是指分割空間單詞內的字元。對於單詞級別的數據集,token位置是指The後面的單詞,類似於句子的開頭

超參數的重要性

如果神經語言模型中的超參數數量較多,那麼模型在應對新數據集時的調整是非常費時費力的。為了研究超參數的重要性,我們用隨機參數訓練了200個模型,然後用隨機森林MSE對其進行回歸。隨機森林的特徵重要性就代表了超參數的重要性。

用AWD-QRNN模型在WikiText-2數據集上做實驗,結果表明權重、隱藏層和嵌入的減少最影響模型性能。圖層的數量和嵌入、隱藏層的大小對其影響最小

結語

快速且易調整的標準是做研究的重要部分,沒有這些標準,我們就無法準確判斷研究的進展。通過擴展現有的基於LSTM和QRNN的語言模型,我們發現調整好的模型可以在字元級數據集和單詞級數據集上得到最好的結果,而不用定製複雜的結構。

論文地址:arxiv.org/pdf/1803.08240.pdf


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 論智 的精彩文章:

集成學習入門
想成為數據科學家?試試費曼技巧!

TAG:論智 |