第二部:《深度學習》31/100 RNN 基本結構與用途 ⏳ 理解時間與順序的神經網路!

更新於 發佈於 閱讀時間約 7 分鐘

AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》

31/100 第四週:📌 循環神經網路 RNN

31.RNN 基本結構與用途 ⏳ 理解時間與順序的神經網路!

________________________________________

✅ 課程導入:為什麼需要 RNN?

CNN 和 MLP 只能處理「固定長度、無時間順序」的資料,

而人類的語言、音樂、股票、影片…都有「順序與上下文關係」。

📌 RNN 讓神經網路可以:

記住之前輸入過的資訊(記憶性)

處理可變長度序列(如句子、語音)

在時間序列上進行預測、生成與分類

________________________________________

🔄 RNN 是什麼?

Recurrent Neural Network(RNN) 是一種專門處理序列資料的神經網路架構。

它的特點是:輸出不只取決於當下輸入,也受到過去輸入的影響。

📦 每個時間步(t)中:

ht=f(W⋅xt+U⋅ht−1+b)

x_t:當前輸入

h_{t-1}:前一時刻的隱藏狀態(記憶)

h_t:目前的隱藏狀態(傳給下一步)

f():常用 tanh 或 ReLU 等激活函數

這個公式表示,RNN 在每個時間步會根據「當前輸入 」與「前一個狀態 」共同計算出新的隱藏狀態 。這使得模型能保留時間序列上的歷史資訊,具備處理語音、文字、時間序列資料等的能力。藉由每一步的遞迴更新讓模型具備順序感與「記憶」,是序列模型的基礎。

________________________________________

🧠 RNN 與傳統神經網路最大差異:

模型類型           能否記住上下文      適合處理

  • MLP / CNN      ❌ 無法記住上下文      圖像、表格資料、固定長度特徵
  • RNN           ✅ 可記住上下文       文字、語音、時間序列等順序性資料

________________________________________

📈 RNN 應用場景一覽:

⌨️ 語言建模     → 自動補詞、文字生成(如 ChatGPT)

🎙 語音辨識     → 語音轉文字、語者識別

🎵 音樂生成     → 依旋律生成新旋律

📊 時間序列分析  → 股票預測、氣象預測、工業感測器預警

🧠 NLP 任務    → 情感分析、命名實體辨識(NER)、機器翻譯

________________________________________

🔁 基本 RNN 結構圖示:

x1 → [RNN Cell] → h1 →

x2 → [RNN Cell] → h2 →

x3 → [RNN Cell] → h3 → … → Output

這段圖示呈現了基本的 RNN 結構,其中每個時間步的輸入(如 x1,x2,x3)依序輸入同一組 RNN Cell,產生對應的隱藏狀態 (h1,h2,h3),並將前一時間步的狀態遞迴傳遞至下一步。📌 RNN 的特點在於所有時間步共享同一組參數,能夠保留序列中的時間關聯與記憶資訊,適合處理語言、時間序列等資料。這種結構也可堆疊為多層 RNN,以學習更深層次的序列特徵。

📌 特點:每個 Cell 共用參數,具有遞迴記憶能力,並可疊加為多層 RNN。

________________________________________

⚙️ TensorFlow / Keras 建立簡單 RNN:

python

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import SimpleRNN, Dense

model = Sequential([

SimpleRNN(64, input_shape=(10, 50), return_sequences=False),

Dense(1, activation='sigmoid')

])

input_shape=(time_steps, features)

可用於二分類(如:語意正負、趨勢漲跌)

這段程式碼建立了一個簡單的循環神經網路(RNN)模型,用於處理序列資料並進行二元分類。模型的輸入形狀為 (10, 50),代表每筆資料是一個長度為 10 的時間序列,每個時間點有 50 個特徵;SimpleRNN 層具有 64 個單元,負責捕捉序列中的時間關係,return_sequences=False 表示只輸出最後一個時間步的狀態;接著接上一個 Dense 全連接層並使用 sigmoid 激活函數,輸出介於 0 和 1 之間的機率值,適合用於二分類任務,例如判斷語句情緒(正/負)或預測趨勢(漲/跌)。

________________________________________

⚠️ RNN 訓練挑戰:

🔻 梯度消失 / 爆炸  → 長序列訓練時,梯度難以穩定傳遞,影響模型學習長期依賴。

🐢 訓練效率低    → 序列資料需逐步處理,無法並行,訓練速度慢。

📉 不適合長序列  → 超過百步以上的序列難以保留早期資訊,模型表現下降。

✅ 解法:使用 LSTM / GRU(下一節介紹)

________________________________________

🎯 小結與啟示:

✅ RNN 為時間序列任務奠定基礎,讓模型具備記憶與理解上下文能力

✅ 從文字、聲音到股價,RNN 開啟 AI 與時間的對話

✅ 儘管基本 RNN 有限制,但它是所有時序神經網路的基礎模型!



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
8會員
138內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/04
卷積神經網路(CNN)是一種模仿人類視覺皮質運作方式的深度學習模型,特別擅長處理圖像資料。透過卷積層提取局部特徵、池化層進行降維壓縮,再經由全連接層進行分類,CNN 可有效辨識圖像中的邊緣、形狀與紋理,廣泛應用於影像辨識、醫療影像分析、無人駕駛等領域。
2025/09/04
卷積神經網路(CNN)是一種模仿人類視覺皮質運作方式的深度學習模型,特別擅長處理圖像資料。透過卷積層提取局部特徵、池化層進行降維壓縮,再經由全連接層進行分類,CNN 可有效辨識圖像中的邊緣、形狀與紋理,廣泛應用於影像辨識、醫療影像分析、無人駕駛等領域。
2025/09/04
圖像增強透過旋轉、平移、翻轉、亮度調整等方法,模擬不同環境與視角,提高 CNN 模型的泛化能力與抗干擾性,有效防止過擬合並擴充訓練資料,是影像辨識中常用且實用的技巧。
2025/09/04
圖像增強透過旋轉、平移、翻轉、亮度調整等方法,模擬不同環境與視角,提高 CNN 模型的泛化能力與抗干擾性,有效防止過擬合並擴充訓練資料,是影像辨識中常用且實用的技巧。
2025/09/04
Flatten 將 CNN 提取的多維特徵圖攤平成一維向量,供全連接層(Dense)進行分類決策。Dense 層可整合所有特徵,搭配激活函數如 ReLU 與 Softmax 完成輸出,是 CNN 模型邁向分類的關鍵步驟。
2025/09/04
Flatten 將 CNN 提取的多維特徵圖攤平成一維向量,供全連接層(Dense)進行分類決策。Dense 層可整合所有特徵,搭配激活函數如 ReLU 與 Softmax 完成輸出,是 CNN 模型邁向分類的關鍵步驟。
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
本篇文章介紹如何使用PyTorch構建和訓練圖神經網絡(GNN),並使用Cora資料集進行節點分類任務。通過模型架構的逐步優化,包括引入批量標準化和獨立的消息傳遞層,調整Dropout和聚合函數,顯著提高了模型的分類準確率。實驗結果表明,經過優化的GNN模型在處理圖結構數據具有強大的性能和應用潛力。
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
延續上一篇訓練GAM模型,這次我們讓神經網路更多層更複雜一點,來看訓練生成的圖片是否效果會更好。 [深度學習][Python]訓練MLP的GAN模型來生成圖片_訓練篇 資料集分割處理的部分在延續上篇文章,從第五點開始後修改即可,前面都一樣 訓練過程,比較圖 是不是CNN的效果比MLP還要好,
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
透過這篇文章,我們將瞭解如何使用PyTorch實作圖神經網絡中的訊息傳遞機制,從定義消息傳遞的類別到實作消息傳遞過程。我們也探討了各種不同的消息傳遞機制,並通過對單次和多次傳遞過程的結果,可以看到節點特徵如何逐步傳遞與更新。
Thumbnail
本篇文章專注於消息傳遞(message passing)在圖神經網絡(GNN)中的應用,並以簡單的例子解釋了消息傳遞的過程和機制。
Thumbnail
本篇文章專注於消息傳遞(message passing)在圖神經網絡(GNN)中的應用,並以簡單的例子解釋了消息傳遞的過程和機制。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
本文主要筆記使用pytorch建立graph的幾個概念與實作。在傳統的神經網路模型中,數據點之間往往是互相連接和影響的,使用GNN,我們不僅處理單獨的數據點或Xb,而是處理一個包含多個數據點和它們之間連結的特徵。GNN的優勢在於其能夠將這些連結關係納入模型中,將關係本身作為特徵進行學習。
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
Thumbnail
GNN發展背景 傳統的深度學習模型如在計算機視覺(CV)和自然語言處理(NLP)領域中極為成功,主要是處理結構化數據如影像和文本。這些數據類型通常具有固定且規律的結構,例如影像是由有序的像素點組成。然而,在真實世界中,許多數據是非結構化的,如化合物結構(原子和分子)。這些數據雖然具有一定的規則性,
Thumbnail
長短期記憶(英語:Long Short-Term Memory,LSTM)是一種時間循環神經網路(RNN),論文首次發表於1997年。 LSTM(長短期記憶)是一種特定類型的遞歸神經網絡(RNN),在許多需要處理時間序列數據或順序數據的應用中非常有用。 以下是一些常見的 LSTM 應用:
Thumbnail
長短期記憶(英語:Long Short-Term Memory,LSTM)是一種時間循環神經網路(RNN),論文首次發表於1997年。 LSTM(長短期記憶)是一種特定類型的遞歸神經網絡(RNN),在許多需要處理時間序列數據或順序數據的應用中非常有用。 以下是一些常見的 LSTM 應用:
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
本文主要介紹神經網路訓練辨識的過程,利用fashion_mnist及簡單的神經網路來進行分類。 使用只有兩層的神經網路來訓練辨識fashion_mnist資料。
Thumbnail
卷積神經網路(CNN)是一種專門用於影像相關應用的神經網路。本文介紹了CNN在影像辨識中的應用,包括圖片的組成、Receptive Field、Parameter Sharing、以及Pooling等技術。通過本文,讀者將瞭解CNN在影像辨識領域的優勢和運作原理。
Thumbnail
卷積神經網路(CNN)是一種專門用於影像相關應用的神經網路。本文介紹了CNN在影像辨識中的應用,包括圖片的組成、Receptive Field、Parameter Sharing、以及Pooling等技術。通過本文,讀者將瞭解CNN在影像辨識領域的優勢和運作原理。
Thumbnail
streamlit與github連動程式庫,呈現即時預測手寫英文字母 整理了一下,先前學的機器學習利用Colab來訓練出能辨識手寫A~Z英文字母的模型,使用的模型是CNN(Convolutional Neural Network,CNN)模型 訓練好的模型,當然是要拿來應用,成果呈現
Thumbnail
streamlit與github連動程式庫,呈現即時預測手寫英文字母 整理了一下,先前學的機器學習利用Colab來訓練出能辨識手寫A~Z英文字母的模型,使用的模型是CNN(Convolutional Neural Network,CNN)模型 訓練好的模型,當然是要拿來應用,成果呈現
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News