是什么引起交叉熵损失的波动?

时间:2019-07-12 19:46:47

标签: machine-learning neural-network

我将Soft Max Algorithm用于CIFAR10数据集,并对我的交叉熵损失图有一些疑问。通过该算法,我设法获得了40%的准确率,因此准确度正在提高。令人困惑的部分是解释交叉熵图的结果,因为它与我在网上针对相似问题看到的任何其他图都不相似。想知道是否有人可以对以下图形进行解释。 y上的是损失,x上的是批号。这两个图分别针对批次大小1和100。

批次大小1: Batch size 1

批量100: Batch size 100

1 个答案:

答案 0 :(得分:0)

造成这些波动的原因是

(微型)批次只是CIFAR-10的一小部分。有时您选择简单的示例,有时您选择困难的示例。或者,在模型调整到前一批之后,看起来容易的事情就变得困难了。毕竟,它称为随机梯度下降。参见例如讨论区here

解释这些图:

批次大小100:明显正在改善:-)我建议您使用批次中交叉熵的平均值,而不是求和。

批处理大小1:最初的约40k步骤似乎有所改善。然后可能只是振荡。您需要schedule the learning rate

其他相关点:

Softmax不是一种算法,而是a function,它将任意值的矢量转换为非负值且总和为1的矢量,因此可以解释为概率。

那些情节非常笨拙。尝试使用点距较小的散点图。

绘制精度以及交叉熵(在不同尺度上具有较粗的时间分辨率),以了解它们之间的关系。