讀書筆記 (3):Inside the Neural Network - 從神經元到深度網路

|9 min read|Updated: |
AIDeep LearningFNNNeural NetworksActivation FunctionsNotes

接續上一篇 Deep Learning 模型訓練攻略,我們了解了訓練的整體流程。現在,我們要打開那個神經網路的「黑盒子」,看看裡面到底長什麼樣子。

這篇文章將涵蓋 Deep Learning 最基礎的組件:神經元 (Neuron)層 (Layer) 以及賦予它們靈魂的 Activation Function

1. From Biology to Math: The Neuron

Deep Learning 的靈感來自於人類大腦的神經元。

Figure 1: Biological vs Artificial Neuron. 左圖是生物神經元,右圖是人工神經元 (Perceptron)。

Analogy: 樹突 (Dendrites) 是輸入,細胞本體 (Cell Body) 是處理器,軸突 (Axon) 是輸出。

在數學上,一個人工神經元 (Perceptron) 的運作非常簡單:

  1. Input (xx): 接收來自前一層的訊號。
  2. Weight (ww): 每個輸入都有一個權重,代表該訊號的重要性。
  3. Bias (bb): 偏移項,類似於線性方程式 y=ax+by=ax+b 中的截距 bb,控制神經元被激活的門檻。
  4. Weighted Sum (zz): 將所有輸入加權總和。 z=(wixi)+bz = \sum (w_i \cdot x_i) + b
  5. Activation (aa): 通過一個非線性函數,決定輸出值。 a=σ(z)a = \sigma(z)

2. The Architecture: From Perceptron to MLP

單一個神經元能做的事情很有限,但當我們把它們連接起來,奇蹟就發生了。

2.1 Perceptron (The Simplest ANN)

最原始的感知器 (Perceptron) 只有輸入層 (Input Layer) 和輸出層 (Output Layer),中間沒有任何隱藏層。 它最大的限制是只能解決線性問題,非線性問題就無法解決。最著名的例子就是它無法解決 XOR 問題,如下圖所示。

Figure 2: AND, OR, XOR. 左圖是 AND 決策邊界,中圖是 OR 決策邊界,右圖是 XOR,Perceptron 無法解決。

2.2 Shallow Neural Networks

為了解決 XOR 這類非線性問題,我們在輸入與輸出之間加入了一層 Hidden Layer (隱藏層)。 這層隱藏層的神經元透過非線性 Activation Function,將輸入空間扭曲、變形,使得原本線性不可分的數據變得可分。這就是所謂的 Shallow Neural Network (淺層神經網路)

2.3 Deep Neural Networks (DNN)

如果我們不只加一層,而是加了很多層隱藏層呢?這就是 Deep Neural Networks (DNN),也就是 Deep Learning 名稱的由來。 層數越深,網路能提取的特徵就越抽象、越高級。

  • 淺層: 可能只識別出邊緣、線條。
  • 深層: 可以識別出形狀、物體部件(如眼睛、輪子),甚至完整的物體。

2.4 Feedforward Neural Network (FNN)

上述這種包含至少一個隱藏層的架構,在教科書中常被統稱為 Multi-Layer Perceptron (MLP)。 雖然名字叫 "Perceptron",但它其實是由許多 Perceptron 組成的網路,並且使用了非線性的 Activation Function。

這種架構也被稱為 Fully Connected Network (FCN)Dense Network,因為每一層的神經元都跟下一層的所有神經元相連。同時,因為訊號是單向傳遞(沒有迴圈),它也屬於 Feedforward Neural Network (FNN) 的一種。

Figure 2: Feedforward Neural Network (FNN) Architecture. 訊號從 Input Layer 單向傳遞到 Output Layer,中間經過多個 Hidden Layers。

1. What is "Feedforward"?

"Feedforward" 意味著資訊流是單向的 (One Direction),從輸入層流向輸出層,中間沒有迴圈 (No Loops)。這與 Recurrent Neural Networks (RNN) 不同,後者的資訊可以在網路中循環。

2. Layer Composition

一個標準的 FNN 通常由三種層組成:

  • Input Layer: 接收原始資料 (如圖片像素),不進行任何計算。
  • Hidden Layers: 負責特徵提取 (Feature Extraction)。層數越多 (Deep),能提取的特徵越抽象。
  • Output Layer: 給出最終預測結果 (如分類機率)。

3. Pros & Cons

  • Pros (優點):
    • 通用性強: 理論上可以擬合任何函數 (Universal Approximation Theorem)。
    • 基礎架構: 是許多現代深度學習模型 (如 Transformer 的 FFN 層) 的基礎組件。
  • Cons (缺點):
    • 無記憶性: 無法處理序列數據的前後文關係 (不像 RNN)。
    • 忽略空間結構: 對於圖像數據,它會破壞像素間的空間關係 (不像 CNN)。

3. The Soul: Activation Functions

如果神經網路只有加權總和 (z=wx+bz = wx+b),那無論疊加多少層,它本質上還是 Linear Model。 為了讓網路能學習複雜的曲線(非線性關係),我們必須在每一層神經元輸出前加上一個 Activation Function

3.1 Common Activation Functions

Figure 3: Common Activation Functions. Sigmoid, Tanh 與 ReLU 的函數圖形比較。

Role: 引入非線性 (Non-linearity),讓模型能擬合任意複雜的函數。

Table 1: Comparison of Activation Functions

FunctionCharacteristicsPros & ConsBest Use
SigmoidS型曲線 (010 \sim 1)(+) 輸出像機率
(-) Vanishing Gradient (梯度消失)
(-) Not Zero-centered
Binary Classification 的 Output Layer
TanhS型曲線 (11-1 \sim 1)(+) Zero-centered
(-) 仍有梯度消失問題
某些 Hidden Layers (如 RNN)
ReLUmax(0,x)max(0, x)(+) 計算快
(+) 解決梯度消失
(-) Dying ReLU (部分神經元壞死)
Hidden Layers 的首選

3.2 Choosing the Right Activation

  • Hidden Layers: 閉著眼睛選 ReLU 就對了。它簡單、有效,是現代 Deep Learning 的預設選擇。
  • Output Layer: 取決於你的任務類型。

Table 2: Output Layer Selection

TaskActivationOutput Range
Regression (預測房價)Linear (None)-\infty \sim \infty
Binary Classification (是貓還是狗)Sigmoid010 \sim 1 (機率)
Multi-class Classification (辨識手寫數字)Softmax機率分佈 (總和為 1)

4. Conclusion

這篇文章我們拆解了神經網路的基本構造:

  • Neuron: 模仿生物神經元的數學單元 (wx+bwx+b)。
  • FNN (Feedforward Neural Network): 透過堆疊 Hidden Layers,讓網路擁有處理非線性問題的能力,是深度學習的基礎架構。
  • Activation Function: 網路的靈魂,特別是 ReLU,它是現代深度學習能成功的關鍵之一。

現在我們有了架構 (Body) 和靈魂 (Activation),但這個腦袋目前還是一片空白。下一篇,我們將探討 How Machines Learn,也就是透過 BackpropagationGradient Descent 來訓練這個大腦的過程。


Note: 本文內容整理自「深度學習介紹」課程講義,由 AI 輔助撰寫,並經人工審核確保正確性。

Checkpoint重點複習