前饋式神經網路是深度學習中最基本的網路結構,而梯度下降法則是訓練這類網路的重要手段。

梯度下降(Gradient Descent)是一種迭代優化算法,用於尋找某個損失函數的最小值。對於神經網路,損失函數描述了預測結果與實際目標之間的差異,最小化損失函數意味著我們的模型越來越準確。

梯度下降法基於損失函數 $L(\theta)$ 對模型參數 $\theta$ 的梯度:

$$ \nabla_{\theta} L(\theta) = \left[ \frac{\partial L}{\partial \theta_1}, \frac{\partial L}{\partial \theta_2}, ..., \frac{\partial L}{\partial \theta_n} \right] $$

梯度指向的是損失函數上升最快的方向,因此,梯度下降法通過以下公式更新參數,沿梯度的相反方向進行搜索,直到找到局部最小值:

$$ \theta \leftarrow \theta - \eta \nabla_{\theta} L(\theta) $$

其中,$\eta$ 為學習率(Learning Rate),控制每次更新的步長。


前饋式神經網路中的梯度下降

在前饋式神經網路(FNN)中,神經元的權重和偏置需要通過梯度下降法來更新。為了了解梯度下降在 FNN 中如何應用,我們首先需要回顧神經網路的前饋過程和損失函數。

1. 前饋過程

假設輸入向量為 $x$,輸出為 $\hat{y}$,那麼網路的輸出可以通過以下公式得到:

$$ \hat{y} = \sigma(W^{(L)} \sigma(W^{(L-1)} ... \sigma(W^{(1)} x + b^{(1)}) + b^{(L-1)}) + b^{(L)}) $$

其中:

這個過程計算網路在當前參數 $W$ 和 $b$ 下對於輸入 $x$ 的預測值 $\hat{y}$

2. 損失函數

損失函數衡量預測值 $\hat{y}$ 與真實標籤 $y$ 之間的誤差。常見的損失函數有: