優化演算法 1 mini batch

2021-08-17 19:09:48 字數 1790 閱讀 5964

本週主要學習優化演算法來加快神經網路的訓練過程。機器學習的應用是乙個高度依賴經驗的過程,伴隨著大量迭代,需要訓練諸多模型才能找到合適的那乙個。所以,優化演算法能夠幫助你快速訓練模型。深度學習沒有在大資料領域發貨最大的效果,我們可以利用乙個巨大的資料集來訓練神經網路,而在巨大的資料集基礎上進行訓練速度很慢。所以,使用快速的優化演算法會大大提高效率。

假如我們有大量的樣本,可能是500萬個,如果採用batch梯度下降法(就是一次性處理全部訓練集,名字就是這麼叫的,只能接受),需要一次訓練500萬個樣本然後實現一次梯度下降,重複進行,這樣速度很慢。而mini-batch梯度下降法是將樣本數劃分成5000個小的mini-batches,每個mini-batch可以劃分為1000個樣本,用符號

x x

和y y

來表示,這樣就可以同時處理單個的mini-batch,而不是處理全部的x和y訓練集。

怎麼進行mini-batch梯度下降呢?過程其實和整個資料集是一樣的,只不過mini-batch分解成很多個mini-batch而已。

for t = 1,……5000

forward prop on

x x

z[1]=w[

1]x+

b[1]

z [1

]=w[

1]x+

b[1]

a[1]=g[

1](z

[1])

a [1

]=g[

1](z

[1])

… a[

l]=g

[l](

z[l]

) a[l

]=g[

l](z

[l])

compute cost j=

11000∑l

i=1l

(y^(

i),y

(i))

+λ2∗

1000∑l

i=1∥

w[t]

∥2f j=1

1000∑i

=1ll

(y^(

i),y

(i))

+λ2∗

1000∑i

=1l‖

w[t]

‖f2backprop to compute grandients

update parameters

mini-batch在迭代的過程中不總是下降的,雖然是下降趨勢,但存在很多雜訊。雜訊存在的原因是可能某個t成本很低而另乙個t成本較高。

決定mini-batch的乙個變數是size。乙個極端情況是size=m,這個時候就是batch梯度下降法,這種演算法每次迭代時間很長。另乙個極端情況就是size=1,叫做隨機梯度下降法(stochastic gradient decent),每個樣本都是乙個mini-batch,這種演算法每次只處理乙個樣本,喪失了向量化帶來的加速,效率非常低。實際上,我們要選擇的mini-batch在兩者之間。乙個不大不小的mini-batch既可以利用向量化帶來的加速,又不用等待整個樣本處理完就可以繼續下一步的工作。

既然mini-batch是中間值,那麼這個中間值是多少呢?下面給出幾個指導原則。

神經網路演算法學習 mini batch

batch size 批尺寸 是機器學習中乙個重要引數,涉及諸多矛盾,下面逐一展開。batch 的選擇,首先決定的是下降的方向。如果資料集比較小,完全可以採用全資料集 full batch learning 的形式,這樣做至少有 2 個好處 其一,由全資料集確定的方向能夠更好地代表樣本總體,從而更準...

零基礎 神經網路優化之mini batch

一 前言 回顧一下前面講過的兩種解決過擬合的方法 1 l0 l1 l2 在向前傳播 反向傳播後面加個小尾巴 2 dropout 訓練時隨機 刪除 一部分神經元 本篇要介紹的優化方法叫mini batch,它主要解決的問題是 實際應用時的訓練資料往往都太大了,一次載入到電腦裡可能記憶體不夠,其次執行速...

優化演算法1 模擬退火演算法思想解析

1.演算法簡介 模擬退火演算法得益於材料的統計力學的研究成果。統計力學表明材料中粒子的不同結構對應於粒子的不同能量水平。在高溫條件下,粒子的能量較高,可以自由運動和重新排列。在低溫條件下,粒子能量較低。如果從高溫開始,非常緩慢地降溫 這個過程被稱為退火 粒子就可以在每個溫度下達到熱平衡。當系統完全被...