国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計

這篇具有很好參考價值的文章主要介紹了【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能

論文:Chinese CLIP: Contrastive Vision-Language Pretraining in Chinese

代碼:https://github.com/OFA-Sys/Chinese-CLIP

出處:阿里達(dá)摩院

時間:2022.11

貢獻(xiàn):

  • 提出了 Chinese CLIP,是經(jīng)過在大尺度中文圖像-文本對兒的兩階段預(yù)訓(xùn)練

一、背景

CLIP 的成功極大地促進(jìn)了對比學(xué)習(xí)在視覺-語言模型預(yù)訓(xùn)練上的研究和應(yīng)用

不同于傳統(tǒng)生成式預(yù)訓(xùn)練,CLIP 是一種基于對比學(xué)習(xí)的模型,在從網(wǎng)絡(luò)上收集的約 4 億個 image-text pair 上進(jìn)行預(yù)訓(xùn)練,而且有很好的 zero-shot 遷移能力

由于 CLIP 能夠在視覺和文本之間建立聯(lián)系,所有頁改變了多模態(tài)表達(dá)學(xué)習(xí)和計算機(jī)視覺的相關(guān)研究

在 CLIP 之后有很多的工作,如 DALL-E,StyleCLIP,SLIP,CLIP4Clip 等

盡管如此,但在中國還沒有一個專為中文多模態(tài)學(xué)習(xí)設(shè)計的模型

所以,本文中提出了 Chinese CLIP (CN-CLIP),模型在大量的中文文本-圖像對兒上進(jìn)行了預(yù)訓(xùn)練

數(shù)據(jù):

  • 約 2 億 image-text pairs

模型大?。?/p>

  • 建立了 5 個不同大小的模型,從 77M 到 958M 參數(shù)量

訓(xùn)練方式:

  • 使用兩階段訓(xùn)練的方式
  • 第一階段:凍結(jié) image encoder
  • 第二階段:image encoder 和 text encoder 都參與訓(xùn)練(如圖 1)
  • 消融實(shí)驗(yàn)證明了兩階段訓(xùn)練的好處

測試數(shù)據(jù)集:

  • 在 3 個 Chinese cross-modal 檢索數(shù)據(jù)集上進(jìn)行的測試
  • 包括 MUGE2, Flickr30K-CN, COCO-CN
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能

二、方法

2.1 基礎(chǔ)內(nèi)容

首先介紹一下 CLIP 的訓(xùn)練方法:

  • CLIP 是由 image encoder 和 text encoder 構(gòu)成的
  • image encoder:是 vision backbone,如 ResNet、ViT 等
  • text encoder:是 transformer model,如 BERT、GPT 等
  • CLIP 有多種不同大小的模型尺度
  • vision backbone:5 個不同尺度的 resnet(ResNet-50, ResNet101, RN50x4, RN50x16, RN50x64),3 個餅圖的 ViT (ViT-B/32, ViT-B/16, and ViT-L/14)
  • 模型的訓(xùn)練使用的是 large-batch 的對比學(xué)習(xí),給定一個 batch 中有 N 個圖像,則共有 N × N N \times N N×N 個可能的圖文對兒,有 N 對兒 positive samples,有 N 2 ? N N^2-N N2?N 對兒 negative samples。則共有 N 2 N^2 N2 個 similarity score,來優(yōu)化 cross-entropy loss

CLIP 的擴(kuò)展:

  • 可以遷移到跨模態(tài)的檢索
  • image encoder 可以作為 vision backbone 來代替在 ImageNet 上預(yù)訓(xùn)練的 ResNet 或 ViT
  • 通過計算給定的 image 和固定形式 Candidate label (如 a photo of [label]) 的相似性,也可以進(jìn)行開集的 zero-shot 分類

2.2 數(shù)據(jù)集

CLIP 成功的另外一個原因在于預(yù)訓(xùn)練使用的超大尺度的訓(xùn)練集

由在 CLIP 上進(jìn)行的實(shí)驗(yàn)可知,通過增大數(shù)據(jù)量、增長訓(xùn)練周期都可以提供模型在 zero-shot 學(xué)習(xí)任務(wù)上的效果

訓(xùn)練數(shù)據(jù)集:

  • 從 LAION-5B 中抽取包含 ‘zh’ 的中文數(shù)據(jù),共抽取 1.08 億數(shù)據(jù)
  • 從 Wukong 中獲得 0.72 億數(shù)據(jù)
  • 將英文多模態(tài)數(shù)據(jù)翻譯為中文的,包括 Visual Genome 和 MSCOCO
  • 最后共得到約 2 億的訓(xùn)練數(shù)據(jù)
  • 一般將圖像 resize 為 224x224 來使用,在 ViT-L/14 中使用 336x336 大小

2.3 預(yù)訓(xùn)練方法

最簡單的訓(xùn)練方法是從頭開始訓(xùn)練,就是會受到訓(xùn)練數(shù)據(jù)的數(shù)量和質(zhì)量的限制

為了利用現(xiàn)有的預(yù)訓(xùn)練模型優(yōu)勢:

  • 對于 image encoder ,使用了官方 CLIP 開源預(yù)訓(xùn)練模型來初始化
  • 對于 text encoder,使用 RoBERTa-wwm-ext 和 RBT3

如何基于開源模型來預(yù)訓(xùn)練:

  • constrastive tuning, 對比微調(diào),類似于將 CLIP 遷移到下游任務(wù)上去
  • Locked-image Tuning(LiT),效果更好

Chinese CLIP 如何進(jìn)行預(yù)訓(xùn)練:兩階段預(yù)訓(xùn)練方法,如圖 1 所示

  • 主要思想是凍結(jié) image encoder(凍結(jié)所有的參數(shù))使用 LiT 讓 text encoder 能夠從 OpenAI 的 CLIP 的基礎(chǔ)視覺模型中讀出高質(zhì)量的表示,然后將這些表示遷移到需要的數(shù)據(jù)域中。
  • 第一階段:凍結(jié) image encoder 的所有參數(shù),只訓(xùn)練 text encoder,這一動作是基于一個假設(shè):訓(xùn)練好的 vision backbone 已經(jīng)有很強(qiáng)的能力來抽取視覺特征了。第一階段的訓(xùn)練直到對下游任務(wù)沒有明顯的提升而結(jié)束
  • 第二階段,讓 image encoder 的參數(shù)參與訓(xùn)練,這樣一來 image encoder 的參數(shù)就可以學(xué)習(xí)從中文網(wǎng)站來的圖了
  • 實(shí)驗(yàn)結(jié)果表明兩階段的預(yù)訓(xùn)練能夠比直接從訓(xùn)練好的模型來 finetune 效果更好

2.4 模型尺寸

有 5 種不同的模型尺寸,從 77 ~ 958 million 參數(shù)量,無特殊說明情況下預(yù)訓(xùn)練圖像大小為 224x224

  • ResNet 50 model: C N ? C L I P R N 50 CN-CLIP_{RN50} CN?CLIPRN50?
  • C N ? C L I P V i T ? B / 16 CN-CLIP_{ViT-B/16} CN?CLIPViT?B/16?
  • C N ? C L I P V i T ? L / 14 CN-CLIP_{ViT-L/14} CN?CLIPViT?L/14?
  • C N ? C L I P V i T ? L / 14 @ 336 p x CN-CLIP_{ViT-L/14@336px} CN?CLIPViT?L/14@336px?
  • C N ? C L I P V i T ? H / 14 CN-CLIP_{ViT-H/14} CN?CLIPViT?H/14?

三、效果

數(shù)據(jù)集:

  • MUGE-Retrieval:image-text 檢索數(shù)據(jù)集
  • Flickr30K-CN:Flickr30K 數(shù)據(jù)集且將標(biāo)簽翻譯為中文
  • COCOCN:COCO 數(shù)據(jù)集且將標(biāo)簽翻譯為中文

評價指標(biāo):

  • zero-shot learning:使用 image 和 text 之間的 smilarity score 來衡量,使用 top-k similar candidates
  • finetuning:使用 Recall@K 來評價,K={1, 5, 10},也會使用 Mean Recall (MR)來評價,即 Recall@K 的均值
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能
    【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計,多模態(tài),AIGC,深度學(xué)習(xí),人工智能

四、代碼

4.1 推理

官方 github 中給了一段推理代碼:

import torch 
from PIL import Image

import cn_clip.clip as clip
from cn_clip.clip import load_from_name, available_models
print("Available models:", available_models())  
# Available models: ['ViT-B-16', 'ViT-L-14', 'ViT-L-14-336', 'ViT-H-14', 'RN50']

device = "cuda" if torch.cuda.is_available() else "cpu"
# model 選擇和 預(yù)處理
# 預(yù)處理:resize to (224,224), convert to rgb, normalize (mean, std)
model, preprocess = load_from_name("ViT-B-16", device=device, download_root='./')
model.eval()
image = preprocess(Image.open("examples/pokemon.jpeg")).unsqueeze(0).to(device)
# image 是經(jīng)過預(yù)處理后的圖,大小為 [1, 3, 224, 224]
text = clip.tokenize(["杰尼龜", "妙蛙種子", "小火龍", "皮卡丘"]).to(device)
# clip.tokenize 是對類別 list 進(jìn)行 token 處理,這里有 4 個類別,得到的就是 [4, 52] 的向量表示

with torch.no_grad():
    logits_per_image, logits_per_text = model.get_similarity(image, text)
    probs = logits_per_image.softmax(dim=-1).cpu().numpy()

print("Label probs:", probs)  # [[1.268734e-03 5.436878e-02 6.795761e-04 9.436829e-01]]

這里面涉及到了相似度提?。?code>model.get_similarity,位于 model.py文章來源地址http://www.zghlxwxcb.cn/news/detail-589259.html

def get_similarity(self, image, text):
    image_features = self.encode_image(image) # Vision Transformer, image_features.shape=[1, 512]
    text_features = self.encode_text(text)    # BERT, image_features.shape=[4, 512]

    # normalized features
    image_features = image_features / image_features.norm(dim=1, keepdim=True)
    text_features = text_features / text_features.norm(dim=1, keepdim=True)

    # cosine similarity as logits
    logit_scale = self.logit_scale.exp()
    logits_per_image = logit_scale * image_features @ text_features.t() # [1, 4] tensor
    logits_per_text = logits_per_image.t() # [4, 1] tensor

    # shape = [global_batch_size, global_batch_size]
    # logits_per_image: 每個類別對應(yīng)的概率
    return logits_per_image, logits_per_text

到了這里,關(guān)于【多模態(tài)】4、Chinese CLIP | 專為中文圖文匹配設(shè)計的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • CV多模態(tài)和AIGC的原理解析:從CLIP、BLIP到Stable Diffusion、Midjourney

    CV多模態(tài)和AIGC的原理解析:從CLIP、BLIP到Stable Diffusion、Midjourney

    終于開寫本CV多模態(tài)系列的核心主題:stable diffusion相關(guān)的了,為何執(zhí)著于想寫這個stable diffusion呢,源于三點(diǎn) 去年stable diffusion和midjourney很火的時候,就想寫,因?yàn)榻?jīng)常被刷屏,但那會時間錯不開 去年11月底ChatGPT出來后,我今年1月初開始寫ChatGPT背后的技術(shù)原理,而今年2月份

    2024年02月13日
    瀏覽(29)
  • 【多模態(tài)】15、MobileSAM | 首個專為移動端設(shè)計的更快的 SAM

    【多模態(tài)】15、MobileSAM | 首個專為移動端設(shè)計的更快的 SAM

    論文:FASTER SEGMENT ANYTHING: TOWARDS LIGHTWEIGHT SAM FOR MOBILE APPLICATIONS 代碼:https://github.com/ChaoningZhang/MobileSAM 出處:韓國慶熙大學(xué) 時間:2023.06.27 Meta 提出的 SAM 以其出色的對任何感興趣目標(biāo)都可以進(jìn)行分割的能力引起了廣泛的關(guān)注,SAM 的結(jié)構(gòu)如圖 1 所示,包括兩個部分: ViT-based

    2024年02月16日
    瀏覽(41)
  • CV多模態(tài)和AIGC原理解析:從CLIP、BLIP到DALLE 3、Stable Diffusion、MDJ

    CV多模態(tài)和AIGC原理解析:從CLIP、BLIP到DALLE 3、Stable Diffusion、MDJ

    終于開寫本CV多模態(tài)系列的核心主題:stable diffusion相關(guān)的了,為何執(zhí)著于想寫這個stable diffusion呢,源于三點(diǎn) 去年stable diffusion和midjourney很火的時候,就想寫,因?yàn)榻?jīng)常被刷屏,但那會時間錯不開 去年11月底ChatGPT出來后,我今年1月初開始寫ChatGPT背后的技術(shù)原理,而今年2月份

    2024年02月06日
    瀏覽(55)
  • CV多模態(tài)和AIGC的原理解析:從CLIP、BLIP到DALLE 3、Stable Diffusion/MDJ

    CV多模態(tài)和AIGC的原理解析:從CLIP、BLIP到DALLE 3、Stable Diffusion/MDJ

    終于開寫本CV多模態(tài)系列的核心主題:stable diffusion相關(guān)的了,為何執(zhí)著于想寫這個stable diffusion呢,源于三點(diǎn) 去年stable diffusion和midjourney很火的時候,就想寫,因?yàn)榻?jīng)常被刷屏,但那會時間錯不開 去年11月底ChatGPT出來后,我今年1月初開始寫ChatGPT背后的技術(shù)原理,而今年2月份

    2024年02月08日
    瀏覽(27)
  • AIGC下的CV多模態(tài)原理解析:從CLIP/BLIP到stable diffusion/Midjourney、GPT4

    AIGC下的CV多模態(tài)原理解析:從CLIP/BLIP到stable diffusion/Midjourney、GPT4

    終于開寫本CV多模態(tài)系列的核心主題:stable diffusion相關(guān)的了,為何執(zhí)著于想寫這個stable diffusion呢,源于三點(diǎn) 去年stable diffusion和midjourney很火的時候,就想寫,因?yàn)榻?jīng)常被刷屏,但那會時間錯不開 去年11月底ChatGPT出來后,我今年1月初開始寫ChatGPT背后的技術(shù)原理,而今年2月份

    2024年02月10日
    瀏覽(31)
  • CV多模態(tài)和AIGC的原理解析:從CLIP、BLIP到DALLE三代、Stable Diffusion/MDJ

    CV多模態(tài)和AIGC的原理解析:從CLIP、BLIP到DALLE三代、Stable Diffusion/MDJ

    終于開寫本CV多模態(tài)系列的核心主題:stable diffusion相關(guān)的了,為何執(zhí)著于想寫這個stable diffusion呢,源于三點(diǎn) 去年stable diffusion和midjourney很火的時候,就想寫,因?yàn)榻?jīng)常被刷屏,但那會時間錯不開 去年11月底ChatGPT出來后,我今年1月初開始寫ChatGPT背后的技術(shù)原理,而今年2月份

    2024年02月08日
    瀏覽(27)
  • 【AIGC】18、MobileSAM | 首個專為移動端設(shè)計的更快的 SAM

    【AIGC】18、MobileSAM | 首個專為移動端設(shè)計的更快的 SAM

    論文:FASTER SEGMENT ANYTHING: TOWARDS LIGHTWEIGHT SAM FOR MOBILE APPLICATIONS 代碼:https://github.com/ChaoningZhang/MobileSAM 出處:韓國慶熙大學(xué) 時間:2023.06.27 Meta 提出的 SAM 以其出色的對任何感興趣目標(biāo)都可以進(jìn)行分割的能力引起了廣泛的關(guān)注,SAM 的結(jié)構(gòu)如圖 1 所示,包括兩個部分: ViT-based

    2024年02月12日
    瀏覽(30)
  • [C#]Onnxruntime部署Chinese CLIP實(shí)現(xiàn)以文搜圖以文找圖功能

    [C#]Onnxruntime部署Chinese CLIP實(shí)現(xiàn)以文搜圖以文找圖功能

    【官方框架地址】 https://github.com/OFA-Sys/Chinese-CLIP 【算法介紹】 在當(dāng)今的大數(shù)據(jù)時代,文本信息處理已經(jīng)成為了計算機(jī)科學(xué)領(lǐng)域的核心議題之一。為了高效地處理海量的文本數(shù)據(jù),自然語言處理(NLP)技術(shù)應(yīng)運(yùn)而生。而在諸多NLP技術(shù)中,文本分割是一種基礎(chǔ)且重要的任務(wù)。

    2024年02月02日
    瀏覽(12)
  • 【多模態(tài)】CLIP模型

    【多模態(tài)】CLIP模型

    Title : Learning transferable visual models from natural language supervision 作者 :Alec Radford * 1 Jong Wook Kim * 1 Chris Hallacy 1 Aditya Ramesh 1 Gabriel Goh 1 Sandhini Agarwal Girish Sastry 1 Amanda Askell 1 Pamela Mishkin 1 Jack Clark 1 Gretchen Krueger 1 Ilya Sutskever 1 發(fā)表單位 :OpenAI, San Francisco :clip、多模態(tài) 論文:

    2023年04月10日
    瀏覽(20)
  • 使用CLIP和LLM構(gòu)建多模態(tài)RAG系統(tǒng)

    使用CLIP和LLM構(gòu)建多模態(tài)RAG系統(tǒng)

    在本文中我們將探討使用開源大型語言多模態(tài)模型(Large Language Multi-Modal)構(gòu)建檢索增強(qiáng)生成(RAG)系統(tǒng)。本文的重點(diǎn)是在不依賴LangChain或LLlama index的情況下實(shí)現(xiàn)這一目標(biāo),這樣可以避免更多的框架依賴。 在人工智能領(lǐng)域,檢索增強(qiáng)生成(retrieve - augmented Generation, RAG)作為一種變革性

    2024年02月02日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包