本文試著從直觀的角度解析「Attention模型」,應用場景:原文--譯文,具體選擇 中文--英文,即在將中文翻譯為英文這一場景中,直觀得解析「Attention模型」。
一句中文A翻譯為一句英文B主要是完成以下「兩項任務」:
1. 理解中文A的意思為X;
2. 將意思X用英文表達出來,即英文B;
在用計算機完成以上任務前,需要以下三點「準備工作」:
i. 需要將中文的字和英文的單詞轉換為計算機可以理解(計算)的數(即一個字/單詞對應轉換為一個向量,稱為字向量/單詞向量),然後計算機纔有可能完成以上兩項任務,實現翻譯;
ii. 另外針對一句中文翻譯為一句英文,每個字在句子中的位置也對意思的表達會產生很大的影響,所以每個字在句子中的位置也要定義一個向量來表達(即一個位置對應轉換為一個向量,稱為位置向量);
iii. 將字向量/單詞向量加上位置向量(定義兩種向量的維度相同,如都是512維,便於此處元素相加),能更好更全面的代表這句話,為更好的翻譯做好準備;
「Attention模型」實現以上內容,具體情況如下圖所示: