如何解决深度神经网络中的欠拟合问题


50

当我开始使用人工神经网络(NN)时,我认为必须克服过度拟合作为主要问题。但是实际上,我什至无法让我的神经网络通过20%的错误率障碍。我什至无法在随机森林中超越我的分数!

我正在就如何使NN开始捕获数据趋势寻求一些非常笼统或不那么笼统的建议。

为了实现NN,我将Theano Stacked Auto Encoder与教程的代码结合使用,该代码非常有用(错误率低于5%),可以对MNIST数据集进行分类。它是一个多层感知器,顶部有softmax层,每个隐藏的层后来被预先训练为自动编码器(在第8章的教程中有完整介绍)。有〜50个输入要素和〜10个输出类别。NN具有乙状神经元,所有数据均标准化为[0,1]。我尝试了许多不同的配置:隐藏层和神经元的数量(100-> 100-> 100、60-> 60-> 60、60-> 30-> 15等),不同的学习和预训练费率等

我能得到的最好的结果是,验证集的错误率是20%,测试集的错误率是40%。

另一方面,当我尝试使用Random Forest(来自scikit-learn)时,在验证集上我容易得到12%的错误率,在测试集上得到25%(!)。

我的具有预训练的深层NN表现如何如此糟糕?我该怎么办?

Answers:


34

深度网络的问题在于它们具有大量需要调整的超参数和很小的解决方案空间。因此,找到优秀的人更像是一门艺术而不是工程任务。我将从教程中的工作示例开始,然后试用其参数来查看结果如何变化-这给出了关于参数和结果(最终和中间)之间的依存关系的良好直觉(尽管不是正式解释)。

我还发现以下论文非常有用:

它们都描述了RBM,但总体上包含了有关深度网络的一些见解。例如,关键点之一是需要逐层调试网络-如果上一层不能很好地表示功能,则其他层几乎没有机会对其进行修复。


14

尽管ffriend的答案为进一步了解神经网络如何(极其)难以正确调整提供了一些出色的指导,但我认为列出一些目前在神经网络中性能最高的分类体系结构中使用的特定技术可能会有所帮助文献。

校正的线性激活

在您的情况下可能有帮助的第一件事是将模型的激活函数从逻辑Sigmoid - -切换为a 整流线性(又名RELU) -。f(z)=(1+ez)1f(z)=max(0,z)

relu激活具有两个主要优点:

  • 对于,其输出为真零(不仅仅是接近零的小值),并且z0
  • 其导数是常数,对于为或对于为1 。z0z>0

relu单元的网络基本上像许多线性网络的集合一样,因为接收输入单元本质上是“关闭”(它们的输出为0),而接收输入折叠为单个线性该输入的模型。常数导数也很重要,因为具有relu激活的深层网络倾向于避免消失的梯度问题,并且无需分层预训练即可进行训练。z0z>0

请参阅Glorot,Bordes和Bengio撰写的“ Deep Sparse Rectifier Neural Networks”(http://jmlr.csail.mit.edu/proceedings/papers/v15/glorot11a/glorot11a.pdf)以获得有关这些主题的好论文。

退出

过去几年中,许多研究小组一直主张在分类器网络中使用“辍学”以避免过度训练。(参见例如“差:一个简单的方法,以防止神经网络过度拟合”,由塔瓦,欣顿,Krizhevsky,Sutskever,&Salakhutdinov http://www.cs.toronto.edu/~hinton/absps/JMLRdropout.pdf)在在训练过程中,对于网络处理的每个输入,在退出过程中,给定层中某些恒定比例的单元会随机设置为0。这会强制将未设置为0的单位“弥补”为“缺失”单位。对于分类任务中的神经网络模型,辍学似乎是一种非常有效的正则化器。在http:// fastml上看到有关此的博客文章


7
但是问题是关于拟合不足,而不是过度拟合。
Valentas '16

8

您可能有兴趣阅读Microsoft Research研究人员的以下论文:

何凯明,张向宇,任少清,孙健:arxiv上的深度残差学习用于图像识别,2015年。

他们有和您类似的问题:

当更深层的网络能够开始融合时,就会出现降级问题:随着网络深度的增加,精度达到饱和(这可能不足为奇),然后迅速降级。出乎意料的是,这种降级不是由过度拟合引起的,并且在[11,42]中报道并由我们的实验充分验证了,在适当深度的模型中添加更多层会导致更高的训练误差

为了解决该问题,他们使用了跳过体系结构。这样,他们训练了非常深的网络(1202层),并在ILSVRC 2015挑战赛中取得了最佳成绩。


谢谢您的回答,您正在解决消失的梯度问题,如果验证acc高于训练acc,那么应该怎么做?可能会在val集中出现少量数据,但是有时它并不取决于val集中。我问这还有什么其他原因,其中val acc高于培训acc?
Sudip Das
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.