詳細解釋
編碼器-解碼器(Encoder-Decoder)架構是序列到序列(Seq2Seq)學習的標準框架,編碼器將輸入編碼為上下文表示,解碼器生成輸出序列。
架構組成:
- 編碼器(Encoder):
- 處理輸入序列
- 輸出上下文表示(通常是最後一層)
- 雙向:可看到整個輸入
- 解碼器(Decoder):
- 生成輸出序列
- 自回歸:逐token生成
- 自注意力:只能看到已生成的部分
- 交叉注意力:關注編碼器輸出
注意力連接:
- 編碼器自注意力:理解輸入
- 解碼器自注意力:生成連貫輸出
- 編碼器-解碼器注意力:對齊輸入輸出
應用:
- 機器翻譯:最經典的應用
- 文本摘要:長文→摘要
- 對話系統:輸入→回應
- 語音識別:音頻→文本
- OCR:圖像→文本
歷史演變:
- RNN時代:LSTM/GRU編碼器-解碼器
- 注意力機制:加入對齊
- Transformer:純注意力架構
- 現代:編碼器-解碼器與純解碼器並存
編碼器-解碼器 vs 純解碼器:
- 編碼器-解碼器:
- 優勢:雙向編碼,適合理解任務
- 應用:翻譯、摘要
- 代表:T5、BART
- 純解碼器:
- 優勢:統一生成,簡單強大
- 應用:GPT系列,通用生成
- 趨勢:近年更受歡迎
現代發展:
- 長輸入:編碼器處理長輸入的挑戰
- 非自回歸:並行解碼加速
- 統一模型:編碼器-解碼器統一架構
編碼器-解碼器是Seq2Seq學習的經典架構。