我正在使用TensorFlow为手语应用程序训练卷积神经网络(CNN)。 CNN必须对27种不同的标签进行分类,因此不出所料,一个主要问题是解决过度拟合问题。我已经采取了几个步骤来实现这一目标:
不幸的是,即使经过所有这些步骤,我发现我无法在3%的测试错误上取得更好的效果。 (这并不可怕,但为了使应用程序可行,我需要大幅改进。)
我怀疑过度拟合的根源在于卷积层,因为我没有采取任何明确的步骤来规范化(除了保持层尽可能小)。但是根据TensorFlow提供的示例,似乎不会将正则化或丢失通常应用于卷积层。
我在网上发现的唯一一种明确涉及防止卷积层过度拟合的方法是一种称为Stochastic Pooling的新方法。不幸的是,似乎在TensorFlow中没有实现这一点,至少现在还没有。
简而言之,是否有建议的方法来防止在TensorFlow中实现的卷积层过度拟合?或者是否有必要创建一个自定义池操作符来支持随机池方法?
感谢任何指导!
答案 0 :(得分:14)
托马,马丁。 “Analysis and Optimization of Convolutional Neural Network Architectures”。 arXiv preprint arXiv:1707.09725(2017)。
有关分析技术,请参阅第2.5章。如该章开头所述,您通常可以执行以下操作:
CNN必须对27种不同的标签进行分类,所以不出所料,一个主要问题是解决过度拟合问题。
我不明白这是如何联系的。您可以拥有数百个标签而不会出现过度拟合问题。