訓練神經網路中最基本的三個概念:Epoch, Batch, Iteration
阿新 • • 發佈:2019-02-09
轉載地址:https://zhuanlan.zhihu.com/p/29409502
原作者:Michael Yuan
作者主頁:https://www.zhihu.com/people/mikeyuan
今天讓我們來總結下訓練神經網路中最最基礎的三個概念:Epoch, Batch, Iteration。
1. 名詞解釋
2. 換算關係
實際上,梯度下降的幾種方式的根本區別就在於上面公式中的 Batch Size不同。
*注:上表中 Mini-Batch 的 Batch 個數為 N / B + 1 是針對未整除的情況。整除則是 N / B。
3. 示例
CIFAR10 資料集有 50000 張訓練圖片,10000 張測試圖片。現在選擇 Batch Size = 256 對模型進行訓練。
- 每個 Epoch 要訓練的圖片數量:
- 訓練集具有的 Batch 個數:
- 每個 Epoch 需要完成的 Batch 個數:
- 每個 Epoch 具有的 Iteration 個數:
- 每個 Epoch 中發生模型權重更新的次數:
- 訓練 代後,模型權重更新的次數:
- 不同代的訓練,其實用的是同一個訓練集的資料。第 代和第 代雖然用的都是訓練集的五萬張圖片,但是對模型的權重更新值卻是完全不同的。因為不同代的模型處於代價函式空間上的不同位置,模型的訓練代越靠後,越接近谷底,其代價越小。