本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
運作方式 Sequence-to-Sequence
一般而言,用於建模的 sequence-to-sequence神經網路包含幾個層,包括:
-
內嵌層。在這個層中,輸入矩陣為使用稀疏方式編碼的輸入符記 (例如,一次熱編碼),並對應到密集功能層。這是必要的,因為高維度特徵向量比簡單 one-hot-encoded向量更能夠編碼有關特定權杖 (文字 corpora 的字) 的資訊。這也是使用預先訓練的文字向量初始化此嵌入層的標準做法,例如 FastText
或 Glove ,或隨機初始化此嵌入層,並在訓練期間學習參數。 -
編碼器層。在輸入符記對應到高維度功能空間後,序列將透過編碼器層傳遞以壓縮所有來自輸入 (整個序列) 內嵌層的資訊為固定長度的功能向量。一般而言,編碼器是由 RNN類型網路組成,例如長短期記憶體 (LSTM) 或 gated 遞歸單位 ()GRU。( Colah 的部落格
LSTM詳細說明。) -
解碼器層。解碼器層採取此編碼功能向量並產生符記的輸出序列。此層通常也使用RNN架構 (LSTM 和 GRU) 建置。
在指定來源序列情況下,整個模型皆經過共同訓練以最大化目標序列的機率。此模型由 Sutskever 等人
焦點機制。編碼器 - 解碼器框架的缺點是模型效能會隨來源序列增加而下降,受到編碼功能向量可包含的資訊量上限之影響。為了處理此問題,Bahdanau 等人在 2015 年提出了 attention mechanism
如需詳細資訊,請參閱由 Luong 等人撰寫的白皮書 Effective Approaches to Attention-based Neural Machine Translation