深度神经网络算法分析
深度神經網絡算法分析
人工智能的分類
機器學習的類型
人工智能,機器學習,深度學習的關系
人工智能是個大范圍,包括了機器學習,機器學習包括了深度學習
深度學習的應用
深度學習與傳統機器學習的差別
深度學習的三個基礎算法
深度學習與人工神經網絡
一句話來說就是深度學習的基礎就是人工神經網絡,而人工神經網絡是由生物神經網絡的啟發得來的。
人工神經網路的最小單元稱為感知機,但是現在常常稱為神經元。
神經元的內部
神經元是是人工神經網絡的最小單元
在上圖中
- 輸入:一個向量
- 輸出:一個標量
- 在中間部分,一個大圓,一個正方形,代表運算
- 線性變換(加權求和)
- 非線性變化(非線性函數)
輸出就是由線性變換和非線性變換得到的
其實每個神經元可以看作一個復合函數,整個神經網絡就是一個大的復合函數
于是,神經元內部的運算,就可以分開看成下面兩個函數,其中w,b分別為權重和偏秩,一開始可以人為取值,隨著機器的不斷學習,w和b會不斷的更新。
z=∑i=1kf(xi)=x1w1+x2w2+x3w3+.....+xkwk+ba=g(z)z=\sum_{i=1}^{k}f(x_i)=x_1w_1+x_2w_2+x_3w_3+.....+x_kw_k+b\\ a=g(z) z=i=1∑k?f(xi?)=x1?w1?+x2?w2?+x3?w3?+.....+xk?wk?+ba=g(z)
可以看出,a=f°g(x1,x2,x3.....,xk)a=f\circ g(x_1,x_2,x_3.....,x_k)a=f°g(x1?,x2?,x3?.....,xk?)的復合函數形式。
also:
通過人為設置得到的參數稱為超參數。
系統輸入與輸出
深度學習模型本質上也是一個運算過程
以房價預測為例:
樣本(特征值):面積,樓層,戶型。。。。
標簽:價格
那么通過采集得到的數據集應該是下面這樣:
多層感知機
神經網絡又被稱為多層感知機模型
上圖中一共有四層神經模型,不算入input層,只有參與運算過程的層數才能算進去,包括output層
FC(全連接):每個神經元都和下一層的所有神經元相連
訓練過程三部曲
1. 正向傳播(從input到output,計算預測值)
- 參數(w,bw,bw,b)
- 常見的激活函數
2. 反向傳播(從output到input)
- 常見的損失函數
- BP算法
3. 梯度下降
- 參數的更新過程
通過預測值和真實值之間的損失函數不斷的求偏導數,更新w,b的值。
w=w??dww=w-\partial dww=w??dw
b=b??dbb=b-\partial dbb=b??db
- 學習率
- 梯度下降的三種方式
激活函數
在上面提到的a=g(z)a=g(z)a=g(z),其中g就是激活函數,存在于非線性變換里面。通過引入激活函數,使得模型具有非線性的劃分能力。將每個線性組合送入激活函數,將輸出結果送入下一層神經元的輸入。
常見的激活函數:
sigmoid函數:(logistic函數)
早期流行的激活函數,RNN-LSTM網絡還會用到。
f(z)=11+e?zf(z)=\displaystyle\frac1{1+e^{-z}}f(z)=1+e?z1?
特點是:
用法:
通常用來做二分類
缺點:
圖像(python 繪制):
Tanh 函數(雙切正切函數)
f(x)=ex?e?xex+e?x\displaystyle f(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}f(x)=ex+e?xex?e?x?
特點:
用法:
缺點:
圖像:
Relu 函數(激活函數的重要發明)
f(x)=max(0,x)f(x)=max(0,x)f(x)=max(0,x)
特點:
用法:
深層網絡中隱藏層常用
缺點:
過于生猛,一言不合就會使得數據變為0,從此結點后的相關信息全部丟失。
圖像:
其實還有一種函數leaky-ReLU 函數,就是在其負區間弄一定斜率的函數,解決RELU函數的0區間帶來的影響,一般為max(kx,0)max(kx,0)max(kx,0),k就是leak常數,一般為0.01或0.02,或通過學習得到。
also:
圖像繪制可以看sigmoid Relu and tanh函數圖像繪制
特殊的激活函數
y=xy=xy=x,僅僅用于線性回歸
總結
以上是生活随笔為你收集整理的深度神经网络算法分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GeekPwn嘉年华:黑客操控POS机
- 下一篇: 带滤镜拍照的app_iPhone摄影师必