??一.神經網絡
?
??1. 全連接神經網絡(Fully Connected Network, FCN)??
??核心概念:??
- ??輸入層??:接收原始數據(如數字、圖片像素等)? ?數字矩陣 。
- ??隱藏層??:對數據進行計算和變換(可以有多個隱藏層)。
- ??輸出層??:給出最終結果(如分類標簽、預測值等)。
??計算方式:??
每個神經元的輸出計算如下:
a=h(w?x+b)
- x:輸入數據
- w:權重(決定輸入的重要程度)
- b:偏置(調整輸出的偏移)
- h:激活函數(如 ReLU、Sigmoid,讓網絡能學習復雜模式)
??特點:??
- ??全連接??:每一層的每個神經元都與下一層的所有神經元相連。
- ??適合簡單任務??(如分類數字、預測房價),但處理圖像等高維數據時效率較低。
??2. 神經網絡的訓練與優化??
??核心目標:??
找到最佳的 ??權重(w)?? 和 ??偏置(b)??,讓模型的預測盡可能準確。
??訓練過程:??
- ??前向傳播??:輸入數據經過網絡計算,得到預測值?y。
- ??計算誤差??:用 ??損失函數(Loss Function)?? 衡量預測值與真實值的差距。
- ??反向傳播??:從輸出層反向調整?w?和?b,讓誤差變小。
- ??優化算法??(如梯度下降):不斷更新參數,使模型越來越準。
??簡單理解:??
- 就像學習騎自行車,一開始會摔倒(誤差大),但通過不斷調整(優化參數),最終能騎得穩(預測準)。
??3. 卷積神經網絡(CNN)的引入??
??為什么需要 CNN???
全連接網絡在處理圖片時:
- ??參數太多??(一張 100x100 的圖片,全連接層可能有上百萬參數!)
- ??計算太慢??,且容易過擬合。
??CNN 的核心:卷積核(Filter)??
- ??作用??:像一個小窗口,在圖片上滑動,提取局部特征(如邊緣、紋理)。
- ??優點??:
- ??參數更少??(共享權重,減少計算量)。
- ??保留空間信息??(適合圖像、視頻等數據)。
??典型結構:??
- ??卷積層(Convolution)??:提取特征
- ??池化層(Pooling)??:降低數據量(如取最大值或平均值)
- ??全連接層(FC)??:最終分類或回歸
??適用場景:??
- 圖像識別(如人臉檢測、物體分類)
- 視頻分析、醫學影像處理等
??總結對比??
??網絡類型?? | ??適用場景?? | ??核心特點?? |
---|---|---|
??全連接網絡(FCN)?? | 簡單分類、回歸(如房價預測) | 所有神經元相連,參數多 |
??卷積網絡(CNN)?? | 圖像、視頻等空間數據 | 用卷積核提取特征,參數更高效 |
??為什么需要激活函數???
??核心問題:??
如果不用激活函數,多層神經網絡會退化成“單層線性模型”。
- ??例子??:假設激活函數是線性的,比如?h(x)=2x,那么一個 3 層網絡的計算過程是:y(x)=h(h(h(x)))=2×2×2×x=8x這其實等價于單層網絡?y(x)=8x,多層網絡沒有發揮任何優勢。
??關鍵作用:??
激活函數引入??非線性??,使得神經網絡可以:
- 學習復雜模式(比如圖像中的曲線、文本中的語義關系)。
- 解決線性模型無法處理的問題(如分類復雜數據)。
- 讓深層網絡真正發揮“深度”價值,而不是簡單堆疊線性計算。
??1. Sigmoid 激活函數??
??公式:??
??特點:??
? ??優點??:
- 輸出在 (0,1) 之間,適合做??概率輸出??(比如二分類問題,判斷“是貓”或“不是貓”)。
- 計算簡單,早期神經網絡常用。
? ??缺點??:
- ??梯度消失??:
- 當輸入?z?很大或很小時,導數?y′?接近 0,導致參數(w,b)幾乎不更新,深層網絡訓練困難。
- 比如,z=10?時,y≈1,y′≈0,梯度幾乎消失。
- ??輸出不對稱??:?
- ????????輸出恒為正(> 0),導致后續層的輸入總是正數,影響參數優化效率。
- ??訓練慢??:
- ????????梯度更新方向不穩定,優化過程耗時較長。
??適用場景??:二分類問題的輸出層(現代神經網絡隱藏層一般不用 Sigmoid)。
??2. Tanh 激活函數??
??公式:??
??特點:??
? ??優點??(相比 Sigmoid):
- ??輸出對稱??:
- 輸出在 (-1, 1) 之間,以 0 為中心,緩解了 Sigmoid 的“恒正”問題,訓練更穩定。
- ??收斂更快??:
- 梯度更新更合理,模型訓練速度比 Sigmoid 快。
? ??缺點??:
- ??梯度消失仍然存在??:
- 當?∣z∣?很大時,導數?y′?接近 0,深層網絡依然可能訓練困難。
- ??非線性能力有限??:
- 和 Sigmoid 類似,Tanh 仍然是“飽和型”激活函數,對復雜數據的擬合能力不如 ReLU 等現代激活函數。
??適用場景??:RNN、LSTM 等序列模型(隱藏層),二分類問題的輸出層(替代 Sigmoid)。
??對比??
??激活函數?? | ??輸出范圍?? | ??優點?? | ??缺點?? | ??適用場景?? |
---|---|---|---|---|
??Sigmoid?? | (0, 1) | 適合概率輸出,計算簡單 | 梯度消失、訓練慢、輸出不對稱 | 二分類輸出層 |
??Tanh?? | (-1, 1) | 輸出對稱,訓練比 Sigmoid 快 | 仍有梯度消失問題 | RNN/LSTM 隱藏層 |
3. ??ReLU & Leaky ReLU 激活函數?
??一、ReLU(修正線性單元)??
??1. 公式與計算規則??
- ??直觀理解??:輸入 > 0 時,直接輸出原值;輸入 ≤ 0 時,輸出 0。反向傳播時,正輸入的梯度恒為 1,負輸入的梯度為 0。
??2. 核心優勢?? ?
- ??解決梯度消失??:正區間的梯度恒為 1,深層網絡訓練時梯度能穩定傳遞(不像 Sigmoid/Tanh 會接近 0)。
- ??計算極快??:只需判斷是否大于 0,沒有指數、除法等復雜運算,適合大規模網絡(如 CNN、Transformer)。
- ??稀疏激活??:負輸入直接輸出 0,讓部分神經元“關閉”,提升模型效率。
??3. 主要缺點?? ?
??神經元死亡問題??:
- 如果某個神經元的輸入長期 ≤ 0(比如初始化不好或學習率太高),它的梯度永遠是 0,參數無法更新,這個神經元就“死”了,失去作用。
- 影響:部分神經元失效,降低模型表達能力。
??適用場景??:
- ??絕大多數深度學習模型??(如 CNN、全連接網絡)的隱藏層默認選擇。
- 代表網絡:ResNet、VGG、AlexNet 等。
??二、Leaky ReLU(帶泄漏的 ReLU)??
??1. 公式與計算規則??
- ??直觀理解??:輸入 > 0 時和 ReLU 一樣;輸入 ≤ 0 時,輸出一個很小的比例(如 0.01 倍),而不是直接歸零。
??2. 核心優勢?? ?
??解決神經元死亡??:
- 負輸入也有微小梯度(如 0.01),神經元不會完全“死掉”,保留了學習能力。
??3. 主要缺點?? ?
- ??需要調參??:泄漏系數?a?是人工設定的(通常 0.01),不同任務可能需要調整。
- ??訓練可能不穩定??:正負區間的處理方式不同,可能導致梯度更新波動。
??適用場景??:
- 擔心 ReLU 神經元死亡的場景(如訓練不穩定或深層網絡)。
- 改進版:??PReLU??(Parametric ReLU),讓?a?變成可學習的參數,自動優化。
??三、對比?
??特性?? | ??ReLU?? | ??Leaky ReLU?? |
---|---|---|
??計算速度?? | ?? 極快(主流選擇) | ?? 快(稍慢于 ReLU) |
??梯度消失?? | ? 正區間無消失 | ? 正區間無消失 |
??神經元死亡?? | ? 可能死亡 | ? 緩解死亡問題 |
??超參數?? | 無 | 需設定泄漏系數?a |