1. 全連接層的作用
全連接層(fully connected layers,簡稱FC)在卷積神經網路中扮演著「分類器」的重要角色。它們負責將卷積層提取的特徵圖(feature maps)轉換為一維向量,並傳遞給輸出層進行最終的分類或回歸任務。
然而,全連接層也面臨著參數冗餘的問題。據估計,全連接層的參數數量可能占整個網路參數的80%左右。為了解決這一問題,一些性能優異的網路模型,如ResNet和GoogLeNet,開始採用全局平均池化(global average pooling,簡稱GAP)來替代全連接層,以融合學到的深度特徵。這種替代方法不僅減少了模型的參數數量,還提高了模型的預測性能。
值得注意的是,盡管全連接層在某些情況下可能被全局平均池化所取代,但它們在模型表示能力遷移過程中仍然發揮著「防火牆」的作用。這意味著,在將模型從一個任務遷移到另一個任務時,全連接層可以幫助模型保留其關鍵特徵,從而提高遷移學習的效果。
綜上所述,全連接層在卷積神經網路中既是分類器也是關鍵組件。盡管它們面臨參數冗餘的挑戰,但隨著新型網路模型的發展,這些問題正在逐步得到解決。未來,隨著技術的不斷進步,我們期待全連接層在更多應用場景中發揮更大的作用。
2. 全連接神經網路簡介
人工神經網路(Artificial Neural Networks,簡稱ANNs)是一種模仿大腦神經網路行為特徵的演算法數學模型,用於分布式並行信息處理。這些模型通過調整內部節點之間的復雜連接關系,以達到處理信息的目的。
全連接神經網路在任意兩層間,每一層節點與下一層所有節點均相連接。這樣的結構使得網路能夠捕捉復雜的特徵模式。
在全連接層的前向傳播過程中,使用梯度下降演算法計算權重偏導,涉及訓練數據和權重初始化。通過迭代更新權重以最小化損失函數。反向傳播則是基於梯度下降原則,從輸出層向輸入層逐層計算梯度。
優化方法包括梯度下降法、隨機梯度下降法、Adam方法等。梯度下降法通過迭代更新參數來最小化損失函數,隨機梯度下降法則使用單個樣本進行快速更新,而mini batch梯度下降法則在兩者之間取得平衡,使用小批量數據進行更新。
在選擇學習率、參數更新策略以及處理極值點和鞍點時,面臨挑戰。Momentum方法引入動量加速梯度下降,Nesterov方法在極值附近提前減速,Adagrad和AdaDelta方法自適應調整學習率,Adam方法則結合了動量和自適應學習率調整。
Batch-Normalization(BN)操作標准化數據分布,使其期望為0,方差為1,通過可學習參數γ和β調整分布。Layer-Normalization(LN)對同一層輸出進行標准化,不受批量大小影響,適用於序列型網路。
Dropout技術在每個訓練批次中隨機屏蔽神經元,以減少過擬合,促進模型泛化能力。在訓練階段,神經元激活值以一定概率置為0;測試階段,權重乘以概率p。這一過程有助於降低特徵檢測器間的相互依賴,增強模型對多種特徵的學習能力。