深度学习中Batch、Iteration、Epoch的概念与区别
在神經(jīng)網(wǎng)絡訓練中,一般采用小批量梯度下降的方式。 Batch Epoch Iteration 就是其中的重要的概念。我們要理解懂得它們都是什么以及它們之間的區(qū)別。
1、Batch
每次迭代時使用的一批樣本就叫做一個Batch,樣本的數(shù)量稱為Batch Size。Batch大小是一個超參數(shù),用于定義在更新內(nèi)部模型參數(shù)之前要處理的樣本數(shù)。深度學習每一次參數(shù)的更新的Loss Function并不是由一個樣本得到的,而是由一個Batch的數(shù)據(jù)加權(quán)得到。
2、 Iteration
使用Batch Size個樣本訓練一次的過程叫做一個Iteration。
3、 Epoch
一個epoch就是使用訓練集中的全部樣本訓練一次。通俗的講,Epoch的值就是整個訓練數(shù)據(jù)集被反復使用幾次。
Epoch數(shù)是一個超參數(shù),它定義了學習算法在整個訓練數(shù)據(jù)集中的工作次數(shù)。一個Epoch意味著訓練數(shù)據(jù)集中的每個樣本都有機會更新內(nèi)部模型參數(shù)。Epoch由一個或多個Batch組成。
舉例:
我們有10000個樣本,batch_size=100,
意思就是我們總共有10個batch,每次使用這100個樣本數(shù)量訓練一次的過程,就是一個Iteration。
然后我們把這10000個樣本都訓練完了,就叫做一個Epoch。
總結(jié)
以上是生活随笔為你收集整理的深度学习中Batch、Iteration、Epoch的概念与区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于matlab的频率响应分析,基于MA
- 下一篇: Ubuntu18.04 安装Python