Tarea de clasificación Omniglot

Primero definamos el significado de Omniglot antes de profundizar en la tarea de clasificación. 

Omniglot Dataset: Es un conjunto de datos que contiene 1623 caracteres de 50 alfabetos diferentes, cada uno dibujado a mano por un grupo de 20 personas diferentes. Este conjunto de datos se creó para el estudio de cómo los humanos y las máquinas se adaptan al aprendizaje de una sola vez, es decir, aprender una tarea a partir de un solo ejemplo. 

Fuente: https://paperswithcode.com/dataset/omniglot-1

El conjunto de datos omniglot se ha preparado de tal manera que cada carácter de la imagen de arriba ha sido escrito por 20 personas diferentes.  

Desafío Omniglot: El desafío omniglot lanzado a la comunidad de Machine Learning e IA se centra en 5 tareas principales:

  1. Clasificación de un disparo
  2. análisis
  3. Generando nuevos ejemplares
  4. Generación de nuevos conceptos (a partir de tipo)
  5. Generación de nuevos conceptos (sin restricciones)

En este artículo, nos centraremos en la tarea de clasificación. Usaremos la técnica de clasificación one-shot para realizar esta tarea. Antes de entrar en la técnica de clasificación, comprendamos la intuición detrás del One-Shot Learning.

Aprendizaje instantáneo

Cuando un humano ve un objeto por primera vez, puede recordar algunas características de ese objeto. Entonces, cada vez que ven algún otro objeto del mismo tipo, pueden identificarlo de inmediato. Incluso si han visto ese objeto solo una vez, los humanos pueden asociarlo con esa clase. Esto se conoce como Aprendizaje One-Shot. Tomemos un ejemplo.

Supongamos que una persona ha visto un frigorífico por primera vez en la televisión y desea comprarlo. Cuando esa persona visita la tienda de electrónica, es capaz de identificar inmediatamente qué electrodoméstico es un frigorífico y cuál no. Este principio del cerebro humano se conoce como One-Shot Learning. 

Por definición, el aprendizaje de una sola vez es una técnica utilizada por las máquinas para clasificar nuevos objetos en diferentes clases, siempre que solo haya visto un objeto de cada clase durante su entrenamiento. 

Intuición: 

El aprendizaje de una sola vez utiliza el modelo de red neuronal siamesa. Aquí, el objetivo del modelo es encontrar el ‘ grado de similitud(d) entre 2 imágenes. Encontramos d usando la siguiente fórmula: 

d = |f_{(X_1)} - f_{(X_2)}|

where, 
d -> degree of similarity
f(xi) -> 128-D feature vector

Ahora, encontramos el vector de características 128-D de cada imagen pasándolo a través de un modelo CNN. De esta manera obtenemos todas las características clave presentes en una imagen en particular. (Como se muestra en la Fig. 2)

Fig. 2: Extracción de 128-D FV de la imagen de entrada

Fase de entrenamiento:

Durante la fase de entrenamiento del modelo Siamese Network, usamos la función de pérdida de triplete . En esto, tomamos un vector de características 128-D de dos imágenes similares (Positivo y Ancla) y una imagen diferente del conjunto de datos (Negativo).

Entrenamos el modelo basado en el conjunto de 3 imágenes donde la distancia de similitud entre las dos imágenes similares es bastante pequeña. Entonces, cuanto menor es la distancia, más similares son las dos imágenes. (como se muestra en la Fig. 3 – Paso 7)

Fig. 3: One Shot Learning Siamese Networks

La figura 3 muestra los pasos necesarios para implementar correctamente el modelo de red siamés.

Fase de prueba:

Como se discutió anteriormente, la función de pérdida de triplete usa múltiples combinaciones de 3 imágenes (el ancla, la positiva y la negativa) para el entrenamiento. Durante esta fase, buscaremos diferentes formas de clasificación de una sola vez con diferentes tamaños del conjunto de soporte. 

N conjunto de soporte: es un conjunto de N imágenes que se comparan con la imagen recién recibida durante la fase de prueba. 

Encontramos la distancia de similitud d, entre cada imagen en el conjunto de soporte y la nueva imagen de entrada. La imagen que muestra la mayor similitud (el valor más pequeño de d) determina la clase en la que se clasificará la nueva imagen.

Tipos de clasificaciones de N vías

Estas son algunas de las versiones de clasificación N-way que se dan a continuación:

  • Clasificación de un solo disparo de 4 vías
  • Clasificación de un solo paso de 10 vías
  • Clasificación de un solo paso de 20 vías

Consulte la Fig. 4 para comprender mejor el funcionamiento de la clasificación N-way.

Fig. 4: Prueba a través de la clasificación N-way one Shot

Como se muestra en la imagen de arriba, en una clasificación de un solo disparo de N vías, habrá una imagen que será la más similar a la imagen de prueba de entrada en comparación con el resto del par de imágenes (N-1). Podemos establecer el valor de N según nuestra necesidad. Debemos comprender la importancia de elegir aquí un valor óptimo de N. 

Importancia de N: 

A medida que aumenta el valor de N, también aumenta la complejidad del conjunto de soporte. Por lo tanto, existe una mayor probabilidad de que la imagen de prueba caiga en la clase incorrecta. Si el valor de N es pequeño, las características de las imágenes en el conjunto de soporte se distinguen fácilmente. Por lo tanto, facilita la tarea de clasificación. 

Por lo tanto, según nuestros requisitos, elegimos un modelo de clasificación one-shot N-way apropiado durante la fase de prueba para obtener los resultados óptimos. Para cualquier duda/consulta, comenta abajo. 

Publicación traducida automáticamente

Artículo escrito por prakharr0y y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *