深度學習-自學手冊


人工智能

機器學習
神經網絡
前饋神經網絡:沒有回路的
反饋神經網絡:有回路的
DNN 深度神經網絡
CNN 卷積神經網絡
RNN 循環神經網絡
LSTM 是RNN的一種,長短期記憶網絡
自然語言處理

神經網絡

這里寫圖片描述

神經元-分類器
Hebb 學習方法,隨機 –類似SGD

一篇神經網絡入門
這里寫圖片描述

BP反向傳播,表示很復雜的函數/空間分布
從最后一層往前調整參數,反復循環該操作

y=a(wx+b) x輸入 y輸出 a激活函數 b偏移 w權重
每一層網絡都是這樣

神經網絡訓練權重–使損失函數最小–SGD
BP是求梯度的一種方法

權重要初始化:均勻分布初始化權重

前饋神經網絡:多個感知器組合,由不同激活函數控制

激活函數:把線性–非線性的,一般用ReLU y=max(x,0)

輸入層與輸出層節點是固定的
圓圈是神經元,連線代表權重

兩層神經網絡可以無限逼近任意連續函數
多層神經網絡本質就是復雜函數擬合

隱藏層的數量,每層的節點數都是手工調的,根據經驗來判斷

神經網絡防止過擬合–正則化–權重衰減
正則化–Dropout

多層神經網絡–深度學習
參數一樣的情況下,更深的網絡比淺層網絡有更好的識別效率

Keras

1、Dense層
Dense就是常用的全連接層,第一層指定輸入維度和輸出維度,后面的層只需要指定輸出維度。

2、Activation層
激活層對一個層的輸出施加激活函數。一般用relu。
有 relu、tanh、sigmoid

sigmoid:未激活是0,激活是1。[0,1]。容易飽和,輸出不是0均值的–收斂慢

tanh:[-1,1] 。梯度飽和–梯度為0

relu:f(x)=max(0,x)。
優點:收斂快,梯度不會飽和,計算簡單
缺點:神經元壞死,x<0時梯度為0,該神經元就無效了。
學習率大–壞死;合適的較小的學習率–不會頻繁壞死

LeakyReLU :
f(x)=αx,(x<0)
f(x)=x,(x>=0)
這里的 α 是一個很小的常數。這樣,即修正了數據分布,又保留了一些負軸的值,使得負軸信息不會全部丟失。

PReLU:
對於 Leaky ReLU 中的α,通常都是通過先驗知識人工賦值的。
然而可以觀察到,損失函數對α的導數我們是可以求得的,可以將它作為一個參數進行訓練。
帶參數的ReLU,a是可調的,對a本身做SGD,不斷更新a

3、Dropout層
Dropout將在訓練過程中每次更新參數時按一定概率(rate)隨機斷開輸入神經元,Dropout層用於防止過擬合。正則化。

4、優化器optimizers
SGD
默認:optimizer=’sgd’

  • lr:大或等於0的浮點數,學習率,步長,梯度的權重
  • momentum:大或等於0的浮點數,動量參數。加速收斂,跳出局部最小值。 v=\beta*v-a*dx 更新x<–x+v 。其中\beta
    即momentum系數,通俗的理解上面式子就是,如果上一次的momentum(即v)與這一次的負梯度方向是相同的,那這次下降的幅度就會加大,所以這樣做能夠達到加速收斂的過程。
  • decay:大或等於0的浮點數,每次更新后的學習率衰減值,lr會越來越小
  • nesterov:布爾值,確定是否使用Nesterov動量,梯度更新時做校正,避免前進太快,提高靈敏度。

Adam
默認:optimizer=’adam’

  • lr:大或等於0的浮點數,學習率
  • beta_1/beta_2:浮點數,
    0<\beta<1,通常很接近1。一階矩估計/二階矩估計,動態調整每個參數的學習率。每次迭代學習率都有范圍,使參數比較平穩。善於處理稀疏梯度,非平穩目標,內存需求小。為不同參數計算不同的自適應學習率。適用於非凸優化,大數據集和高維空間
  • epsilon:大或等於0的小浮點數,防止除0錯誤,非常小的正浮點數

經驗:

  • 對於稀疏數據,盡量使用學習率可自適應的優化方法,不用手動調節,而且最好采用默認值
  • SGD通常訓練時間更長,但是在好的初始化和學習率調度方案的情況下,結果更可靠
  • 如果在意更快的收斂,並且需要訓練較深較復雜的網絡時,推薦使用學習率自適應的優化方法。
  • Adadelta,RMSprop,Adam是比較相近的算法,在相似的情況下表現差不多。
  • 在想使用帶動量的RMSprop,或者Adam的地方,大多可以使用Nadam取得更好的效果

5、 損失函數loss
mean_squared_error或mse:均方差
mean_absolute_error或mae:絕對誤差
mean_absolute_percentage_error或mape:平均絕對百分差
mean_squared_logarithmic_error或msle
binary_crossentropy(亦稱作對數損失,logloss),邏輯回歸,和sigmoid一起使用。
categorical_crossentropy:亦稱作多類的對數損失,和softmax一起使用。
這里寫圖片描述

6、評價指標和訓練
這里寫圖片描述

7、LSTM
這里寫圖片描述


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com