在深度學習的發展過程中,梯度爆炸(Exploding Gradients)與梯度消失(Vanishing Gradients)問題一直是限制深度神經網路訓練效果的核心挑戰。這些現象不僅影響模型的收斂性,更直接關係到深度網路能否有效學習複雜的特徵表示。
選擇此研究方向的主要動機包括:首先,梯度不穩定問題是理解機器學習基本原理的關鍵,通過實際觀察這些現象,能夠加深對反向傳播演算法本質的理解。其次,隨著神經網路架構日益複雜,如何有效解決梯度問題的技術方案層出不窮,系統性地比較這些解決方案的效果具有重要的實務價值。最後,透過在不同基礎神經網路架構(MLP、CNN、RNN)上重現和解決梯度問題,可以建立完整的問題分析框架,為後續更複雜的深度學習研究奠定基礎。
專案方向:
本專案以PyTorch框架為基礎,系統性地研究梯度爆炸與梯度消失現象的重現、觀察與解決。研究範圍涵蓋三種主要的神經網路架構:MLP、CNN與RNN。
專案範圍:
首先設計基準模型(Baseline Models)來重現梯度消失與梯度爆炸的現象
然後系統性地測試各種解決方案的效果,包括Activation Function替換、權重初始化改進、正規化技術應用、梯度裁剪、以及架構層面的改進
最終聚焦於梯度行為的量化監控與可視化分析,透過追蹤梯度範數、權重分布變化以及訓練動態,建立梯度穩定性的評估指標
梯度爆炸與梯度消失:
A Survey of Advanced Gradient Methods in Machine Learning (IEEE Xplore)
A Simple Way to Initialize Recurrent Networks of Rectified Linear Units (arXiv:1504.00941v2)
Datasets:
MNIST
CIFAR-10
CIFAR-10 - Kaggle
CIFAR-10 - Papers With Code
研究設備:
(A) 軟體設備:
機器學習框架:PyTorch與相關函式庫scikit-learn、numpy、pandas
視覺化工具:matplotlib與seaborn,用於繪製訓練曲線、梯度分佈圖和權重直方圖
開發環境:VS code搭配uv虛擬環境
(B) 硬體設備:
作業系統: Windows 11 23H2
CPU: Intel Core i7-13700K
GPU: NVIDIA GeForce RTX 4070 SUPER 12G
RAM: DDR5 64G 5600MT/s
目前已實作程式的初步結果:
目前已基於MLP、CNN、RNN三種基礎模型在MNIST、CIFAR-10與Copy Memory Task中重現梯度爆炸與梯度消失狀況。
擬增加的程式實作方向:
嘗試使用不同的Activation Function、Optimizer、Learning rate、Initial weight
嘗試更改網路架構(增加Dropout等方法)
擬進行的實驗與分析:
評估不同的Activation Function、Optimizer、Learning rate、Initial weight對三種模型的穩定度影響程度
比較不同的網路架構對於三種模型的穩定度影響程度
A Survey of Advanced Gradient Methods in Machine Learning (IEEE Xplore)
A Simple Way to Initialize Recurrent Networks of Rectified Linear Units (arXiv:1504.00941v2)
MNIST - Kaggle
MNIST - Papers With Code
CIFAR-10 - Kaggle
CIFAR-10 - Papers With Code