数据增强影响收敛速度

问题描述 投票:0回答:2

数据增强无疑是一种很好的正则化方法,它提高了我在未见过的测试集上的准确性。但是我不明白为什么会降低网络的收敛速度?我知道每个时期都需要更长的时间来训练,因为图像变换是动态应用的。但为什么会影响收敛呢?对于我当前的设置,网络在没有数据增强(并且明显过度拟合)的 5 个 epoch 后达到 100% 的训练准确率 - 使用数据增强,需要 23 个 epoch 才能达到 95% 的训练准确率,而且似乎永远不会达到 100%。

有研究论文的链接或对此背后原因的评论吗?

keras computer-vision conv-neural-network data-augmentation
2个回答
0
投票

我猜你正在评估训练集的准确性,对吧?这是一个错误...

如果不进行增强,您的网络就会过度拟合。您有预定义数量的图像,例如 1000 张,并且您的网络在训练期间可以轻松记住数据集标签。您正在固定(未增强)数据集上评估模型。

当您使用数据增强来训练网络时,基本上,您是在无限大小的数据集上训练模型。你正在动态进行增强,这意味着模型每次都会“看到”新图像,并且它无法以 100% 的准确度完美记住它们。您正在增强(无限)数据集上评估模型。

当您训练有或没有增强的模型时,您会在不同的数据集上对其进行评估,因此比较它们的准确性是不正确的。

建议: 不要看训练集的准确性,当您使用增强时,它只会产生误导。相反 - 在未增强的测试集(或验证集)上评估您的模型。通过这样做 - 您将看到模型的真正准确性提高。

附注如果您想了解有关图像增强的更多信息,我强烈建议您查看本指南 - https://notrocketscience.blog/complete-guide-to-data-augmentation-for-computer-vision/


0
投票

我将尝试用通俗易懂的语言向您解释这一点 - 假设有 10 类动物的 1000 张图像,每种动物 100 张。此外,在每张图像中,动物都清晰可见,占据图像的 50%,并且双脚踩在地上。

如果我们尝试在不进行增强的情况下训练模型,那么模型需要非常少的时间来记住动物的特征,因为这些图像中的动物具有如上所述的非常统一的属性。

但是当模型经过增强训练时,这些图像要么垂直翻转(动物腿朝上),要么随机缩放(仅面部可见)或随机剪切。因此,一只动物的 100 张图像将具有非常不同的属性/特征,在这种情况下,模型需要更多的尝试(历元)来记住这些特征,因此需要更多的历元来收敛。

另请注意,虽然在没有增强的情况下进行训练时,模型在训练集上收敛得更快,但由于模型的过度拟合,现实世界/测试集的性能将明显较差。 相比之下,经过增强训练的模型收敛速度相当慢,训练精度较低,但在测试集上的表现会更好,因为它已经看到了更多不同的动物图像。

© www.soinside.com 2019 - 2024. All rights reserved.