---
title: "循環神經網路（Recurrent Neural Network）"
slug: recurrent-neural-network
language: zh-TW
source: https://aiterms.tw/terms/recurrent-neural-network
updated_at: 2026-07-29
tags: [深度學習, 神經網路, 自然語言處理, 時序分析]
ipas_term: true
---

# 循環神經網路（Recurrent Neural Network）

> **你在看一句話或一段時間序列時，會不會發現前面出現過的內容會影響後面的判斷？**
>
> 你可以把 RNN 想成有記憶的神經網路，前一步的資訊會影響下一步。
> 它特別適合處理有順序的資料，例如文字、語音和時間序列。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆
> **RNN vs 前饋神經網路**
> 前饋神經網路每次只看當下輸入。
> RNN 會把前一步的狀態帶到下一步。
> 最關鍵的區別：一個看單點，一個看順序。
>
> **RNN vs LSTM**
> RNN 結構比較簡單。
> LSTM 加了閘門，能更好保存長期資訊。
> 最關鍵的區別：一個簡單，一個更會記。
>
> **RNN vs 注意力機制**
> RNN 主要靠序列逐步傳遞資訊。
> 注意力機制會直接看哪些位置比較重要。
> 最關鍵的區別：一個一路傳，一個直接挑重點。

### 記住這句就好
> 看到前面，才能更懂後面。

### 實際案例
> **語句理解**
> 你讀到「今天下雨，所以我帶了傘」，後半句會受前半句影響。
> RNN 的設計就是為了讓模型保留這種上下文。
>
> **時間序列**
> 股票價格、感測器數據和用電量都有前後關係。
> RNN 可以把前一個時間點的資訊帶進下一個時間點。

### 算法與應用
> RNN 會把前一時刻的隱藏狀態傳到下一時刻，形成循環結構。
> 這種設計讓它能處理序列，但也容易遇到梯度消失或梯度爆炸。
> 為了改善這些問題，後來常用 LSTM、GRU 或注意力機制來取代。

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

| 說法 | 出現場合 |
| --- | --- |
| 循環神經網路、遞迴神經網路 | 台灣兩種譯法都有人用 |
| 循环神经网络 | 簡體寫法 |
| Recurrent Neural Network | 英文原名 |
| RNN | 標準縮寫 |

> 要跟 **遞迴神經網路（Recursive Neural Network）** 分清楚，那是另一種按樹狀結構展開的模型，中文譯名容易撞在一起。日常講的 RNN 幾乎都是指循環的那一種。

### 它跟一般網路差在哪

> 一般前饋網路每個輸入獨立處理，RNN 多了一條**隱藏狀態**沿著時間往後傳：處理第 t 個字的時候，同時看得到「第 t 個字」與「前面所有字濃縮成的狀態」。
>
> 這條迴路讓它能處理長度不固定的序列，也讓它天生具有記憶。代價是**必須依序計算**，第 t 步要等第 t−1 步算完，無法平行化。這是它後來被 Transformer 取代的主要原因之一。

### 梯度消失與三種變體

| 架構 | 特點 |
| --- | --- |
| 原始 RNN | 結構最簡單，但只記得住很短的距離 |
| LSTM（長短期記憶） | 用輸入閘、遺忘閘、輸出閘控制資訊流，能記較長距離 |
| GRU（閘控循環單元） | 簡化成更新閘與重設閘，參數較少、訓練較快，表現常常跟 LSTM 差不多 |
| 雙向 RNN | 正向與反向各跑一次再合併，適合能拿到整句的任務 |

> **梯度消失是原始 RNN 的核心問題。** 反向傳播要沿著時間一路乘回去，權重小於 1 時連乘會指數衰減，導致模型學不到相隔很遠的關聯。LSTM 用一條幾乎不做乘法的細胞狀態通道繞過這個問題，這是它能記較久的關鍵。
>
> 反過來梯度也可能爆炸，標準對策是梯度裁剪（gradient clipping），設一個上限超過就等比例縮回去。

### 現在還用得到嗎

> 序列建模的主流已經是 Transformer，因為它可平行訓練、長距離依賴處理得更好。但 RNN 系列在幾個地方仍有位置：
>
> **串流與即時推論。** RNN 的狀態是固定大小，每來一個新輸入更新一次即可，記憶體不隨序列長度成長。Transformer 的注意力要看全部歷史，長時間串流成本會持續上升。
>
> **超長序列與資源受限裝置。** 感測器訊號、邊緣裝置上的關鍵字偵測，RNN 的固定成本反而是優勢。
>
> **理解後續架構的基礎。** 狀態空間模型（如 Mamba）本質上是在重新設計一條「可平行訓練但推論時像 RNN」的路徑，不先理解 RNN 就看不懂它在解什麼問題。

### 情境判斷
> **Q1（直覺題）：** 你要讓模型讀一整句話，知道前文會影響後文，該考慮什麼？
>
> → RNN，因為它天生就是為了處理順序資料。
>
> **Q2（判斷題）：** 如果序列很長，RNN 一定是最好的選擇嗎？
>
> → 不一定，長序列常會讓梯度傳遞變難，這時 LSTM、GRU 或注意力機制可能更合適。

### iPAS 考題
> **Q1：** LSTM 和 GRU 的主要差別是什麼？
> → LSTM 門更多、記憶控制更細，GRU 結構較簡化、訓練通常更快。
>
> **Q2：** 如何緩解 RNN 的梯度消失問題？
> → 可以用 LSTM、GRU、梯度裁剪，或改用其他更穩定的序列模型。

### 常見問題
> **Q：RNN 只適合文字嗎？**
> 不只，任何有順序的資料都可能用到，例如語音、感測器和時間序列。
>
> **Q：RNN 一定比前饋網路好嗎？**
> 不一定，要看資料有沒有順序關係，沒有順序就不需要循環結構。
>
> **Q：為什麼現在比較少直接用純 RNN？**
> 因為長序列訓練不穩，實務上常改用 LSTM、GRU 或注意力機制。

### 相關術語
> - **長短期記憶網路**：先看它，你會知道 RNN 怎麼補強長期記憶。
> - **注意力機制**：如果你想看更現代的序列建模，這是下一步。
> - **編碼器**：很多序列模型都會和它一起出現。
> - **自然語言處理**：RNN 曾經是 NLP 的核心模型。
> - **深度學習**：RNN 是經典的深度學習架構之一。

---

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