神经网络中episode、epoch、iteration、batch_size的理解

epoch、bath_size、iteration、episode在DNN中的解释:

1、epoch:
one forward pass and one backward pass of all the training examples, in the neural network terminology,重点就是所有的训练数据都要跑一遍。假设有6400个样本,在训练过程中,这6400个样本都跑完了才算一个epoch。一般实验需要训练很多个epoch,直到LOSS稳定后才停止。

2、batch_size:
中文名称是批大小,之前的6400个样本,如果送一个样本进去,就更新一次网络的权重,也就是在线学习。与之对应的,我们可以把一个epoch的数据,分批送进网络,可以加快训练时间。每次送多少进去,就是batch_size,假设把6400个样本,分成50次送进去,那么每一次就要送128个样本进去,即batch_size=128。

3、iteration:
我们把一个epoch的所有数据分成了很多批,批数就是iteration,按上面的假设,iteration=50,每经过一个iteration,参数更新一次,可以理解为batch的个数。
样本总数=batch_size * iteration

4、episode:
one a sequence of states, actions and rewards, which ends with terminal state. 这个概念主要是在few-shot或者zero-shot这样的小样本学习中。小样本学习在训练时,会分成很多次训练,每一次都要从所有类中随机选择一些类别来train。一个episode,就是一次选择support set和query set类别的过程,即用选择的某几个类训练一次模型,下一个episode,再选择其他几个类训练模型。一个epoch中存在多个eposide。

你可能感兴趣的:(AI)