首页 > 解决方案 > 是什么导致了交叉熵损失的波动?

问题描述

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

批量大小 1: 批量大小 1

批量大小 100: 批量大小 100

标签: machine-learningneural-network

解决方案


造成这些波动的原因:

一个(迷你)批次只是 CIFAR-10 的一小部分。有时你选择简单的例子,有时你选择困难的例子。或者,在模型调整到上一批之后,看起来容易的事情可能只是困难的。毕竟,它被称为随机梯度下降。参见例如这里的讨论。

解释这些图:

批量大小 100:它显然在改进 :-) 我建议你取整个批次的交叉熵的平均值,而不是对它们求和。

批量大小 1:前约 40k 步似乎有一些改进。那么它可能只是振荡。您需要安排学习率

其他相关点:

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

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

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


推荐阅读