En el aprendizaje profundo, ¿cómo clasifica una imagen como desconocida?

Clasificar una imagen como una clase ‘desconocida’ no es sencillo en ningún método de clasificación supervisado o discriminatorio. La única posibilidad es que si puede definir una clase ‘desconocida’; sin embargo, cada cosa además de sus clases de interés es “desconocida” y es difícil definir dicha clase.

Una posibilidad es emplear métodos de clasificación generativos, no supervisados ​​o de una clase. La idea es que defina cuál es su clase ‘normal’. Luego, según un umbral, puede aceptar o rechazar muestras de prueba como normales o no normales (o desconocidas).

En el aprendizaje profundo, puede usar codificadores automáticos y sus variantes para entrenar en imágenes ‘normales’. Luego, encuentre un umbral del error de reconstrucción en los datos de entrenamiento y basándose en eso identifique una imagen como ‘normal’ o ‘desconocida’. Si ha etiquetado los datos de muchas categorías de imágenes y son muy diferentes entre sí, puede entrenar codificadores automáticos para cada categoría y encontrar sus respectivos umbrales para cada codificador automático. Para una imagen de prueba, pase por cada uno de estos codificadores automáticos y si cada codificador automático lo rechaza, puede clasificarlo como ‘desconocido’

Recientemente publiqué un artículo para encontrar diferentes tipos de umbrales de un autoencoder utilizando un error de reconstrucción. Puede encontrar el documento aquí: Detección de caídas invisibles de dispositivos portátiles utilizando un conjunto de codificadores automáticos (Pdf aquí – https://arxiv.org/pdf/1610.03761)

La forma en que abordaría esto es construir 20 clasificadores binarios, cada uno con una clase positiva como todas las muestras de un animal en particular y las muestras negativas representadas por algo que no sea este animal. La decisión general de a qué animal se debe clasificar una entrada se basa en la decisión de todos los clasificadores binarios. Simplemente eliges la máxima confianza entre todos ellos. La confianza es la salida de cada uno de los clasificadores binarios. Este es un enfoque de todo v / s cuando tiene un conjunto de muestras que no pertenecen a ninguna de las clases. He intentado CNN en esto y funciona bien.

En tal caso, es posible que desee introducir un enfoque de ventana deslizante como en Overfeat. Permítanme explicar brevemente, la localización, el reconocimiento y la detección combinados introducen ciertas restricciones que son difíciles de satisfacer solo con eventos aleatorios. Como la propiedad de los rectángulos de detección alrededor de un objeto de interés.

En la referencia anterior, notará que la red neuronal convolucional se implementa en forma de ventana deslizante. Uno puede notar rápidamente que el objeto preferido está rodeado por múltiples rectángulos de detección, esos rectángulos pueden fusionarse en un rectángulo de detección medio con un alto valor de confianza. Por lo tanto, esta técnica se puede utilizar para rechazar clases “desconocidas” simplemente rechazando una detección con un puntaje de confianza de grupo pequeño.

More Interesting

¿Es el enlace neuronal una tecnología que podría funcionar?

¿Cómo se usan los árboles BSP (partición de espacio binario) en los algoritmos de aprendizaje automático?

¿Es mejor hacer una competencia de ciencia de datos en Kaggle o crear un algoritmo comercial en Quantopian para encontrar un trabajo en finanzas cuantitativas?

¿Qué es el aprendizaje supervisado?

¿La gran tecnología dominará los datos y el aprendizaje automático?

¿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?

¿Cuáles son algunas aplicaciones actuales de las redes neuronales convolucionales además del análisis de imagen, video y discurso?

¿Por qué es importante la ciencia de datos?

Cómo elegir el mejor kit de desarrollador de sistemas integrados para el proyecto My Image Processing y Machine Learning

¿Las herramientas como BigML o Google Prediction API dejarán a los expertos en aprendizaje automático fuera del trabajo?

¿Cuáles son los sitios web que debe visitar un amante del diseño de máquinas?

¿Debo aprender el aprendizaje automático y el desarrollo de aplicaciones de Android simultáneamente? En caso afirmativo, ¿a qué lenguaje (s) de programación debo recurrir?

¿Cómo es posible combinar el desarrollo web con el aprendizaje automático?

¿Por qué las redes neuronales artificiales son "cajas negras"?

¿Es posible el aprendizaje automático acelerado por GPU utilizando un controlador de gráficos de software libre?