deep-learning - 如何在caffe中使用完全卷积网络解决过度拟合

标签 deep-learning caffe

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

最佳答案

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

  • 将 dropout 添加到接近输出的大深度维度的 Conv 层
  • 试试 不深入 .这是深入的反面,你应该在深入之前尝试。确保您有一个不会过拟合的简单模型 第一 ,然后尝试添加图层。
  • 如果你仍然过度拟合并且你有辍学,那么尝试删除 神经元通过让你后面的 Conv 层没有那么多的深度。
  • 做 Z.Kal 所说的,通过转换来乘以你的数据集。
  • 如果所有这些都没有区别,那么接受您的架构可能是错误的事实。您已经在其中深埋了一种方法,它可以存储您逐字提供的所有数据,而无需对其进行概括。考虑制作一个挤压点,在那里你有一个比输入数据小的层。

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

    关于deep-learning - 如何在caffe中使用完全卷积网络解决过度拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43865103/

    相关文章:

    c++ - Caffe 安装问题,远程服务器,ld 找不到 -<package>

    ubuntu - Caffe 运行测试报错

    machine-learning - Embedding层的初始值是多少?

    python - SageMaker 图像分类 : How to get an ordered list of classes corresponding to the output of the model

    c++ - 编译 Caffe 时出错

    python - Caffe 编译时没有看到 hdf5.h

    machine-learning - 如何在 Caffe 中检索图层

    deep-learning - 使用 pytorch 进行混合精度训练是否需要 GradScaler?

    python-3.x - 如何实时检测对象并自动跟踪它,而不是用户必须在要跟踪的对象周围绘制边界框?

    machine-learning - 当未分配时如何找到 "num_words"或 Keras 分词器的词汇量大小?