Inteligencia Artificial No Supervisada: Predicciones sin supervisión en Visión.

En los últimos años los resultados de la inteligencia artificial para problemas de visión han dado resultados sólidos y robustos aprendiendo de grandes cantidades de datos cuidadosamente etiquetados y procesados. Como por ejemplo en clasificación de objetos dentro de diferentes categorías, y que pueden resolver un sin número de problemas y aplicaciones. 

Pero estos algoritmos supervisados, basados principalmente en redes convolucionales, tienen esta limitante de requerir ejemplos de cada clase, y en algunos casos muchos ejemplos para poder aprender los patrones que componen cada clasificación y están limitados a esa especialización, únicamente a las clases mostradas dentro de su aprendizaje. 

Este tipo de entrenamiento, aunque efectivo, nos crea barreras para crear inteligencias más flexibles y robustas, además del costo en tiempo y recursos en coleccionar y etiquetar  los datos para su entrenamiento. Por practicidad es imposible etiquetar todo lo que existe y existirá en el mundo. 

Una de las soluciones más prometedoras a estas y otras limitaciones del entrenamiento supervisado es el Aprendizaje AutoSupervisado (AAS).

El AAS se caracteriza por tener esta flexibilidad para aprender de datos conforme los va conociendo sin tener una categorización previa tan estricta y cuidadosa. Vamos a contrastar cada uno de los aprendizajes para que quede más claro.

Cuando quieres hacer una clasificación con alguna arquitectura IA de Aprendizaje Supervisado (ej. ResNet, VGG, EfficientNet) debes de armar tu dataset con varios ejemplos de cada objeto que quieres clasificar (arriba de 500 imágenes de cada clase es lo recomendable), deben de tener coherencia entre los ejemplos y deben estar separadas en diferentes carpetas por clase. Por eso estás supervisando la clasificación antes de entrenar a tu algoritmo.

En el AAS no es necesario tener ejemplos por clase o separarlos previamente para ajustar esta clasificación. Los algoritmos de AAS se basan en obtener características de cada imagen transformadas en vectores para poder hacer tareas posteriores como clasificarlas, compararlas, editarlas o manipular las imágenes. Inclusive si tiene como entrada una imagen nueva que no se ajuste a alguna clase ya conocida puede crear su nueva clase.

¿Cómo aprende la IA Auto Supervisada?

Actualmente los algoritmos mejor evaluados para el aprendizaje, supervisado o no supervisado, han sido los de Aprendizaje Profundo (Deep Learning). En el ASS los conceptos de esta técnica no cambian pero su uso en las arquitecturas de los algoritmos son las innovaciones en este campo.

Para empezar podemos hablar sobre las arquitecturas de la red. Una de estas innovaciones son las Redes Siamesas. Se tienen 2  o más entradas (imágenes) que serán codificadas y obtendremos la comparación de las características vectorizadas de cada una como salida.

Diagrama 1.1 Modelo Siamese Genérico

Como sabemos cada red necesita sus capas que calculan los pesos para vectorizar esas características, que después pasarán por una Función de Pérdida que evaluará la precisión en que se vectorizan dichas características.

En el caso de AAS se utiliza la Pérdida Contrastante (Contrastive Loss) diferente a la Entropía Cruzada que se ha utilizado en los algoritmos supervisados. Esta pérdida contrastante calcula la distancia entre la clase “muestra” contra un ejemplo positivo (misma clase) y contra un ejemplo negativo (diferente clase) donde esa distancia debe ser menor entre la muestra y el positivo que contra el negativo, si no es así la red entonces recalcula para cumplir con esta condición.

Hay varias formas de calcular esta distancia, podemos utilizar la distancia coseno, la similitud coseno o distancia euclidiana y tomarlos como una probabilidad de predicción de cercanía entre características.

Ejemplo de cercanía entre imágenes.

Auto Aprendizaje en Badak:

En Badak exploramos los mejores algoritmos y métodos de entrenamiento auto supervisado para poder ofrecer la mejor solución a sus requerimientos. Hemos explorado diversas arquitecturas para problemas de visión como:

  • SimClr
  • SwAV
  • BYOL
  • DINO
  • EsViT

Y entregamos soluciones integrales en ambientes de producción garantizando precisión y fiabilidad del sistema, así como una mejora continua y acompañamiento en la satisfacción de sus requerimientos en IA.

Así esta modelación es un paso más para poder tener inteligencias artificiales más flexibles y adaptadas a un mundo más real. Todavía queda mucho por explorar y hablar sobre este tema que seguirá en las próximas entregas.

Deja un comentario