使用模拟数据进行深度学习

时间:2018-08-28 22:38:38

标签: python tensorflow machine-learning keras

在阅读出色的book by F. Chollet的同时,我正在用简单的Sequential模型对Keras / Tensorflow进行实验,该模型基于物理分析模型对模拟图像进行训练。

在完全控制模拟的情况下,我编写了一个generator,它生成了无限的数据和标签批处理流,并与Keras中的fit_generator一起使用。这样生成的数据永远不会完全相同,而且我可以为每个图像添加一些随机噪声。

现在我想知道:如果模型从一个历元到下一个历元永远都看不到相同的输入数据,这是一个问题吗? 我是否可以假设我在降低损失方面的问题不是由于数据是“无限的”(因此,我只需要专注于超参数调整)就可以了吗? 如果您有关于处理模拟数据上的DL的任何建议,请随意。

1 个答案:

答案 0 :(得分:3)

训练有素的网络将掌握数据中的模式,将新数据优先于旧数据。如果您的数据来自恒定分布,那么这无关紧要,但是,如果该分布随时间变化,则应该(缓慢地)适应较新的分布。

数据永远不会完全相同这一事实无关紧要。大多数训练有素的网络都使用某种形式的数据增强(例如,对于图像处理,通常会随机裁剪,旋转,调整大小并应用颜色操作等,因此,每个示例即使来自同一基础,也永远不会完全相同。图片)。