微軟研究院在IJCAI2016的Tutorial上講述了自己將深度學習、深度神經網絡應用於不同場景的情況,之前第一部分提到了其應用於語義理解上的一些經驗和收穫,本文為第二部分。
聯合編譯:Blake、章敏、陳圳
統計機器翻譯(SMT)包括:
l 統計結果
l 來源渠道模型
l 翻譯模型
l 語言模型
l 對數線性模型
l 評價指標:BLEU分數(越高越好)
基於短語的統計機器翻譯(SMT)將中文翻譯成英文
核心問題:針對什麼建模?
l 針對詞彙可能性
語言模型
LM/w 來源
l 基於短語的機器翻譯 翻譯/錄製可能性
翻譯
錄製
l 基於二元的機器翻譯
l ITG模型
神經網絡在基於短語的SMT中的示例
l 神經網絡作為線性模型中的組成部分
翻譯模型
預壓模型 捲曲神經網絡的使用
聯合模型 FFLM與原始詞彙
l 神經機器翻譯(NMT)
建立一個單一、大型的神經網絡用來讀取句子並輸出翻譯
RNN 編碼-解碼
長短時期記憶
聯合學習順序、翻譯
NMT在WMT任務上超過了最好的結果
短語翻譯模型雖然簡單,但是解決了數據稀少的問題。
深度語義相似模型(DSSM)
l 計算語義相似性btw文本
l 針對自然語義處理任務的DSSM
DSSM 針對短語翻譯模型
l 兩個神經網絡(一個是來源方向,一個是導向方向)
輸入
輸出
l 短語翻譯分數=矢量點積
分數
為了緩解數據稀疏性,允許複雜的分數函數
N-gram語言模型
l 詞語n-gram模型(如n=3)
l 使用長歷史的問題
稀少的事件:不可靠的可能性預估
RNN LMs需要返回到句子剛開始的時段,這也使得動態規劃更加困難。為了給新詞彙評分每一個解碼器的狀態都需要維持在h,通過傳統的n-gram語境和最好的h來合併假設,進行重新組合。
模擬S需要3個條件:1.整個源句子或者均衡的源詞彙 2.S作為詞彙序列,詞彙包,或者矢量代表 3.如何學習S的矢量代表?神經網絡聯合模型基於遞歸神經網絡語言模型和前饋神經語言模型。
前饋神經語言模型
擴展前饋LM,使它包含周圍有均衡源詞彙的窗口。如果要對齊多個源詞彙,選擇正中間的位置;如果無需對齊,則繼承最近目標詞彙的隊列。同時用隊列在文本中進行訓練;優化目標的可能性。
神經機器翻譯,建立一個單獨的,大型的NN,閱讀句子並輸入翻譯。不像基於短語的系統需要很多零件模型組成。編碼器-解碼器基礎方法是:一個編碼器RNN進行閱讀和將一個源句子編碼到固定長度的矢量中,一個解碼器RNN從編碼器矢量中輸出可變長度的翻譯,最後編碼器-解碼器RNNs聯合學習文本,優化目標可能性。
[Sutskever+2014]編碼器-解碼器模型
將MT當成普遍的序列到序列的翻譯,閱讀源頭;累積隱狀態;生成目標。其中<EOS>是停止遞歸進程的符號。在練習中,反向閱讀源句子會導致更好的MT結果。在文本中進行訓練,並使用SGD優化目標可能性。
潛能和困難
在理論上,RNN可以將所有過去輸入的信息「儲存」在h中,但在現實中標準的RNN無法捕獲長距離的依賴。解決反向傳播中梯度消失和爆炸和不穩定噪音問題的方法是:長的短期記憶。
長短期記憶細胞
RNN中一個LSTM單元的信息流的圖解和數學公式。W`s是權重矩陣,雖然沒有顯示但可以從圖中輕鬆的推理出來。
兩個門的記憶細胞
圖2:提出的隱激活函數。更新門z決定隱藏狀態是否更新了新的隱藏狀態h。復位門r決定先前的隱藏狀態是否被忽略。
排列和翻譯的聯合學習
SMT編碼器-解碼器模型存在一個問題問題:壓縮源信息到一個固定長度矢量中,使得RNN很難複雜長句子。注意力模型就是:編碼輸入句子到矢量隊列,並在解碼時選擇矢量的子集
它類似的想法於[Devlin+14]。
[ Bahdanan+15]的注意力模型
編碼器:雙向RNN編碼每一個單詞和文本
解碼器:尋找一系列與預測的目標詞彙最相關的源詞彙,並基於源詞彙和所有先前生成詞彙相關的文本矢量預測目標詞彙。這樣翻譯長句子的表現接近最佳性能。
MSR`s神經對話引擎
總結:
這一部分主要介紹了深度神經網絡對於問題進行分類的實例,以及在統計機器翻譯和對話中深度學習的應用,對於語義表達學習和自然語言的理解也有所提及。
PS : 本文由雷鋒網(公眾號:雷鋒網)獨家編譯,未經許可拒絕轉載!
雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。