深度學習基礎
- 淺層網絡 VS 深層網絡
- 深度學習常用的激活函數
- Sigmoid 函數
- ReLU 函數
- Softplus 函數
- tanh函數
- 歸納偏置
- CNN
- 適用數據
- 歸納偏置
- RNN
- 適用數據
- 歸納偏置
淺層網絡 VS 深層網絡
淺層神經網絡參數過多,導致模型的復雜度和計算量很高,難以訓練。而深層網絡利用多層的線性變換和共享權重的方式,使其可以用更少的參數來表示更復雜的函數,大大減少參數的數量和計算量。
同時,深層網絡可以通過層次化的方式,從低層到高層,逐漸提取數據中的抽象和語義信息,從而增強了模型的泛化能力和解釋能力。例如,CNN 通過使用多層的卷積核,來形成一個特征的層次結構,從邊緣、角點、紋理等低層特征,到物體、場景、語義等高層特征;RNN 通過使用循環結構,來形成一個內部的記憶機制,從而捕捉數據中的長期依賴關系和動態變化規律。
深度學習常用的激活函數
Sigmoid 函數
具體形式: f ( x ) = 1 1 + e ? x f(x) = \frac{1}{1+e^{-x}} f(x)=1+e?x1?
- 輸出范圍
(0, 1)
,可以用于表示概率或二分問題 - 缺點:容易出現梯度消失等問題,影響模型的收斂速度和效果
ReLU 函數
具體形式: R e L U ( x ) = m a x ( 0 , x ) ReLU(x) = max(0, x) ReLU(x)=max(0,x)
- 輸出范圍
[0, +∞)
,可以用于解決梯度消失的問題,提高模型的訓練速度 - 缺點:部分神經元的輸出可能永遠為零,導致模型的表達能力下降
Softplus 函數
具體形式: S o f t p l u s ( x ) = l o g ( 1 + e x ) Softplus(x) = log(1 + e^x) Softplus(x)=log(1+ex)
- 輸出范圍
(0, +∞)
,是 ReLU 函數的平滑版本,避免神經元輸出恒為零的問題 - 缺點:涉及指數和對數運算,計算量比 ReLU 大。且存在輸出不以零為中心的問題。
tanh函數
具體形式: t a n h ( x ) = e x ? e ? x e x + e ? x tanh(x) = \frac{e^x-e^{-x}}{e^x+e^{-x}} tanh(x)=ex+e?xex?e?x?
- 輸出范圍
(-1, 1)
,可以用于解決輸出不以零為中心的問題。 - 缺點:仍然存在梯度消失的問題,尤其是當輸入的絕對值較大時,梯度會接近于零。
歸納偏置
歸納偏置可以理解為,從現實生活中觀察到的現象中,歸納出一定的規則,然后對模型做一定的約束,從而起到模型選擇的作用。
CNN
適用數據
CNN 擅長捕捉圖像或文本中的顯著特征,適合處理具有空間結構和局部相關性的數據。
歸納偏置
CNN 的歸納偏置:認為信息具有空間局部性,可用滑動卷積共享權重的方式降低參數空間
- 局部性:數據中的某些特征或模式,只與它們周圍的一部分數據相關,而與遠處的數據無關。例如 CNN 通過使用小尺寸的卷積核來實現局部性,即只用卷積核覆蓋輸入的一小部分,從而提取出局部的特征。【就好比你拿一個放大鏡,不斷掃描一張圖片,提出圖片的局部特征】
- 空間不變性:數據中的某些特征或模式,無論出現在哪個位置,都是相同或相似的。例如圖像中的貓臉,不論是出現再圖像的左上角還是右下角,都是一個貓的練。CNN 通過使用共享權重的卷積核,來實現空間不變性,即用同樣的卷積核來掃描整個輸入,從而提取出相同或相似的特征。
- 平移等效性:這個假設是指數據中的某些特征或模式,經過平移變換后,仍然保持不變。比如,圖像中的一個貓的臉,無論它向左或向右平移一定的距離,仍然是一個貓的臉。CNN 通過使用池化層,來實現平移等效性,即用池化層來降低輸入的分辨率,從而減少平移變換對特征的影響。
RNN
適用數據
RNN 能夠把握歷史信息,適合處理具有時序結構和上下文依賴性的數據。
歸納偏置
RNN 的歸納偏置:將時序信息納入考慮,強調順序重要性
- 時序性:指數據中的某些特征或模式,是隨著時間的推移而發生變化的,而且變化的方式是有一定的規律的。比如,語音中的一個單詞,是由多個音素按照一定的順序組成的,而且每個音素的發音受到前后音素的影響。RNN通過使用循環結構,來實現時序性,即將上一時刻的輸出或隱藏狀態作為下一時刻的輸入,從而形成一個內部的記憶機制,使得它能夠捕捉數據中的長期依賴關系和動態變化規律。
- 時間不變性:指數據中的某些特征或模式,無論它們出現在哪個時間點,都是相同或相似的。比如,文本中的一個句子,無論它出現在文本的開頭還是結尾,都是一個句子。RNN通過使用共享權重,來實現時間不變性,即用同樣的參數來處理每一個時刻的輸入,從而提取出相同或相似的特征。