是否有可能在几个时代内过度填充250,000个例子?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有可能在几个时代内过度填充250,000个例子?相关的知识,希望对你有一定的参考价值。

一般来说,是否有可能判断在Z时代的Y训练样例上训练深度为X的给定神经网络是否可能过度拟合?或者只能通过查看训练与测试集的损失和准确度图来确定过度拟合?

具体来说,我有~250,000个例子,每个例子都是200x200px的平面图像。该模型是CNN,具有大约5个卷积+池化层,接着是2个密集层,每个层具有1024个单元。该模型对12个不同的类进行了分类。我已经训练了大约35个小时,训练集和~80%测试集的准确率约为90%。

答案

一般来说,是否有可能判断在Z时代的Y训练样例上训练深度为X的给定神经网络是否可能过度拟合?

一般来说,没有。适合深度学习模型仍然是一种几乎完全是经验的艺术,其背后的理论仍然(非常)差。虽然通过获得越来越多的经验,人们更有可能预先知道模型是否容易过度拟合,但信心通常不高(极端情况除外),唯一可靠的判断就是实验。

进一步阐述:如果你采取Keras MNIST CNN example并删除中间密集层(以前版本的脚本用于包括2x200密集层而不是1x128),因此只保留conv / pooling层和最终的softmax,你将在仅仅20个时期之后达到约98.8%的测试精度,但我不知道有任何人可以事先可靠地预测这个...

或者只能通过查看训练与测试集的损失和准确度图来确定过度拟合?

确切地说,这是唯一安全的方式。过度拟合的标志性特征是学习曲线的偏差(训练误差仍在减小,而验证或测试误差向上)。但即使我们已经诊断出过度拟合,原因也许并不总是明确的(参见我的here的相关问题和答案)。

训练集的准确率约为90%,测试集约为80%

再一般来说,只是在原则上,对于12个类的问题,这听起来并不坏。您似乎已经知道,如果您担心可能会过度拟合,那么您需要监控的是曲线而不是值本身(或训练时间)。


关于深度学习模型背后的穷人理论与模型可扩展性主题相关的更一般的主题,你可能会发现我的this answer有用......

以上是关于是否有可能在几个时代内过度填充250,000个例子?的主要内容,如果未能解决你的问题,请参考以下文章

如何在几秒钟内发送 50.000 个 HTTP 请求?

MongoDB - 在几个小时的时间范围内查询

WCF 限制请求

Azure Web 应用服务在几个小时内变得不可用

RabbitMQ / ActiveMQ 或 Redis 超过 250,000 msg/s

Python 脚本在几个小时后停止