Cómo entrenar a una CNN con datos insuficientes y no tan buenos

Hiciste 2 preguntas diferentes:

  1. ¿Cómo trato con datos insuficientes? Además de hacer el aprendizaje de transferencia que otros mencionaron, hay un campo completo sobre este tema llamado ‘aprendizaje bajo’. Además, ‘aprendizaje débilmente supervisado’. Deberías profundizar en ambos. Personalmente, me gustaría que los demás recomienden que comiences con el aprendizaje de transferencia porque el tiro bajo es un campo más difícil. Cuando haya agotado el aprendizaje de transferencia, comenzaría con este artículo.
  2. ¿Cómo trato con datos ergo “no tan buenos”? Esta es una pregunta extremadamente importante que a menudo se pasa por alto en los conjuntos de datos académicos. Lo que sí recomiendo es una combinación de:
    1. Haga un análisis exploratorio de datos y verifique si puede encontrar algunas heurísticas que limpien sus datos.
    2. Hay un campo en las estadísticas llamado ‘estadísticas robustas’ que a menudo se pasa por alto en la comunidad de aprendizaje profundo a favor del uso de ‘más datos’ (que es una excelente solución cuando tienes los datos, ¡porque te hace más resistente al ruido!) . Cuando no tiene muchos datos, buscaría funciones de pérdida robustas. Y también intente usar la detección de valores atípicos en su conjunto de datos y elimine los valores atípicos en caso de que se trate de clasificación. No hay muchos documentos recientes sobre el uso de herramientas robustas en el ámbito del aprendizaje profundo, pero aquí están mis recomendaciones para empezar: me gustó su uso para la regresión. Y este para la clasificación.

Una técnica de Machine Learning no es mejor que sus datos. No puede hacer milagros.

Tendrás que morder la bala y obtener más ejemplos con mejores etiquetas.

Puede sintetizar más datos ajustando los datos:

  • girando las imágenes ligeramente
  • Ampliar // reducir las imágenes
  • Difuminando un poco las imágenes
  • Cambiar un poco las intensidades de píxeles
  • Cambiar las imágenes un poco

Definitivamente necesitas usar el aprendizaje de transferencia. Tome una imagen CNN entrenada en red y ajuste las capas finales para que el modelo funcione para sus datos.

Los resultados son bastante asombrosos. Una persona usó esta técnica para el reconocimiento de huellas dactilares de un modelo pretratado de red de imágenes.

Absolutamente haz esto. Obviamente, el aumento de datos debe hacerse.

More Interesting

¿Cuál es la diferencia entre análisis de datos, análisis de datos, minería de datos, ciencia de datos, aprendizaje automático y Big Data?

¿Cómo debo elegir entre convertirme en un desarrollador de JavaScript de pila completa o un ingeniero de aprendizaje automático?

Visión por computadora: ¿cómo sé qué vector de características en un vector combinado es más confiable?

¿Cuál es la función de las máquinas restringidas de Boltzmann para el filtrado colaborativo?

¿Qué aplicaciones iOS usan TensorFlow del lado del cliente?

¿Será posible predecir cuándo y qué producto comprará alguien con una precisión útil?

¿No tener datos temporales en el vector de entrada hace que un RNN-LSTM sea inútil en comparación con otros NN si su salida es una secuencia temporal?

¿La red neuronal convolucional es básicamente un procesamiento previo de datos a través del núcleo más las redes neuronales? ¿Acaso Deep Learning no es solo redes neuronales con preprocesamiento para las selecciones de funciones automatizadas?

¿Cuál es la relación entre los modelos gráficos probabilísticos y las redes neuronales (aprendizaje profundo)?

¿Podrían probarse los conceptos de la medicina tradicional china mediante el aprendizaje profundo?

¿Cuáles son los mejores algoritmos para construir sistemas de recomendación?

¿Qué algoritmo puedo implementar para hacer una reducción de dimensión con restricción no negativa? (PCA se asignará al espacio negativo)

Mi algoritmo de ML, escrito en Python, está casi completo. Quiero que sea un sitio web. ¿Cuál es la mejor manera de conectar mi script Python a Meteor?

Cómo llamar a clasificadores y conjuntos de datos de WEKA a Netbeans IDE 7.1

¿Qué te emociona del futuro del aprendizaje automático?