Glosario

Aprendizaje contrastivo

Descubre el poder del aprendizaje contrastivo, una técnica autosupervisada para representaciones robustas de datos con un mínimo de datos etiquetados.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

El aprendizaje contrastivo es un potente enfoque del aprendizaje autosupervisado en el que un modelo aprende a identificar puntos de datos similares y disímiles sin depender de datos etiquetados. Este método consiste en entrenar un modelo para que comprenda las relaciones entre diferentes muestras de datos contrastando pares positivos frente a pares negativos. En esencia, el modelo aprende a juntar las representaciones de puntos de datos similares y a separar las representaciones de los disímiles. Esta técnica ha demostrado ser muy eficaz en diversos ámbitos, como la visión por ordenador, el procesamiento del lenguaje natural (PLN) y el procesamiento de audio. Al aprender representaciones de datos ricas y robustas, el aprendizaje contrastivo permite a los modelos obtener buenos resultados en tareas posteriores incluso con datos etiquetados limitados, lo que lo convierte en una herramienta valiosa en escenarios en los que los datos etiquetados son escasos o caros de obtener.

Conceptos clave del aprendizaje contrastivo

El aprendizaje contrastivo gira en torno a la idea de comparar y contrastar diferentes muestras de datos para aprender representaciones significativas. Se utilizan dos tipos principales de pares de datos:

  • Pares positivos: Consisten en dos muestras de datos similares o relacionados. Por ejemplo, en el análisis de imágenes, un par positivo podrían ser dos vistas aumentadas diferentes de la misma imagen, como versiones rotadas o recortadas.
  • Pares negativos: Consisten en dos muestras de datos disímiles o no relacionados. Siguiendo con el ejemplo de la imagen, un par negativo podrían ser vistas aumentadas de dos imágenes diferentes.

El objetivo es entrenar el modelo de modo que las representaciones de los pares positivos estén próximas entre sí en el espacio de incrustación, mientras que las representaciones de los pares negativos estén alejadas. Esto se consigue minimizando la distancia entre pares positivos y maximizando la distancia entre pares negativos.

Aprendizaje contrastivo vs. Aprendizaje supervisado

Aunque tanto el aprendizaje contrastivo como el supervisado tienen como objetivo entrenar modelos para hacer predicciones precisas, difieren significativamente en su enfoque y requisitos. El aprendizaje supervisado se basa en conjuntos de datos etiquetados, en los que cada punto de datos se asocia a una etiqueta específica o variable objetivo. El modelo aprende a asignar entradas a salidas basándose en estos ejemplos etiquetados. En cambio, el aprendizaje contrastivo se engloba en el aprendizaje autosupervisado, un subconjunto del aprendizaje no supervisado, en el que el modelo aprende de los propios datos sin necesidad de etiquetas explícitas. Esto hace que el aprendizaje contrastivo sea especialmente útil cuando los datos etiquetados son limitados o no están disponibles.

Aprendizaje contrastivo vs. aprendizaje semisupervisado

Tanto el aprendizaje contrastivo como el aprendizaje semisupervisado son técnicas que pretenden mejorar el rendimiento de los modelos cuando los datos etiquetados son escasos, pero lo hacen mediante mecanismos diferentes. El aprendizaje semisupervisado aprovecha una combinación de datos etiquetados y no etiquetados durante el entrenamiento. El modelo aprende de los datos etiquetados de forma supervisada tradicional, pero también utiliza los datos no etiquetados para comprender mejor la estructura de datos subyacente. El aprendizaje contrastivo, en cambio, se centra únicamente en aprender representaciones a partir de datos no etiquetados contrastando muestras similares y disímiles. Mientras que el aprendizaje semisupervisado puede beneficiarse de algunos datos etiquetados, el aprendizaje contrastivo no requiere ninguna etiqueta, sino que se basa en las relaciones inherentes a los propios datos.

Aplicaciones del aprendizaje contrastivo

El aprendizaje contrastivo ha demostrado un éxito notable en una amplia gama de aplicaciones:

  • Visión por ordenador: En visión por ordenador, el aprendizaje contrastivo se utiliza para aprender representaciones robustas de las imágenes. Por ejemplo, entrenando un modelo para que reconozca como similares distintas vistas aumentadas de la misma imagen, el modelo aprende a centrarse en las características esenciales ignorando las variaciones irrelevantes. Estas representaciones aprendidas pueden utilizarse después para tareas posteriores como la detección de objetos, la clasificación de imágenes y la segmentación de imágenes.
  • Procesamiento del Lenguaje Natural: El aprendizaje contrastivo también ha avanzado mucho en el PLN. Los modelos pueden entrenarse para distinguir entre frases o documentos similares y disímiles, lo que mejora el rendimiento en tareas como la clasificación de textos, el análisis de sentimientos y la respuesta a preguntas.
  • Procesamiento de audio: En el procesamiento de audio, el aprendizaje contrastivo puede utilizarse para aprender representaciones de señales de audio. Por ejemplo, se puede entrenar un modelo para identificar diferentes segmentos del mismo clip de audio como similares, mientras que distingue segmentos de diferentes clips como disímiles. Estas representaciones pueden mejorar tareas como el reconocimiento del habla y la identificación del hablante.

Ejemplos de aprendizaje contrastivo en aplicaciones reales

Ejemplo 1: Aprendizaje de la representación de imágenes con SimCLR

SimCLR (Un Marco Sencillo para el Aprendizaje Contrastivo de Representaciones Visuales) es un marco ampliamente reconocido que demuestra el poder del aprendizaje contrastivo en la representación de imágenes. SimCLR funciona entrenando un modelo en pares de imágenes aumentadas. Cada imagen de un lote se transforma en dos vistas diferentes utilizando aumentos como el recorte aleatorio, el cambio de tamaño y la distorsión del color. Estas vistas aumentadas forman pares positivos, mientras que las vistas de imágenes diferentes forman pares negativos. El modelo, normalmente una red neuronal convolucional (CNN), aprende a producir incrustaciones similares para los pares positivos e incrustaciones disímiles para los pares negativos. Una vez entrenado, el modelo puede generar representaciones de imágenes de alta calidad que capten las características esenciales y, al mismo tiempo, sean invariables a los aumentos específicos aplicados. Estas representaciones pueden mejorar significativamente el rendimiento en diversas tareas posteriores de visión por ordenador. Más información sobre SimCLR en el artículo de investigación original.

Ejemplo 2: Análisis de imágenes médicas

El aprendizaje contrastivo ha demostrado ser muy prometedor en el análisis de imágenes médicas, sobre todo en situaciones en las que los datos médicos etiquetados son escasos. Por ejemplo, un modelo puede entrenarse para distinguir entre diferentes vistas o cortes de la misma exploración médica (por ejemplo, resonancias magnéticas o tomografías computarizadas) como similares, mientras que trata las exploraciones de diferentes pacientes como disímiles. Este enfoque permite al modelo aprender representaciones sólidas de las imágenes médicas sin depender de extensas anotaciones manuales. Estas representaciones aprendidas pueden utilizarse para mejorar la precisión y eficacia de las tareas de diagnóstico, como la detección de anomalías, la clasificación de enfermedades y la segmentación de estructuras anatómicas. Aprovechando el aprendizaje contrastivo, los sistemas de imágenes médicas pueden lograr un mejor rendimiento con menos datos etiquetados, abordando un cuello de botella crítico en este campo. Obtén más información sobre las aplicaciones del aprendizaje contrastivo en las imágenes médicas en este artículo de investigación.

Leer todo