几句话明白:神经网络中的基本概念batch,epoch,iterations及对训练效果的影响

###神经网络中的基本概念batch,epoch,iterations及对训练效果的影响
自己一直很迷糊,这几个关键词也是傻傻分不清楚,为了彻底搞明白,所以用文字记录:

  1. batch:批,一次网络训练读入的数据大小,对于数据集太大时,为了平衡内存效率和内存容量寻找一个最佳平衡,采用分批训练,很明显,number of batches就是分了几批,batch_size就是每一批的大小,称批量数据样本数
    所以就有:
    1、batch_size 会影响到模型优化程度和训练速度
    2、增大Batch_Size,一次读入的数据增大,所需内存容量增加,相对处理速度加快。
    3、合适的batch_size,增加梯度下降方向的准确度,减小训练震荡,加快收敛

  2. epoch: 时期,即所有训练样本(完整的数据集)通过了神经网络训练一次(一个正向传递和一个反向传递)

  3. Iteration: 迭代,神经网络中通过多次迭代训练已达到最优结果。
    1个iteration即迭代一次,即batch_size个样本训练一次(一个正向通过和一个反向通过),迭代的过程就是梯度下降的过程,每一次迭代的结果都会做为下一次迭代的初始值。

  4. 梯度下降
    梯度的含义是代价函数的斜率,下降是代价函数的下降

实例:
几句话明白:神经网络中的基本概念batch,epoch,iterations及对训练效果的影响_第1张图片

注意:
1、number of batch = iterations
2、完成一个batch(或一次迭代) 权重更新一次
3、完成一个epoch则完成一次全数据集训练,更新batch次权重
4、训练的过程,即权重更新的过程。

参考
图片来源

你可能感兴趣的:(专业术语,基本概念)