• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于RNN結(jié)構(gòu)下的字母級別語言模型的研究與實(shí)現(xiàn)

      2018-01-13 01:45:20郭邵忠
      關(guān)鍵詞:運(yùn)算符梯度向量

      ◆劉 辰 郭邵忠 殷 樂

      (信息工程大學(xué)四院 河南 450001)

      0 引言

      隨著人工智能技術(shù)的發(fā)展,RNN模型被廣泛應(yīng)用在語音識別,機(jī)器翻譯和文本生成等領(lǐng)域,并取得了舉世矚目的效果。Recurrent Neural Network (RNN)是一種能學(xué)習(xí)向量到向量之間映射關(guān)系的強(qiáng)力模型,它適用于時(shí)序數(shù)據(jù)集上。但由梯度爆炸和梯度消失的問題的存在,使得RNN結(jié)構(gòu)難于訓(xùn)練。在學(xué)者們的努力下,提出了Long Short-Term Memory (LSTM)模型,解決了梯度消失的問題。梯度爆炸問題相對梯度消失復(fù)雜的多,Mikolov與Pascanu通過強(qiáng)制約束梯度范數(shù)解決了該問題。Cho 等人提出名為lstm的一種新的改進(jìn)型Gated Recurrent Unit (GRU),在語言模型的實(shí)際應(yīng)用背景中,兩種實(shí)現(xiàn)方法效果不分伯仲。

      在natural language processing (NLP)任務(wù)中,語言模型是一項(xiàng)基礎(chǔ)工作。語言模型是一個(gè)單純的、統(tǒng)一的、抽象的形式系統(tǒng),語言客觀事實(shí)經(jīng)過語言模型的描述,比較適合于電子計(jì)算機(jī)進(jìn)行自動處理,因而語言模型對于自然語言的信息處理具有重大的意義。

      神經(jīng)語言模型Neural Language Models (NLM)通過將詞的參數(shù)化作為向量,并將其用作神經(jīng)網(wǎng)絡(luò)的輸入,取得了很好的效果。

      雖然NLM比以往的基于統(tǒng)計(jì)的語言模型性能表現(xiàn)出色,但是該模型不能分辨出詞根,詞綴或者分詞等信息,例如 like和unlike兩詞應(yīng)在embedding時(shí)候空間位置距離比較接近,這個(gè)功能上述模型無法實(shí)現(xiàn)。因此,訓(xùn)練集中沒有或者出現(xiàn)幾率特別小的詞,模型無法理解。實(shí)際應(yīng)用中,尤其在俄文語境下,詞態(tài)變化繁復(fù),使得模型訓(xùn)練成本增大,性能下滑。為了克服上述不足,本文設(shè)計(jì)了一種char-level語言模型,該模型的輸入是一個(gè)個(gè)字符。同Botha and Blunsom 2014; Lu-ong,Socher,andManning2013相比下,我們的模型不需要詞素標(biāo)注,將字母一個(gè)個(gè)輸入模型就可以。同 Dos SantosandZadrozny 2014比較,我們的模型不需要word-embedding,只需要 char-embedding。我們的模型適用于多種語言,中文的漢字也可以視為char,此時(shí)在softmax函數(shù)中加入分層功能,運(yùn)行速度會明顯提高。

      1 模型

      1.1 循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型

      若V是所有word的集合,w是V中的任意一個(gè)元素(1個(gè)word),語言模型可以描述如下:若wi∶t= [w1,…,wt]是歷史出現(xiàn)的word序列,那么語言模型就是描述wt+1出現(xiàn)可能和各個(gè)可能的概率情況的工具。

      數(shù)據(jù)首先經(jīng)過向量化操作(char-embedding),而后經(jīng)過Highway層,再經(jīng)過RNN層后會通過一個(gè)softmax函數(shù),它將計(jì)算輸出端的各個(gè)可能性大小,并通過評價(jià)函數(shù)和同訓(xùn)練數(shù)據(jù)相匹配的正確結(jié)果來復(fù)核評估網(wǎng)絡(luò)輸出,最后通過bp算法來校正網(wǎng)絡(luò)參數(shù)。如圖1。

      圖1 模型各模塊情況

      1.2 循環(huán)神經(jīng)網(wǎng)絡(luò)層

      循環(huán)神經(jīng)網(wǎng)絡(luò)是一種節(jié)點(diǎn)定向連接成環(huán)的人工神經(jīng)網(wǎng)絡(luò)。這種網(wǎng)絡(luò)的內(nèi)部狀態(tài)可以展示動態(tài)時(shí)序行為。不同于前饋神經(jīng)網(wǎng)絡(luò)的是,RNN可以利用它內(nèi)部的記憶來處理任意時(shí)序的輸入序列,這讓它可以更容易處理如不分段的手寫識別、語音識別等。神經(jīng)網(wǎng)絡(luò)專家如 Jordan,Pineda.Williams,Elman等于上世紀(jì) 80年代末提出的一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型。即循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)。這種網(wǎng)絡(luò)的本質(zhì)特征是在處理單元之間既有內(nèi)部的反饋連接又有前饋連接。從系統(tǒng)觀點(diǎn)看,它是一個(gè)反饋動力系統(tǒng),在計(jì)算過程中體現(xiàn)過程動態(tài)特性,比前饋神經(jīng)網(wǎng)絡(luò)具有更強(qiáng)的動態(tài)行為和計(jì)算能力。在每個(gè)時(shí)間脈沖 t,需要輸入一個(gè)向量Xt,并結(jié)合上一時(shí)間脈沖t-1的隱藏狀態(tài)向量ht-1,計(jì)算出當(dāng)前時(shí)間脈沖下的輸出向量ht。

      nn.Linear(inputDimension, outputDimension, [bias = true])

      在理論上,RNN可以追溯所有的歷史隱藏狀態(tài)向量ht,并以之計(jì)算當(dāng)前時(shí)間脈沖輸出。在實(shí)際應(yīng)用時(shí)候,使用上述 vanilla RNN模型由于梯度下降和梯度爆炸等問題的存在,難以學(xué)習(xí)到long-range dependencies 。也就是說,這種模型在短句語義理解上較為出色,而且實(shí)現(xiàn)簡單,計(jì)算量小,但是遇到較長句,就容易丟失前序信息。Long short-term memory (LSTM)應(yīng)運(yùn)而生。該模型具體思想就是在 vanilla RNN模型內(nèi)加入一個(gè) cell向量,這樣,每一個(gè)時(shí)間脈沖下,LSTM模型就獲得了3個(gè)輸入向量:xt,ht-1,ct-1。簡明表達(dá)LSTM每個(gè)時(shí)間脈沖計(jì)算公式如下:

      這里的Sigmoid運(yùn)算符在torch框架上對應(yīng)nn.Sigmoid,Tanh運(yùn)算符對應(yīng)nn.Tanh,‘*’運(yùn)算符對應(yīng)nn.CMulTable()(),ct等式中運(yùn)算符‘+’對應(yīng)nn.CAddTable()()。

      1.3 Highway Network

      當(dāng)語言模型輸入端為字符時(shí),在 RNN模型的基礎(chǔ)上使用Highway Network可以很大程度提高精度,當(dāng)語言模型輸入為word時(shí)無明顯效果。在本文中,我們采用1或2層的Highway Network,具體公式如下:

      2 實(shí)驗(yàn)設(shè)定

      語言模型評價(jià)函數(shù)如下:

      NNL是在網(wǎng)絡(luò)訓(xùn)練過程產(chǎn)生的評價(jià)數(shù)據(jù),T為訓(xùn)練時(shí)間。English Penn Treebank (PTB),是一個(gè)標(biāo)準(zhǔn)的英語語言模型測試集,我們將在這個(gè)測試級上評估實(shí)驗(yàn)結(jié)果。

      表1 PTB測試集情況

      實(shí)驗(yàn)數(shù)據(jù)集如表 1所示,其中|V|是語料中的總詞匯量,|C|是字符數(shù)目,T是訓(xùn)練集中的token數(shù)量。Data-s是Peen Treebank庫,Data-L是News-Commentary庫,該庫中有一些非英語符號,所以字符種類較多。

      表2 各個(gè)網(wǎng)絡(luò)層參數(shù)配置

      表2所示為實(shí)驗(yàn)?zāi)P透鲗哟尉W(wǎng)絡(luò)參數(shù)設(shè)置。Small模型采用1層的Highway激活函數(shù)是Relu(),而后通過LSTM模塊(2層,每層300單元)。Large模型Highway模塊設(shè)為2層,激活函數(shù)不變,LSTM模塊也是2層,每層設(shè)為600單元。

      只有2G顯卡情況下,large數(shù)據(jù)集上lstm個(gè)數(shù)每層最大不能超過600,實(shí)驗(yàn)結(jié)果也證實(shí)了每層600個(gè)lstm單元已經(jīng)能夠滿足實(shí)驗(yàn)需要,盲目加大數(shù)目對結(jié)果的影響不明顯。

      本文考慮實(shí)驗(yàn)的靈活性,將輸入模塊設(shè)計(jì)為兩種輸入模式:字符模式和單詞模式。該模型可以轉(zhuǎn)換為word-level 語言模型,只需更新參數(shù)轉(zhuǎn)換輸入,而后進(jìn)行單詞級別的語言模型訓(xùn)練。

      實(shí)驗(yàn)優(yōu)化。在試驗(yàn)中,遍歷25epochs訓(xùn)練集,在Data-S訓(xùn)練集中使用batch-size = 20,在Data-L中使用batch-size = 100,這兩組數(shù)字都是其他論文中使用該數(shù)據(jù)集的經(jīng)驗(yàn)數(shù)字,在本次試驗(yàn)中效果良好。

      在參數(shù)初始化階段,采取了隨機(jī)初始化,并且控制參數(shù)初始化的范圍在[-0.05,0.05]這樣可以避免產(chǎn)生的模型‘偏激’,難以訓(xùn) 練 。 在 LSTM 的 input-to-hidden(highway之 后)和hidden-to-output(softmax()之前)使用了dropout規(guī)則,設(shè)定參數(shù)為 0.5,這樣提高了訓(xùn)練精度。我們限定梯度更新的速率,避免訓(xùn)練結(jié)果偏激,若梯度更新的L2范數(shù)大于5那么更新時(shí)最大可用更新幅度設(shè)為5.0。

      3 實(shí)驗(yàn)結(jié)果

      圖2是訓(xùn)練loss與測試loss對比圖(LSTM-Char in Data-S),圖中可見訓(xùn)練過程中參數(shù)收斂正常,測試收斂正常,訓(xùn)練效果顯著,在最后的全集測試中,取得(PPL=92.418545711755)的評價(jià)結(jié)果。

      圖2 訓(xùn)練以及測試曲線

      表3 訓(xùn)練結(jié)果

      表3所示為最終實(shí)驗(yàn)結(jié)果(PPL數(shù)值越小越好)。其中前四行為本文所做工作,最后兩行為現(xiàn)階段經(jīng)典模型實(shí)驗(yàn)結(jié)果。從模型的評價(jià)來看,我們實(shí)現(xiàn)的 LSTM-Word-Large模型稍遜色于LSTM-2 (Zaremba 2014)但我們使用的lstm單元個(gè)數(shù)少于他們。整體結(jié)果來看,我們模型實(shí)現(xiàn)已經(jīng)達(dá)到了上游水平。

      4 結(jié)論

      本文實(shí)現(xiàn)了一種char-level的語言模型,語言模型是自然語言處理的一個(gè)基礎(chǔ)工作,是學(xué)習(xí)深度學(xué)習(xí)框架入門的良好課題。一些trciks在提高結(jié)果精度顯得特別重要,可以說有些操作直接影響到了結(jié)論。想要做一個(gè)好用的語言模型比較困難,具體應(yīng)用的語境下必須取得好的數(shù)據(jù),再結(jié)合結(jié)構(gòu)的研究和一些技巧才能達(dá)到可用的要求,而好用的要求更需要深入的研究和探索。本實(shí)驗(yàn)更換輸入數(shù)據(jù)也會輸出一些有意思的東西,例如輸入唐詩300首,也可以自動做唐詩,其結(jié)果也是剛剛達(dá)到了‘說人話’的水平。下一步的改進(jìn)目標(biāo)是嘗試在模型中加入更多網(wǎng)絡(luò)信息,類似于Net Embedding的做法。Word Embedding與Net Embedding相互借鑒是一個(gè)趨勢。

      [1] Bengio Y, Simard P, Frasconi P. Learning long-term dependencies with gradient descent is difficult.[J]. IEEE Transactions on Neural Networks,1994.

      [2]Surhone L M, Tennoe M T, Henssonow S F. Long Short Term Memory[J]. Betascript Publishing,2010.

      [3]Pascanu R, Mikolov T, Bengio Y. On the difficulty of training recurrent neural networks[C]// International Conference on International Conference on Machine Learning. JMLR.org,2013.

      [4] Chung J, Gulcehre C, Cho K H, et al. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling[J]. EprintArxiv,2014.

      [5]Bengio Y, Schwenk H, Senécal J S, et al. Neural Probabilistic Language Models[J]. Journal of Machine Learning Research,2003.

      [6] Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model[C]// INTERSPEECH 2010,Conference of the International Speech Communication Association, Makuhari, Chiba, Japan, September. DBLP,2010.

      [7] Botha J A, Blunsom P. Compositional Morphology for Word Representations and Language Modelling[J]. Computer Science,2014.

      [8]Luong T, Socher R, Manning C D. Better Word Representations with Recursive Neural Networks for Morphology[C]// Conference,2013.

      [9] Santos C N D, Guimar?es V. Boosting Named Entity Recognition with Neural Character Embeddings[J]. Computer Science,2015.

      [10] Bengio Y, Simard P, Frasconi P. Learning long-term dependencies with gradient descent is difficult.[J]. IEEE Transactions on Neural Networks,1994.

      [11] Srivastava R K, Greff K, Schmidhuber J. Training very deep networks[J]. Computer Science,2015.

      [12]Marcus M P, Marcinkiewicz M A, Santorini B. Building a large annotated corpus of English: the penntreebank[M]. MIT Press,1993.

      [13] Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer Science,2012.

      [14]Zaremba W, Sutskever I, Vinyals O. Recurrent Neural Network Regularization[J]. EprintArxiv,2014.

      [15]駱小所.語言的接緣性及其分支學(xué)科[J].云南師范大學(xué)學(xué)報(bào)(哲學(xué)社會科學(xué)版),1998.

      [16]雷鐵安, 吳作偉, 楊周妮.Elman遞歸神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)分析中的應(yīng)用[J].電力機(jī)車與城軌車輛,2004.

      猜你喜歡
      運(yùn)算符梯度向量
      向量的分解
      一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
      老祖?zhèn)魇诨具\(yùn)算符
      聚焦“向量與三角”創(chuàng)新題
      一種自適應(yīng)Dai-Liao共軛梯度法
      一類扭積形式的梯度近Ricci孤立子
      向量垂直在解析幾何中的應(yīng)用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      C++運(yùn)算符重載剖析
      河南科技(2014年3期)2014-02-27 14:05:45
      屏山县| 阿克苏市| 丰台区| 融水| 河津市| 静安区| 琼海市| 福海县| 顺义区| 威信县| 中卫市| 清苑县| 乌苏市| 东港市| 和硕县| 金塔县| 丰顺县| 镇雄县| 汝城县| 永和县| 会昌县| 正阳县| 桐柏县| 万盛区| 望城县| 竹北市| 吉木乃县| 兴仁县| 屏南县| 巴马| 淮阳县| 西安市| 富蕴县| 木兰县| 灵川县| 老河口市| 兴仁县| 利川市| 无锡市| 铜梁县| 沽源县|