¡Hola a todos! Los laboratorios de investigación de la empresa de Inteligencia Artificial Open AI han publicado dos nuevos artículos en su blog, presentando sus dos nuevos modelos preentrenados DALL-E y CLIP. Son modelos que poseen billones de parámetros y tienen resultados bastante impresionantes. Establecen un vínculo entre el Procesamiento del Lenguaje natural (NLP) y la Visión por Computador (Computer Vision).
El primero, DALL-E, es capaz de generar imágenes totalmente nuevas a partir de una descripción escrita en Lenguaje Natural, el segundo, CLIP, es capaz de dar una descripción en texto de lo que puede observar en una imagen.
DALL-E
- Controlar los atributos de los objetos: Colores, formas, textura, etc.
- Dibujar múltiple objetos: Asociar que atributos corresponden a cada uno y donde están ubicados.
- Visualizar la perspectiva y escenas en 3D: Controlar desde donde se observa y como se representará: En voxels, renderizado 3D (Realista), figuras de plastilina, etc.
- Dibujar en 3D la cabeza de un personaje conocido visto desde diferentes ángulos.
- Aplicar distorsiones ópticas a la escena: Vista de ojo de pez, panorama esférico, etc.
- Visualizar la estructura interna y externa de un objeto: Cómo se ve cortado por la mitad, a través de los Rayos X, etc.
- Representar datos contextuales: Por ejemplo, a dónde apunta la sombra de un objeto, su reflejo, etc.
- Combinar objetos no relacionados: Sintetizar objetos que probablemente no existan en la realidad. Esto le agrega un toque de creatividad a esta tecnología.
- Crear ilustraciones animales humanizados, objetos, emojis, etc.
- Generar imágenes que nunca ha visto antes (Zero-shot visual reasoning).
- Utilizarse en la industria de la moda y el diseño de interiores.
- Asociar elementos relacionados a hechos geográficos. Por ejemplo: una foto de la comida de China.
- Entender conceptos que varían con el tiempo: Por ejemplo, un teléfono de la época de los 20s.
CLIP
CLIP (Contrastive Language Image Pre-Training) es un modelo capaz de calcular la similaridad entre una imagen aleatoria y conjunto de textos que recibe como entrada. Su objetivo es identificar la etiqueta correcta dada una imagen. Siendo capaz de clasificarla, sin tener que haberla visto con anterioridad (zero-shot image classification). Pueden seguir leyendo sobre CLIP en este artículo del blog de OpenAI.
Este modelo aprende como ciertos patrones visuales pueden ser descritos a través de texto en lenguaje natural. También supone una forma diferente de crear etiquetas, por ejemplo describir un mismo objeto de diferentes formas pero cuyo significado es equivalente.
Por medio de este enlace puedes ir a ejecutar los códigos en Google Colab y experimentar con una versión más reducida del modelo CLIP. Con 150 millones de parámetros y casi 50.000 palabras en su vocabulario.
Problemas que resuelve
Etiquetado automático de datos
Una de las tareas más difíciles y costosas a la hora de crear modelos de Inteligencia Artificial es la recolección y el etiquetado de cada uno de los datos, los cuales son cantidades excesivamente grandes, por ejemplo, millones y billones de imágenes que tienen que ser etiquetadas por miles de trabajadores.
Pero, qué tal si dejamos a que una Inteligencia Artificial nos etiquete cada imagen basándonos en lo que ella pueda identificar en la misma. Por medio de CLIP, se pueden etiquetar automáticamente los datos mediante una descripción en texto generada a partir de los patrones visuales que detecte (Esto es un perro, esto es un gato, etc.).
Este modelo ha sido entrenado con una gran cantidad de datos (pares de Imagen-Texto) que pueden obtenerse a través de internet, por lo que la variabilidad es alta, ya que allí se puede encontrar de todo, enriqueciendo el set de datos de entrenamiento.
Buen rendimiento con diferentes Data Sets
Otro problema que resuelve CLIP es la pérdida de precisión al cambiar el conjunto de datos. Por ejemplo, el modelo se desenvuelve muy bien en una tarea y con cierto Dataset, pero al probarlo en otra tarea, el rendimiento cae súbitamente. Teniendo que reentrenar el modelo con otro conjunto de datos y ajustarlo, En contraste, con CLIP se ha obtenido un buen rendimiento tanto en Dataset original con que se entrenó, como en otros conjuntos de datos en donde se aplique.
Este fenómeno es conocido como Overfitting, ese sobre aprendizaje sobre los datos de entrenamiento pero la caída en el rendimiento en los datos de prueba.
A este modelo le anteceden una gran cantidad de trabajos que han tratado de cumplir estas tareas, pero utilizando diferentes técnicas.
0 Comentarios