NLP:Epoch、Batch、Iteration

 

  • Epoch(时期):
    当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一次>epoch。(也就是说,所有训练样本在神经网络中 进行了一次正向传播一次反向传播
    再通俗一点,一个Epoch就是将所有训练样本训练一次的过程。

然而,当一个Epoch的样本(也就是所有的训练样本)数量可能太过庞大(对于计算机而言),就需要把它分成多个小块,也就是就是分成多个Batch 来进行训练。**

  • Batch(批 / 一批样本):
    将整个训练样本分成若干个Batch。

  • Batch_Size(批大小):
    每批样本的大小。

  • Iteration(一次迭代):
    训练一个Batch就是一次Iteration(这个概念跟程序语言中的迭代器相似)。

 

epoch表示迭代周期,batchs表示批次数,一个epoch表示模型遍历并处理过所有样本一次;

batch表示批次数,批次数 =  样本个数 /batchSize ;

batchSize表示批次大小,如bathSize=5,代表模型处理完5个样本后,进行一次前向传播和反向传播;

step表示模型步数。step = epoch * batchSize。是 梯度更新的次数,一般就是batch的数目。就是说每计算一个batch的数据会更新一次梯度。

 

你可能感兴趣的:(NLP笔记)