使用小批量梯度下降训练一个时期是否比使用批量梯度下降慢?

数据挖掘 梯度下降 小批量梯度下降
2022-02-26 23:13:41

我想知道使用小批量梯度下降的一个时期是否比只使用批量梯度下降的一个时期慢。

至少我知道小批量梯度下降的一次迭代应该比批量梯度下降的一次迭代快。

但是,如果我理解正确,由于小批量梯度下降必须在一个时期内按批次大小的数量更新权重,因此训练将比批量梯度下降慢,后者只计算和更新一次权重一个时代。

它是否正确?在那种情况下,是否值得担心整体训练时间的损失?

1个回答

你是对的,处理相同数量的数据会有更多的开销,因为你做了更多的权重更新,并且可能在你的生成器中预处理批次也需要更多的时间。但是,由于您正在进行更多更新,并且如果您的批次大小足够大,那么您的小批次的梯度将非常接近您的整个批次的梯度,并且您将通过拆分更接近完整数据集的最佳值将整批变成小批,而不是通过一次非随机权重更新获得的。