为什么我不能将数据增强与预训练的 convnet 一起使用?

数据挖掘 卷积神经网络 初学者 数据增强
2021-09-23 06:21:45

阅读 François Chollet 的 Python 深度学习。在第 5.3.1 节中,我们实例化了一个预训练的卷积网络 VGG16,并提供了两个选项来继续:

A)在你的数据集上运行卷积基础,将其输出记录到磁盘上的一个 Numpy 数组,然后使用这些数据作为一个独立的、密集连接的分类器的输入,类似于你在本书第 1 部分中看到的分类器。这个解决方案运行起来又快又便宜,因为它只需要为每个输入图像运行一次卷积基,而卷积基是管道中迄今为止最昂贵的部分。但出于同样的原因,这种技术不允许您 使用数据增强

B)通过在顶部添加密集层来扩展您拥有的模型(conv_base),并在输入数据上端到端运行整个事情。 将允许您使用数据增强,因为每个输入图像每次被模型看到时都会通过卷积基。但出于同样的原因,这种技术比第一种技术要昂贵得多。

为什么我不能使用数据增强从现有训练样本中生成更多训练数据,然后选择选项 A?似乎我可以在我的增强数据集上运行 VGG16 基础,并将输出用作独立密集连接分类器的输入。

1个回答

在 stats.stackexchange.com 中找到了答案。希望这可以帮助其他有同样问题的人。

特征提取:冻结卷积基础与提取特征的训练