【问题标题】:How to tackle overfitting with fully convolutional network in caffe如何在 caffe 中使用全卷积网络解决过拟合问题
【发布时间】:2017-10-07 11:40:33
【问题描述】:

我在 caffe 中有一个完全卷积网络(特别是堆叠沙漏网络)。在每个卷积层之后,我有一个批量归一化和一个缩放层和一个 ReLU 层。但是,我遇到了过度拟合的问题。通常,我会增加我的数据集(这是不可能的)或者我会使用 Dropout 层,但由于我已经读过在完全卷积网络中使用 Dropout 层没有用,我不知道如何解决这个问题。除了我提到的,还有什么可以做的吗?正则化在这种情况下会有所帮助吗?

【问题讨论】:

  • 尝试使用增强功能(裁剪、翻转、反转、缩放、平移、旋转等)增加您的数据集
  • 经过推理的数据增强非常棒。不要不加思索地全力以赴:您的目标是针对原始训练集中但您知道测试集中可能发生的变化来训练您的网络。例如,如果您正在处理街道监控图像,则将其翻转 180 度是没有意义的,因为无论是在训练中还是在验证中,显示给您的神经网络的图像都不会像这样。

标签: deep-learning caffe


【解决方案1】:

这是我从互联网上偷来的一张方便的图片。当你的深度学习模型遇到问题时,这是一个方便的图表。你说你听说Dropout在Conv中不好,但是你测试过吗?从那开始,然后继续:

  1. 向靠近输出的大深度维度的 Conv 层添加 dropout
  2. 尝试不要深入。这与深入相反,您应该在深入之前尝试一下。 首先确保您有一个不会过拟合的简单模型,然后尝试添加层。
  3. 如果您仍然过拟合并且出现了 dropout,请尝试移除 神经元,使后面的 Conv 层没有那么多深度。
  4. 按照 Z.Kal 的说法,通过转换来增加您的数据集。
  5. 如果这一切都没有什么不同,请接受您的架构可能是错误的事实。您已经在其中深埋了一种方式,它可以逐字存储您提供给它的所有数据,而无需对其进行概括。考虑创建一个挤压点,在这里您的图层与输入数据相比较小。

2020 年 10 月 22 日更新 - 经过几年的卷积编码并尝试了为什么我的嵌入层似乎存在不合理的高协方差问题的原因,我已将其追踪为 dropout。 Dropout 鼓励协方差(顺便说一句,这不好)。我没有使用 dropout,而是使用其他正则化器,或者完全跳过正则化并专注于初始化和架构。这是我制作的一个(糟糕的)视频,展示了如何有效地训练超深 400 layers of convolution 以及用于帮助其训练和操作的技巧

【讨论】:

  • 嗯,我的网络很深,我正在使用堆叠沙漏网络。我有一个简单的数据集,它由 10.000 个数据样本组成,在稍微过拟合的情况下工作得很好。然后我有一个包含 800.000 个数据样本的数据集,它们根本不收敛。我试图将 800.000 个样本的数据集简化为 5.000 个样本,然后它也会收敛,但会过拟合。你怎么看?
  • 这很有趣,会促使我质疑 800,000 集并进行一些探索!我经常使用文本分析,我发现大量标记数据的子集必须被严重错误标记,因此我必须探索数据以识别这些区域并排除它们。幸运的是,我有关于文本的元数据(如标记它的数据和团队),你可能没有关于图像的元数据。因此,如果没有这种信息,我会将 800,000 个分成 80 个批次,每批 10,000 个,看看会发生什么。我也尝试从 10,000 个模型开始,然后在小批量上重新训练它
  • 至于过拟合,你的网络末端可能有一个全连接层。尝试将其增加 50% 并为其添加 50% 的 dropout。我经常看到的 Conv 层中有 20% (.8) 的 dropout。我对您的小批量大小感兴趣,请分享。就我个人而言,我发现在大多数情况下,小至 5 的 minibatch 可以解决 SGD 的大多数问题,超过 100 的批次会带来高计算成本而没有好处,所以我倾向于从 20 开始。如果您使用的是非常大的批次大小,那么它需要很长时间才能看到结果。
  • 首先我没有完全连接的层,这就是我所说的我的网络是完全卷积的。其次,关于 caffe 的 mini_batch size 到底是什么意思?是 Caffe 中的 batch_size 参数吗?我已将我的batch_size 设置为 4,因为这是我可以拥有的最高数字,而不会从内存中获取数据。但后来我在 4 个 GPU 上进行训练,这使得批量大小为 4*4 = 16。这样对吗?
  • 良好的反馈,它有帮助。如果它是完全卷积的,那么坚持使用 20% 的小 dropout。是的,我指的是 batch_size。最后,我不确定 caffe 如何设置 multi-gpu w.r.t batch_size。对不起。
猜你喜欢
  • 1970-01-01
  • 2016-11-13
  • 2018-07-16
  • 2015-03-21
  • 2019-11-10
  • 1970-01-01
  • 2016-11-24
  • 2021-02-14
  • 2018-05-29
相关资源
最近更新 更多