神经网络 深度学习 专业术语解释(Step, Batch Size, Iteration,Epoch)
1. 名詞解釋
Step: 訓練模型的步數
Batch Size(批尺寸): 計算梯度所需的樣本數量,太小會導致效率低下,無法收斂。太大會導致內存撐不住,Batch Size增大到一定程度后,其下降方向變化很小了,所以Batch Size是一個很重要的參數。
為什么需要有 Batch_Size :
batchsize 的正確選擇是為了在內存效率和內存容量之間尋找最佳平衡。?
Epoch(回合):代表樣本集內所有的數據經過了一次訓練。??
每個 epoch 都會進行shuffle,對要輸入的數據進行重新排序,分成不同的batch。
Iteration(迭代):
理解迭代,只需要知道乘法表或者一個計算器就可以了。迭代是 batch 需要完成一個 epoch 的次數。記住:在一個 epoch 中,batch 數和迭代數是相等的。
比如對于一個有 2000 個訓練樣本的數據集。將 2000 個樣本分成大小為 500 的 batch,那么完成一個 epoch 需要 4 個 iteration。
| epoch | 一個epoch表示所有訓練樣本運算學習一遍 |
| iteration/step | 表示每運行一個iteration/step,更新一次參數權重,即進行一次學習,每一次更新參數需要batch size個樣本進行運算學習,根據運算結果調整更新一次參數。 |
| batch size | 1次迭代所使用的樣本量 |
其關系為:
舉例:
假設有20000個樣本,batch size 為200,epoch為1, 則
?
2. 換算關系
實際上,梯度下降的幾種方式的根本區別就在于上面公式中的 Batch Size不同。
*注:上表中 Mini-Batch 的 Batch 個數為 N / B + 1 是針對未整除的情況。整除則是 N / B。
3. 例子
CIFAR10 數據集有 50000 張訓練圖片,10000 張測試圖片。現在選擇 Batch Size = 256 對模型進行訓練。
每個 Epoch 要訓練的圖片數量: 50000
訓練集具有的 Batch 個數: 50000/256 = 195 +1 = 196
每個 Epoch 需要完成的 Batch 個數: 196
每個 Epoch 具有的 Iteration 個數: 196
每個 Epoch 中發生模型權重更新的次數: 196
訓練 10 代后,模型權重更新的次數: 196 * 10
不同代的訓練,其實用的是同一個訓練集的數據。第??代和第??代雖然用的都是訓練集的五萬張圖片,但是對模型的權重更新值卻是完全不同的。因為不同代的模型處于代價函數空間上的不同位置,模型的訓練代越靠后,越接近谷底,其代價越小。
總結
以上是生活随笔為你收集整理的神经网络 深度学习 专业术语解释(Step, Batch Size, Iteration,Epoch)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ValueError: Shape mi
- 下一篇: 2020-12-03 matlab 反馈