CLIP: abra nuevas alturas de modelos de transferencia de texto a imagen

I. Introducción

2021 ha sido testigo de la explosión de los transformadores de visión Después de que Google propuso ViT, una gran cantidad de transformadores de visión han barrido las tareas de visión por computadora. Además de vision transformer, otro trabajo que tiene un gran impacto en la visión por computadora es DALL-E y CLIP lanzados por Open AI en enero de 2021, los cuales son modelos multimodales que combinan imágenes y texto, de los cuales DALL-E es Models are generados a partir de texto, mientras que CLIP utiliza el texto como señal de supervisión para entrenar modelos visuales transferibles Estos dos trabajos también han dado lugar a una nueva ola de investigaciones culminantes como ViT. Este artículo primero presentará el principio de CLIP y cómo implementar la clasificación de tiro cero con CLIP, luego discutiremos la motivación detrás de CLIP y, finalmente, el artículo presentará variantes de CLIP y algunos otros escenarios de aplicación.

2. Principio

El nombre completo en inglés de CLIP es Contrastive Language-Image Pre-training , que es un método o modelo de pre-entrenamiento basado en pares de texto-imagen contrastantes . CLIP es un modelo multimodal basado en aprendizaje contrastivo. A diferencia de algunos métodos de aprendizaje contrastivo en CV como moco y simclr, los datos de entrenamiento de CLIP son un par texto-imagen: una imagen y su correspondiente descripción de texto, aquí se espera que a través de contrastive aprendizaje, el modelo puede aprender la relación de coincidencia entre pares de texto e imagen . Como se muestra en la figura a continuación, CLIP incluye dos modelos: Codificador de texto y Codificador de imagen , donde se usa Text Encoder para extraer características de texto, y se puede usar el modelo de transformador de texto comúnmente usado en NLP; mientras que Image Encoder se usa para extraer características de imagen , que puede ser comúnmente utilizado como modelo CNN o transformador de visión .
ACORTAR
Aquí, las características del texto extraído y las características de la imagen se comparan y aprenden. Para un lote de entrenamiento que contiene N pares de texto-imagen, combinando N características de texto y N características de imagen en pares, el modelo CLIP predice la similitud de N^2 posibles pares de texto-imagen, donde la similitud Calcula directamente la similitud de coseno entre características de texto y características de la imagen Tenga en cuenta que la similitud del coseno entre las características del texto y las características de la imagen se calcula utilizando cls_token de texto e imagen cls_token (similitud de coseno), que es la matriz que se muestra en la figura anterior. Aquí hay un total de N muestras positivas, es decir, texto e imágenes que realmente pertenecen a un par (elementos diagonales en la matriz) , mientras que el resto N2-N** pares de texto-imagen son muestras negativas, entonces el objetivo de entrenamiento de CLIP es maximizar la similitud de N muestras positivas, mientras minimiza la similitud de **N 2-N muestras negativas, la implementación de pseudocódigo correspondiente de la siguiente manera:

# image_encoder - ResNet or Vision Transformer
# text_encoder - CBOW or Text Transformer
# I[n, h, w, c] - minibatch of aligned images
# T[n, l] - minibatch of aligned texts
# W_i[d_i, d_e] - learned proj of image to embed
# W_t[d_t, d_e] - learned proj of text to embed
# t - learned temperature parameter

# 分别提取图像特征和文本特征
I_f = image_encoder(I) #[n, d_i]
T_f = text_encoder(T) #[n, d_t]

# 对两个特征进行线性投射,得到相同维度的特征,并进行l2归一化
I_e = l2_normalize(np.dot(I_f, W_i), axis=1)
T_e = l2_normalize(np.dot(T_f, W_t), axis=1)

# 计算缩放的余弦相似度:[n, n]
logits = np.dot(I_e, T_e.T) * np.exp(t)

# 对称的对比学习损失:等价于N个类别的cross_entropy_loss
labels = np.arange(n) # 对角线元素的labels
loss_i = cross_entropy_loss(logits, labels, axis=0)
loss_t = cross_entropy_loss(logits, labels, axis=1)
loss = (loss_i + loss_t)/2

Para entrenar CLIP, OpenAI recopiló un total de 400 millones de pares de texto-imagen de Internet , que el documento llama WebImageText. De acuerdo con la cantidad de palabras en el texto, es similar en tamaño al entrenamiento de WebText GPT-2. Si se compara en términos de cantidad, también es 100 millones más que el conjunto de datos JFT-300M de Google, por lo que es un conjunto de datos muy grande. Aunque CLIP es un modelo multimodal, se utiliza principalmente para entrenar modelos de visión transferibles. En el documento, Text Encoder selecciona de manera fija un modelo de transformador de texto que contiene 63 millones de parámetros , mientras que Image Encoder adopta dos arquitecturas diferentes, una es la arquitectura CNN de uso común ResNet y la otra es ViT basada en transformador, de la cual ResNet contiene 5 tamaños diferentes. Modelos: ResNet50, ResNet101, RN50x4, RN50x16 y RNx64 (estos tres últimos modelos se obtienen aumentando ResNet en 4x, 16x y 64x respectivamente según la regla de escalado EfficientNet), mientras que ViT selecciona 3 modelos de diferentes tamaños: ViT-B/32 , ViT-B/16 y ViT-L/14 . Todos los modelos se entrenan para 32 épocas con el optimizador AdamW y el proceso de entrenamiento usa un tamaño de lote más grande: 32768 . Debido a la gran cantidad de datos, el modelo ResNet más grande RN50x64 debe entrenarse con 592 tarjetas V100 durante 18 días, mientras que el modelo ViT más grande, ViT-L/14, debe entrenarse con 256 tarjetas V100 durante 12 días . visto cuánto se necesita para entrenar CLIP.resource. Para ViT-L/14, se ajustó una época adicional a una resolución de 336 para mejorar el rendimiento. El documento descubrió que este modelo funciona mejor, denominado ViT-L/14@336, el modelo CLIP para el experimento comparativo del artículo también adopta esto.

3. Use CLIP para lograr una clasificación de tiro cero

Presentamos el principio de CLIP arriba. Puede ver que el CLIP después del entrenamiento son en realidad dos modelos. Además del modelo visual, también hay un modelo de texto. Entonces, ¿cómo migrar el modelo visual preentrenado? A diferencia del entrenamiento previo y luego el ajuste fino que se usa comúnmente en CV , CLIP puede lograr directamente la clasificación de imágenes de tiro cero, es decir, la clasificación se puede lograr en una tarea posterior específica sin ningún dato de entrenamiento, que también es el punto culminante y el poder de CLIP . Implementar la clasificación de tiro cero con CLIP es muy simple y solo requiere dos pasos simples:

  • Construya el texto de descripción de cada categoría de acuerdo con la etiqueta de clasificación de la tarea: Una foto de {label}, y luego envíe estos textos al Codificador de texto para obtener las características de texto correspondientes. Si el número de categorías es N, entonces N texto se obtendrán características ;
  • La imagen que se va a predecir se envía a Image Encoder para obtener las características de la imagen, y luego se calcula la similitud del coseno escalado con N características del texto (de acuerdo con el proceso de entrenamiento), y luego se selecciona la categoría correspondiente al texto con la mayor similitud como el resultado de la predicción de la clasificación de la imagen Además, estas similitudes se pueden considerar como logits y, después de enviarlas a softmax, se puede obtener la probabilidad prevista de cada categoría .

ACORTAR
Se puede ver que usamos las características multimodales de CLIP para construir un clasificador dinámico para tareas específicas. Las características del texto extraídas por Text Encoder pueden considerarse como los pesos del clasificador, y las características de la imagen extraídas por Image Encoder son las pesos del clasificador Introduzca . Aquí damos un ejemplo basado en CLIP ( consulte el cuaderno oficial ), aquí hay 6 categorías de tareas: "perro", "gato", "pájaro", "persona", "hongo", "taza", primero Cree una descripción de texto, luego extraiga las características del texto:

# 首先生成每个类别的文本描述
labels = ["dog", "cat", "bird", "person", "mushroom", "cup"]
text_descriptions = [f"A photo of a {label}" for label in labels]
text_tokens = clip.tokenize(text_descriptions).cuda()

# 提取文本特征
with torch.no_grad():
    text_features = model.encode_text(text_tokens).float()
    text_features /= text_features.norm(dim=-1, keepdim=True)

Luego, leemos la imagen que se va a predecir, ingresamos Image Encoder para extraer las características de la imagen y calculamos la similitud del coseno con las características del texto:

# 读取图像
original_images = []
images = []
texts = []

for label in labels:
    image_file = os.path.join("images", label+".jpg")
    name = os.path.basename(image_file).split('.')[0]

    image = Image.open(image_file).convert("RGB")
    original_images.append(image)
    images.append(preprocess(image))
    texts.append(name)

image_input = torch.tensor(np.stack(images)).cuda()

# 提取图像特征  
with torch.no_grad():
    image_features = model.encode_image(image_input).float()
    image_features /= image_features.norm(dim=-1, keepdim=True)

# 计算余弦相似度(未缩放)
similarity = text_features.cpu().numpy() @ image_features.cpu().numpy().T #数学上的矩阵乘法

La similitud se muestra a continuación. Se puede ver que para predecir las 6 imágenes, de acuerdo con la similitud máxima, todas pueden coincidir con la etiqueta de texto correcta:
ACORTAR
Además, también podemos calcular el softmax en la similitud de coseno obtenida para obtener cada Prediga el valor de probabilidad de la categoría, tenga en cuenta que la similitud debe escalarse aquí:

logit_scale = np.exp(model.logit_scale.data.item())
text_probs = (logit_scale * image_features @ text_features.T).softmax(dim=-1)
top_probs, top_labels = text_probs.cpu().topk(5, dim=-1)

Las probabilidades pronosticadas resultantes son las siguientes, puede ver 6 imágenes y el modelo CLIP puede dar el resultado de clasificación correcto con absoluta confianza:
ACORTAR

Usando CLIP para la clasificación de tiro cero, otro punto importante es la generación de descripciones de texto. En el ejemplo anterior, usamos Una foto de {etiqueta}, pero hay otras opciones. Por ejemplo, usamos etiquetas de categoría directamente, que en realidad es un NLP reciente Una investigación popular en el campo: aprendizaje rápido o ingeniería rápida, consulte este artículo de revisión para obtener más detalles: Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing , en resumen, el núcleo de prompt El aprendizaje es Al construir un indicador adecuado, el modelo preentrenado se puede aplicar directamente a las tareas posteriores, que es un paradigma diferente del preentrenamiento + ajuste fino anterior . El documento también decía que si usamos directamente la etiqueta de categoría como descripción del texto, entonces una gran cantidad de texto es una palabra, carece de contexto específico y no es consistente con los datos de entrenamiento de CLIP, el efecto no será tan bueno como usando una foto de {label} (se puede mejorar en un 1,3 % en el conjunto de datos de ImageNet) . El documento también experimentó con 80 indicaciones diferentes para la integración y descubrió que puede generar una mejora del 3,5 % en el conjunto de datos de ImageNet Para obtener detalles, consulte el cuaderno publicado por CLIP . La siguiente figura compara el efecto del modelo CLIP basado en ResNet usando directamente el nombre de la categoría y realizando ingeniería y ensamblaje rápidos:
ACORTAR

Anteriormente, presentamos cómo usar CLIP para lograr la clasificación de disparo cero. A continuación, se presentará brevemente la comparación de los efectos de CLIP y otros métodos, que también es el contenido más extenso del documento. El primero es la comparación del efecto de disparo cero de CLIP y un trabajo de 17 años de aprendizaje de N-gramas visuales a partir de datos web en tres conjuntos de datos de clasificación.Como se muestra en la siguiente tabla, se puede ver que el modelo CLIP está lejos más eficaz que el modelo anterior, que puede llegar a 76,2 en el conjunto de datos de ImageNet, que es comparable al efecto ResNet50 totalmente supervisado , y es bastante sorprendente lograr este efecto sin ningún dato de entrenamiento.
ACORTAR
Además, el documento también compara el rendimiento de CLIP de disparo cero y el sondeo lineal ResNet50 (entrenamiento previo en datos de ImageNet, ajuste fino con capa de clasificación lineal) en 27 conjuntos de datos, como se muestra en la figura a continuación, de los cuales 16 conjuntos de datos CLIP puede supere a ResNet50 en conjuntos. Sin embargo , en algunos conjuntos de datos especiales, complejos o abstractos, CLIP funciona mal**, como la clasificación de imágenes satelitales, la detección de metástasis en los ganglios linfáticos, el recuento en escenas sintéticas, etc. no funciona bien No es una panacea, todavía hay margen de mejora. Si observa detenidamente la figura a continuación, el conjunto de datos MNIST tiene un rendimiento pobre de CLIP, y la precisión de clasificación es solo del 88%, lo cual es increíble, porque esta tarea es demasiado simple.Al analizar los datos de entrenamiento CLIP, el autor descubrió que 400 millones Básicamente, no hay datos similares a MNIST en los datos de entrenamiento , por lo que se trata de datos de dominio adicional para CLIP, y es más fácil de entender si el rendimiento es deficiente. Esto también muestra que: CLIP aún no puede resolver el problema de aprendizaje profundo de la generalización fuera del dominio .
ACORTAR
Además de la comparación de cero disparos, el documento también compara el rendimiento de pocos disparos, es decir, utiliza solo una pequeña cantidad de muestras para ajustar el modelo Aquí hay tres modelos comparados: BiT-M ResNet-152x2 capacitado en ImageNet21K , ResNet50 entrenado en SimCLRv2 y ResNet50 con entrenamiento supervisado. Se puede ver que el disparo cero de CLIP y el mejor modelo (BiT-M) tienen un rendimiento comparable con 16 disparos, y CLIP tiene una mejora adicional con 16 disparos. Otro resultado interesante es que aunque el rendimiento de CLIP mejora con el aumento del tamaño de la muestra en el experimento de pocos disparos, el rendimiento de 1 disparo y 2 disparos es peor que el de disparo cero. principalmente la formación y Hay ciertas diferencias en la formación supervisada convencional .
ACORTAR
Además, el documento también realizó un experimento de aprendizaje de representación, es decir, una sonda lineal comúnmente utilizada en el aprendizaje autosupervisado: primero extraiga características con un modelo entrenado y luego use un clasificador lineal para el entrenamiento supervisado. La siguiente figura muestra la comparación de puntaje de sonda lineal promedio de diferentes modelos en conjuntos de datos 27. Se puede ver que el modelo CLIP supera a otros modelos en rendimiento, y el cálculo es más eficiente :
ACORTAR
Además, el documento también encontró que CLIP es más robusto en la deriva de distribución natural. Por ejemplo, CLIP y ResNet101 basados ​​en entrenamiento supervisado en ImageNet pueden alcanzar el 76,2 % en el conjunto de validación de ImageNet, pero en el conjunto de datos de ImageNetV2, CLIP supera a ResNet101. En los otros 4 conjuntos de datos con desviación de distribución, el rendimiento de ResNet101 ha disminuido significativamente, pero CLIP aún puede mantener una gran precisión. Por ejemplo, en el conjunto de datos ImageNet-A, el rendimiento de ResNet101 es solo del 2,7 %, mientras que CLIP puede alcanzar el 77,1 %. %

ACORTAR
CLIP puede lograr un rendimiento de disparo cero tan bueno, y puede dudar de que el conjunto de datos de entrenamiento de CLIP pueda contener algunos ejemplos en el conjunto de datos de prueba, la llamada fuga de datos. En este sentido, el documento también utiliza un detector de duplicados para verificar la superposición de los conjuntos de datos evaluados. Se encuentra que la tasa de superposición media es del 2,2%, mientras que el promedio es del 3,2%. El rendimiento de la mayoría de los conjuntos de datos antes y después de la deduplicación no es demasiado alto Grandes cambios , de la siguiente manera:
ACORTAR

Al final del documento, también se discuten las limitaciones de CLIP. Aquí hay un breve resumen de los puntos más importantes :

  • Aunque el rendimiento de disparo cero de CLIP es comparable al de ResNet50 supervisado, no es SOTA. El autor estima que para lograr el efecto de SOTA, CLIP necesita aumentar la cantidad de cálculo en 1000x, lo cual es inimaginable;
  • El disparo cero de CLIP funciona mal en algunos conjuntos de datos, como la clasificación detallada, las tareas abstractas, etc.;
  • CLIP es resistente a la deriva de distribución natural, pero aún existe un problema de generalización fuera del dominio, es decir, si la distribución del conjunto de datos de prueba es bastante diferente del conjunto de entrenamiento, CLIP tendrá un desempeño deficiente;
  • CLIP no resuelve el problema de ineficiencia de datos del aprendizaje profundo, y el entrenamiento de CLIP requiere una gran cantidad de datos;

4. Por qué CLIP

El principio y la aplicación de CLIP se introdujeron anteriormente, y aquí volveremos a mirar otra pregunta: ¿por qué CLIP es, es decir, la motivación del trabajo de CLIP ? En el campo de la visión por computadora, el método de aprendizaje de transferencia más utilizado es entrenar previamente en un conjunto de datos a gran escala como ImageNet y luego ajustarlo en tareas posteriores específicas. La capacitación previa aquí se basa en capacitación supervisada y requiere una gran cantidad de anotación de datos, por lo que el costo es alto. En los últimos años han surgido algunos métodos basados ​​en la autosupervisión, incluidos métodos basados ​​en aprendizaje contrastivo como MoCo y SimCLR, y métodos basados ​​en máscaras de imagen como MAE y BeiT. El beneficio de los métodos autosupervisados ​​es que ya no requieren anotación. Pero ya sean métodos supervisados ​​o autosupervisados, aún requieren un ajuste fino supervisado cuando se transfieren a tareas posteriores y no pueden lograr un tiro cero. Para los modelos supervisados, dado que usan clasificadores con un número fijo de clases en el conjunto de datos previamente entrenado, necesitan definir nuevos clasificadores para volver a entrenar en el nuevo conjunto de datos. En el caso de los modelos autosupervisados, las tareas de proxy a menudo cuentan con la asistencia para el aprendizaje de representación, y es necesario agregar nuevos clasificadores para el entrenamiento supervisado al migrar a otros conjuntos de datos . Sin embargo, en el campo de la PNL, los métodos de entrenamiento previo basados ​​en autorregresión o máscaras de lenguaje se han vuelto relativamente maduros, y los modelos de entrenamiento previo son fáciles de migrar directamente a tareas posteriores, como GPT-3 de OpenAI. Esta diferencia se debe a que el texto y las imágenes pertenecen a dos modalidades completamente diferentes, y otra razón es que los modelos de PNL pueden utilizar grandes cantidades de texto recopilado de Internet. Entonces surge la pregunta: ¿Se puede entrenar previamente un modelo visual basado en una gran cantidad de texto en Internet?

Bueno, de hecho, ha habido algunos estudios previos que usan texto como una señal de supervisión para entrenar modelos visuales. Por ejemplo, el trabajo de 16 años Learning Visual Features from Large Weakly Supervised Data convierte esto en una tarea de clasificación de etiquetas múltiples para predecir el bolsa de texto correspondiente a la imagen palabras, 17 años de trabajo Learning Visual N-Grams from Web Data extiende este método aún más para predecir n-grams. Algunos trabajos recientes emplean nuevas arquitecturas de modelos y métodos de entrenamiento previo para aprender características visuales del texto, como el modelo de lenguaje basado en transformadores de VirTex , el método basado en máscaras de lenguaje de ICMLM y el método basado en aprendizaje contrastivo de ConVIRT . En general, no hay mucho trabajo en esta área, principalmente porque estos métodos son difíciles de lograr un alto rendimiento.Por ejemplo, el trabajo en 2017 solo logró un 11,5 % de rendimiento de disparo cero en ImageNet, que es un SOTA mucho más bajo en ImageNet. Además, hay otra dirección, que es mejorar el rendimiento en función de la supervisión de texto débil. Por ejemplo, BiT y ViT de Google entrenan previamente el modelo en función del conjunto de datos JFT-300M para obtener SOTA en ImageNet. El conjunto de datos JFT-300M es Datos de Google de Internet Recopilados anteriormente, a través de algunos medios automatizados para convertir texto web en 18,291 categorías, pero hay una cierta cantidad de ruido. Aunque Google ha obtenido buenos resultados basándose en el conjunto de datos JFT-300M, estos modelos todavía están preentrenados con un clasificador softmax de clase fija , lo que limita en gran medida su transferibilidad y escalabilidad.

Los autores argumentan que una diferencia importante entre el enfoque poco supervisado de Google y los enfoques anteriores es la escala, o el tamaño de la potencia informática y los datos . El volumen de datos de JFT-300M ha llegado a cientos de millones, y Google ha utilizado una poderosa potencia informática para el entrenamiento previo. Mientras que VirTex, ICMLM y ConVIRT solo fueron capacitados durante unos días en datos de nivel 100k. Para compensar la diferencia en los datos, OpenAI recolectó 400 millones de datos de Internet para experimentos. Pero surge una nueva pregunta: qué método utilizar para el entrenamiento. OpenAI probó por primera vez el modelo VirTex, que entrena conjuntamente una CNN y un transformador de texto para predecir el texto de una imagen (título de imagen), pero descubrió que la eficiencia de entrenamiento de este método (evaluada por el rendimiento de disparo cero en el conjunto de datos de ImageNet) no es tan directo como Predecir la bolsa de palabras, como se muestra en la figura a continuación, la eficiencia de entrenamiento de los dos puede ser 3 veces diferente. Si se adopta aún más ConVIRT, es decir, el método basado en el aprendizaje contrastivo, la eficiencia del entrenamiento se puede mejorar 4 veces más. La razón de esta diferencia no es difícil de entender. Los pares de texto e imagen incluidos en los datos de entrenamiento se recopilan de Internet y tienen una cierta cantidad de ruido, lo que significa que el texto y las imágenes pueden no coincidir exactamente. En este tiempo, reduce el entrenamiento de forma adecuada, objetivo, pero puede lograr una mejor convergencia. Desde la perspectiva de la dificultad de la tarea: Modelo de lenguaje transformador > Predicción de bolsa de palabras > Bolsa de palabras contrastivas (CLIP). Debido a la gran cantidad de datos de entrenamiento y cálculo del modelo, la eficiencia del entrenamiento se convierte en un factor crucial. Esta es la razón por la que el autor elige finalmente el método de aprendizaje contrastivo para el entrenamiento.

ACORTAR

Esencialmente, CLIP no es realmente innovador, simplemente simplifica el método ConVIRT y utiliza un conjunto de datos de pares de texto e imágenes a mayor escala para el entrenamiento.

Al final del artículo, los autores también hablaron sobre el hecho de que adoptaron el método de aprendizaje contrastivo debido a la restricción de la eficiencia del entrenamiento, pero lo que todavía querían hacer era generar texto directamente a partir de imágenes. El ciclo está cerrado: texto -> imagen -> texto . Y el modelo basado en el entrenamiento generativo también puede lograr una clasificación de tiro cero, podemos lograrlo prediciendo las palabras (etiquetas) en la oración: Una foto de [?].

5. ¿Qué más puede hacer CLIP?

Aunque el documento solo realiza experimentos sobre la clasificación de tiro cero con CLIP, de hecho, el valor de aplicación de CLIP es mucho más que eso. Después de CLIP, ha habido muchos estudios de aplicación basados ​​en CLIP. Aquí enumeramos algunos escenarios de aplicación.

detección de tiro cero

CLIP se puede aplicar a tareas de detección de objetivos para lograr una detección de tiro cero, es decir, para detectar categorías que no están incluidas en el conjunto de datos de entrenamiento. Por ejemplo, ViLD propuesto por Google implementa la detección de objetos con vocabulario abierto basado en CLIP. Su principal La arquitectura es la siguiente: La idea básica Similar a la clasificación de tiro cero, excepto que las características de texto y las características de ROI se utilizan para calcular la similitud.
ACORTAR
El último trabajo de Meta AI, Detic , puede detectar 2000 clases, y CLIP también se usa detrás:
ACORTAR

buscar imagen

La búsqueda de imágenes basadas en texto es una de las aplicaciones más directas de CLIP. De hecho, CLIP también se usa como modelo de clasificación para DALL-E, es decir, selecciona imágenes que son más relevantes para el texto de las imágenes generadas.

comprensión de vídeo

CLIP se basa en pares de texto-imagen, pero se puede extender a texto-video.Por ejemplo, VideoCLIP aplica CLIP al dominio de video para lograr algunas tareas de comprensión de video de disparo cero.

edición de imagen

CLIP se puede usar para guiar las tareas de edición de imágenes, HairCLIP Este trabajo usa CLIP para personalizar peinados:
ACORTAR

generación de imágenes

CLIP también se puede aplicar a la generación de imágenes. Por ejemplo, StyleCLIP usa CLIP para implementar un StyleGAN guiado por texto:
ACORTAR
CLIP-GEN se basa en CLIP para entrenar un modelo de imagen generado por texto, y el entrenamiento no necesita usar ningún dato de texto directamente :
ACORTAR

aprendizaje autosupervisado

Recientemente, el trabajo MVP de Huawei usa CLIP para entrenamiento visual autosupervisado:
ACORTAR

tareas de biblioteca virtual

CLIP en sí mismo es un modelo multimodal, por lo que también se puede utilizar en tareas multimodales de imagen y texto, como subtítulos de imágenes y respuesta visual a preguntas, el documento How Much Can CLIP Benefit Vision-and The -Language Tasks™ system evalúa los beneficios de CLIP en tareas de LV.
ACORTAR

El poder de CLIP se puede ver más a partir de estas aplicaciones específicas.
Además de algunos trabajos de investigación aplicada, en realidad hay algunas mejoras en CLIP. El último artículo Democratizing Contrastive Language-Image Pre-training: A CLIP Benchmark of Data, Model, and Supervision resume varias mejoras en CLIP:
ACORTAR

6. Resumen

Este artículo resume sistemáticamente el principio de CLIP y su aplicación específica. CLIP puede funcionar bien en tareas posteriores (cero disparos o pocos disparos) después del entrenamiento previo, y la predicción de conjuntos de datos ya no se limita a una clasificación fija. El número de etiquetas se puede agregar dinámicamente durante la predicción sin la necesidad de volver a entrenar.La predicción directa de disparo cero puede brindar una alta precisión, pero CLIP no puede resolver el problema de los conjuntos de datos fuera del dominio CLIP y ViT pertenecen a la misma magnitud de trabajo, ambos rompen el paradigma original de la visión artificial y definitivamente dejarán un nombre en la historia de CV.

7. Enlaces de referencia

Aprendizaje de modelos visuales transferibles de la supervisión del lenguaje natural
https://github.com/openai/CLIP
https://www.zhihu.com/zvideo/1475706654562299904
https://zhuanlan.zhihu.com/p/493489688

Nota: este artículo se reproduce con https://zhuanlan.zhihu.com/p/493489688

Supongo que te gusta

Origin blog.csdn.net/flyingluohaipeng/article/details/126654240
Recomendado
Clasificación