1. 程式人生 > >吳恩達深度學習專項課程2學習筆記/week2/Optimization Algorithms

吳恩達深度學習專項課程2學習筆記/week2/Optimization Algorithms

sce 適應 耗時 bubuko 優化算法 src bat -a 過程

Optimization algorithms

優化算法以加速訓練。

Mini-batch gradient descend

  • Batch gradient descend:每一小步梯度下降否需要計算所有的訓練樣本。很耗時。
  • Mini-batch gradient descend:將訓練集分為很多小的mini-batch,每一個epoch用到一個mini-batch的訓練樣本,進行一次梯度下降(向前傳播,計算cost,向後傳播)。訓練速度會提升很多。

選擇mini-batch的size

  • 如果size=1:隨機梯度下降,過程會曲折反復,不收斂,在最優值附近徘徊(紫色線)。一個很大的缺點在於每次只處理一個樣本,失去了向量化的提升效率的作用。

  • 如果size=m:批梯度下降,過程比較直接但是每步都很耗時。(藍色線)
  • size適中,則可以既利用到向量化的作用,又每一步下降不需要耗時過長,因此效率較高。(綠色線)

技術分享圖片

size選擇大致原則:

  • 如果訓練集很小(如m <= 2000):Batch gradient descend
  • 如果訓練集相對大,那麽典型的mini-batch的大小如:64,128,256,512。考慮到計算機的內存,所以常用的mini-batch都是2的次方。
  • 確保mini-batch和計算機CPU/GPU的內存相適應。

mini-batch size是需要調整的超參數之一,嘗試不同的值,然後選擇一個最好的。

(未完待續)

吳恩達深度學習專項課程2學習筆記/week2/Optimization Algorithms