---
title: "雙向編碼器（Bidirectional Encoder）"
slug: bidirectional-encoder
language: zh-TW
source: https://aiterms.tw/terms/bidirectional-encoder
updated_at: 2026-06-22
tags: [深度學習, 自然語言處理, 大型語言模型, 神經網路]
ipas_term: false
---

# 雙向編碼器（Bidirectional Encoder）

能同時處理序列的前向和後向上下文，在每個位置都能看到完整序列信息的神經網路編碼器，相比單向模型提供更豐富的上下文表示，是 BERT 等預訓練模型的核心。

## 完整說明

雙向編碼器是一種序列處理架構，在編碼序列時不限制信息流方向，使每個位置都能同時關注序列中的前向和後向上下文。與自迴歸模型（如 GPT）只允許當前位置關注歷史信息不同，雙向編碼器能看到完整序列，提供更完整的上下文表示。通常基於 Transformer 的自注意力機制實現，可用因果遮蔽（causal masking）的方式變成單向。BERT、RoBERTa 等預訓練模型採用雙向編碼，在文本理解任務上達到優秀性能。

## 常見問題

### 雙向編碼器為什麼不能用於文本生成？

文本生成是自迴歸的過程：生成第一個詞、再根據第一個詞生成第二個、依此類推。在推理時，未來的詞還不存在，無法作為上下文。雙向編碼器在訓練時能看到完整序列，但推理時無法利用未來信息。相比之下，單向解碼器（如 GPT）的因果遮蔽設計完全適配自迴歸生成。理論上雙向編碼器也能生成（通過掩蔽開啟、迭代填補），但效率低，生成質量不如單向模型。

### BERT 的掩蔽語言模型目標為何使用雙向編碼器？

掩蔽語言模型（MLM）的訓練目標是預測序列中被隨機掩蔽的詞。若使用單向編碼器（如 GPT 風格），掩蔽詞右側的信息無法看到，損失大量有用上下文。雙向編碼器能看到掩蔽詞的完整上下文（前後均可見），使預測任務更有意義，模型能學習到更深層的語義理解。這就是為什麼 BERT（雙向+MLM）的文本理解性能優於 GPT（單向+因果語言模型）。

### 雙向編碼器的推理效率為何較低？

在文本理解任務（如文本分類）中，雙向編碼器一次性編碼整個序列，效率很高。但在序列標籤（如 NER）或增量預測任務中，如果需要逐位置更新編碼，每次都必須重新計算整個序列的自注意力（無法複用前面的計算），成本為 O(n²) × 序列數。相比之下，單向 LSTM 的循環結構能高效地增量更新（O(n)）。在生成任務中，單向模型能快速地逐詞生成（每步 O(1)），而雙向編碼器無法利用自迴歸的增量特性。

---

來源：https://aiterms.tw/terms/bidirectional-encoder
快查頁：https://aiterms.tw/terms/bidirectional-encoder
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-bidirectional-encoder