【发布时间】:2019-04-03 01:42:04
【问题描述】:
我使用 Keras 的 CNN 对 MNIST 数据集进行分类。我发现使用不同的批量大小会产生不同的准确性。为什么会这样?
Using Batch-size 1000 (Acc = 0.97600)
Using Batch-size 10 (Acc = 0.97599)
虽然差别很小,但为什么会有差别呢? 编辑 - 我发现差异只是因为精度问题,它们实际上是相等的。
【问题讨论】:
-
@pouyan 的答案通常是正确的,但在您的具体情况下,我认为这只是随机梯度下降如何工作的随机波动。
-
在整个模型构建过程(随机权重初始化、改组、将样本分配到批次等)中确实存在 几十个 的固有随机性来源;在您的情况下,真正令人惊讶的是这两个值实际上是相等的,而不是它们不是。只需尝试对两个批量大小重复该过程,看看您是否会得出与上述相同的结果(提示:很可能您不会)...
标签: machine-learning keras deep-learning conv-neural-network