吳恩達深度學習專項課程2學習筆記/week2/Optimization Algorithms
阿新 • • 發佈:2018-02-18
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