運作方式 Sequence-to-Sequence - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

運作方式 Sequence-to-Sequence

一般而言,用於建模的 sequence-to-sequence神經網路包含幾個層,包括:

  • 內嵌層。在這個層中,輸入矩陣為使用稀疏方式編碼的輸入符記 (例如,一次熱編碼),並對應到密集功能層。這是必要的,因為高維度特徵向量比簡單 one-hot-encoded向量更能夠編碼有關特定權杖 (文字 corpora 的字) 的資訊。這也是使用預先訓練的文字向量初始化此嵌入層的標準做法,例如 FastTextGlove,或隨機初始化此嵌入層,並在訓練期間學習參數。

  • 編碼器層。在輸入符記對應到高維度功能空間後,序列將透過編碼器層傳遞以壓縮所有來自輸入 (整個序列) 內嵌層的資訊為固定長度的功能向量。一般而言,編碼器是由 RNN類型網路組成,例如長短期記憶體 (LSTM) 或 gated 遞歸單位 ()GRU。( Colah 的部落格LSTM詳細說明。)

  • 解碼器層。解碼器層採取此編碼功能向量並產生符記的輸出序列。此層通常也使用RNN架構 (LSTM 和 GRU) 建置。

在指定來源序列情況下,整個模型皆經過共同訓練以最大化目標序列的機率。此模型由 Sutskever 等人首次於 2014 年提出。

焦點機制。編碼器 - 解碼器框架的缺點是模型效能會隨來源序列增加而下降,受到編碼功能向量可包含的資訊量上限之影響。為了處理此問題,Bahdanau 等人在 2015 年提出了 attention mechanism (焦點機制)。在焦點機制中,解碼器會嘗試在編碼器序列中尋找位置,最重要的資訊可能就位於該序列中,並使用該資訊與之前解碼的字詞來預測序列中的下一個符記。

如需詳細資訊,請參閱由 Luong 等人撰寫的白皮書 Effective Approaches to Attention-based Neural Machine Translation,其中解釋並簡化了許多焦點機制的計算。此外,由 Wu 等人撰寫的白皮書 Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation,則描述了 Google 的機器翻譯架構,該架構使用了編碼器和解碼器層之間的跳躍連線。