1. 深度學習導論
導論和簡介的基礎知識和路徑。
深度學習的各項涵蓋范圍:深度學習MLPs,然后是機器學習、邏輯回歸,知識基礎等等
1)連結+神經網絡等等:Cybernetics控制論,Connectionism連結主義,Neural Networks神經網絡等
其中,控制論是研究動態系統如何通過反饋機制實現自我調節和控制的跨學科領域,核心關注信息、控制和通信在生物、機器和社會系統中的流動。
Connectionism(聯結主義)是一種基于神經網絡模擬智能的理論框架,認為認知功能源于簡單單元(神經元)之間的連接權重調整。關鍵思想分布式表征、學習即權重調整、受生物啟發。
與Cybernetics的關系。控制論提供系統層面的框架(如反饋),聯結主義是其具體實現之一。
兩者都關注適應性,但聯結主義更側重可學習的網絡結構。
神經網絡:神經網絡是聯結主義的具體計算模型,由多層互聯的“神經元”組成,通過數學運算模擬信息處理。
關鍵特點
層級結構:輸入層、隱藏層、輸出層
激活函數:決定神經元是否激活(如ReLU、Sigmoid)
訓練算法:如反向傳播(Backpropagation)
1.1 數學基礎
- 線性代數
1) L p L_p Lp?距離( L p d i s t a n c e L_p distance Lp?distance對于兩個向量 x = ( x 1 , . . . , x n ) x=(x_1, ...,x_n) x=(x1?,...,xn?)和 y = ( ) y=() y=()
L_p距離衡量的是兩個點在n維空間中的“距離”,不同的 p 值對應不同的距離衡量方式。
L p ( x i , x j ) = ∥ m n ∥ p = ( ∑ i = 1 n ∣ x i ( l ) ? x j ( i ) ∣ p ) 1 / p L_p(x_i, x_j)=\begin{Vmatrix} m & n\end{Vmatrix}_p=(\sum^n_{i=1}|x^{(l)}_i-x^{(i)}_j|^p)^{1/p} Lp?(xi?,xj?)=∥∥?m?n?∥∥?p?=(∑i=1n?∣xi(l)??xj(i)?∣p)1/p$
其中, x i ∈ R n x_i\in\mathbb{R^n} xi?∈Rn, x j ∈ R n x_j\in\mathbb{R^n} xj?∈Rn,其中 L ∞ L_\infty L∞?定義為: L ∞ ( x i , x j ) = m a x l ∣ x i ( l ) ? x j ( l ) ∣ L\infty(x_i, x_j)=max_l|x^{(l)}_i-x^{(l)}_j| L∞(xi?,xj?)=maxl?∣xi(l)??xj(l)?∣
2) L 1 L_1 L1?范數(Manhattan Distance / 曼哈頓距離)
特點:計算的是各維度差值絕對值的和。
幾何意義:在網格狀道路(如曼哈頓街區)中,從A點到B點需要走過的實際路徑長度(只能橫平豎直走)
當p=1時,L_p距離變為 L_1范數(也叫曼哈頓距離)
∥ m n ∥ 1 = \begin{Vmatrix} m & n\end{Vmatrix}_1 = ∥∥?m?n?∥∥?1?=
應用場景:
a. 魯棒性要求高的場景:數據中存在異常值(離群值)
3) L 2 L_2 L2?范數
特點: L 2 d e f i n e s a s s u m i n ( x i ) 2 L_2\, defines \, as \sqrt {sum^n_i(x_i)^2} L2?definesassumin?(xi?)2?,其中 x = [ x 1 , x 2 . . . , x n ] T , x ∈ R x=[x_1,x_2...,x_n]^T, x\in\mathbb{R} x=[x1?,x2?...,xn?]T,x∈R
幾何意義:
4)PCA(Principal component analysis;主成分分析技術)
數據降維方式,將n維數據降低到指定的K維。數據降維有以下優點:
假設在 R n \mathbb{R}^n Rn中有 m m m個點{ x ( 1 ) , . . . , x ( n ) x^{(1)}, ..., x^{(n)} x(1),...,x(n)},希望對點進行有損壓縮-使用更少的內存但損失精度去存儲這些點。
編碼這些點的方式是用低維表示,則對于每個點 x ( i ) ∈ R l x^{(i)}\in\mathbb{R^l} x(i)∈Rl,若 l l l比 n n n小,則使用了更少的內存來存儲原來的數據。希望找到一個編碼函數,根據輸入返回編碼, f ( x ) = c f(x)=c f(x)=c;也希望找到解碼函數,給定編碼重構輸入, x ≈ g ( f ( x ) ) x≈g(f(x)) x≈g(f(x))
PCA由選擇的解碼函數而定,為了簡化解碼器,使用矩陣乘法映射回 R n \mathbb{R}^n Rn,即 g ( c ) = D c g(c)=Dc g(c)=Dc,其中 D ∈ R n x 1 D\in\mathbb{R}^{nx1} D∈Rnx1是定義解碼的矩陣。
5)特征分解(eigendecomposition)是使用最廣的矩陣分解之一,即將矩陣分解成一組特征向量和特征值
方陣A的特征向量(eigenvector)是值與A相乘后對該向量進行壓縮的非零向量 v v v: A v = λ v Av=\lambda v Av=λv
標量 λ \lambda λ被成為這個特征向量的特征值(evgenvalue,類似定義左特征向量(left eigenvector),有 v T A = λ v T v^{T}A=\lambda v^{T} vTA=λvT
若 v v v是 A A A的特征向量,那么縮放后的向量 s v ( s ∈ R , s ) sv(s\in\mathbb{R},s) sv(s∈R,s) - 概率論和信息理論基礎
1)概率論是用于表示不確定性聲明的數學框架,不僅提供了量化不確定性的方法,也提供了用于導出新的不確定聲明(statement)的公理
2)聯合概率:包含多個條件且所有條件同時成立的概率,記作$P{X=a}$
3)基礎概率論知識:
KaTeX parse error: Expected 'EOF', got '}' at position 18: …x;\mu, \sigma^2}? = \sqrt1/()
4) - 機器學習基礎
- 數據計算
1.2 深度學習基礎
分類基礎:包括分類(決策樹Decision Tree,K近鄰)、集群、回歸(邏輯回歸logistic Regression、SVM)、降維
1)決策樹
2)K近鄰
T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) T = {(x_1, y_1),(x_2, y_2), ..., (x_N, y_N)} T=(x1?,y1?),(x2?,y2?),...,(xN?,yN?)
其中, x i x_i xi?
3)
- 深度前饋神經網絡
其中,常用的激活函數有 Sigmoid函數、雙曲正切激活函數(tanh)、修正線性單元(ReLU)等。
梯度消失指在神經網絡反向傳播過程中梯度值逐漸減小趨近于零,導致靠近輸入層的參數更新緩慢或停滯;梯度爆炸則指梯度值迅速增大呈指數級增長,導致參數更新劇烈震蕩甚至訓練失敗。
1)Sigmoid函數
單調增函數: Sigmoid函數是單調增函數,輸出范圍在[0,1]之間,且越是負向增大,越接近于0
Sigmoid函數會造成梯度消失問題,從圖像中我們也可以得知,當輸入特別大或是特別小時,神經元的梯度幾乎接近于0,這就導致神經網絡不收斂
由于輸出不以0為均值,導致轉入下一層的輸入非0。導致了若 Sigmoid函數的輸出全部為正數,那么傳入下一層神經網絡的值永遠大于0,這時參數無論怎么更新梯度都為正。正是基于上述的缺點, Sigmoid函數近年來的使用頻率也在漸漸減弱。
2)Tanh函數又名雙曲正切激活函數
是 Sigmoid函數的變形,其數學表達式為: t a n h ( x ) = s i n h ( x ) / c o s h ( x ) = ( e x ? e ( ? x ) ) / ( e x + e ( ? x ) ) tanh(x)=sinh(x)/cosh(x)=(e^x-e^(-x))/(e^x+e^(-x)) tanh(x)=sinh(x)/cosh(x)=(ex?e(?x))/(ex+e(?x)),函數圖像如圖3-9所示:
3)修正線性單元ReLU
ReLU激活函數又名修正線性單元,是目前深層神經網絡中越來越受歡迎的一種激活函數,其數學表達式為:f(x) = max(0,x),函數圖像如下圖所示
相比于上述的 Sigmoid和tanh兩種激活函數,ReLU激活函數完美的解決了梯度消失的問題,因為它的線性的、非飽和的
但是ReLU激活函數也有一些缺陷:訓練的時候不適合大梯度的輸入數據,因為在參數更新之后,ReLU的神經元不會再任何數據節點被激活,這就會導致梯度永遠為0。比如:輸入的數據小于0時,梯度就會為0,這就導致了負的梯度被置0,而且今后也可能不會被任何數據所激活,也就是說ReLU的神經元“壞死”了。
所以針對ReLU函數上述的缺點,又出現了帶泄露的ReLU(Leaky ReLU)和帶參數的ReLU(Parametric ReLU)
Leaky ReLU是ReLU激活函數的變形,主要是針對ReLU函數中神經元容易壞死的缺陷,將原點左側小于0的部分,賦予一個很小的斜率。其效果通常要好于ReLU激活函數,但實踐中使用的頻率并沒有那么高。數據公式為:f(x) = max(0, x) + γmin(0, x)。通常,γ是一個很小的常數,如:0.01。
4)其他激活函數: Leaky ReLU是ReLU激活函數的變形,主要是針對ReLU函數中神經元容易壞死的缺陷,將原點左側小于0的部分,賦予一個很小的斜率。其效果通常要好于ReLU激活函數,但實踐中使用的頻率并沒有那么高。數據公式為:f(x) = max(0, x) + γmin(0, x)。通常,γ是一個很小的常數,如:0.01
- 正則化
1)神經網絡的正則化是通過在模型訓練過程中添加約束或懲罰項來防止過擬合,提高模型泛化能力的技術
2) - 優化
- CNN
- RNN
- 粒子算法
- 應用相關
1.3 深度學習研究
- 線性工廠模型Linear Factor Models
- 自動代碼AutoCodes
參考文獻:
[1] 深度學習“花書”啃書指導視頻!
[2]一文帶你讀懂激活函數