Google 张量流图像分类器的最低要求
Miminum requirements for Google tensorflow image classifier
我们计划使用 Google Tensorflow 构建图像 classifier。
我想知道使用卷积深度神经网络训练自定义图像 classifier 的最低要求和最佳要求是什么?
问题具体是:
- 至少应为每个 class 提供多少张图片?
- 我们需要追加吗?每个 class 提供相同数量的训练图像,或者每个 class 的数量可以不同吗?
- 训练数据中错误的图像数据有什么影响?例如。 500 张网球鞋图片和 50 张其他鞋子图片。
- 是否可以用比最近发布的 inception-v3 模型更多的 classes 来训练 classifier?比方说:30.000.
How many images per class should be provided at a minimum?
do we need to appx. provide the same amount of training images per class or can the amount per class be disparate?
what is the impact of wrong image data in the training data? E.g. 500 images of a tennis shoe and 50 of other shoes.
这三个问题并不是真正针对 TensorFlow 的。但简短的回答是,这取决于您的模型在处理不平衡数据集和嘈杂标签时的弹性。
is it possible to train a classifier with much more classes than the recently published inception-v3 model? Let's say: 30.000.
是的,绝对是。这将意味着更大的分类器层,因此您的训练时间可能会更长。除此之外,TensorFlow 没有任何限制。
"how many images per class should be provided at a minimum?"
取决于你如何训练。
如果从头开始训练新模型,纯监督:对于图像数量的经验法则,您可以查看 MNIST 和 CIFAR 任务。对于每个 class 大约 5,000 张图像,这些似乎工作正常。如果您是从头开始训练的话。
您可以从在 ImageNet 上训练的模型开始 bootstrap 您的网络。该模型已经具有良好的特征,因此它应该能够学习 class 确定新类别而无需那么多带标签的示例。我不认为这是充分研究足以告诉你一个具体的数字。
如果使用未标记数据进行训练,每个 class 可能只有 100 个标记图像。最近有很多关于这个主题的研究工作,尽管没有扩展到像 Imagenet 这样大的任务。
易于实施:
http://arxiv.org/abs/1507.00677
实施起来很复杂:
http://arxiv.org/abs/1507.02672
http://arxiv.org/abs/1511.06390
http://arxiv.org/abs/1511.06440
"do we need to appx. provide the same amount of training images per class or can the amount per class be disparate?"
每个 class.
它应该使用不同数量的示例
"what is the impact of wrong image data in the training data? E.g. 500 images of a tennis shoe and 50 of other shoes."
您应该使用本文中描述的标签平滑技术:
http://arxiv.org/abs/1512.00567
根据您对标签错误率的估计平滑标签。
"is it possible to train a classifier with much more classes than the recently published inception-v3 model? Let's say: 30.000."
是
我们计划使用 Google Tensorflow 构建图像 classifier。
我想知道使用卷积深度神经网络训练自定义图像 classifier 的最低要求和最佳要求是什么?
问题具体是:
- 至少应为每个 class 提供多少张图片?
- 我们需要追加吗?每个 class 提供相同数量的训练图像,或者每个 class 的数量可以不同吗?
- 训练数据中错误的图像数据有什么影响?例如。 500 张网球鞋图片和 50 张其他鞋子图片。
- 是否可以用比最近发布的 inception-v3 模型更多的 classes 来训练 classifier?比方说:30.000.
How many images per class should be provided at a minimum?
do we need to appx. provide the same amount of training images per class or can the amount per class be disparate?
what is the impact of wrong image data in the training data? E.g. 500 images of a tennis shoe and 50 of other shoes.
这三个问题并不是真正针对 TensorFlow 的。但简短的回答是,这取决于您的模型在处理不平衡数据集和嘈杂标签时的弹性。
is it possible to train a classifier with much more classes than the recently published inception-v3 model? Let's say: 30.000.
是的,绝对是。这将意味着更大的分类器层,因此您的训练时间可能会更长。除此之外,TensorFlow 没有任何限制。
"how many images per class should be provided at a minimum?"
取决于你如何训练。
如果从头开始训练新模型,纯监督:对于图像数量的经验法则,您可以查看 MNIST 和 CIFAR 任务。对于每个 class 大约 5,000 张图像,这些似乎工作正常。如果您是从头开始训练的话。
您可以从在 ImageNet 上训练的模型开始 bootstrap 您的网络。该模型已经具有良好的特征,因此它应该能够学习 class 确定新类别而无需那么多带标签的示例。我不认为这是充分研究足以告诉你一个具体的数字。
如果使用未标记数据进行训练,每个 class 可能只有 100 个标记图像。最近有很多关于这个主题的研究工作,尽管没有扩展到像 Imagenet 这样大的任务。 易于实施:
http://arxiv.org/abs/1507.00677
实施起来很复杂:
http://arxiv.org/abs/1507.02672
http://arxiv.org/abs/1511.06390
http://arxiv.org/abs/1511.06440
"do we need to appx. provide the same amount of training images per class or can the amount per class be disparate?"
每个 class.
它应该使用不同数量的示例"what is the impact of wrong image data in the training data? E.g. 500 images of a tennis shoe and 50 of other shoes."
您应该使用本文中描述的标签平滑技术:
http://arxiv.org/abs/1512.00567
根据您对标签错误率的估计平滑标签。
"is it possible to train a classifier with much more classes than the recently published inception-v3 model? Let's say: 30.000."
是