深度學習的崛起
深度學習並不是一項新技術,其概念起源於 1940 年代,最初旨在模仿人腦神經元的運作。然而,早期的淺層神經網路難以處理複雜資料,而 1980 年代出現的深度神經網路也因缺乏有效的訓練方法而未能普及。
直到 2006 年,Geoffrey Hinton 提出了訓練深度神經網路的新方法,才為這項技術帶來了突破。隨後幾年間,由於運算晶片性能的大幅提升以及網路時代資料量的爆炸性增長,深度學習的訓練效率得到了極大的提升,使其在語音辨識、圖像辨識和文本理解等領域取得了顛覆性的進展。
這股熱潮在 2017 年 Google 的圍棋程式擊敗人類棋手柯潔後,再次受到全球矚目。這次勝利凸顯了科技巨頭在深度學習領域的大力投入,並宣告了人工智慧新一輪的發展浪潮。
深度學習的本質是利用深度神經網路來處理海量資料,其中最典型的兩種結構是卷積神經網路 (CNN) 和循環神經網路 (RNN)。
深度學習的基礎
深度學習的核心在於使用深度神經網路來處理大量資料。它與傳統的機器學習不同,傳統方法需要手動提取特徵,而深度學習模型能自己學習並提取有意義的特徵。這項技術的興起主要得益於三個要素:資料量的爆炸性增長、運算能力的顯著提升,以及演算法的進步。當資料量充足時,深度學習模型的表現通常優於傳統演算法。
神經網路的運作原理
神經網路是一種模仿人腦神經元結構的模型,其運算過程主要包含兩個關鍵步驟:
-
線性組合:將輸入變數與其對應的權重係數相乘後求和。
-
激勵函數:將線性組合的結果進行非線性轉換。常用的激勵函數有 ReLU、Sigmoid 和 Tanh,其中 ReLU 是目前最主流的選擇。
這兩個步驟會不斷重複,從輸入層到輸出層的運算過程稱為正向傳播 (forward propagation)。神經網路的所有參數都集中在線性組合的權重係數上。
訓練神經網路的步驟
訓練神經網路的目標是找到一組最佳的權重參數,使模型的預測值與真實值之間的偏離程度最小。這個偏離程度由價值函數 (Cost Function) 來衡量。訓練過程主要透過以下步驟來進行:
-
梯度下降 (Gradient Descent):一種最佳化方法,其目標是找到使價值函數下降最快的方向。
-
反向傳播 (Backpropagation):基於梯度下降思想,用來修正神經網路中參數的過程,透過不斷迭代來尋找最佳參數。
神經網路的最佳化策略
為了讓模型訓練得更快、效果更好,可以採用幾種最佳化策略:
-
Mini-Batch:將龐大的訓練資料集分成許多小的批次 (batches)。每次訓練迭代只使用一個批次的資料,而不是整個資料集。這樣能大幅縮短每次迭代的運算時間,加快訓練速度。
-
輸入資料標準化 (Standardization):將所有輸入資料減去其均值後再除以標準差。這會使各個特徵的資料分佈更均勻,讓價值函數變得更圓滑,從而避免梯度下降時出現「鋸齒形」的路徑,加快收斂。在對訓練集進行標準化後,驗證集和測試集也需要進行同樣的處理。
-
Momentum:一種改良後的梯度下降演算法。它的核心思想是將過去幾次的梯度平均後作為當前的梯度,類似於物理學中的「動量」概念,能幫助訓練過程更快地找到最佳點。
-
正則化 (Regularization):用來防止模型過度擬合 (overfitting) 的技巧。
-
L1/L2 正則化:在價值函數的基礎上增加一個懲罰項,來限制權重的大小,避免模型過於複雜。
-
Dropout:在每次訓練迭代中,隨機地「關閉」一部分神經元,讓神經網路的結構被臨時「壓縮」。每次訓練時,模型都會使用一個不同的子網路,這能有效防止神經元之間產生過於依賴的關係。Dropout 僅在訓練時使用,測試時則會開放所有神經元。