Epoch:
訓(xùn)練整個(gè)數(shù)據(jù)集的次數(shù)隅忿。
當(dāng)一個(gè)完整的數(shù)據(jù)集通過了神經(jīng)網(wǎng)絡(luò)一次并且返回了一次,這個(gè)過程稱為一次epoch距芬。(也就是說悔常,所有訓(xùn)練樣本在神經(jīng)網(wǎng)絡(luò)中都進(jìn)行了一次正向傳播 和一次反向傳播 )
然而,當(dāng)一個(gè)Epoch的樣本(也就是所有的訓(xùn)練樣本)數(shù)量可能太過龐大(對(duì)于計(jì)算機(jī)而言)瞬浓,就需要把它分成多個(gè)小塊初婆,也就是就是分成多個(gè)Batch 來進(jìn)行訓(xùn)練。
Batch(批 / 一批樣本):
將整個(gè)訓(xùn)練樣本分成若干個(gè)Batch猿棉。
Batch_Size(批大邪跖选):
每批樣本的大小。
Iteration(一次迭代):
訓(xùn)練一個(gè)Batch就是一次Iteration(這個(gè)概念跟程序語言中的迭代器相似)萨赁。
舉例
mnist 數(shù)據(jù)集有60000張圖片作為訓(xùn)練數(shù)據(jù)弊琴,10000張圖片作為測(cè)試數(shù)據(jù)。假設(shè)現(xiàn)在選擇 Batch_Size = 100對(duì)模型進(jìn)行訓(xùn)練杖爽。迭代30000次敲董。
- 每個(gè) Epoch 要訓(xùn)練的圖片數(shù)量:60000 (訓(xùn)練集上的所有圖像)
- 訓(xùn)練集具有的 Batch 個(gè)數(shù):60000/100=600
- 每個(gè) Epoch 需要完成的 Batch 個(gè)數(shù):600
- 每個(gè) Epoch 具有的 Iteration 個(gè)數(shù):600(==batch,訓(xùn)練一次batch相當(dāng)于迭代一次)
- 每個(gè) Epoch 中發(fā)生模型權(quán)重更新的次數(shù):600
- 訓(xùn)練 10 個(gè)Epoch后慰安,模型權(quán)重更新的次數(shù):600*10=6000
- 不同Epoch的訓(xùn)練腋寨,其實(shí)用的是同一個(gè)訓(xùn)練集的數(shù)據(jù)。第1個(gè)Epoch和第10個(gè)Epoch雖然用的都是訓(xùn)練集的60000張圖片化焕,但是對(duì)模型的權(quán)重更新值卻是完全不同的萄窜。因?yàn)椴煌珽poch的模型處于代價(jià)函數(shù)空間上的不同位置,模型的訓(xùn)練代越靠后,越接近谷底查刻,其代價(jià)越小键兜。
- 總共完成30000次迭代,相當(dāng)于完成了30000/600 = 50 個(gè)Epoch