序列到序列模型(Seq2Seq)是什麼?

Seq2Seq模型是一種將一個序列轉換為另一個序列的深度學習模型,廣泛應用於機器翻譯、文本摘要、語音辨識等任務。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

序列到序列模型(Seq2Seq)是什麼? 深度學習自然語言處理

你有沒有在你把中文句子丟進模型,想讓它輸出英文、摘要或一段新文字,發現只看表面常常不夠?

你可以把它想成一個先讀進來、再一步一步寫出去的序列轉換器。

翻譯、摘要、對話生成都不是單一分類,而是要把一串輸入變成另一串輸出。

你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。

容易混淆

一般分類模型 分類模型像判斷圖片是貓還是狗,Seq2Seq 則像把「貓」的圖片轉成「Cat」的文字,是從一個序列變到另一個序列。

最關鍵的區別:先看它是在比意思、比結構,還是在做任務輸出。

記住這句就好

輸入是一串,輸出也是一串,就是 Seq2Seq。

實際案例

機器翻譯把「我今天很忙」轉成英文句子,輸出長度不一定和輸入相同。 摘要系統把長新聞壓成短摘要,保留重點但刪掉多餘細節。

算法與應用

典型架構是 encoder 讀入序列、decoder 逐步產生輸出,注意力機制讓 decoder 能看回重要片段。 現在多數任務也會直接用 Transformer 版 Seq2Seq。

情境判斷

Q1(直覺題): 把英文句子翻成中文,這是 Seq2Seq 嗎?

→ 是。輸入和輸出都是序列,正是它的典型用途。

Q2(判斷題): 如果模型只是在判斷這句話是正面還是負面,還算 Seq2Seq 嗎?

→ 不算。那是分類任務,不是序列轉序列。

常見問題

Seq2Seq模型中的編碼器和解碼器分別是什麼?

編碼器負責將輸入序列轉換為一個固定長度的上下文向量,這個向量包含了輸入序列的關鍵信息。解碼器則利用這個上下文向量,逐步生成目標序列。編碼器和解碼器通常由循環神經網路(RNN)或Transformer架構組成。

注意力機制在Seq2Seq模型中的作用是什麼?

注意力機制允許解碼器在生成每個輸出單詞時,有選擇性地關注輸入序列的不同部分,從而提高模型的性能。它通過計算注意力權重向量,表示輸入序列中每個單詞的重要性,然後根據注意力權重向量對編碼器的隱藏狀態進行加權求和,得到一個上下文向量。

Seq2Seq模型有哪些常見的變體?

Seq2Seq模型有很多變體,例如使用不同類型的RNN(例如LSTM、GRU)、使用Transformer架構、使用不同的注意力機制、使用不同的訓練策略等。此外,還有一些針對特定任務的Seq2Seq模型變體,例如用於機器翻譯的NMT(Neural Machine Translation)模型。