在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為什么要給 LM 加上神經網絡?

智能感知與物聯網技術研究所 ? 來源:YXQ ? 2019-08-05 16:50 ? 次閱讀

作為自然語言處理(NLP)系統的核心組成部分,語言模型可以提供詞表征和單詞序列的概率化表示。神經網絡語言模型(NNLM)克服了維數的限制,提升了傳統語言模型的性能。本文對 NNLM 進行了綜述,首先描述了經典的 NNLM 的結構,然后介紹并分析了一些主要的改進方法。研究者總結并對比了 NNLM 的一些語料庫和工具包。此外,本文還討論了 NNLM 的一些研究方向。

什么是語言模型

語言模型(LM)是很多自然語言處理(NLP)任務的基礎。早期的 NLP 系統主要是基于手動編寫的規則構建的,既費時又費力,而且并不能涵蓋多種語言學現象。直到 20 世紀 80 年代,人們提出了統計語言模型,從而為由 N 個單詞構成的序列 s 分配概率,即:

其中 w_i 代表序列 s 中的第 i 個單詞。一個單詞序列的概率可以被分解為在給定下一個單詞的前項(通常被稱為上下文歷史或上下文)的條件下,與下一個單詞的條件概率的乘積。

考慮到很難對上述模型中超多的參數進行學習,有必要采取一種近似方法。N 元(N-gram)模型是一種最為廣泛使用的近似方法,并且在 NNLM 出現之前是最先進的模型。一個(k+1)元模型是由 k 階馬爾科夫假設推導出的。該假設說明當前的狀態僅僅依賴于前面的 k 個狀態,即:

我們用極大似然估計來估計參數。

困惑度(PPL)[Jelinek et al., 1977] 是一種用來衡量一個概率模型質量的信息論度量標準,是評價語言模型的一種方法。PPL 越低說明模型越好。給定一個包含 N 個單詞的語料庫和一個語言模型,該語言模型的 PPL 為:

值得注意的是,PPL 與語料庫相關。可以用 PPL 在同一個語料庫上對兩個或多個語言模型進行對比。

為什么要給 LM 加上神經網絡?

然而,N 元語言模型有一個明顯的缺點。為了解決這個問題,我們在將神經網絡(NN)引入到了連續空間的語言建模中。NN 包括前饋神經網絡(FFNN)、循環神經網絡(RNN),可以自動學習特征和連續的表征。因此,人們希望將 NN 應用于 LM,甚至其他的 NLP 任務,從而考慮自然語言的離散性、組合性和稀疏性。

第一個前饋神經網絡語言模型(FFNNLM)由 Bengio 等人于 2003 年提出,它通過學習一個單詞的分布式表征(將單詞表征為一個被稱為「嵌入」的低維向量)來克服維數詛咒。FFNNLM 的性能要優于 N 元語言模型。隨后,Mikolov 等人于 2010 年提出了 RNN 語言模型(RNNLM)。從那時起,NNLM 逐漸成為了主流的語言模型,并得到了迅速發展。

2012 年,Sundermeyer 等人提出了長短期記憶循環神經網絡語言模型(LSTM-RNNLM)用于解決學習長期依賴的問題。為了降低訓練、評估以及 PPL 的開銷,人們提出了各種各樣的改進方案,例如分層的 Softmax、緩存(caching)模型等。最近,為了改進 NNLM,人們引入了注意力機制,取得了顯著的性能提升。

經典的神經網絡語言模型

FFNN 語言模型

Xu 和 Rudnicky 等人于 2000 年試圖將神經網絡(NN)引入到語言模型(LM)中。盡管他們的模型性能比基線 N 元模型語言模型要好,但是由于沒有隱藏層,他們模型的泛化能力較差,無法捕獲上下文相關特征。

根據公式 1,LM 的目標等價于對條件概率 P(w_k|w_1 · · · w_(k?1)) 進行估計。但是前饋神經網絡(FFNN)不能直接處理變長數據(variable-length data),也不能夠有效地表征歷史上下文。因此,對于像 LM 這樣的序列建模任務,FFNN 必須使用定長的輸入。受到 N 元語言模型的啟發(見公式 2),FFNNLM 將前 n-1 個單詞作為了預測下一個單詞的上下文。

如圖 1 所示,Bengio 等人于 2003 年提出了原始 FFNNLM 的架構。這個 FFNNLM 可以寫作:

其中,H、U 和 W 是層與層之間連接的權重矩陣;d 和 b 是隱藏層和輸出層的偏置。

圖 1:Bengio 等人于 2003 年提出的 FFNNLM。

FFNNLM 通過為每個單詞學習一個分布式表征來實現在連續空間上的建模。單詞表征是語言模型的副產品,它往往被用于改進其它的 NLP 任務。基于 FFNNLM,Mikolov 等人于 2013 提出了兩種詞表征模型:「CBOW」和「Skip-gram」。FFNNLM 通過將單詞轉換為低維向量克服了維數詛咒。FFNNLM 引領了 NNLM 研究的潮流。

然而,FFNNLM 仍然具有一些缺點。在訓練前指定的上下文大小是有限的,這與人類可以使用大量的上下文信息進行預測的事實是嚴重不符的。序列中的單詞是時序相關的。而 FFNNLM 沒有使用時序信息進行建模。此外,全連接 NN 需要學習許多可訓練的參數,即使這些參數的數量比 N 元 少,但是仍然具有很大的計算開銷,十分低效。

RNN 語言模型

第一個 RNN 語言模型由 [Mikolov et al., 2010; Mikolov et al., 2011a] 提出,如圖 2 所示,在第 t 個時間步,RNNLM 可以寫作:

其中 U、W、V 是權值矩陣;b、d 分別是狀態層和輸出層的偏置。在 Mikolov 2010 年和 2011 年發表的論文中,f 代表 sigmoid 函數,g 代表 Softmax 函數。RNNLM 可以通過基于時間的反向傳播算法(BPTT)或截斷式 BPTT 算法來訓練。根據他們的實驗結果,RNNLM 在困惑度(PPL)方面要顯著優于 FFNNLM 和 N 元語言模型。

圖 2:Mikolov 等人于 2010 年和 2011 年提出的 RNNLM。

盡管 RNNLM 可以利用素有的上下文進行預測,但是訓練模型學習長期依賴仍然是一大挑戰。這是因為,在 RNN 的訓練過程中,參數的梯度可能會發生梯度消失或者梯度爆炸,導致訓練速度變慢或使得參數值無窮大。

LSTM-RNN 語言模型

長短期記憶(LSTM)RNN 解決了這個問題。Sundermeyer 等人于 2012 年將 LSTM 引入到了 LM 中,并且提出了 LSTM-RNNLM。除了記憶單元和 NN 的部分,LSTM-RNNLM 的架構幾乎與 RNNLM 是一樣的。為了控制信息的流動,他們將三種門結構(包括輸入門、輸出門和遺忘門)加入到了 LSTM 的記憶單元中。LSTM-RNNLM 的常規架構可以寫作:

其中,i_t,f_t,o_t 分別代表輸入門、遺忘門和輸出門。c_t 是單元的內部記憶狀態。s_t 是隱藏狀態單元。U_i、U_f、U_o、U、W_i、W_f、W_o、W、V_i、V_f、V_o 以及 V 都是權值矩陣。b_i、b_f、b_o、b 以及 d 是偏置。f 是激活函數,σ 是各個門的激活函數(通常為 sigmoid 函數)。

對比上述三種經典的 LM,RNNLM(包括 LSTM-RNNLM)的性能要優于 FFNNLM,而且 LSTM-RNNLM 一直是最先進的 LM。當下的 NNLM 主要都是以 RNN 或 LSTM 為基礎的。

改進的技術

降低困惑度的方法

為了降低困惑度,人們將一些新的結構和更有效的信息引入到了經典的 NNLM 模型中(尤其是 LSTM-RNNLM)。受到語言學和人類處理自然語言的方式的啟發,研究者們提出了一些新的、有效的方法,包括基于字符的(character-aware)模型、因式分解模型、雙向模型、緩存模型、注意力機制,等等。

基于字符的(Character-Aware)模型

在自然語言中,一些形式相似的詞往往具有相同或相似的意思。例如,「superman」中的「man」和「policeman」中的「man」有著相同的含義。Mikolov 等人于 2012 年在字符級別上對 RNNLM 和 FFNNLM 進行了探究。字符級 NNLM 可以被用來解決集外詞(OOV)問題,由于字符特征揭示了單詞之間的結構相似性,因此對不常見和未知單詞的建模有所改進。由于使用了帶有字符級輸出的小型 Softmax 層,字符級 NNLM 也減少了訓練參數。然而,實驗結果表明,訓練準確率高的字符級 NNLM 是一項具有挑戰性的工作,其性能往往不如單次級的 NNLM。這是因為字符級 NNLM 必須考慮更長的歷史數據才能正確地預測下一個單詞。

人們已經提出了許多將字符級和單詞級信息相結合的解決方案,它們通常被稱為基于字符(character-aware)的語言模型。一種方法是逐個單詞組織字符級特征,然后將它們用于單詞級語言模型。Kim 等人于 2015 年提出了用于提取單詞字符級特征的卷積神經網絡以及用于在一個時間步內接收這些字符級特征的 LSTM。Hwang 和 Sung 于 2016 年使用一個分層 RNN 架構解決了字符級 NNLM 的問題,該架構包含具有不同時間規模的多個模塊。

另一種解決方案是同時將字符級別和單詞級別的特征輸入給 NNLM。Miyamoto 和 Cho 等人于 2016 年提出使用 BiLSTM 從單詞中提取出的字符特征向量對單詞的特征向量進行插值,并且將插值向量輸入給 LSTM。Verwimp 等人于 2017 年提出了一種「字符-單詞」LSTM-RNNLM,它直接將字符和單詞級別的特征向量連接起來,然后將連接結果輸入給網絡。基于字符的 LM 直接使用字符級 LM 作為字符特征提取器,應用于單詞級 LM。這樣一來,LM 就具有豐富的用于預測的「字符-單詞」信息。

因式分解模型

NNLM 基于 token 定義了單詞的相似度。然而,相似度還可以根據單詞的形式特征(詞綴、大寫字母、連字符,等等)或者其它的注釋(如詞性標注(POS))導出。受到因式分解 LM 的啟發,Alexandrescu 和 Kirchhoff 等人于 2016 年提出了一種因式分解 NNLM,這是一種新型的神經概率 LM,它可以學習從單詞和特定的單詞特征到連續空間的映射。

因式分解模型使得模型可以總結出具有相同特征的單詞類別。在神經網絡訓練時應用因子代替單詞 token 可以更好地學習單詞的連續表征,可以表征集外詞,也可以降低 LM 的困惑度。然而,對不同的因子的選擇和不同的上游 NLP 任務、語言模型的應用是相關的。除了對各個因子分別進行實驗外,沒有其他方法可以用于因子的選擇。因此,對于特定的任務,需要有一種高效的因子選擇方法。同時,必須建立帶有因子標簽的語料庫。

雙向模型

傳統的單向 NN 只能根據過去的輸入預測輸出。我們可以以未來的數據為條件,建立一個雙向的 NN。Graves 等于 2013 年、Bahdanau 等人于 2014 年將雙向 RNN 和 LSTM 神經網絡(BiRNN 和 BiLSTM)引入了語音識別或其它的 NLP 任務。BiRNN 通過在兩個方向處理輸入數據來使用過去和未來的上下文。目前雙向模型最火的工作當屬 Peter 等人于 2018 年提出的 ELMo 模型,這是一種基于 BiLSTM-RNNLM 的新型深度上下文單詞表示。預訓練的 ELMo 模型的嵌入層的向量是通過詞匯表中的單詞學習到的表征向量。這些表征被添加到了現有的模型的嵌入層中,并且在 6 個具有挑戰性的 NLP 任務中顯著提升了目前最先進的模型的性能。

盡管使用過去和未來的上下文的雙向語言模型(BiLM)已經取得了進展,但仍然需要注意的是,BiLM 不能夠被直接用于 LM,這是因為 LM 是定義在當前單詞之前的上下文中的。由于單詞序列可以被視為一種同時輸入的序列,因此 BiLM 可以被用于其它的 NLP 任務(如機器翻譯、語音識別)。

緩存模型

「最新出現的單詞可能會再次出現」。基于這個假設,緩存機制最初被用于優化 N 元語言模型,克服了對依賴的長度限制。該機制會在緩存中匹配新的輸入和歷史數據。緩存機制最初是為了降低 NNLM 的困惑度而提出的。Soutner 等人于 2012 年試圖將 FFNNLM 與緩存機制相結合,提出了基于緩存的 NNLM 結構,導致了離散概率變化問題。為了解決這個問題,Grave 等人于 2016 年提出了連續的緩存模型,其中變化依賴于隱藏表征的內積。

另一種緩存機制是將緩存用作 NNLM 的加速技術。該方法主要的思路是將 LM 的輸出和狀態存儲在一個哈希表中,用來在給定相同上下文歷史的條件下進行未來的預測。例如,Huang 等人于 2014 年提出使用 4 個緩存來加速模型推理。使用到的緩存分別為:「查詢到語言模型概率的緩存(Query to Language Model Probability Cache)」、「歷史到隱藏狀態向量的緩存(History to Hidden State Vector Cache)」、「歷史到分類歸一化因子的緩存(History to Class Normalization Factor Cache)」以及「歷史和分類 Id 到子詞匯表歸一化因子的緩存(History and Class Id to Sub-vocabulary Normalization Factor Cache)」。

注意力機制

RNNLM 利用上下文預測下一個單詞。然而,并非上下文中所有的單詞都與下一個相關、對于預測有效。和人類一樣,帶有注意力機制的 LM 通過從單詞中選擇出有用的單詞表征,高效地使用長期的歷史。Bahdanau 等人于 2014 年首次提出將注意力機制用于 NLP 任務(在他們的論文中是機器翻譯任務)。Tran 等人和 Mei 等人分別于 2016 年證明了注意力機制可以提升 RNNLM 的性能。

注意力機制可以通過一系列針對每個輸入的注意力系數捕獲需要被重點關注的目標區域。注意力向量 z_t 是通過 token 的表征 {r_0,r_1,· · ·,r_(t?1)} 來計算的。

這里的注意力系數α_ti 是通過得分 e_ti 的 Softmax 函數值歸一化計算得來的,其中

這是一個對齊模型,用于評估某個 token 的表征 r_i 和隱藏狀態 h_(t-1) 的匹配程度。該注意力向量是用于預測的上下文歷史的一種很好的表征。

針對大型語料庫的加速技術

在一個擁有大規模單詞表的語料庫上訓練模型是非常費時的。這主要是由于用于大型詞匯表的 Softmax 層。為了解決訓練深度神經網絡時輸出空間大的問題,人們提出了許多方法。一般來說,這些方法可以分為四類,即:分層的 Softmax、基于采樣的近似、自歸一化以及在有限損失函數上的精確梯度。其中前兩種方法被廣泛用于 NNLM。

語料庫

一般來說,為了減少訓練和測試的開銷,需要在小型語料庫上對模型的可行性進行驗證。常用的小型語料庫包括 Brown、Penn Treebank 以及 WikiText-2(見表 1)。

在模型結構被確定后,需要在大型語料庫上對其進行訓練和評估,從而證明模型具有可靠的泛化能力。常用的大型語料庫會隨著時間根據網站、報紙等媒體(包括華爾街日報、維基百科、新聞評論、 News Crawl、Common Crawl 、美聯社(AP)新聞等)被更新。

然而,我們通常會利用不同的大型語料庫訓練 LM。即使在同一個語料庫上,各種不同的預處理方法和不同的訓練/測試集的劃分也會影響實驗結果。與此同時,展示訓練時間的方式也不一樣,或者在一些論文中并沒有給出訓練時間。不同論文中的實驗結果并沒有得到充分的比較。

工具包

傳統的 LM 工具包主要包括「CMU-Cambridge SLM」、「SRILM」、「IRSTLM」、「MITLM」以及「BerkeleyLM」,它們只支持帶有各種平滑技術的 N 元語言模型的訓練和評估。隨著深度學習的發展,人們提出了許多基于 NNLM 的工具包。

Mikolov 等人于 2011 年構建了 RNNLM 工具包。該工具包支持訓練 RNNLM 來優化語音識別和機器翻譯,但是它并不支持并行訓練算法和 GPU 運算。Schwenk 于 2013 年構建了神經網絡開源工具 CSLM(連續空間語言建模),用于支持 FFNN 的訓練和評估。Enarvi 和 Kurimo 于 2016 年提出了可伸縮的神經網絡模型工具包「TheanoLM」,它訓練 LM 對句子進行打分并生成文本。

根據調查,我們發現并沒有同時支持傳統 N 元語言模型和 NNLM 的工具包。而且它們通常并不包含加載常用的 LM 的功能。

未來的研究方向

首先,降低計算開銷、減少參數數量的方法仍然會被繼續探索,從而在不增加困惑度的條件下提升訓練和評估的速度。其次,我們期待能夠產生一種新的架構,它能夠模擬人的工作方式,從而提升 LM 的性能。例如,為 LM 構建一種生成模型(例如 GAN),可能會成為一個新的研究方向。最后,同樣重要的是,目前的 LM 的評估體系并不規范。因此,有必要構建一個評價對比基準來統一預處理以及論文中應該展示的實驗結果。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4797

    瀏覽量

    102313
  • 語言模型
    +關注

    關注

    0

    文章

    557

    瀏覽量

    10596

原文標題:從經典結構到改進方法,神經網絡語言模型綜述

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    神經網絡教程(李亞非)

      第1章 概述  1.1 人工神經網絡研究與發展  1.2 生物神經元  1.3 人工神經網絡的構成  第2章人工神經網絡基本模型  2.1 MP模型  2.2 感知器模型  2.3
    發表于 03-20 11:32

    神經網絡簡介

    神經網絡簡介
    發表于 08-05 21:01

    MATLAB神經網絡

    MATLAB神經網絡
    發表于 07-08 15:17

    神經網絡基本介紹

    神經網絡基本介紹
    發表于 01-04 13:41

    神經網絡資料

    基于深度學習的神經網絡算法
    發表于 05-16 17:25

    全連接神經網絡和卷積神經網絡有什么區別

    全連接神經網絡和卷積神經網絡的區別
    發表于 06-06 14:21

    卷積神經網絡如何使用

    卷積神經網絡(CNN)究竟是什么,鑒于神經網絡在工程上經歷了曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發表于 07-17 07:21

    【案例分享】ART神經網絡與SOM神經網絡

    今天學習了兩個神經網絡,分別是自適應諧振(ART)神經網絡與自組織映射(SOM)神經網絡。整體感覺不是很難,只不過一些最基礎的概念容易理解不清。首先ART神經網絡是競爭學習的一個代表,
    發表于 07-21 04:30

    人工神經網絡實現方法有哪些?

    人工神經網絡(Artificial Neural Network,ANN)是一種類似生物神經網絡的信息處理結構,它的提出是為了解決一些非線性,非平穩,復雜的實際問題。那有哪些辦法能實現人工神經網絡呢?
    發表于 08-01 08:06

    什么是LSTM神經網絡

    簡單理解LSTM神經網絡
    發表于 01-28 07:16

    如何構建神經網絡

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡是一種基于現有數據創建預測的計算系統。如何構建神經網絡神經網絡包括:輸入層:根據現有數據獲取輸入的層隱藏層:使用反向傳播優化輸入變量權重的層,以提高模型的預測
    發表于 07-12 08:02

    基于BP神經網絡的PID控制

    最近在學習電機的智能控制,上周學習了基于單神經元的PID控制,這周研究基于BP神經網絡的PID控制。神經網絡具有任意非線性表達能力,可以通過對系統性能的學習來實現具有最佳組合的PID控制。利用BP
    發表于 09-07 07:43

    神經網絡移植到STM32的方法

    神經網絡移植到STM32最近在做的一個項目需要用到網絡進行擬合,并且將擬合得到的結果用作控制,就在想能不能直接在單片機上做神經網絡計算,這樣就可以實時計算,不依賴于上位機。所以要解決的主要是兩個
    發表于 01-11 06:20

    卷積神經網絡模型發展及應用

    卷積神經網絡模型發展及應用轉載****地址:http://fcst.ceaj.org/CN/abstract/abstract2521.shtml深度學習是機器學習和人工智能研究的最新趨勢,作為一個
    發表于 08-02 10:39

    什么是神經網絡?什么是卷積神經網絡

    在介紹卷積神經網絡之前,我們先回顧一下神經網絡的基本知識。就目前而言,神經網絡是深度學習算法的核心,我們所熟知的很多深度學習算法的背后其實都是神經網絡
    的頭像 發表于 02-23 09:14 ?4090次閱讀
    主站蜘蛛池模板: 视频在线观看网站免费 | 天天想夜夜操 | 亚洲最大色网 | 国产美女久久久 | 五月花综合 | 久久国内| 在线高清国产 | 亚洲娇小性色xxxx | 中文字幕一区二区三区在线播放 | 欧日韩视频777888 | 日本片免费观看一区二区 | 在线种子资源网 | 国产欧美日韩在线人成aaaa | 日本aaaa| 天堂中文最新版www 天堂资源8中文最新版在线 | 天天操天天插天天射 | 一本视频在线 | 一区在线观看视频 | 天天添天天操 | 五月天婷婷网亚洲综合在线 | 亚洲黄色小说网站 | 91精品福利视频 | 精品国产免费观看一区高清 | 免费h网站在线观看 | 神马影视午夜 | 老师受不了了好硬好大 | 色香蕉在线观看 | 国产在线精品香蕉综合网一区 | 亚洲国产丝袜精品一区杨幂 | 爽好舒服快给老师 | 激情理论| 高清视频黄色录像免费 | 99久久精品免费精品国产 | 三级视频在线 | 女bbbbxxxx毛片视频 | 天堂亚洲网 | 天天看片天天干 | 青草午夜精品视频在线观看 | 亚洲一区二区三区不卡视频 | 综合色视频 | 噜噜吧噜噜色 |