---
title: "自編碼器（Autoencoder）"
slug: autoencoder
language: zh-TW
source: https://aiterms.tw/terms/autoencoder
updated_at: 2026-07-29
tags: [深度學習, 資料處理, 特徵工程, 異常偵測, 模型訓練, 自監督學習, AI基礎, iPAS中級]
ipas_term: false
---

# 自編碼器（Autoencoder）

> **你想把一張圖片壓縮後再還原，模型能不能自己學怎麼壓？**
> 你可以把自編碼器想成先壓縮、再重建的神經網路，它學的是資料的濃縮表示。
> 它常用來做降維、異常偵測與特徵學習。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆

> **自編碼器 vs 分類模型？**
> 自編碼器：輸入什麼就盡量重建什麼
> 分類模型：輸入後輸出類別標籤
> 最關鍵的區別：前者學重建，後者學分類
>
> **自編碼器 vs PCA？**
> 自編碼器：神經網路版壓縮器
> PCA：線性降維方法
> 最關鍵的區別：PCA 是線性、自編碼器可以學非線性表示
>
> **自編碼器 vs 變分自編碼器？**
> 自編碼器：只靠重建誤差學表徵
> 變分自編碼器：把潛在空間變成機率式生成模型
> 最關鍵的區別：VAE 不只重建，還強調可生成性
### 記住這句就好

> 先壓縮再還原，逼模型學資料的重點
### 實際案例

> **異常偵測**
> 模型只學正常交易的重建方式，當奇怪資料進來時重建誤差變大，就能抓出異常
>
> **去雜訊圖片**
> 帶雜訊的照片進去後，模型學會還原乾淨版本，適合影像前處理
### 算法與應用

> | 重點 | 你要看什麼 | 為什麼重要 |
> |---|---|---|
> | 編碼器 | 把輸入壓成低維表示 | 保留關鍵資訊 |
> | 瓶頸層 | 最小表示空間 | 逼模型不能死背 |
> | 解碼器 | 把表示重建回輸入 | 檢查學到的表示是否有用 |

### 中英對照與常見說法

| 說法 | 出現場合 |
| --- | --- |
| 自編碼器 | 台灣正式用語 |
| 自编码器、自动编码器 | 簡體寫法，兩種都常見 |
| Autoencoder | 英文原名 |
| AE | 縮寫 |
| 自動編碼器 | 常見變體 |

### 三個組成與一個關鍵限制

> <strong>編碼器（encoder）</strong>把輸入壓縮成一個低維的表示，<strong>瓶頸層（bottleneck）</strong>就是那個低維表示本身，**解碼器（decoder）** 從它還原回原本的輸入。訓練目標只有一個：還原得越像越好。
>
> **關鍵在瓶頸層一定要比輸入小。** 如果中間層跟輸入一樣寬甚至更寬，模型可以直接學會把輸入原樣複製過去，什麼都沒學到。壓縮這個限制才是逼它去找資料結構的原因。
>
> 這也說明了自編碼器的本質：它是**非線性的降維方法**。如果把啟動函數全部拿掉只留線性層，它學到的東西會跟主成分分析（PCA）張成同一個子空間。多層加上非線性，才能抓到 PCA 抓不到的彎曲結構。

### 常見變體

| 變體 | 改了什麼 | 用途 |
| --- | --- | --- |
| 去噪自編碼器（DAE） | 輸入先加雜訊，要求還原乾淨版本 | 去噪、學更穩健的表示 |
| 稀疏自編碼器 | 對隱藏層加稀疏懲罰 | 學到更有辨識度的特徵 |
| 變分自編碼器（VAE） | 編碼成機率分布並加 KL 約束 | 能生成新樣本 |
| 遮蔽自編碼器（MAE） | 遮住大部分輸入要求還原 | 影像自監督預訓練 |

> 一般自編碼器**不能拿來生成**。它的潛空間沒有被約束，會有一塊一塊沒被使用的區域，在那裡隨機取一點解碼出來只會是雜訊。要生成必須用 VAE 或其他有約束潛空間的方法。

### 實務上主要用在哪

> **異常偵測**是它最實用的場景。只拿正常資料訓練，模型學會把正常樣本還原得很好。上線後遇到異常樣本，重建誤差會明顯偏高，用這個誤差當分數就是一個不需要異常標註的偵測器。工業檢測、設備監控、詐欺偵測都在用。
>
> **降維與特徵萃取**：把高維資料壓成幾十維再餵給下游模型。
>
> **去噪**：影像、音訊、感測器訊號的雜訊移除。
>
> **注意重建誤差不等於異常程度。** 模型對訓練資料裡罕見但正常的樣本也會重建得差，這是誤報的主要來源。門檻要用驗證資料調，不要憑感覺設。

### 情境判斷

> **Q1：如果自編碼器對正常資料重建很好，對異常資料重建很差，這代表什麼？**
> → 代表它學到了正常模式，異常樣本因為不符合規律而難以重建
>
> **Q2：如果模型只學會把輸入原封不動複製出來，這還有學到有用表示嗎？**
> → 通常沒有，因為它可能只是記住輸入，沒有真正壓縮與抽象化
### 常見問題

> **Q：自編碼器一定是無監督學習嗎？**
> 多半是，因為它通常不需要人工標籤，而是自己拿輸入當目標。
>
> **Q：瓶頸層越小越好嗎？**
> 不一定。太小會丟掉資訊，太大又可能學不出有效壓縮。
>
> **Q：自編碼器能拿來做生成嗎？**
> 普通自編碼器不擅長直接生成，若要生成通常會用 VAE 這類變體。
### 相關術語

> - **編碼器**：先了解編碼器，才好看懂自編碼器前半段
> - **解碼器**：解碼器是還原步驟的核心
> - **降維處理**：自編碼器常被拿來做降維

---

來源：https://aiterms.tw/terms/autoencoder
快查頁：https://aiterms.tw/terms/autoencoder
最後更新：2026/07/29
深度解說：https://aiterms.tw/learning/what-is-autoencoder