Aprendizaje N-Shot: entrene la mayor cantidad de modelos con la menor cantidad de datos.
Tian Zi Yizhong (Universidad de Zhengzhou) y Ye Diao (Universidad de Ciencia y Tecnología de Jiangsu)
Comentarios | La IA se compara con la electricidad, luego los datos son el carbón que genera electricidad.
Desafortunadamente, así como hemos visto que el carbón disponible es consumible, muchas aplicaciones de IA tienen pocos o ningún dato al que acceder.
Las nuevas tecnologías compensan la falta de recursos físicos; también se necesitan nuevas tecnologías para garantizar que los programas se ejecuten normalmente con pocos datos. Este se está convirtiendo en un campo muy candente, con el tema central: el aprendizaje N-shot.
1.n tiempos de aprendizaje
Te preguntarás, ¿qué es una lente? Buena pregunta. shot solo usa una muestra para el entrenamiento. En el aprendizaje de N-shots, tenemos N muestras de entrenamiento. El "pequeño" en el término "aprendizaje de muestra pequeña" suele estar entre 0 y 5. Es decir, entrenar un modelo sin muestras se denomina aprendizaje de disparo cero, una muestra es aprendizaje de un disparo, etc.
¿Por qué 1-1 necesita N inyecciones?
Nuestra tasa de error de clasificación en ImageNet es inferior al 4%. ¿Por qué necesitamos esto?
En primer lugar, el conjunto de datos de ImageNet contiene muchos ejemplos de aprendizaje automático, pero este no es siempre el caso en imágenes médicas, descubrimiento de fármacos y muchos otros campos donde la IA puede ser fundamental. Las arquitecturas típicas de aprendizaje profundo se basan en el entrenamiento con grandes cantidades de datos para obtener resultados confiables. Por ejemplo, ImageNet necesita entrenarse en cientos de imágenes de hot dogs para determinar si una nueva imagen es un hot dog. Algunos conjuntos de datos, como No hay hot dogs en el refrigerador después de la celebración del 4 de julio, carecen de imágenes.
Muchos casos de aprendizaje automático carecen de datos, y es ahí donde entra en juego la tecnología N-Shot. Necesitamos entrenar un modelo de aprendizaje profundo con millones o incluso miles de millones de parámetros (todos inicializados aleatoriamente), pero no hay más de cinco imágenes que se puedan usar para el entrenamiento. En pocas palabras, nuestro modelo tuvo que ser entrenado con un conjunto muy limitado de imágenes de hot dogs.
Para abordar un problema tan complejo, primero es necesario conocer la definición de N beat.
Para mí, el subcampo más interesante es el aprendizaje de tiro cero. El objetivo de este campo es clasificar clases desconocidas sin imágenes de entrenamiento.
¿Cómo entrenar y aprender sin ningún dato disponible?
Piensa en esta situación. ¿Puedes clasificar un objeto desconocido?
Cassiopeia en el cielo nocturno (fuente:/constellation/Cassiopeia)
Sí, si tienes suficiente conocimiento de la apariencia, propiedades y funciones de este objeto, puedes lograrlo. Piensa en cómo le dabas sentido al mundo cuando eras niño. Una vez que conozcas el color y la ubicación de Marte durante la noche, podrás encontrarlo en el cielo nocturno. O puedes identificar a Casiopea sabiendo que es básicamente una "W" distorsionada en el cielo.
Según la tendencia de PNL de este año, el aprendizaje de tiro cero será más efectivo (/ten-trends-in-deep-learning-NLP/# 9-Zero-shot-learning-will-been-more - eficaz).
Las computadoras utilizan los metadatos de la imagen para realizar la misma tarea. Los metadatos son simplemente la funcionalidad asociada con una imagen. A continuación se presentan varios artículos en esta área que han logrado excelentes resultados.
En el aprendizaje de una sola vez, solo tenemos un ejemplo por categoría. La tarea ahora es entrenar con una imagen y finalmente clasificar la imagen de prueba en diferentes clases. Para lograr este objetivo, han surgido muchas arquitecturas diferentes, como las redes neuronales siamesas (/questions/1 149 40/cuál es la diferencia entre espacios-métricos y espacios vectoriales).
Ahora que entendemos estos antecedentes, podemos comenzar a comprender cómo la red prototipo no clasifica imágenes directamente, sino que busca mapear relaciones entre imágenes en el espacio métrico. Como se muestra en la figura anterior, las imágenes de la misma clase están muy cerca unas de otras después de ser mapeadas por el codificador, mientras que las imágenes de diferentes clases están muy alejadas.
Esto significa que cada vez que se proporciona un nuevo ejemplo, la red solo necesita verificar el conjunto de imágenes más cercanas del nuevo ejemplo y clasificar la imagen de ejemplo en su clase correspondiente. El modelo básico del prototipo de red que asigna imágenes al espacio métrico se puede denominar modelo "Image2Vector", que es una arquitectura basada en redes neuronales convolucionales (CNN).
Ahora, para aquellos de ustedes que no saben acerca de las CNN, pueden leer más aquí:
En términos simples, su objetivo es entrenar un clasificador. Luego, el clasificador puede generalizar a nuevas categorías que no estaban disponibles durante el entrenamiento y solo requiere algunos ejemplos de cada nueva categoría. Por lo tanto, el conjunto de entrenamiento contiene imágenes de una categoría, mientras que nuestro conjunto de prueba contiene imágenes de otra categoría, que no tiene ninguna relación con el grupo anterior. En este modelo, las instancias se dividen aleatoriamente en conjuntos de soporte y conjuntos de consultas.
El ck del prototipo de tiro minoritario se calcula como el promedio de los ejemplos de soporte de incrustación para cada clase. El codificador asigna la nueva imagen (X) y la clasifica en la clase más cercana, como C2 en la imagen de arriba (fuente:/questions/64 5672/what-is-a-point-and-a-vector).
Principio de probabilidad de registro negativo, fuente:/brendenlake/omnilot)
La red está entrenada en el conjunto de datos de Omniglot (/brendenlake/omniglot). El conjunto de datos Omniglot está diseñado específicamente para desarrollar algoritmos que sean más similares al aprendizaje humano. Contiene 50 letras diferentes, 1623 caracteres escritos a mano diferentes. Para aumentar el número de categorías, todas las imágenes se rotan 90 grados, 180 grados y 270 grados respectivamente, y cada imagen rotada se considera una nueva categoría. Por tanto, el número total de categorías alcanza las 6.492 (1.623+4) categorías. Usamos 4200 imágenes de clase como datos de entrenamiento y el resto se usa para pruebas. Para cada conjunto, entrenamos el modelo en cada ejemplo de 64 clases seleccionadas al azar. Entrenamos el modelo durante 1 hora y logramos una precisión de aproximadamente el 88%. Los documentos oficiales muestran que después de varias horas de entrenamiento y algunos ajustes de parámetros, la tasa de precisión alcanzó el 99,7%.
¡Es hora de tomar el asunto en tus propias manos!
Puedes ejecutar fácilmente el código visitando el siguiente enlace:
Dirección del código:/hsankesara/prototypic-networks
Dirección de ejecución:/run? template =/Hsankesara/prototypic-Networks
¡Profundicemos en el código! (Desliza hacia la izquierda para ver el código completo)
El código anterior es una implementación de la estructura CNN Image2Vector. El tamaño de la imagen de entrada es 28*28*3 y la longitud del vector de características devuelto es 64.
El fragmento de código anterior es la implementación de una estructura única en la red prototipo. Si tiene alguna pregunta, por favor pregunte en los comentarios o pregunte aquí. Su participación y comentarios son muy bienvenidos.
Descripción general de la red. Fuente:/n-shot-learning/
Este artículo fue traducido por miembros del Lei Feng Subtitle Group, un equipo de traducción de subtítulos compuesto por entusiastas de la IA. Los miembros del equipo incluyen expertos en big data, ingenieros de algoritmos, ingenieros de procesamiento de imágenes, gerentes de productos, operaciones de productos, consultores de TI, profesores de escuelas y estudiantes voluntarios de empresas reconocidas como IBM, AVL, Adobe, Alibaba y Baidu; como la Universidad de Pekín, la Universidad de Tsinghua y la Universidad de Hong Kong, la Academia China de Ciencias, la Universidad de Carolina del Sur, la Universidad de Waseda y otros institutos de investigación de universidades nacionales y extranjeras. Para obtener más información sobre el grupo de subtítulos, agregue WeChat~