Zubnet AIAprenderWiki › Aprendizaje contrastivo
Entrenamiento

Aprendizaje contrastivo

También conocido como: Contrastive Learning, SimCLR, InfoNCE
Un enfoque de aprendizaje auto-supervisado que entrena modelos contrastando pares positivos (elementos similares que deben estar cerca en el espacio de embeddings) contra pares negativos (elementos disímiles que deben estar lejos). CLIP contrasta pares imagen-texto coincidentes contra no coincidentes. SimCLR contrasta vistas aumentadas de la misma imagen contra vistas de imágenes diferentes. El modelo aprende representaciones donde la similitud en el espacio de embeddings refleja la similitud del mundo real.

Por qué importa

El aprendizaje contrastivo es cómo se entrenan la mayoría de los modelos de embedding — los modelos que alimentan la búsqueda semántica, RAG y las recomendaciones. También es el enfoque de entrenamiento detrás de CLIP, que conecta lenguaje y visión. Cada vez que usas embeddings para medir similitud, el aprendizaje contrastivo es probablemente cómo esos embeddings fueron creados.

En profundidad

La pérdida InfoNCE (usada por CLIP y muchos modelos de embedding): dado un lote de N pares positivos, tratar los N−1 elementos no coincidentes del lote como ejemplos negativos. La pérdida empuja los embeddings de pares positivos más cerca y los de pares negativos más lejos. La idea clave: no necesitas ejemplos negativos explícitamente etiquetados — otros elementos del lote sirven como negativos gratis, haciendo el enfoque altamente escalable.

Aumento de datos como supervisión

En visión, el aprendizaje contrastivo crea pares positivos mediante aumento de datos: dos recortes aleatorios de la misma imagen son un par positivo (muestran el mismo contenido desde diferentes vistas). Imágenes diferentes forman pares negativos. El modelo aprende que las vistas aumentadas deben tener embeddings similares mientras que imágenes diferentes deben tener embeddings diferentes. Esto aprende representaciones visuales útiles sin ninguna etiqueta — supervisión puramente auto-supervisada.

Negativos difíciles

No todos los negativos son igualmente útiles para el aprendizaje. Los "negativos difíciles" — elementos que son similares pero no coincidentes — proporcionan la mayor señal de aprendizaje. Para una consulta sobre "frameworks web de Python", un negativo difícil podría ser un documento sobre "ciencia de datos en Python" (tema similar, respuesta incorrecta) en lugar de uno sobre "recetas de cocina" (obviamente irrelevante). Minar negativos difíciles es una técnica clave para entrenar modelos de embedding de alta calidad.

Conceptos relacionados

← Todos los términos