深層前饋式神經網路(Deep Feedforward Neural Networks, DFNN)是前饋式神經網路的一種擴展。與多層感知機(MLP)相似,DFNN 由多層神經元組成,但特點在於隱藏層的數量較多,通常有多層隱藏層,因此被稱為「深層」網路。這樣的深度讓它能夠處理更加複雜的模式和數據結構。
DFNN 的目的是通過多層隱藏層的神經元來提取更高層次的數據特徵。這些特徵的提取過程從底層開始,逐層提取出更加抽象的數據信息,從而能夠學習和表示更複雜的模式。
DFNN 的前饋過程與 MLP 相似,但具有更多的隱藏層。假設一個具有 $L$ 層的網路,其中每一層都有相應的權重矩陣 $W^{(l)}$ 和偏置向量 $b^{(l)}$。輸入 $x$ 經過每一層後的變換公式如下:
第 $l$ 層的輸出為:
$$ h(l)=σ(W(l)h(l−1)+b(l))h^{(l)} = \sigma(W^{(l)} $$
其中,$\sigma$ 是激活函數,如 ReLU、Sigmoid 或 Tanh 等。$h^{(l-1)}$ 是前一層的輸出。
最終的輸出層 $y$ 通常是一個預測向量,取決於具體的任務(如分類或回歸問題)。
在每層的神經元中,激活函數 $\sigma$ 是一個關鍵組件,它能夠引入非線性,使網路能夠學習複雜的非線性映射。常見的激活函數有:
ReLU(Rectified Linear Unit):
$$ \sigma(z) = \max(0, z) $$
Sigmoid:
$$ \sigma(z) = \frac{1}{1 + e^{-z}} $$
Tanh:
$$ \sigma(z) = \frac{e^z - e^{-z}}{e^z + e^{-z}} $$
多層隱藏層允許 DFNN 提取更加抽象的特徵。每一層的神經元在進行線性變換和非線性激活後,可以捕捉到數據中不同層次的模式。隨著層數的增加,網路能夠更好地描述數據中的複雜關係。
DFNN 的訓練過程主要依賴於倒傳遞演算法(Backpropagation),該演算法通過計算每一層的梯度來更新權重和偏置。其目標是最小化損失函數 $L$,通常使用梯度下降法來調整網路的參數。
損失函數 $L$ 例如可以是平方損失(用於回歸問題)或交叉熵損失(用於分類問題)。
假設損失函數為 $L$,則對於每一層的權重 $W^{(l)}$,我們使用梯度下降法進行更新:
$$ W^{(l)} = W^{(l)} - \eta \frac{\partial L}{\partial W^{(l)}} $$
其中 η 是學習率。