回到頂部
資料通過多層神經網路並輸出預測結果的深度學習流程
🧬 Level 3

深度學習是什麼?神經網路、CNN、RNN 與 Transformer 入門

從神經元、前向傳播、損失函數到反向傳播,看懂深度學習怎麼訓練,並比較 CNN、RNN、Transformer 的用途、限制與選擇方式。

內容查核: 連結查核: 來源查核:

本文含聯盟連結

深度學習支撐了影像辨識、語音轉文字、大型語言模型與許多生成式 AI。它的核心並不神祕:把許多可調整的數學運算排成多層網路,透過資料與誤差訊號更新參數。

它是 機器學習的一部分,不是所有 AI 問題的標準答案。資料不多、規則清楚或需要高度可解釋時,線性模型、決策樹甚至手寫規則可能更合適。

深度學習的「深」是什麼?

深度通常指模型中有多個連續的表示層。每一層接收前一層的數值,進行轉換後傳給下一層。LeCun、Bengio 與 Hinton 的綜述將深度學習的關鍵描述為:由多個處理層學習具有多層抽象程度的資料表示。

「多層」沒有一個跨架構通用的最低數字,也不代表越深越好。增加層數會提高模型可表示的複雜度,同時也可能增加訓練難度、延遲、記憶體需求與過度擬合風險。

人工神經網路受到生物神經系統啟發,但它不是大腦的精確複製品。人工節點主要執行加權、加總和非線性轉換;用「神經元」稱呼是歷史與理解上的類比,不應延伸成模型像人類一樣感知或思考。

一個人工神經元做什麼?

簡化來看,一個節點會:

  1. 接收多個輸入值。
  2. 每個輸入乘上一個可學習的權重。
  3. 加總後加入偏差值(bias)。
  4. 通過 ReLU、sigmoid 等激活函數,產生輸出。

權重決定輸入對結果的影響,激活函數則讓網路能表示非線性關係。若每一層都只做線性運算,多層疊起來仍可合併成一次線性轉換,無法處理更複雜的邊界。

Google 的神經網路課程提供節點、隱藏層與激活函數的互動示例,適合用來建立數學直覺。

神經網路怎麼學會任務?

前向傳播:先產生預測

一筆資料從輸入層依序通過各層,最後得到預測。例如輸入影像像素,輸出各類別的分數;輸入一串 Token,輸出下一個 Token 的機率。

損失函數:衡量預測差多少

損失函數把預測和目標答案的差異轉成數值。分類、數值預測與語言生成會使用不同形式的損失。損失越低通常代表模型更貼近訓練目標,但不必然等於真實世界的商業價值、公平性或安全性更好。

反向傳播:計算每個參數該怎麼改

反向傳播利用微積分的鏈鎖律,從輸出誤差往回計算每個參數對損失的影響,也就是梯度。最佳化演算法再依梯度更新權重。這個「前向計算、衡量損失、反向計算、更新參數」的循環會在許多批次資料上反覆進行。

模型會調整大量參數,使整體輸入輸出關係在訓練資料上變好;正確答案不會逐筆存進節點。資料切分、過度擬合與指標選擇可回到 機器學習入門查看。

訓練和推論有什麼差別?

階段主要工作常見成本
訓練讀取資料、計算損失與梯度、更新參數通常需要較多算力、記憶體與時間
推論固定參數,對新輸入產生預測或內容每次較便宜,但大量請求仍可能昂貴

GPU 擅長大量平行矩陣運算,因此常用於深度學習。理解概念與訓練小模型不一定要有獨立 GPU;大型影像、語音和語言模型才會明顯受硬體限制。

CNN、RNN、Transformer 差在哪裡?

CNN:利用局部與空間結構

卷積神經網路(CNN)使用可共享的卷積核掃描資料局部區域,因此特別適合影像與有網格結構的訊號。早期層可能對邊緣或紋理有反應,後續表示則整合更大的區域。

「第一層一定是線條、最後一層一定是完整物體」只是常見直覺,不是所有模型和每個節點都遵循的固定規則。現代視覺系統也可能使用 Vision Transformer,或把卷積與 Attention 結合。

RNN 與 LSTM:逐步更新序列狀態

循環神經網路(RNN)在每個時間步接收新輸入,並把前一步的隱藏狀態傳到下一步。LSTM 與 GRU 使用門控機制,改善基本 RNN 在長序列上的梯度與資訊保留問題。

隱藏狀態可以保存序列資訊,但這是有限的數值表示,不是人類式記憶。RNN 仍用於串流、時間序列與受限裝置等情境;Transformer 盛行後,它沒有完全消失。

Transformer:用 Attention 建立序列關係

Attention Is All You Need在 2017 年提出 Transformer。Self-attention 讓每個位置依任務計算與其他位置的關係,訓練時也比傳統逐步 RNN 更容易平行化。

大型語言模型主要建立在 Transformer 家族上,視覺、聲音與多模態模型也廣泛使用相關元件。不過,「使用 Transformer」只描述架構家族的一部分;資料、訓練目標、工具、對齊方法與推論系統都會影響最後能力。Token 與 Attention 的完整流程可看 AI 怎麼產生回答

深度學習為什麼能處理複雜資料?

傳統機器學習常仰賴人工整理特徵。深度網路能在訓練過程中共同學習表示與任務,例如從像素學到可用於分類的特徵,或從文字學到上下文表示。

這種表示學習很強大,卻沒有取消資料工作。開發者仍要定義標籤、處理缺值、避免資料洩漏、檢查族群偏差並建立測試集。模型也可能學到背景、浮水印或拍攝設備等捷徑,而非你以為的核心概念。

深度學習近年的進展來自多項條件共同成熟:較大的資料集、GPU 與專用加速器、架構與最佳化改進,以及可重複使用的預訓練模型。不能只歸功於「神經網路變深」。

預訓練、遷移學習與微調

預訓練先在較大的通用資料上建立模型,遷移學習再把已學到的表示用於新任務。常見做法包括:直接使用模型產生特徵、只訓練新的輸出層,或對部分/全部參數進行 微調

這通常比從零訓練省資料與算力,但不保證少量資料就能得到可靠模型。新任務和預訓練資料差距太大、標記品質差、罕見族群不足或評估資料重疊,都會讓結果失真。

大型語言模型還可能經過指令微調、偏好最佳化與安全訓練。把整個流程簡化成「讀完網路,再用人類回饋教它回答」會漏掉資料篩選、預訓練目標與多階段後訓練的差異。

什麼時候值得用深度學習?

適合優先考慮的情況:

  • 輸入是圖片、聲音、文字、影片等高維非結構化資料。
  • 有足夠且具代表性的資料,或有合適的預訓練模型可遷移。
  • 任務價值足以負擔訓練、推論、監控與人工驗收成本。
  • 可以建立貼近上線情境的測試集與失敗處理流程。

簡單表格資料、樣本很少、規則穩定或每個決策都必須容易解釋時,先建立線性模型、決策樹與規則基準。只有深度模型在相同測試條件下帶來值得的改善,複雜度才有理由存在。

常見限制

  • 資料偏差:模型會放大資料中的缺漏與不平衡。
  • 分布改變:上線後的輸入和訓練資料不同,品質可能下降。
  • 難以解釋:大量參數使個別預測原因不容易完整說明。
  • 對抗與捷徑:微小擾動或非核心線索可能影響輸出。
  • 資源成本:訓練與大規模推論涉及硬體、能源和維運。

模型在公開基準上分數高,只代表通過該資料與指標的測試。真正部署前仍要用自己的資料、錯誤成本與安全邊界驗收,生成模型可搭配 LLM 評測指南

常見問題

深度學習和機器學習有什麼差別?

深度學習是機器學習的一類,主要使用多層神經網路學習表示。機器學習還包括線性模型、決策樹、支援向量機等方法;深度學習通常更適合影像、聲音和文字等高維資料。

神經網路真的在模仿人腦嗎?

它受到生物神經元概念啟發,但現代人工神經網路是數學模型,不是大腦模擬器。節點、權重和激活函數不代表模型具有人類意識、情緒或理解方式。

層數越多,模型一定越準嗎?

不一定。更多層能提高表示能力,也增加訓練難度、延遲與過度擬合風險。殘差連接、正規化與最佳化方法能協助訓練深網路,但最終仍要靠獨立測試資料比較。

學深度學習一定要買 GPU 嗎?

不用。概念、數學與小型範例可用一般電腦或免費雲端環境。需要訓練大型模型、處理高解析影像或大量實驗時,再評估租用雲端 GPU 或專用硬體。

Transformer 已經取代 CNN 和 RNN 了嗎?

沒有完全取代。Transformer 在語言與多模態系統非常重要,CNN 仍有高效率視覺應用,RNN 也適合部分串流與時間序列任務。實際選擇取決於資料、延遲、記憶體和部署環境。

資料來源

№ · further reading

延伸閱讀