machine learning - tutorial - Requisitos mínimos para el clasificador de imágenes de tensorflow de Google
tensorflow tutorial (2)
¿Cuántas imágenes por clase se deben proporcionar como mínimo?
¿Necesitamos acercarnos? proporcionar la misma cantidad de imágenes de entrenamiento por clase o ¿la cantidad por clase puede ser diferente?
¿Cuál es el impacto de datos de imágenes incorrectos en los datos de entrenamiento? Por ejemplo, 500 imágenes de una zapatilla de tenis y 50 de otros zapatos.
Estas tres preguntas no son realmente específicas de TensorFlow. Pero la respuesta corta es que depende de la flexibilidad de su modelo para manejar conjuntos de datos desequilibrados y etiquetas ruidosas.
¿es posible entrenar a un clasificador con muchas más clases que el modelo inception-v3 recientemente publicado? Digamos: 30,000.
Sí definitivamente. Esto significaría una capa de clasificador mucho más grande, por lo que su tiempo de entrenamiento podría ser más largo. Aparte de eso, no hay limitaciones en TensorFlow.
Estamos planeando construir clasificadores de imágenes usando Google Tensorflow.
Me pregunto cuáles son los requisitos mínimos y cuáles son los óptimos para entrenar un clasificador de imágenes personalizado utilizando una red neuronal profunda convolucional.
Las preguntas son específicamente:
- ¿Cuántas imágenes por clase se deben proporcionar como mínimo?
- ¿Necesitamos acercarnos? proporcionar la misma cantidad de imágenes de entrenamiento por clase o ¿la cantidad por clase puede ser diferente?
- ¿Cuál es el impacto de datos de imágenes incorrectos en los datos de entrenamiento? Por ejemplo, 500 imágenes de una zapatilla de tenis y 50 de otros zapatos.
- ¿es posible entrenar a un clasificador con muchas más clases que el modelo inception-v3 recientemente publicado? Digamos: 30,000.
"¿Cuántas imágenes por clase se deben proporcionar como mínimo?"
Depende de cómo entrenas.
Si está entrenando un nuevo modelo desde cero, solo supervisado: como regla general sobre el número de imágenes, puede ver las tareas MNIST y CIFAR. Estos parecen funcionar bien con aproximadamente 5,000 imágenes por clase. Eso es si estás entrenando desde cero.
Probablemente pueda arrancar su red comenzando con un modelo entrenado en ImageNet. Este modelo ya tendrá buenas características, por lo que debería poder aprender a clasificar nuevas categorías sin tantos ejemplos etiquetados. No creo que esto esté suficientemente estudiado como para decirle un número específico.
Si entrena con datos no etiquetados, tal vez solo 100 imágenes etiquetadas por clase. Hay una gran cantidad de trabajos de investigación recientes sobre este tema, aunque no se escalan a tantas tareas como Imagenet. Simple de implementar:
http://arxiv.org/abs/1507.00677
Complicado para implementar:
http://arxiv.org/abs/1507.02672
http://arxiv.org/abs/1511.06390
http://arxiv.org/abs/1511.06440
"¿Necesitamos aplicar la misma cantidad de imágenes de entrenamiento por clase o la cantidad por clase puede ser diferente?"
Debería funcionar con diferentes números de ejemplos por clase.
"¿Cuál es el impacto de los datos de imagen equivocados en los datos de entrenamiento? Por ejemplo, 500 imágenes de una zapatilla de tenis y 50 de otros zapatos".
Debe usar la técnica de suavizado de etiquetas descrita en este documento:
http://arxiv.org/abs/1512.00567
Suavice las etiquetas según su estimación de la tasa de error de la etiqueta.
"¿es posible entrenar un clasificador con muchas más clases que el modelo inception-v3 recientemente publicado? Digamos: 30,000".
Sí