如何估计需要多少张照片来训练 ResNet-50 进行图像分类?

人工智能 计算机视觉 计算学习理论 训练数据集 样本复杂度
2021-11-07 09:57:39

我正在做一个项目,我必须对大约 1000 个独特的对象进行分类。我正在尝试计划需要收集多少训练数据。我打算使用 ResNet-50。无论如何我可以估计我应该提前计划收集的照片数量(假设我将收集每个班级的相同数量的照片)?

1个回答

您要计算/估计的内容称为计算学习理论中的样本复杂度如果你知道神经网络的 VC 维度,你也许可以估计样本复杂度,但是你的估计(bound)可能无论如何都不是很紧(可能是因为 VC 维度的估计也不是很紧)。是有关 VC 维度和一些神经网络的 VC 维度的更多信息。

如果我们能够在所有情况下轻松计算(准确估计)样本复杂度,这将非常有用,因为我们可以排除(或不排除)训练数据集的大小是欠拟合/过拟合的问题-拟合

现在,我认为大多数人通常不会估计样本复杂度(我可能是错的,即可能有简单的方法可以大致做到这一点,除了说您可能需要比参数数量更多的训练数据点,即许多从业者会告诉你什么,可能会产生误导),而是收集尽可能多的数据,然后用这些数据训练神经网络;如果它在测试数据集上表现不佳,那么您可以尝试收集更多数据(因为这表明神经网络没有学习目标函数);如果您看到测试性能最初增加但随后降低,而训练性能始终在增加,这可能是过度拟合的迹象,因此您可能需要使用正则化技术(如dropout),无论如何你都应该使用它,尤其是当你有一个小数据集时。

我还想指出,随着双重下降摸索现象的发现,这些传统的指导方针或做法(例如提前停止)有时可能会产生误导(我不知道何时或为什么),即请记住有时它们可能不适用。