每个张量流批次是否必须包含所有预期分类的输入的均匀分布?

时间:2017-03-14 13:45:18

标签: tensorflow

这可能是一个新手问题,但我试图了解小批量培训的工作原理。

情景 -

对于mnist分类问题,我们假设我们的模型具有适当的hyer参数,允许训练0-9位数。如果我们用一小批均匀分布的输入(每批中所有数字的数字或多或少相同)来喂它,它就会学会按预期分类。

现在,想象一下,我们在仅包含1s的图像上训练模型而不是均匀分布,以便调整权重直到它完美地工作1s。然后我们开始训练只包含2s的图像。请注意,只有输入已更改,模型和其他所有内容都保持不变。

问题 -

模特之后专门针对2s进行的训练是什么?它是否会继续调整权重,直到忘记(也就是说)所有大约1并且现在正在分类为2?或者它是否仍会以记住1和2的方式调整权重?

换句话说,每批必须包含不同分类的统一分布吗?在Tensorflow中重新训练训练有素的模型是否会覆盖以前的训练?如果是,如果不可能创建足够均匀的小(<256)批次,那么在非常大(> = 500-2000)的批量大小上进行训练是否有意义?

2 个答案:

答案 0 :(得分:1)

这是一个没有明确答案的好问题。一般而言,训练样本的顺序和选择对训练网络的性能具有很大影响,特别是在其显示的泛化属性方面。

实际上,影响是如此强烈,选择具体的例子,并以特定的方式对它们进行排序以最大化网络的表现,甚至构成一个真正的研究领域,称为“课程学习”。见this研究论文。

回到你的具体问题:你应该尝试不同的可能性并评估它们(这可能实际上是一个有趣的学习练习)。我希望统一分布的样本可以很好地推广到不同的类别;从原始分布中抽取的样本以获得最高的总分(因为,如果您从一个A类中获得90%的样本,那么在所有类别中获得70%的表现将比A类中的99%和其他地方的0%表现更差总精度);其他样本选择机制将显示不同的行为。

答案 1 :(得分:1)

有关此类问题的有趣读物是Bengio的2012年论文Practical Recommendations for Gradient-Based Training of Deep Architectures

有一个关于在线学习的部分,其中培训数据的分布未知。我引用原始论文

  

有   意味着在线学习者,当给出一个流   非重复性训练数据,真正优化(也许   不是以最佳方式,即使用一阶梯度   技术)我们真正关心的是:概括   错误。

尽管要弄清楚数据集在不同测试场景下的行为方式,最好的做法是尝试两者并获得有关训练数据分布如何影响您的泛化错误的实验结果。

相关问题