为卷积神经网络选择训练集和验证集对测试精度有很大影响
Selecting training and validation sets for convolutional neural network has a big impact on test accuracy
我正在使用德国交通标志检测基准数据库进行交通标志识别工作。这有 43 classes,每个 class 至少有 400 张图像。图片最多可包含 3 个交通标志。
当我随机选择图像用于训练和验证集时,我发现网络的测试准确度存在巨大差异。我构建了两个数据集:一个有 75% 的训练图像和 25% 的验证图像;另一个有 70% 的训练图像和 30% 的验证图像。
我正在使用具有相同超参数的 GoogLeNet 进行训练,包括 30 个时期。
训练后,我使用一组不同的测试图像进行测试。使用第一个数据集,我得到的准确率比第二个数据集低近 10%。有人可以解释一下吗?
会不会是它随机选择了 "easier" 张图像进行训练,这就是我得到较低结果的原因?
P.S。对于这两个数据集,我使用相同的图像,只是按百分比不同地划分。
Link 到数据集:http://benchmark.ini.rub.de/?section=gtsrb&subsection=dataset
你有多少类个标志?是否知道 GoogLeNet 在该数据集上运行良好?请记住,GoogLeNet 是专门为在 ILSVRC 2012 数据集上表现出色而设计的:近 1.3M 训练图像,1000 类。它扩展到数百个并行内核,为解决问题提供了很大的灵活性。
如果您遇到的问题要小得多——例如,少数几个类别中的 900 张图像——那么 GoogLeNet 的规模可能很容易使您的应用程序过度拟合。例如,请注意,最终的 1000 个参数的全连接层比 单独识别训练集中的每个图像 所需要的要多。 128-200+ 过滤器的中间层将发现各种虚假特征,例如六个速度区域标志周围的绿色图案。
此外,请记住,构建 GoogLeNet 是为了识别输入图像中的单个图形:交通标志数据库可能在图像中包含多达 6 个标志。这也会混淆您的训练,具体取决于您如何对多标志图像进行分类。
如果您觉得此任务需要 GoogLeNet 的复杂性,我建议您减少层的宽度。例如,ILSVRC 历史表明您的模型学习识别面部特征、车辆部件和花瓣,而道路标志在其视觉元素方面受到更多限制。因此,尽管您可能希望第一层(边缘和区域检测)保持完整,但中间层不需要那么多过滤器。
不,我无法为您提供可靠的起点:我还没有进行几个月的必要实验来调整模型以解决问题。如果您想查看极端示例,请按照建议的迭代次数训练 GoogLeNet,但将其提供给 MNIST 数据库。更好的是,为它提供井字游戏位置的文本处理器屏幕截图,仅分类为 "win"、"draw" 和 "lose".
我正在使用德国交通标志检测基准数据库进行交通标志识别工作。这有 43 classes,每个 class 至少有 400 张图像。图片最多可包含 3 个交通标志。
当我随机选择图像用于训练和验证集时,我发现网络的测试准确度存在巨大差异。我构建了两个数据集:一个有 75% 的训练图像和 25% 的验证图像;另一个有 70% 的训练图像和 30% 的验证图像。
我正在使用具有相同超参数的 GoogLeNet 进行训练,包括 30 个时期。
训练后,我使用一组不同的测试图像进行测试。使用第一个数据集,我得到的准确率比第二个数据集低近 10%。有人可以解释一下吗?
会不会是它随机选择了 "easier" 张图像进行训练,这就是我得到较低结果的原因?
P.S。对于这两个数据集,我使用相同的图像,只是按百分比不同地划分。
Link 到数据集:http://benchmark.ini.rub.de/?section=gtsrb&subsection=dataset
你有多少类个标志?是否知道 GoogLeNet 在该数据集上运行良好?请记住,GoogLeNet 是专门为在 ILSVRC 2012 数据集上表现出色而设计的:近 1.3M 训练图像,1000 类。它扩展到数百个并行内核,为解决问题提供了很大的灵活性。
如果您遇到的问题要小得多——例如,少数几个类别中的 900 张图像——那么 GoogLeNet 的规模可能很容易使您的应用程序过度拟合。例如,请注意,最终的 1000 个参数的全连接层比 单独识别训练集中的每个图像 所需要的要多。 128-200+ 过滤器的中间层将发现各种虚假特征,例如六个速度区域标志周围的绿色图案。
此外,请记住,构建 GoogLeNet 是为了识别输入图像中的单个图形:交通标志数据库可能在图像中包含多达 6 个标志。这也会混淆您的训练,具体取决于您如何对多标志图像进行分类。
如果您觉得此任务需要 GoogLeNet 的复杂性,我建议您减少层的宽度。例如,ILSVRC 历史表明您的模型学习识别面部特征、车辆部件和花瓣,而道路标志在其视觉元素方面受到更多限制。因此,尽管您可能希望第一层(边缘和区域检测)保持完整,但中间层不需要那么多过滤器。
不,我无法为您提供可靠的起点:我还没有进行几个月的必要实验来调整模型以解决问题。如果您想查看极端示例,请按照建议的迭代次数训练 GoogLeNet,但将其提供给 MNIST 数据库。更好的是,为它提供井字游戏位置的文本处理器屏幕截图,仅分类为 "win"、"draw" 和 "lose".