关于episode、epoch、iteration、batch_size的理解

写在最前面:这里几个概念的例子,用的是few-shot。

epoch、iteration、bath_size这几个概念经常在神经网络中见到。

epoch

one forward pass and one backward pass of all the training examples, in the neural network terminology,重点就是所有的训练数据都要跑一遍。假设有6400个样本,在训练过程中,这6400个样本都跑完了才算一个epoch。一般实验需要训练很多个epoch,取平均值作为最后的结果,在一定程度上,相当于集成,避免局部极值。

batch_size

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

iteration

我们把一个epoch的所有数据分成了很多批,批数就是iteration,按上面的假设,iteration=50,每经过一个iteration,参数更新一次。

episode

one a sequence of states, actions and rewards, which ends with terminal state. 这个概念在神经网络中很少见到,主要是在few-shot或者zero-shot这样的小样本学习中。简单来讲,一个episode,就是一次选择support set和query set类别的过程,即用选择的某几个类训练一次模型,下一个episode,再选择其他几个类训练模型。一个epoch中存在多个eposide。

有错漏之处,望指出。就酱~~啾咪

你可能感兴趣的:(关于episode、epoch、iteration、batch_size的理解)