NLP 機器翻譯中的Attention

2021-10-06 11:47:35 字數 1175 閱讀 1112

encoder-decoder模型雖然非常經典,但是侷限性也非常大。最大的侷限性就在於編碼和解碼之間的唯一聯 系就是乙個固定長度的語義向量c。也就是說,編碼器要將整個序列的資訊壓縮進乙個固定長度的向量中。但是這樣做有兩個弊端,一是語義向量無法完全表示整個序列的資訊,二是先輸入的內容攜帶的資訊會被後輸入 的資訊稀釋掉。輸入序列越長,這個現象就越嚴重。這就使得在解碼的時候一開始就沒有獲得輸入序列足夠的資訊,那麼解碼時準確率就要打一定折扣。為了解決上述問題,在seq2seq出現一年以後attention模型被提出。該模型在產生輸出的時候,會產生乙個 注意力範圍來表示接下來輸出的時候要重點關注輸入序列的哪些部分,然後根據關注的區域來產生下乙個輸出,如此反覆。attention和人的一些行為特徵有一定相似之處,人在看一段話的時候,通常只會重點注意具有資訊量的詞,而非全部詞,即人會賦予每個詞的注意力權重不同。

相比於之前的encoder-decoder模型,attention模型最大的區別就在於它不再要求編碼器將所有輸入資訊都 編碼進乙個固定長度的向量之中。相反,此時編碼器需要將輸入編碼成乙個向量的序列,而在解碼的時候,每 一步都會選擇性的從向量序列中挑選乙個子集進行進一步處理。這樣,在產生每乙個輸出的時候,都能夠做到 充分利用輸入序列攜帶的資訊。每乙個c會自動去選取與當前所要輸出的y最合適的上下文資訊。具體來說,aij 衡量編碼中第j階段的hj和解碼時第i階段的相關性,最終decoder中第i階段的輸入的上下文資訊ci就來自於所有 hj對aij的加權和。

對於輸入序列每個輸入得到的輸出,計算注意力權重並加權:

• 不僅僅使用encoder最後一步的輸出,而且使用encoder每一步的輸出

• decoder每次進行生成時,先根據decoder當前狀態和encoder每一步輸出之間的關係,計算對應的注意力權重

• 根據權重將encoder每一步的輸出進行加權求和,得到當前這一步所使用的上下文context

• decoder根據context以及上一步的輸出,更新得到下一步的狀態,進而得到下一步的輸出

NLP 01機器翻譯的簡單框架

1.什麼是nlp?nlp nlu natural language understanding 通過文本來理解意思 nlg natural language generation 通過語義來生成文字 2.nlp與計算機視覺相比較?3.nlp的挑戰 1.乙個意思有多個表達的方式 2.一詞多義,乙個詞在...

機器翻譯(待續)

機器翻譯 語言模型 翻譯模型 語言模型如 n元語言模型 n元語言模型 舉例,三元語言模型,乙個詞至於它相鄰的2個詞有關。條件概率 p 我吃飯 表示詞語組合合理的概率。p 我吃飯 p 飯 我吃 p 我吃 p 我吃 p 吃 我 p 我 得到 p 我吃飯 p 飯 我吃 p 吃 我 p 我 基礎統計概率這樣...

1958 機器翻譯

time limit 1 sec memory limit 128 mb submit 55 solved 28 submit status web board 小晨的電腦上安裝了乙個機器翻譯軟體,他經常用這個軟體來翻譯英語文章。這個翻譯軟體的原理很簡單,它只是從頭到尾,依次將每個英文單詞用對應的中...