999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PyTorch的機器翻譯算法的實現

2018-10-15 05:58:54李夢潔
計算機技術與發展 2018年10期
關鍵詞:機制效果實驗

李夢潔,董 巒

(新疆農業大學 計算機與信息工程學院,新疆 烏魯木齊 830000)

0 引 言

在機器翻譯中,如何選擇更有效率更適合翻譯的模型一直都是深度學習中研究的熱點之一。近年來,很多深度學習、人工智能領域的研究者不斷探索改進實現機器翻譯的相關模型,反復進行了大量的實驗。隨著人工智能的發展,機器翻譯相關技術得到了不斷的改進創新,使得機器翻譯走向了更前沿的水平。

Treisman和Gelade提出了注意力機制方法[1],它是可以模擬人腦注意力的模型,并可通過計算注意力的概率分布來突顯輸入中某一個輸入對于輸出的影響作用。簡單來說,就是當人們觀察一幅圖片時,首先注意到的是圖片中的某一部分,而不是瀏覽全部內容,之后在觀察的過程中依次調整注意的聚焦點。這種注意力機制的方法對于傳統模型具有良好的優化作用。因此,文中在序列對序列網絡模型上運用注意力機制,以提高序列對序列的自然方式下的系統表現。

1 研究現狀及意義

1.1 機器翻譯

機器翻譯(machine translation)即自動翻譯,是在自然語言方面實現兩種語言之間相互轉換功能的過程[2]。即研究怎樣通過計算機來實現多個自然語言之間的轉換,是人工智能的終極目標之一,也是自然語言處理領域尤為重要的研究方向之一[3]。機器翻譯技術的持續發展,特別是近年來涌現的神經機器翻譯,使機器譯文質量明顯提高,也迎來了機器翻譯應用的發展高潮。互聯網社交、跨境電商和旅游以及更多細分垂直領域中,機器翻譯正在幫助人們跨越語言障礙,應對大數據翻譯需求。現如今,機器翻譯技術在不斷完善,并在政治、經濟、文化方面的交流中起到了至關重要的作用。

1.2 深度學習框架

深度學習是機器學習的一部分,是機器學習中一種基于對數據進行表征學習的方法。它可以模仿人的大腦結構,高效處理特別復雜的輸入數據,提取數據中的抽象特征,達到智能學習的效果[4]。深度學習的好處是用非監督式或半監督式的特征學習和分層特征提取高效算法來替代手工獲取特征。

目前研究人員正在使用的深度學習框架有TensorFlow、PyTorch、Caffe、Theano、Deeplearning4j、ConvNetJS、MXNet、Chainer等,深度學習框架在很多領域應用廣泛,如語音識別、自然語言處理等,并獲取了極好的效果。

文中實驗使用的深度學習框架是PyTorch。PyTorch是Facebook推出的人工智能學習系統,雖然底層優化是在C的基礎上實現,但基本所有框架都是用Python編寫,因此源碼看起來較簡潔明了。相對于其他框架,它有可以支持GPU、創建動態神經網絡、Python優先等特點。相對于Tensorflow,PyTorch更加簡潔直觀,因此在訓練機器翻譯模型的實驗上選用該框架。

2 相關技術研究

2.1 基于短語的統計機器翻譯

統計機器翻譯(statistical machine translation,SMT)的核心思想如下:在建立一定數據的平行語料庫后,對其進行統計分析,從而構建相關模型來進行機器翻譯。統計機器翻譯步驟如下:首先為語言的產生構造合理的統計模型,其次定義要估計的模型參數,最后設計參數估計算法。

假設用字母y代表源語句,那么機器翻譯的模型會在目標語句中找尋一個概率相對最大的句子m,m表示為:

m=argmaxep(m|y)

(1)

2.2 基于神經網絡的機器翻譯

神經機器翻譯(neural machine translation)是一種新興的機器翻譯方法[5-7]。與傳統的包含許多單獨調整的小組件的基于短語的翻譯系統[8]不同的是,神經機器翻譯試圖建立和訓練一個單獨的大的神經網絡,這樣就可以讀取一個句子并且能輸出一個正確的翻譯[9]。

目前最受研究者歡迎的是基于人工神經網絡的機器翻譯:一個通過訓練可以從語料庫中學習并由很多神經元組成的深度神經網絡。實現兩個語言之間的翻譯即為先輸入源語言,在神經網絡中訓練后得出目標語言的過程。通過模擬人腦能達到先理解后翻譯的功能。這種翻譯方法最大的優勢是翻譯出來的語句較為通順,比較符合語法規范,便于大眾理解。相比其他的翻譯技術來說質量上有了顯著提高。

最常用的神經網絡是循環神經網絡(recurrent neural network,RNN)。該網絡通過學習能夠將當前詞的歷史信息存儲起來,以詞的整個上下文作為依據,來預測下一個詞出現的概率,克服n-gram語言模型無法利用語句中長距離上下文信息的缺點[10]。循環神經網絡由Socher在句法解析時采用[11],Irsoy和Cardie將循環神經網絡進行深層組合,成為一個典型的三層結構的深度學習模型[12]。循環神經網絡被證明在解決序列化的問題上效果突出,能夠用到上下文的信息,在機器翻譯等領域取得了不錯的效果。但是循環神經網絡在求解過程中存在梯度爆炸和消失問題[13],并且對長文本的效果不佳。后期提出的長短時記憶神經網絡(long short-term memory,LSTM)有效地解決了長序列問題。

傳統的神經網絡結構是由輸入層、隱藏層和輸出層組成的。層與層之間有密切的聯系,但每層之間的節點沒有連接。RNN即一個序列當前的輸出與前面的輸出有關,具體的表現形式如圖1所示。

圖1 RNN語言模型結構

2.3 注意力機制

注意力(attention)是指人的心理活動指向和集中于某種事物的能力。注意力機制(attention mechanism)是基于人類的視覺注意力機制。簡單來說,視覺注意力機制就是:當人們觀察一幅圖片時,首先注意到的是圖片中的某一部分,而不是瀏覽全部內容,之后在觀察的過程中調整注意的聚焦點。因此,神經網絡領域中的注意力機制就是通過這個原理得來的。

在普通的編碼解碼(encoder-decoder)網絡結構中把輸入序列的所有重點信息壓縮到一個固定長度的向量,但操作過程中有信息損失,在處理較長句子特別是超過固定長度的句子時效果會越來越差,模型能力會逐漸降低。隨著句子長度的増加,encoder-decoder神經網絡的性能也跟著不斷變差[7]。為了解決這個問題,Yoshua Bengio等在神經網絡中通過模擬注意力機制實現英語到法語的翻譯,輸出序列中每輸出一個元素,都通過權重參考輸入序列信息,這樣就可實現輸入序列與輸出序列之間的對齊。注意力機制的核心思想是:將輸入的源語句傳入編碼器后由編碼器生成一個輸出,此時給輸出加入權重向量后作為解碼器的輸入。注意力機制分為隨機注意(stochastic attention)機制和軟注意(soft attention)機制[14]。深度學習中的注意力機制更像是存儲器訪問,在決定權重大小前,需要訪問輸入序列隱藏狀態的所有細節。

該實驗使用的是由兩層循環神經網絡組成的序列對序列網絡(sequence to sequence network)模型,同時在模型中加入了注意力機制(attention mechanism)。

3 實驗設計

3.1 數據來源和處理

實驗使用英法數據集進行模型的訓練和測試,數據形式為英法的對照語句對。將處理好的數據導入到語言模型包中后開始訓練該模型。

該實驗的技術路線圖如圖2所示。

圖2 技術路線圖

3.2 算法實現

實驗將輸入的數據序列定義為X,其中每一個單詞為x。那么一個輸入序列語句就表示為(x1,x2,…,xT)。通過RNN模型翻譯后得出的輸出語句序列定義為Y,那么一個輸出序列語句就表示為(y1,y2,…,yT)。該實驗使用的序列對序列網絡是由2個隱藏層、256個隱藏節點、2個RNNs組成的神經網絡模型,用來訓練處理好的數據文本,以達到英語和法語相互翻譯的效果。

從處理數據開始,實驗的步驟依次為:

第一步:將輸入語句和目標語句在網絡層中加入索引,并將生僻字單獨存儲在一個字典里;

第二步:將以Unicode字符形式存儲的數據文件轉換成以ASCII形式存儲的文件,并且使所有內容小寫,同時修剪大部分標點符號;

第三步:將存儲數據的文件分成行,然后拆分成對,分別為英語對照法語的形式,并根據數據的長度和內容標準化文本;

第四步:將數據導入模型中進行訓練。

此次實驗使用序列到序列模型(The seq2seq model)。該模型是由兩個RNN網絡即encoder和decoder組成,編碼器讀取輸入序列X并且輸出單個向量,解碼器讀取該向量以產生輸出序列Y。其中,將編碼器encoder作為一個網絡,將解碼器decoder作為另一個網絡,并將注意力機制加入decoder中。其模型結構如圖3所示。

圖3 序列到序列模型結構

在訓練數據時,首先通過編碼器輸入源語句序列(x1,x2,…,xT),然后解碼器會給第一個輸入語句一個開始符號,并將encoder的最后一個隱藏層作為它的第一個隱藏層。其中隱藏層ht在時間t上的表現為:

ht=sigm(Whxxt+Whhht-1)

(2)

經過RNN模型產生的輸出序列為(y1,y2,…,yT)。其過程通過迭代式2和式3完成:

yt=Wytht

(3)

4 實驗結果與分析

4.1 實驗結果

通過訓練模型得到了訓練結果和翻譯結果。數據經過處理后,最終篩選出75 000個詞進行實驗,通過對比輸出的目標語句和準確語句可以看出,翻譯效果還是不錯的。

訓練語句的進度和平均損失如圖4所示。

以圖5到圖6兩個簡單的句子為例,x和y軸分別表示源語句和目標語句的單詞,其中每一個像素代表的是源語句對于目標語句的權重,即為注意力機制的表現。右側條狀圖從0.0到1.0為權重大小(0.0表現為黑色,1.0表現為白色)。

圖4 訓練狀態表

圖5 訓練語句(a)

圖6 訓練語句(b)

4.2 評價指標及方法

機器翻譯的評價標準有BLEU[15]、NIST[16]、METEOR[17]和TER[18],以上用來評價機器翻譯的標準都是用對比機器翻譯譯文和人工譯文的方法來衡量機器翻譯的質量,定量模型的質量和翻譯結果。實驗使用BLEU作為評價標準,以衡量翻譯的準確率和詞錯率。

BLEU的取值范圍是0到1,數值越接近1說明機器翻譯的效果越好、詞錯率越低。實驗使用的是英法數據集,將預測翻譯出的數據與參考譯文數據分別存儲在不同的文檔里,通過計算Bleu1、Bleu2、Bleu3、Bleu4的值來分析翻譯質量。取其中300個語句進行計算,得出的結果如表1所示。

表中gram代表詞的個數,當gram為4時BLEU值相對較低,但詞數多的情況下準確率高,因此選擇BLEU4作為最終評價值。由BLEU4的值可以看出,評價值相對較低,說明預測翻譯效果不理想。通過分析實驗結果,主要存在的問題有:

表1 300個語句得出的BLEU值

(1)模型架構相對較簡單,RNN中隱藏層數較少,訓練不到位。

(2)數據集數量較少,方向單一,使模型不能很好地學習,導致翻譯效果不佳。

5 結束語

在英法兩種語言之間的翻譯上使用了基于神經網絡的RNN模型,用到的數據相對較少,因此模型的層數和規模也相對較少。通過對數據的訓練和測試達到測試RNN模型的效果。同時,通過訓練RNN模型并觀察它的準確率,來不斷改進模型,從而達到更好的預期效果。此次實驗用到的數據具有一定的局限性,因此在準確率方面還有一定的欠缺。但是對于模型的研究和探討有一定的作用。

猜你喜歡
機制效果實驗
記一次有趣的實驗
按摩效果確有理論依據
做個怪怪長實驗
迅速制造慢門虛化效果
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
主站蜘蛛池模板: 国产性猛交XXXX免费看| 无码福利视频| 农村乱人伦一区二区| 国产成人91精品免费网址在线| 99久久亚洲精品影院| 亚洲成a∧人片在线观看无码| 狠狠久久综合伊人不卡| 国产乱人伦精品一区二区| 国产一区二区人大臿蕉香蕉| 国产黄色免费看| 亚洲日韩日本中文在线| 一级片免费网站| 亚洲国产天堂久久九九九| 欧美伊人色综合久久天天| 超级碰免费视频91| 尤物亚洲最大AV无码网站| 波多野结衣一区二区三区四区视频| 青青极品在线| 丝袜久久剧情精品国产| 人人91人人澡人人妻人人爽| 久久精品日日躁夜夜躁欧美| 她的性爱视频| 91丝袜乱伦| 亚洲一区黄色| 久久国语对白| 国产成人h在线观看网站站| 一本大道视频精品人妻| 欧美福利在线| 精品视频免费在线| 福利在线不卡| 免费在线成人网| 国产精品综合久久久| 亚洲av无码牛牛影视在线二区| 国产欧美日韩在线在线不卡视频| 99中文字幕亚洲一区二区| 高清色本在线www| 欧美另类图片视频无弹跳第一页| 亚洲第一成年免费网站| 一级一毛片a级毛片| a级高清毛片| 九九热在线视频| 亚洲国产日韩在线观看| 国产成人综合亚洲欧美在| 成人午夜网址| 精品久久国产综合精麻豆| 亚洲无线国产观看| 国产精品.com| 全部无卡免费的毛片在线看| 91精品国产丝袜| 亚洲欧美日韩色图| AV无码一区二区三区四区| 免费jjzz在在线播放国产| 五月婷婷激情四射| 亚洲成人在线网| 国产精品专区第1页| 欧美视频在线播放观看免费福利资源| 黄色网站在线观看无码| 秋霞午夜国产精品成人片| 亚洲av日韩av制服丝袜| 欧美激情伊人| 午夜毛片福利| 无码丝袜人妻| 素人激情视频福利| 成人噜噜噜视频在线观看| 午夜性爽视频男人的天堂| 中文字幕va| 二级毛片免费观看全程| 国产高清毛片| 91丨九色丨首页在线播放| 午夜福利在线观看成人| 日韩毛片免费| 在线视频一区二区三区不卡| 九九免费观看全部免费视频| 国产午夜精品一区二区三区软件| 日韩人妻精品一区| 欧美精品亚洲精品日韩专| 久久久久久久97| 91亚洲视频下载| 国产成人欧美| 色偷偷综合网| 欧美一级在线看| 精品伊人久久久香线蕉|