1. 程式人生 > >深度學習相關總結

深度學習相關總結

部落格來源於本人在深度學習中的知識點總結,基於本人學習進度不定期更新。

1、為什麼相比於RNN,LSTM在梯度消失上表現更好?

2、CNN中卷積層的計算細節

Reference:
1. https://zhuanlan.zhihu.com/p/29119239
這裡寫圖片描述
  Feature Map: 卷積層計算之後的值。
  圖中通道數為5,通過kernels中計算,得到的Feature Maps(輸出矩陣)數量是通過:
  這裡寫圖片描述
  計算得到。
  因此8*8的影象中,3*3的kernel則得到的輸出矩陣維度為6*6。同時在同一個kernel中上一層的不同輸入通道的值卷積後相加。即得到的3個6*6,經過完全相加。
  最後的Fully-Connected層是完全擴充套件成1維向量,維度為1*(6*6*5)。
  
  1*1卷積核的作用:
  增加通道數、降低通道數、增加非線性變換。

3、深度學習中的優化演算法

  優化演算法之前討論兩個問題:
  1. 區域性最小值問題。在深度學習中,最優化問題其實並不容易困在區域性最小值點。在高維度空間時(如20000維),區域性最小值點需要在所有維度上都取得最小值,概率為220000,反而更容易困在鞍點處。
  同時平穩端(plateaus)也會使得學習變慢,因此可以通過學習率衰減例如Adam或者RMSProp加速學習。
  2. 指數加權(移動)平均(Exponentially Weighted (moving) average)
  在資料抖動較大的情況下,利用之前的整體變化趨勢預測當前值。例如預測今天的氣溫,可以對之前每天的氣溫進行平滑處理,即指數加權移動平均,一般形式為:

vt=βvt1+(1β)θt
  其中資料vt利用了前11β天的整體趨勢平均。
  這裡寫圖片描述
  為什麼是前11β時刻的的指數平均可以從上圖看出。當我們迭代帶入數值計算時,一般認為當權重佔比小於t時刻數值的三分之一((1ε)1ε=1e(13),引數變換即β11β)時,就不再認為t時刻前的資料參與平均。那麼可以看到當(1ε)為0.9的時候,指數係數為10,也即(1ε)1ε=0.910,共10個時刻的資料參與平均,當(1ε)為0.98時,指數係數為50,也即(1ε)1ε=0.9850,認為共50個時刻的資料參與平均。
3.1、隨機梯度下降(SGD)

  深度學習中的SGD指mini-batch gradient descent。在訓練過程中,採用固定的學習率。
這裡寫圖片描述
  其中,η是學習率,gt是梯度SGD完全依賴於當前batch的梯度,所以η可理解為允許當前batch的梯度多大程度影響引數更新。
  通常而言,就總訓練時間和最終代價而言,最優初始學習率的效果會好於大約迭代100次後最佳的效果。
  缺點:
  (1). 選擇合適的learning rate比較困難,且對所有的引數更新使用同樣的learning rate;
  (2). SGD容易收斂到區域性最優,並且在某些情況下可能被困在鞍點(其實在合適的初始化和step size的情況下,鞍點的影響並沒有很大)。

3.2、動量(momentum)

  動量方法旨在加速學習,特別是在面對小而連續的梯度但是含有很多噪聲的時候。動量模擬了物體運動時的慣性,即在更新的時候在一定程度上會考慮之前更新的方向,同時利用當前batch的梯度微調最終的結果。這樣則可以在一定程度上增加穩定性,從而更快的學習。
  這裡寫圖片描述
  這裡寫圖片描述
  特點:
  (1)、下降初期時,使用上一次引數更新,當下降方向一致時能夠加速學習
  (2)、下降中後期,在區域性最小值附近來回振盪時,gradient–>0,使得更新幅度增大,跳出陷阱;
  (3)、在梯度改變方向時,能減少更新。總體而言,momentum能夠在相關方向上加速學習,抑制振盪,從而加速收斂。

3.3、Nesterov動量

  Nesterov項在梯度更新時做出校正,避免前進太快,同時提高靈敏度。在動量中,我們將其展開為:
  這裡寫圖片描述
  可以看到,此前積累的動量mt1並沒有直接改變當前梯度gt,所以Nesterov的改進就是讓之前的動量直接影響當前的動量,即:
  這裡寫圖片描述
  所以,加上Nesterov項後,梯度在大的跳躍後,進行計算對當前梯度進行校正。
  Nesterov動量和標準動量的區別在於梯度的計算上。Nesterov動量的梯度計算是在施加當前速度之後。因此,Nesterov動量可以解釋為往標準動量方法中添加了一個校正因子。

3.4、自適應學習率演算法

  在訓練開始的時候,我們遠離最終的最優值點,需要使用較大的學習率。經過幾輪訓練之後,我們需要減小訓練學習率。
  對於採用mini-batch梯度下降時,在迭代的過程中會伴隨有噪音,雖然cost function會持續下降,但是演算法收斂的結果是在最小值附近處擺動,而減小學習率,則會使得最後的值在最小值附近,更加接近收斂點。
  這裡寫圖片描述

3.4.1、AdaGrad

  Divide the learning rate of each parameter by the root mean square of its previous derivatives(將每個引數除以之前所有梯度的均方和)。
  這裡寫圖片描述
  此處,對gt從1開始t進行一個遞推形成一個約束項regularizer,ε保證分母非0。
  特點:
  1. 前期gt較小的時候,regularizer較大,能夠放大梯度;
  2. 後期gt較大的時候,regularizer較小,能夠約束梯度;
  3. 適合處理稀疏梯度。
  缺點:
  1. 需要手動設定一個全域性的學習率;
  2. η設定過大時,會使regularizer過於敏感,對梯度的調節太大;
  3. 中後期,分母上梯度平方的累積將會越來越大,使gradient–>0,使得訓練提前結束。

3.4.2、Adadelta

  Adadelta是Adagrad的拓展,最初方案依舊是對學習率進行自適應約束,但是進行了計算上的簡化。Adagrad會累加之前所有的梯度平方,而Adadelta只累加固定大小的項,並且也不直接儲存這些項,僅僅是近似計算對應的平均值。即:
  這裡寫圖片描述 
  在此時Adadelta還是依賴於全域性學習率,但是作者處理後,
  這裡寫圖片描述
  此時Adadelta已經不再依賴於全域性學習率了。
  特點:
  1. 訓練初中期,加速效果不錯;
  2. 訓練後期,反覆在區域性最小值附近抖動。

3.4.3、RMSProp

  RMSProp可以看做為Adadalta的一個特例,也即上述式子中ρ=0.5,然後再求根的話,就變成RMS(均方根):
  這裡寫圖片描述
  隨著ηt在不同範圍內(11v)的平均,對於變化較大的值方向能夠抑制變化,較小的值方向加速變化,消除擺動加速收斂
  這裡寫圖片描述
  RMSProp的特點如下,
  優點:
  1. 由於採用了梯度平方的指數加權平均,改進了AdaGrad在深度學習中過早結束的問題,效果趨於二者之間;
  2. 適用於處理非平穩過程(也即過程依賴於時間,採用指數加權平均時對於非平穩過程處理較好)-對於RNN效果較好。
  缺點:
  1. 仍然依賴於全域性學習率。

3.4.4、Adam

  Adam(Adaptive Moment Estimation)本質上是帶有動量項的RMSProp,它利用了梯度的一階矩估計和二階矩估計動態調整每個引數的學習率。Adam的優點主要在於經過偏置校正(Bias correction,為了修正在訓練初期的誤差,當t變大後,偏置校正效果減弱)後,每一次迭代學習率都有個確定範圍,使得引數比較平穩。
  偏置修正(Bias Correction)的效果:
  當初始化v0=0時,v1=0.98v

相關推薦

深度學習相關總結

部落格來源於本人在深度學習中的知識點總結,基於本人學習進度不定期更新。 1、為什麼相比於RNN,LSTM在梯度消失上表現更好? 2、CNN中卷積層的計算細節 Reference: 1. https://zhuanlan.zhihu.com/

深度學習相關資料總結

近這兩年裡deep learning技術在影象識別和跟蹤等方面有很大的突破,是一大研究熱點,裡面涉及的數學理論和應用技術很值得深入研究,這裡總結一些在微博釋出和轉載的相關資料,以便查閱: 一、 @winsty  #NIPS2013# 

機器學習/深度學習 問題總結及解答

oos 情況 boost target rnn load 解答 兩種 blank 作者:原果 鏈接:https://www.nowcoder.com/discuss/71482 來源:牛客網 問題總結及資料鏈接 (1)機器學習部分 1 邏輯回歸部分 常

深度學習相關論文

1. 深度學習基礎及歷史 1.0 書 [0] 深度學習聖經 ★★★★★ Bengio, Yoshua, Ian J. Goodfellow, and AaronCourville. "Deep learning." An MIT Press book. (2015). https:/

基於CNN的常見深度學習網路總結歸納

本文主要是對前一段時間的深度學習進行歸納總結,其中有參考幾位主要博主的理解,也有自己對大神論文的一些翻譯及看法,如有問題,歡迎大家指正; 深度學習      深度學習主要是對人工神經網路的延伸,它的目的主要是模擬人腦的機制來解釋影象,深度學習通過組織底

【轉】一些深度學習模型總結

R.T from http://www.deeplearningmodel.net/   Variational Autoencoder Publication: Original VAE paper (2013) Publication: D

[深度學習]深度學習框架總結

深度學習庫比較 庫名 主語言 從語言 速度 靈活性 文件 適合模型 平臺 上手難易 開發者 模式 Tensorflo C++ cuda/python/Matlab/Ruby/R 中等

MATLAB2017深度學習工具箱總結

Matlab一直以來都有著神經網路工具箱,而從2016的版本開始,提供深度神經網路的相關工具。而到現如今2017的版本,功能更加完善,因此本人在此總結Matlab 2017所包含的深度學習的功能。如今版

單層神經網路、多層感知機、深度學習總結

關於神經網路的幾點思考:單層——多層——深度 神經網路本質上是一個逼近器,一個重要的基本屬性就是通用逼近屬性。 通用逼近屬性: 1989年,George Cybenko發表文章“Approximation by Superpositions of a Sigmoidal

深度學習相關最新圖書推薦

作者:不會停的蝸牛 | CSDN AI專欄作者 責編:王藝 | CSDN AI編輯/記者 [email protected] 如果您是初學者,那麼您可能會將深度學習與機器學習混為一談。實際上,機器學習包含深度學習,深度學習只是機器學習的研究領域之

【人工智慧】機器學習深度學習 知識點總結及面試題

1、反向傳播思想:計算出輸出與標籤間的損失函式值,然後計算其相對於每個神經元的梯度,根據梯度方向

機器學習深度學習 知識點總結及面試題

1、反向傳播思想: 計算出輸出與標籤間的損失函式值,然後計算其相對於每個神經元的梯度,根據梯度方向更新權值。 (1)將訓練集資料輸入到ANN的輸入層,經過隱藏層,最後達到輸出層並輸出結果,這是ANN的前向傳播過程; (2)由於ANN的輸出結果與實際結果有誤差,則

機器學習——神經網路、深度學習 知識點總結 及 面試題彙總

1、反向傳播思想: 計算出輸出與標籤間的損失函式值,然後計算其相對於每個神經元的梯度,根據梯度方向更新權值。 (1)將訓練集資料輸入到ANN的輸入層,經過隱藏層,最後達到輸出層並輸出結果,這是ANN的前向傳播過程; (2)由於ANN的輸出結果與實際結果有誤差,則計

深度學習相關連結

http://blog.csdn.net/zhoubl668/article/details/42921187 http://ml.memect.com/article/machine-learning-guide.html http://www.cnblogs.co

文字分類之深度學習應用總結

總覽本教程分為五個部分,分別是:詞嵌入(Word Embeddings) + 卷積神經網路(CNN,Convolutional Neural Network) = 文字分類使用一個單層 CNN 架構調整 CNN 超引數考慮字元級的 CNN考慮用更深層的 CNN 進行分類1.詞

【乾貨】二十五個深度學習相關公開資料集

https://www.analyticsvidhya.com/blog/2017/06/hands-on-with-deep-learning-solution-for-age-detection-practice-problem/

CG中的深度學習 |Siggraph 2017 相關論文總結

這是侑虎科技第249篇文章,感謝作者李旻辰供稿,歡迎轉發分享,未經作者授權請勿轉載。當然,如果您有任何獨到的見解或者發現也歡迎聯絡我們,一起探討。(QQ群:465082844) 本文原載於知乎專欄Graphicon(WonderList論文心願單 - SIGGRAP

深度學習及神經網絡學習總結

ons ani online aid size 原理 目標 獲得 bp算法 ps:我是在高一的時候第一次腦海中接觸神經網絡這個概念......,註意只是接觸,一直扔到現在 1. 簡介 神經網絡和深度學習是由Michael Nielsen所寫,其特色是:兼顧理論和實

深度學習 Fine-tune 技巧總結

str 要求 圖片 學習 線性分類 選擇 共享 沒有 技巧 深度學習中需要大量的數據和計算資源(乞丐版都需要12G顯存的GPU - -)且需花費大量時間來訓練模型,但在實際中難以滿足這些需求,而使用遷移學習則能有效 降低數據量、計算量和計算時間,並能定制在新場景的業務需求,

深度學習模型相關知識(2)

fas bubuko 深度學習 image ive bsp 提取 AS 簡寫 參考:https://blog.csdn.net/lanran2/article/details/60143861 ROI pooling: ROI是Regin of Interest的簡寫,指的