深度学习:在较小的数据子集上开始训练有意义吗?

数据挖掘 机器学习 神经网络 数据 阶级失衡 深度学习
2022-01-20 22:54:19

我用我的一小部分数据训练了一个深度神经网络,这让我可以在很短的时间内经历许多 epoch 并让模型合理地执行,然后我给它整个数据集(10 倍以上的数据)和它进一步改善。当我只给它整个数据集时,模型似乎表现得非常糟糕,但由于训练需要额外的时间,很难达到许多时期。

我的问题是:用较小的数据子集“热身”训练一个大型深度神经网络是否有意义,还是应该始终只提供完整数据?

补充一点细节:我的班级不平衡很严重。当我给它完整的数据集时,模型总是预测为 0,但是当我在较小的训练集上过度拟合时,它至少学会了不总是预测 0。我在第 5 步中注意到这个指南,提出了与我所做的类似的建议,但我不确定它在理论上是否合理,或者只是一种检查模型“可以在足够多的时期内工作”的好方法。

1个回答

在整个数据集上训练深度学习模型是最有意义的。如果您在训练的一个子集上进行训练,则更有可能最终达到局部最小值。

一种选择是调整随机梯度下降 (SGD) 的批次大小。批量大小是在执行学习更新之前给予模型的数据点数。