前向傳播就是資料從輸入層流向輸出層的過程,每一層都做:線性變換(矩陣乘法) → 非線性變換(激活函數)
若沒有激活函數,多層神經網路等同於單層線性模型,無法學習非線性規律。激活函數引入非線性,讓網路能擬合複雜函數。
| 激活函數 | 公式 | 輸出範圍 | 常見用途 | 缺點 |
|---|---|---|---|---|
| Sigmoid | 1/(1+e⁻ˣ) | (0, 1) | 二元分類輸出層 | 梯度消失 |
| Tanh | eˣ-e⁻ˣ / eˣ+e⁻ˣ | (-1, 1) | RNN 隱藏層 | 梯度消失 |
| ReLU | max(0, x) | [0, ∞) | CNN / 深度網路隱藏層 | Dead Neuron |
| Leaky ReLU | max(0.01x, x) | (-∞, ∞) | 改善 Dead Neuron | α 需調整 |
| Softmax | eˣⁱ / Σeˣʲ | (0,1) 且和=1 | 多類別分類輸出層 | 計算量大 |
| 問題 | 表現 | 原因 | 解法 | 考試關鍵字 |
|---|---|---|---|---|
| 過擬合 Overfitting |
訓練準確率高 測試準確率低 |
模型太複雜 訓練資料太少 |
Dropout、L1/L2正則化 增加資料、早停法 |
泛化能力差 |
| 欠擬合 Underfitting |
訓練和測試 準確率都低 |
模型太簡單 訓練不夠 |
增加神經元/層數 訓練更多 Epoch |
高偏差(Bias) |
| 最佳化器 | 特點 | 適用情境 |
|---|---|---|
| SGD 隨機梯度下降 | 每次用一筆資料更新,計算快但震盪大 | 大規模資料集基礎訓練 |
| Mini-batch SGD | 每次用一小批(32/64筆)資料,平衡速度與穩定性 | 最常見的訓練方式 |
| Adam | 自動調整學習率,結合動量與 RMSProp | 最廣泛使用,適合大多數任務 |
| Adagrad | 自動調整每個參數的學習率 | 稀疏資料(考試考點!) |