Mini-Batch
Mini-Batch(小批量) 是深度学习和机器学习中训练模型的一种方式。它结合了 批量梯度下降(Batch Gradient Descent) 和 随机梯度下降(Stochastic Gradient Descent,SGD) 的优点,同时避免了它们的缺点。下面是详细解释:
1. 什么是 Mini-Batch?
- Mini-Batch 指的是将训练数据集分成多个小批量(mini-batches),然后每次训练模型时,使用一个小批量的数据进行前向传播、计算损失和梯度更新。
- 具体来说:
- 假设训练集有 NN 个样本,我们将它分成多个小批量,每个小批量包含 MM 个样本,其中 M<NM < N。
- 每次训练模型时,选择一个小批量的数据进行训练,而不是使用整个数据集或单个样本。
2. Mini-Batch 的工作流程
训练过程中,Mini-Batch 的步骤如下:
- 将整个训练集分成若干个小批量,每个批量包含 MM 个样本。
- 在每个小批量上执行一次前向传播、计算损失、反向传播和参数更新。
- 遍历所有小批量后,完成一个 epoch(即遍历完所有样本一次)。
- 重复上述步骤,直到达到指定的训练轮数或模型的性能收敛。