De la imagen al texto: CLIP y CoCa aplicados a moda

¿Por qué le resulta tan difícil a un ordenador entender que los píxeles de una imagen de una sudadera y la palabra «sudadera» representan el mismo concepto? La razón es que ambos pertenecen a dominios de representación completamente distintos: una imagen se codifica como una matriz de tensores, mientras que el texto se representa como una secuencia de tokens. Estas formas de representación no son directamente compatibles desde el punto de vista matemático [1].

El desafío de la multimodalidad consiste, por tanto, en proyectar ambas modalidades en un espacio común donde la cercanía entre vectores refleje similitud semántica [1].

En este trabajo evaluamos los modelos CLIP y CoCa en el dominio de la moda utilizando el conjunto de datos Fashion200K, explorando tanto la alineación imagen-texto como la generación de descripciones y distintas estrategias de fine-tuning [1] [2].

Considérese un conjunto de miles de pares imagen–texto y el objetivo de aprender su correspondencia sin supervisión explícita. Esta es la idea fundamental detrás de CLIP [1].

CLIP emplea dos encoders independientes, uno visual y otro textual, que proyectan imágenes y textos en un espacio de representación compartido. El entrenamiento consiste en maximizar la similitud entre cada imagen y su descripción correcta, y minimizarla respecto al resto de descripciones del batch. No intervienen etiquetas explícitas, únicamente pares correctos e incorrectos. Este esquema habilita capacidades zero-shot, permitiendo comparar una imagen con descripciones en lenguaje natural y seleccionar la más próxima [1].

No obstante, el modelo presenta una limitación: captura adecuadamente los conceptos individuales, pero no las relaciones entre ellos. Frases compuestas por las mismas palabras pero con distinta estructura —como “blazer negro con botones dorados” y “blazer dorado con botones negros”— generan representaciones prácticamente indistinguibles. El modelo identifica los elementos presentes, pero no su correcta asociación [3].

CoCa mantiene el enfoque de encoders independientes y el objetivo contrastivo, pero introduce un decoder generativo multimodal. En lugar de limitarse a evaluar la compatibilidad de una frase completa, el modelo debe generarla secuencialmente a partir de la imagen, lo que impone restricciones sobre el orden y la composición [2].

Mediante mecanismos de cross-attention, el decoder accede a la información visual en cada paso de generación. El entrenamiento combina un objetivo contrastivo, que preserva el alineamiento global, con un objetivo generativo que fuerza la coherencia estructural de la descripción. Como resultado, se obtienen representaciones más sensibles a las relaciones entre objetos y atributos [2].

Para adaptar los modelos al dominio de la moda utilizamos el conjunto de datos Fashion200K, que contiene sobre 200 000 imágenes de prendas de vestir de 5 clases diferentes, cada una acompañada de una descripción textual en inglés (que no siempre es completamente correcta).

Las imágenes se redimensionaron a 256 × 256 píxeles y se aplicaron las transformaciones de preprocesamiento propias de cada modelo. Los textos se tokenizaron con una longitud máxima de contexto de 76 tokens, que es el límite del encoder textual de CoCa.

  • El último bloque residual
  • La última capa de cross-attention
  • La capa de normalización final
  • La proyección de salida

Esto supone entrenar 6 306 816 parámetros de un total de 253 560 065, es decir, un 2,49 % del modelo. Se puede ver el código y los resultados en este repositorio de GitHub.

Para evaluar el impacto del fine-tuning comparamos cuatro configuraciones sobre las mismas imágenes de prueba:

  • B-32 preentrenado: CoCa ViT-B-32 sin fine-tuning
  • B-32 fine-tuned: mismo modelo tras 6 épocas de adaptación
  • L-14 preentrenado: CoCa ViT-L-14 sin fine-tuning (modelo de mayor capacidad)
  • L-14 fine-tuned: mismo modelo tras 3 épocas de adaptación

Además, contábamos con la descripción original.

Los resultados iniciales, sin embargo, no fueron los deseados: el fine-tuning degradó la calidad de las descripciones en lugar de mejorarla. El modelo B-32, tras 6 épocas de adaptación, mostró un gran deterioro, formando frases incoherentes y repitiendo palabras (sobre todo colores) en bucle.

Fue mejor nuestra suerte con el modelo de tamaño mayor, que consiguió entender la tarea de «únicamente describir la pieza de ropa, de manera directa y precisa», mejorando las descripciones iniciales de los modelos preentrenados que repetían «a close up» o «a woman wearing» en cada frase sin ser eso lo relevante de la imagen en nuestro contexto.

Los resultados de la sección anterior nos llevaron a una pregunta natural: si el fine-tuning parcial de las capas finales del decoder puede tanto mejorar como degradar drásticamente la calidad de las descripciones, ¿qué ocurre cuando se modifica una fracción mayor del modelo? En particular, ¿qué sucede si congelamos selectivamente uno de los dos branches principales —el encoder visual o el encoder textual— y entrenamos el otro por completo?

La motivación era doble. Por un lado, mejorar la representación textual: las descripciones de Fashion200K tienen un estilo propio —directo, centrado en atributos como color, corte y tipo de prenda— que difiere del lenguaje natural de MSCOCO. Congelar el encoder visual y entrenar el branch textual permitiría al modelo aprender este vocabulario específico sin alterar las representaciones visuales ya consolidadas. Por otro lado, mejorar la extracción visual: dado que acabamos de comprobar que un mínimo ajuste en los pesos textuales puede destruir la coherencia de las descripciones, cabía la posibilidad de que el problema no estuviera en la generación de texto, sino en que el encoder visual no estuviera extrayendo features suficientemente alineadas con el dominio de la moda. Congelar el encoder textual y entrenar únicamente el visual permitiría adaptar la visión del modelo manteniendo intacta su capacidad lingüística.

En términos de parámetros, estas estrategias implican actualizar una fracción del modelo muy superior al 2,49 % del experimento anterior: congelar el encoder visual deja entrenables aproximadamente un 75 % de los parámetros, mientras que congelar el encoder textual implica actualizar aproximadamente un 34 %.

El notebook con el pipeline completo para hacer esta comparación está disponible en nuestro repositorio, listo para ser ejecutado. Sin embargo, no fue posible llevar a cabo este experimento dentro del plazo del trabajo: actualizar un tercio o tres cuartas partes del modelo requiere una capacidad de cómputo de los que no disponemos. Sin los recursos para realizar un entrenamiento completo y monitorizado, los resultados habrían sido poco concluyentes y, probablemente, sufrirían de la misma degradación que el primero de los fine-tunings.

En este trabajo hemos evaluado la capacidad de los modelos CLIP y CoCa para comprender y generar descripciones en el dominio de la moda, utilizando el conjunto de datos Fashion200K. Nuestros resultados revelan tres conclusiones principales.

Primero, el fine-tuning de modelos visión-lenguaje es inherentemente delicado. La modificación de tan solo un 2,49 % de los parámetros —las capas finales del decoder generativo— es más que suficientes para que el modelo empiece a redactar frases sin sentidio.

Segundo, la capacidad del modelo importa. El modelo L-14, con sus representaciones visuales y textuales más ricas, logró adaptarse al estilo directo y específico de las descripciones de Fashion200K en solo 3 épocas, generando descripciones más precisas y relevantes que las versiones preentrenadas. Esto sugiere que los modelos de mayor tamaño son más robustos frente al fine-tuning y conservan mejor sus capacidades generales mientras aprenden el nuevo dominio.

Tercero, las métricas automáticas de pérdida no son un indicador fiable de calidad en la generación de texto. El modelo B-32 alcanzaba valores de loss decrecientes mientras sus descripciones se volvían cada vez más incoherentes, lo que ilustra la conocida brecha entre la optimización numérica y la evaluación humana en tareas de generación de lenguaje.

Como trabajo futuro, resultaría interesante explorar estrategias de fine-tuning más conservadoras, como el uso de adaptadores (CLIP-Adapter [4]) o el aprendizaje de prompts (CoOp [5]), que modifican el modelo de forma aún más ligera y podrían evitar la degradación observada.

Referencias:

  1. Learning Transferable Visual Models From Natural Language Supervision: 
    https://arxiv.org/pdf/2103.00020  
  2. CoCa: Contrastive Captioners are Image-Text Foundation Models: 
    https://arxiv.org/pdf/2205.01917 
  3. When and why vision-language models behave like bags-of-words, and what to do about it?: 
    https://arxiv.org/pdf/2210.01936 
  4. CLIP-Adapter: Better Vision-Language Models with Feature Adapters:
    https://arxiv.org/pdf/2110.04544 
  5. Learning to Prompt for Vision-Language Models: 
    https://arxiv.org/pdf/2109.01134  
  6. Contrastive Language-Image Learning with Augmented Textual Prompts for 3D/4D FER Using Vision-Language Model:
    https://arxiv.org/pdf/2504.19739 
  7. A Simple Framework for Contrastive Learning of Visual Representations:
    https://arxiv.org/pdf/2002.05709  
  8. Bayesian Principles Improve Prompt Learning In Vision-Language Models:
    https://arxiv.org/pdf/2504.14123 
  9. Enhancing Spatial Reasoning in Vision-Language Models via Chain-of-Thought Prompting and Reinforcement Learning:
    https://arxiv.org/pdf/2507.13362  
Antonio Álvarez, Diego Besada, Natalia Corchón y Alfonso Jimena.