我目前的理解是,在 SGD 中,每次数据采样后,损失用于更新每个权重。例如:有 1000 个样本和一个具有 10 个权重的网络,每个 epoch 将有 10,000 个单独的权重更新。
在梯度下降和批量梯度下降中,这些更新如何延迟到多个数据样本上?每个样品中存储了什么,可以在批次结束时应用?每个样本的损失是批次的平均值吗?
我目前的理解是,在 SGD 中,每次数据采样后,损失用于更新每个权重。例如:有 1000 个样本和一个具有 10 个权重的网络,每个 epoch 将有 10,000 个单独的权重更新。
在梯度下降和批量梯度下降中,这些更新如何延迟到多个数据样本上?每个样品中存储了什么,可以在批次结束时应用?每个样本的损失是批次的平均值吗?
每个样品中存储的内容,可以在批次结束时应用
您存储预测和误差,然后在每个周期后计算平均值。
GD - 在所有行之后更新。它将为权重更新提供正确的方向,但会很慢
SGD - 每行后更新。它会很快,但方向可能会摇摆不定
批次- 在特定计数后更新。这种方法为其他两种方法提供了平衡的解决方案。