在神经网络训练流程中,iteration 和 epoch 这两个概念指的是同一件事吗?
考察说明
考查对神经网络训练基本概念中 iteration 与 epoch 区别的理解。
回答思路
- 【回答框架 1】epoch 指整个训练数据集被完整遍历一次的过程,iteration 指一次参数更新所需的批次处理过程,二者在定义上不同。
- 【回答框架 2】一个 epoch 包含多个 iteration,具体数量等于训练样本总数除以批大小;例如1000个样本,批大小为100,则一个epoch对应10个iteration。
- 【回答框架 3】训练时epoch用于控制遍历全数据集的次数,iteration用于控制参数更新的频率,通常每个iteration进行一次梯度下降更新。
- 【回答框架 4】若批大小等于全部样本数,则一个epoch仅包含一个iteration,但此时二者仍是不同层级的概念。
- 【回答框架 5】实际应用中,epoch和iteration的选择影响训练收敛速度与效果,需根据数据规模与模型复杂度权衡。
- 【关键点 1】epoch是完整遍历一次数据集,iteration是处理一个批次并更新一次参数。
- 【关键点 2】一个epoch内iteration数等于ceil(总样本数/批大小)。
- 【关键点 3】批大小不同,一个epoch对应的iteration数也不同。
- 【易错点 1】不要将epoch和iteration混用,尤其在设置训练轮次时。
- 【易错点 2】当批大小等于数据集大小时,一个epoch只有一个iteration,但概念上仍不同。