Siamese 网络中的过拟合

数据挖掘 深度学习 喀拉斯 图像分类 计算机视觉 卷积神经网络
2021-09-27 07:09:37

我正在尝试为与thisthis非常相似的应用程序训练连体网络。从我所读到的关于训练连体网络的信息中,不同的图像对超过了相似的图像对,显然如此。在我链接到的论文中,作者谈到相似与不相似对的比例为 1:20,即,对于每对相似的图像,训练集由 20 个不同的对组成。如果我理解正确,对于 64 的批次大小,我的批次将包含 3 个相似对和对应的 20 个不同对,每个相似对。

我在 Keras 中实现了相同的功能,并且网络从第一个 epoch 开始就过拟合了。我有大约 6000 对相似的图像,我正在随机生成不同的对。如何减少过拟合?任何提示都会有所帮助。

注意:我正在使用 Inception V3 的最后两个 Inception 模块来训练我的数据。编辑:我们设法通过获取更多训练数据并使用在非常相似的任务上预训练的网络来解决这个问题。

2个回答

在您的案例中,减少神经网络过度拟合的最常见方法是:

  1. Dropout - 在训练期间随机删除连接
  2. 数据增强 - 在数据中创建变化,例如旋转或翻转图像

既然你说网络从第一个时代开始就过度拟合,我建议你使用比 Inception V3 网络更简单的架构。如果过度拟合在中低范围内,数据增强和 dropout 将起作用。但是,如果它从第一个 epoch 开始就严重过度拟合,那么这些技术就行不通了。