与监督学习相比,强化学习中的批量迭代和时期是否不同?

数据挖掘 机器学习 深度学习 张量流
2022-03-09 03:14:33

我正在学习 Udacity 的“AWS DeepRacer”课程,该课程是关于带有强化学习的自动驾驶汽车。在一节课中,他们这样说:

批量大小- 这决定了在更新模型之前从最近一集中随机采样的图像数量用于训练。

Epochs - 确定在更新训练权重之前循环批处理数据的次数。如果您的模型仍在改进但训练已经停止,则可能需要更多的 epoch。

学习率- 控制算法学习的速度(它会在每个 epoch 后扩大或缩小权重更新)。

将 Tensorflow 和 Keras 与 Adam 一起使用,我了解到权重在每次批量迭代后都会更新。但是在本课程中,他们说权重仅在每个 epoch 之后更新,并且批量大小决定了在更新模型之前要循环多少训练数据。那么,更新模型和更新权重有什么区别呢?在带有 keras 的 tensorflow 中,权重在每次批量迭代之后以及每个 epoch 之后都会更新?与RL相比有什么不同吗?

1个回答

你最初的陈述是正确的。

Epoch是对整个训练集的单次传递。

大多数人使用Batch这个词作为用于一次权重更新的样本数。(反向传播过程计算批次中每个样本的梯度,但权重更新是针对批次中梯度的平均值执行一次)。

但是最初使用“batch”一词来表示一个训练过程,其中batch size 等于训练集中样本的总数(意味着每个epoch 只执行一次权重更新)。我们现在所说的“batch”,最初被命名为“mini-batch”。

多年来,batch 一词成为 mini-batch 的同义词(现在批量训练非常罕见)。我认为这是你困惑的根源。