首頁 / 學習筆記 / 中級科目三 / 模型調整與優化

iPAS AI中級中級科目三⚙️ 機器學習核心
📖 學習筆記・中級科目三

CH5.4 模型調整與優化

模型調整與優化

🧭 本節架構

超參數調校(學習率、批次大小、網路深度寬度、激活函數、優化器、正則化係數)→ 正則化與模型穩定化技術(L1/L2/Elastic Net/Dropout/早停法)→ 資料增強與重取樣(過採樣/欠採樣/類別權重)→ 模型壓縮與加速(知識蒸餾/模型剪枝/量化/混合精度訓練),四大面向共同解決「效能不穩、推論延遲、過擬合、資源消耗過高」等實務落地問題。

1. 超參數總覽

超參數(Hyperparameters)是由開發者手動指定、不由資料自動學習得出的參數,對訓練穩定性、收斂速度與最終效能影響深遠。

超參數定義過大/過小的影響
學習率(Learning Rate)控制每次反向傳播後參數更新的幅度過大:震盪、發散;過小:收斂慢、易卡在局部極小值
批次大小(Batch Size)每次參與梯度更新的樣本數量過小:梯度波動大、訓練不穩;過大:泛化能力下降、易卡局部最小值
網路深度與寬度層數與每層神經元數量,決定模型容量過深:梯度消失(需搭配殘差連接);過寬:易過擬合;過淺:欠擬合
正則化係數 λ控制正則化項在損失函數中的影響力λ 大:模型簡化但可能欠擬合;λ 小:模型靈活但易過擬合
⚠️ 易錯點

批次大小與學習率具高度耦合關係——若批次放大而未同步調整學習率,可能導致訓練無效或不穩定,這是實務調參中容易忽略的交互作用。

2. 激活函數選型(複習與延伸)

激活函數適用範圍特點
Softmax多類別單選輸出層輸出為機率分佈,總和為 1,確保類別互斥
ReLU深度網路隱藏層解決梯度消失、計算簡單快速,但輸出不在固定範圍
Sigmoid二元分類、多標籤分類輸出層每個輸出獨立表示機率,不保證總和為 1
Tanh隱藏層(需正負對稱輸出時)中心對稱,中心區域梯度較大,學習較快

3. 優化器完整比較

優化器核心公式概念適用範圍特點
SGD\(\theta_{t+1}=\theta_t-\eta\cdot\nabla_\theta L(\theta_t)\)小型模型、記憶體有限環境計算簡單,但收斂慢、易受噪聲影響
Momentum\(v_{t+1}=\gamma v_t+\eta\nabla_\theta L(\theta_t)\),\(\theta_{t+1}=\theta_t-v_{t+1}\)梯度震盪大的深度網路加入慣性減少震盪,加快收斂
Adagrad\(\theta_{t+1}=\theta_t-\dfrac{\eta}{\sqrt{G_t+\epsilon}}\nabla_\theta L(\theta_t)\)稀疏特徵場景(文字、NLP)自動調整各參數學習率,但學習率會持續衰減至過小
Adam結合一階動量 \(m_t\) 與二階動量 \(v_t\),並做偏差修正幾乎所有深度學習模型收斂快且穩定、自動調整學習率,但記憶體需求較高,泛化能力有時略遜 SGD

Adam 完整公式:

\[m_t=\beta_1 m_{t-1}+(1-\beta_1)\nabla_\theta L(\theta_t), \quad v_t=\beta_2 v_{t-1}+(1-\beta_2)(\nabla_\theta L(\theta_t))^2\]
\[\hat{m}_t=\frac{m_t}{1-\beta_1^t}, \quad \hat{v}_t=\frac{v_t}{1-\beta_2^t}, \quad \theta_{t+1}=\theta_t-\frac{\eta \cdot \hat{m}_t}{\sqrt{\hat{v}_t}+\epsilon}\]
🎯 核心觀念

Adagrad 的學習率會隨訓練過程持續衰減,可能導致模型過早停止學習;Adam 透過二階動量的偏差修正機制,有效緩解了這個問題,同時保留了 Momentum 的加速效果,這是兩者的核心差異,也是 Adam 成為「萬用優化器」的原因。

4. 正則化與模型穩定化技術

技術公式效果
L1 正則化(Lasso)\(\text{Loss}=\text{原始損失}+\lambda\sum|\theta_i|\)可將不重要參數縮為 0,自動特徵選擇
L2 正則化(Ridge)\(\text{Loss}=\text{原始損失}+\lambda\sum\theta_i^2\)權重縮小但不會變 0,穩定權重大小
Elastic Net\(\text{Loss}=\text{原始損失}+\lambda_1\sum|\theta_i|+\lambda_2\sum\theta_i^2\)兼具特徵選擇與權重平滑,適合處理多重共線性
Dropout訓練時以機率 \(p\) 隨機關閉神經元讓模型學習多種「子網路」路徑,降低神經元間過度依賴
早停法(Early Stopping)透過 patience 參數監控驗證集效能防止過擬合,節省訓練時間,無需修改模型架構
⚠️ 易錯點

Dropout 只在訓練階段生效;測試階段不再丟棄神經元,而是把權重按保留率縮放,以保持輸出期望值一致。忘記在測試時關閉 Dropout(或未正確縮放)是常見的實作錯誤。

5. 資料增強與重取樣策略

方法原理優點缺點
過採樣(Oversampling)增加少數類別樣本數(複製或用 SMOTE 合成新樣本)平衡類別分佈、不損失原始資料單純複製易過擬合;合成樣本可能不自然
欠採樣(Undersampling)減少多數類別樣本數降低計算成本、實作簡單可能丟失有價值資料,導致準確度下降
類別權重調整(Class Weighting)損失函數中賦予少數類別更高權重不需更動樣本數,保留資料完整性權重需謹慎調整,過大會過度補償

6. 模型壓縮與加速

技術定義優點常見問題
知識蒸餾(Knowledge Distillation)大型教師模型知識傳遞給小型學生模型學生模型體積小、推論快,準確度接近教師模型蒸餾需額外訓練資源;教師模型偏誤也會傳遞
模型剪枝(Pruning)移除影響較小的權重或神經元減少參數、提升運算效率過度剪枝會使準確度明顯下降;非結構化剪枝硬體支援較差
量化(Quantization)高精度參數(32-bit)轉為低精度(8-bit)大幅降低儲存與記憶體需求,適合硬體加速器直接量化可能降低準確度,常需搭配量化感知訓練(QAT)
混合精度訓練訓練中同時使用 FP16 與 FP32加速訓練、減少記憶體佔用需硬體支援,低精度運算可能數值不穩定,需梯度縮放
剪枝類型說明硬體整合難易
結構化剪枝(Structured Pruning)移除整個神經元、卷積通道或層級較容易與硬體加速器整合
非結構化剪枝(Unstructured Pruning)移除零散的單一權重參數模型稀疏化,但硬體支援較差
🧠 記憶技巧

模型壓縮四招口訣:「蒸餾換小腦袋、剪枝去掉沒用的神經連結、量化降低數字精度、混合精度訓練速度快」——四種技術可以組合使用,共同解決模型落地邊緣裝置的挑戰。

📝 章節考題自測(先作答,再點開解答)

Q1. 在訓練深度學習模型時,隨機將部分神經元暫時關閉以減少過擬合的技術是什麼?

(A) Early Stopping (B) Dropout (C) Batch Normalization (D) Quantization

解答與解析

參考 Ans: (B) Dropout 透過隨機將神經元暫時設為零,迫使模型在每次訓練都以不同的「子網路」進行學習,有效降低模型對特定神經元的過度依賴,減少過擬合風險。

Q2. 在模型壓縮技術中,知識蒸餾(Knowledge Distillation)的主要目的是什麼?

(A) 減少資料維度 (B) 降低參數數量使模型更小 (C) 將大型模型的知識轉移至小型模型 (D) 增強資料平衡

解答與解析

參考 Ans: (C) 知識蒸餾是利用大型、高性能的教師模型,將知識以軟標籤形式傳遞給小型學生模型,讓學生模型在參數較少的情況下,仍維持接近的預測能力,與單純剪枝(減少參數)的手段不同。

Q3. 在優化器中,哪一個方法會自動調整每個參數的學習率,特別適用於稀疏資料?

(A) Momentum (B) Adagrad (C) Adam (D) SGD

解答與解析

參考 Ans: (B) Adagrad 能針對每個參數調整不同的學習率,累積梯度平方和後自動減小常被更新參數的學習步伐,適合處理特徵稀疏的場景(如文字分析),但學習率會不斷衰減至極小值。

Q4. 若批次大小(Batch Size)大幅提高,卻未同步調整學習率,最可能出現的問題是?

(A) 訓練效果必然提升 (B) 完全沒有影響 (C) 可能導致訓練無效或不穩定 (D) 記憶體使用量會下降

解答與解析

參考 Ans: (C) 批次大小與學習率具高度耦合,若批次放大而未調整學習率,可能導致訓練無效或不穩,這是超參數交互作用中容易被忽略的重點。

Q5. 假設某模型使用 Momentum 優化器,動量係數 γ=0.9,學習率 η=0.1,上一輪累積動量 \(v_t=2\),當前梯度 \(\nabla_\theta L(\theta_t)=1\),請計算更新後的動量 \(v_{t+1}\)。

(A) 1.9 (B) 2.0 (C) 2.9 (D) 0.29

解答與解析

參考 Ans: (A) \(v_{t+1} = \gamma \cdot v_t + \eta \cdot \nabla_\theta L(\theta_t) = 0.9\times2 + 0.1\times1 = 1.8+0.1 = 1.9\) Momentum 將前次動量按係數 γ 衰減後,加上本次梯度乘上學習率,模仿物理慣性使參數更新更平滑。

Q6. 若欲減少 AI 模型因少數群體樣本過少而造成的過擬合風險,可以採用哪種資料增強方法?

(A) SMOTE (B) Softmax (C) Momentum (D) Dropout

解答與解析

參考 Ans: (A) SMOTE(Synthetic Minority Over-sampling Technique)透過合成新樣本擴增少數類別資料,有助於平衡類別分佈,降低過擬合及模型偏誤風險。

Q7. 下列關於結構化剪枝與非結構化剪枝的敘述,何者正確?

(A) 結構化剪枝移除零散的單一權重,較容易與硬體整合 (B) 非結構化剪枝移除整個神經元或通道,硬體支援佳 (C) 結構化剪枝移除整個神經元、卷積通道或層級,較容易與硬體加速器整合 (D) 兩者完全相同

解答與解析

參考 Ans: (C) 結構化剪枝移除整個神經元、卷積通道或層級,較容易與硬體加速器整合;非結構化剪枝移除零散的單一權重參數,雖能達到更高稀疏化,但硬體支援較差。

Q8. 量化(Quantization)技術直接應用後,最常見的副作用與對應解法為何?

(A) 訓練時間變長,無解法 (B) 模型準確度可能下降,常搭配量化感知訓練(QAT)緩解 (C) 記憶體用量會增加 (D) 完全不影響模型表現

解答與解析

參考 Ans: (B) 直接量化可能導致模型準確度下降,常需搭配量化感知訓練(Quantization Aware Training, QAT),讓模型學習適應量化誤差,避免精度損失。