完整定義
全連接層是傳統神經網路的基本構成單元,每個神經元接收前一層所有輸入,與對應的權重相乘並求和,再經過激活函數非線性變換得到輸出。每條連接都是獨立的可學習參數。相比卷積層的局部連接和參數共享,全連接層提供最大的表達能力,但參數數量和計算量也最大。通常用於深度學習網路的最終層進行分類決策或迴歸預測。
核心概念
全連接層(又稱密集層或線性層)是深度學習的基礎構件。其核心思想是,前一層的每個輸出都與當前層的每個神經元建立連接。若前一層有 n 個輸出,當前層有 m 個神經元,則全連接層包含 n×m 個權重參數和 m 個偏差項。
數學表達為: y = σ(Wx + b)
其中 W 是權重矩陣,x 是輸入向量,b 是偏差項,σ 是激活函數。
全連接層的優勢在於其通用逼近定理(universal approximation theorem):單層隱藏層全連接網路可以逼近任意連續函數,前提是隱藏層神經元足夠多。
運作原理
全連接層的運作分為前向傳播和反向傳播兩部分:
前向傳播:計算加權和並應用激活函數。輸入 x 與權重矩陣 W 相乘,加上偏差 b,經激活函數 σ(如 ReLU、Tanh)得到輸出。
非線性轉換:激活函數引入非線性,使單層網路能學習非線性映射。沒有激活函數的堆疊全連接層等價於單層線性變換。
反向傳播:梯度計算相對直接。通過鏈式法則計算損失相對每個權重的梯度,然後用梯度下降法更新參數。
過度參數化:全連接層極易過度參數化。網路可能記住訓練數據而非學習泛化特徵,導致過擬合。
實際應用
全連接層在多個場景發揮核心作用:
分類網路的輸出層:在 CNN、RNN 後接全連接層進行最終分類決策。例如 ImageNet 分類任務中,卷積層提取特徵,全連接層進行 1000 類分類。
自編碼器:全連接層構建編碼器和解碼器,進行無監督特徵學習和維度縮減。
強化學習策略網路:在 DQN、A3C 等算法中,全連接層輸出動作價值或策略概率。
推薦系統:全連接層在協同過濾和深度學習推薦模型中學習用戶-物品交互模式。
時序預測:結合 LSTM 或其他序列模型,全連接層進行最終預測或回歸。
常見誤區
計算複雜度誤解:全連接層參數多,但計算量本身為 O(nm),對於適度尺寸的層並不一定比卷積層慢,瓶頸往往在內存而非計算。
激活函數的必要性被低估:初學者有時認為堆疊足夠多的全連接層就能學習複雜函數,但不用激活函數的多層網路仍是線性的,必須加激活函數。
權重初始化的忽視:全連接層對初始化敏感。使用不當初始化(如全零或過大隨機數)會導致梯度消失或爆炸。
與卷積層的簡單比較:有人認為卷積層完全優於全連接層,但在某些任務(如結構化數據分類)中,全連接層表現更優。
與相關技術的比較
全連接層 vs 卷積層:卷積層利用局部連接和參數共享減少參數,全連接層則完全連接。卷積層適合空間數據(圖像),全連接層適合結構化數據。在現代 CNN 中,全連接層常被全局平均池化(global average pooling)替代,以進一步減少參數。
全連接層 vs 注意力層:注意力機制根據內容動態調整權重,全連接層的權重固定。注意力層在自然語言處理中更靈活,但計算複雜度更高。
標準全連接 vs 稀疏連接:稀疏全連接層只連接部分神經元,減少參數和計算。這在某些應用中能保持性能同時提升效率。
全連接層 vs 圖神經網路層:圖神經網路層考慮圖結構,只與相鄰節點相連,而全連接層無視結構連接所有節點。對於圖數據,圖神經網路層更合適。
常見問題
全連接層參數眾多,擁有很高的模型容量。在數據有限的情況下,網路容易記住訓練樣本的細節而非學習泛化特徵。解決方案包括:使用正則化(L1/L2)限制權重大小、應用 Dropout 隨機丟棄神經元、使用提前停止(early stopping)監控驗證集性能、增加訓練數據、使用批正規化穩定訓練。這些技術合理組合能有效緩解過擬合。
不用激活函數的全連接層只進行線性變換 y = Wx + b。多層線性變換的組合仍是線性變換,無法增加模型表達能力。激活函數(如 ReLU、Sigmoid、Tanh)引入非線性,使多層網路能逼近任意非線性函數。實踐表明,沒有激活函數的深層網路性能很差,無法解決複雜問題。
不恰當的初始化會導致梯度消失或爆炸。例如,權重過大時,梯度也很大,容易爆炸;權重過小時,梯度消失,網路難以訓練。Xavier 初始化和 He 初始化考慮層的輸入輸出維度,確保信號在前向傳播中保持合理尺度,反向傳播中梯度也保持穩定。合適的初始化能顯著加快訓練收斂。
相關術語
來源
這個術語目前沒有標註外部來源。
其他格式:Markdown 版本