泛化有多普遍?

人工智能 神经网络 深度学习 卷积神经网络 计算机视觉 概括
2021-10-30 09:27:39

我很抱歉,但我必须用一个例子来解释我的问题,我不知道如何用适当的科学术语来提问。

假设,我已经训练了一个对手势进行分类的深度学习模型,但是训练和测试数据集的图像仅在一种光照条件下拍摄,并且我达到了一定的准确度,假设为 85%。据我了解,添加更多相同手势图像但用不同闪电拍摄的数据应该会增加我模型的“泛化”能力,对吗?

所以问题是,如果我采用这个模型,在两种闪电条件下进行训练,并仅在第一个闪电条件的数据集上对其进行测试,这会提高它的准确性(85%)还是这种“泛化”只会意味着它现在也可以正确分类具有不同闪电的图像,但不能提高第一组的准确性?

2个回答

我认为问题中遗漏了一个关键点,被 jros 回答触及,但没有进一步阐述。

如果您在域 A :单一闪电条件下训练模型并在域 B:两个闪电条件下对其进行测试,那么您不是在评估泛化能力,而是在评估迁移学习能力或者换一种说法,您正在评估域 A 和 B 对于您训练的模型的接近程度。

正如您所说,测试集实际上是由模型在训练期间从未见过的实例组成的,但它仍然应该具有代表性,即正确采样,来自训练域,或者来自与jros 编写的相同分布。因此,在单一光照条件下训练的模型的泛化也应该在单一光照条件下进行评估。

关于已经说过的其余部分的最后评论:

  • 一切都只有在初始训练数据集不仅无偏而且平衡的假设下成立。在实际情况下,将训练分布从特定的(单一光照条件)更改为另一种分布(多种光照条件)很可能会导致模型更差,只是导致问题现在本质上更难解决。

因此,您的问题的答案(关于同一分布的真正概括和您所描述的迁移学习)实际上只是经验性的。

概括

在机器学习中,泛化描述了模型正确校正其算法以预测来自与用于训练模型的数据相同分布的新数据的能力。

通过为您的模型提供额外的训练(在具有不同光照条件的数据上),您将提高模型的能力是正确的。

更好的泛化是否等于更好的性能?

考虑两个模型并假设它们具有相同数量的系数/层和节点:

  • 模型 1,仅在单一照明条件下进行训练
  • 模型 2,在多种光照条件下进行了训练

假设我们也有两个测试集:

  • 测试集 1:与用于训练模型 1的数据具有相同光照条件的数据
  • 测试集 2:具有多种光照条件的数据

由于在该照明条件下“过度”拟合,预计模型1在测试集 1上的性能与模型 2相同或更好,但正如您所指出的,模型 1在测试集 2上的性能不如测试集设置 1由于训练期间实现的泛化性,我们也不期望模型 2测试集 1上的表现优于模型 1 。

简而言之,您可能会牺牲一些特定于光照条件的精度,以在多种光照条件下获得更好的精度。

然而

通过允许您的模型 2增加层数和节点或系数(包括交互),模型 2可能也能够表现得一样好。所有这些也取决于训练集的大小。例如,如果模型 1在单一光照条件下的 1,000 个数据点上进行训练,而模型 2在 500 个数据点上进行训练,则通常预计模型 1在测试集 1上的表现会更好。