在通过介绍性 GAN 教程生成类似手写数字的 mnist 时,我想知道由于不同数字导致的训练数据的系统差异是否会使模型更难训练。
如果所有真实样本都是 1s 而不是 0-9s,训练模型会不会更容易?
我的问题
我训练一个单独的模型以仅使用一种数字的训练数据分别生成每个数字(0-9)的方法是否可行?
与使用所有 mnist 的模型相比,仅以一位数训练这些模型会更快(即需要更少的时期来达到一定的准确性/质量)。
编辑
我找到了一个可以接受的答案(见下文),但显然我很高兴其他人加入。
在通过介绍性 GAN 教程生成类似手写数字的 mnist 时,我想知道由于不同数字导致的训练数据的系统差异是否会使模型更难训练。
如果所有真实样本都是 1s 而不是 0-9s,训练模型会不会更容易?
我的问题
我训练一个单独的模型以仅使用一种数字的训练数据分别生成每个数字(0-9)的方法是否可行?
与使用所有 mnist 的模型相比,仅以一位数训练这些模型会更快(即需要更少的时期来达到一定的准确性/质量)。
编辑
我找到了一个可以接受的答案(见下文),但显然我很高兴其他人加入。
经过一些进一步的研究和实验,我想我能够回答我自己的问题。
1.是的,这是可行的!
回答我的第一个问题的最快方法是尝试一下,我做到了。仅在一个数字(我的示例中为 3)上训练 GAN 并产生了预期的结果:
除了明显的实际示例之外,我还能够找到一些讨论 GAN 的进一步文章,其中提到建议减少训练样本中的类别以减少方差(例如,在 CIFAR-10 中,专注于青蛙或卡车,而不是两者)。因此,尽管我对此表示怀疑,但仍然很高兴确认这种方法是有效且可行的。
2. 我不确定它是否更快
我的问题的第二部分是这种方法是否更好(即更准确)和更快。
我无法确认这一点,因为 mnist 是一个非常简单的示例,并且准确性非常好,在任何一种情况下都非常快。我了解到模型拟合的速度取决于模型的复杂性和 epoch 的数量,这不会因为只关注一位数字而改变!因此,自然地覆盖所有数字比仅仅训练一个完整的模型需要更长的时间。
对于更复杂的类/图像类型,可能需要更复杂的模型和时期,并且减少方差(即只有青蛙,没有卡车)可以帮助减少计算持续时间的这两个主要驱动因素,但这不是mnist 类似图像的情况。
我能找到的唯一直接好处是单个模型的更大效用。由于明确的分离,我能够按需生成一个特定的数字(通过调用相关模型),而不是只生成一个 0-9 的随机数。