全連接層 是什麼?

Fully Connected Layer:全連接層 的完整解釋

神經網路中每個神經元都與前一層所有神經元相連的層級,每條連接都有獨立的可學習權重,能進行高度非線性的特徵轉換,常用於網路最後階段進行分類或迴歸。

核心概念

全連接層(又稱密集層或線性層)是深度學習的基礎構件。其核心思想是,前一層的每個輸出都與當前層的每個神經元建立連接。若前一層有 n 個輸出,當前層有 m 個神經元,則全連接層包含 n×m 個權重參數和 m 個偏差項。

數學表達為: y = σ(Wx + b)

其中 W 是權重矩陣,x 是輸入向量,b 是偏差項,σ 是激活函數。

全連接層的優勢在於其通用逼近定理(universal approximation theorem):單層隱藏層全連接網路可以逼近任意連續函數,前提是隱藏層神經元足夠多。

運作原理

全連接層的運作分為前向傳播和反向傳播兩部分:

  1. 前向傳播:計算加權和並應用激活函數。輸入 x 與權重矩陣 W 相乘,加上偏差 b,經激活函數 σ(如 ReLU、Tanh)得到輸出。

  2. 非線性轉換:激活函數引入非線性,使單層網路能學習非線性映射。沒有激活函數的堆疊全連接層等價於單層線性變換。

  3. 反向傳播:梯度計算相對直接。通過鏈式法則計算損失相對每個權重的梯度,然後用梯度下降法更新參數。

  4. 過度參數化:全連接層極易過度參數化。網路可能記住訓練數據而非學習泛化特徵,導致過擬合。

實際應用

全連接層在多個場景發揮核心作用:

  1. 分類網路的輸出層:在 CNN、RNN 後接全連接層進行最終分類決策。例如 ImageNet 分類任務中,卷積層提取特徵,全連接層進行 1000 類分類。

  2. 自編碼器:全連接層構建編碼器和解碼器,進行無監督特徵學習和維度縮減。

  3. 強化學習策略網路:在 DQN、A3C 等算法中,全連接層輸出動作價值或策略概率。

  4. 推薦系統:全連接層在協同過濾和深度學習推薦模型中學習用戶-物品交互模式。

  5. 時序預測:結合 LSTM 或其他序列模型,全連接層進行最終預測或回歸。

常見誤區

  1. 計算複雜度誤解:全連接層參數多,但計算量本身為 O(nm),對於適度尺寸的層並不一定比卷積層慢,瓶頸往往在內存而非計算。

  2. 激活函數的必要性被低估:初學者有時認為堆疊足夠多的全連接層就能學習複雜函數,但不用激活函數的多層網路仍是線性的,必須加激活函數。

  3. 權重初始化的忽視:全連接層對初始化敏感。使用不當初始化(如全零或過大隨機數)會導致梯度消失或爆炸。

  4. 與卷積層的簡單比較:有人認為卷積層完全優於全連接層,但在某些任務(如結構化數據分類)中,全連接層表現更優。

與相關技術的比較

  • 全連接層 vs 卷積層:卷積層利用局部連接和參數共享減少參數,全連接層則完全連接。卷積層適合空間數據(圖像),全連接層適合結構化數據。在現代 CNN 中,全連接層常被全局平均池化(global average pooling)替代,以進一步減少參數。

  • 全連接層 vs 注意力層:注意力機制根據內容動態調整權重,全連接層的權重固定。注意力層在自然語言處理中更靈活,但計算複雜度更高。

  • 標準全連接 vs 稀疏連接:稀疏全連接層只連接部分神經元,減少參數和計算。這在某些應用中能保持性能同時提升效率。

  • 全連接層 vs 圖神經網路層:圖神經網路層考慮圖結構,只與相鄰節點相連,而全連接層無視結構連接所有節點。對於圖數據,圖神經網路層更合適。

常見問題