小编Aen*_*ed1的帖子

防止CNN的卷积层中的过度拟合

我正在使用TensorFlow为手语应用程序训练卷积神经网络(CNN).CNN必须对27种不同的标签进行分类,因此不出所料,一个主要问题是解决过度拟合问题.我已经采取了几个步骤来实现这一目标:

  1. 我收集了大量高质量的培训数据(每个标签超过5000个样本).
  2. 我已经建立了一个相当复杂的预处理阶段,以帮助最大限度地提高照明条件等方面的不变性.
  3. 我在完全连接的层上使用了dropout.
  4. 我正在将L2正则化应用于完全连接的参数.
  5. 我已经进行了广泛的超参数优化(尽可能给定硬件和时间限制),以确定最简单的模型,可以在训练数据上实现接近0%的损失.

不幸的是,即使在所有这些步骤之后,我发现我无法在3%的测试错误上获得更好的效果.(这并不可怕,但为了使应用程序可行,我需要大幅改进.)

我怀疑过度拟合的根源在于卷积层,因为我没有采取任何明确的步骤来规范化(除了保持层尽可能小).但是基于TensorFlow提供的示例,似乎不会将正则化或丢失通常应用于卷积层.

我在网上发现的唯一一种明确涉及防止卷积层过度拟合的方法是一种称为随机池的相当新的方法.不幸的是,似乎在TensorFlow中没有实现这一点,至少现在还没有.

那么简而言之,是否有一种推荐的方法可以防止在TensorFlow中实现的卷积层过度拟合?或者是否有必要创建自定义池操作符以支持随机池方法?

谢谢你的指导!

conv-neural-network tensorflow

13
推荐指数
1
解决办法
1万
查看次数

标签 统计

conv-neural-network ×1

tensorflow ×1