Seq2Seq(Sequence-to-Sequence)是一種深度學習架構,專門用來處理可變長度的序列輸入並生成可變長度的序列輸出,特別適合語言翻譯、文本摘要、語音識別等自然語言處理任務。
核心架構-Encoder-Decoder
• Encoder(編碼器):將輸入序列逐步讀入,提取其重要資訊,並將整個序列壓縮成一個固定長度的向量(稱為上下文向量或語義向量)。這個向量包含了輸入序列的核心語意。現代架構常用 LSTM、GRU 或 Transformer 來實現 Encoder。• Decoder(解碼器):接收 Encoder 傳來的上下文向量,依序生成輸出序列的每個元素。Decoder 在生成每個詞時,會考慮上下文向量和先前已生成的詞。
運作流程
1. 輸入一串序列(如一句英文句子)給 Encoder。
2. Encoder 編碼成一個向量表徵輸入內容。
3. Decoder 從該向量開始,逐個生成對應的輸出序列(如對應的中文句子),直到產生結束符號。
重要特色
• 可處理長度不固定的序列輸入與輸出。
• 通常搭配「注意力機制(Attention)」使用,以提升性能,讓 Decoder 在生成時能動態聚焦輸入序列的不同部分。
• 可適用於翻譯、摘要、語音轉文字、影像描述等多種序列轉換任務。
簡單比喻
Seq2Seq 就像一個翻譯官,先聽完整句子(Encoder 聽懂整句話),然後根據理解逐字翻譯成另一種語言(Decoder 輸出翻譯結果)。
總結:
Seq2Seq 是一種強大的模型架構,利用 Encoder-Decoder 形式處理序列到序列的轉換問題,是現代 NLP 任務中核心的技術基礎之一。










