【问题标题】:What causes fluctuations in cross-entropy loss?是什么导致了交叉熵损失的波动?
【发布时间】:2019-07-12 19:46:47
【问题描述】:
我将Soft Max Algorithm 用于CIFAR10 数据集,并且对我的交叉熵损失图有一些疑问。我设法通过该算法获得了 40% 的准确率,因此准确率正在提高。令人困惑的部分是解释交叉熵图的结果,因为它与我在网上看到的类似问题的任何其他图都不相似。想知道是否有人可以对如何解释以下图表提供一些见解。 y 是损失,x 是批号。这两个图分别针对批量大小 1 和 100。
批量大小 1:
批量大小 100:
【问题讨论】:
标签:
machine-learning
neural-network
【解决方案1】:
导致这些波动的原因:
一个(小)批次只是 CIFAR-10 的一小部分。有时你选择简单的例子,有时你选择困难的例子。或者,在模型调整到上一批之后,看起来容易的事情可能只是困难的。毕竟,它被称为随机梯度下降。参见例如讨论here。
解读这些情节:
批次大小 100:它显然在改进 :-) 我建议您取整个批次的交叉熵的平均值,而不是对它们求和。
批量大小 1:前约 40k 步似乎有一些改进。那么它可能只是振荡。你需要schedule the learning rate。
其他相关点:
Softmax 不是一种算法,而是 a function 将任意值的向量转换为非负且总和为 1 的向量,因此可以解释为概率。
那些情节非常笨拙。尝试使用小点大小的散点图。
绘制精度和交叉熵(在不同的尺度上,具有更粗略的时间分辨率)以了解它们之间的关系。