我将Soft Max Algorithm
用于CIFAR10
数据集,并且对我的交叉熵损失图有一些疑问。通过该算法,我设法获得了40%的准确率,因此准确度正在提高。令人困惑的部分是解释交叉熵图的结果,因为它与我在网上针对相似问题看到的任何其他图都不相似。想知道是否有人可以深入了解如何解释以下图表。在y
上是损失,在x上是批号。这两个图分别针对批次大小1和100。
批量大小1:
批次大小100:
最佳答案
是什么导致这些波动:
(小批量)只是CIFAR-10的一小部分。有时您选择简单的示例,有时您选择困难的示例。或者,在模型调整到之前的批次后,看起来容易的事情很难。毕竟,它被称为随机梯度下降。参见例如讨论here。
解释这些图:
批次大小100:明显正在改善:-)我建议您使用批次中交叉熵的平均值,而不是求和。
批量大小1:最初的约40k步骤似乎有所改善。然后可能只是振荡。您需要schedule the learning rate。
其他相关要点:
Softmax不是一种算法,但是a function会将任意值的向量转换为非负值且总和为1的向量,因此可以解释为概率。
这些情节非常笨拙。尝试使用小点大小的散点图。
绘制精度以及交叉熵(以不同的比例,以较粗的时间分辨率),以了解它们之间的关系。
关于machine-learning - 是什么引起交叉熵损失的波动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57013240/