Project Icon

DIVA

扩散模型辅助CLIP增强视觉理解能力

DIVA是一种创新方法,利用扩散模型作为视觉助手优化CLIP表示。通过文本到图像扩散模型的生成反馈,DIVA无需配对文本数据即可提升CLIP视觉能力。在MMVP-VLM细粒度视觉评估基准上,DIVA显著提升了CLIP性能,同时保持了其在29个图像分类和检索基准上的强大零样本能力。这为增强视觉语言模型的视觉理解开辟了新途径。

⏰ 时间表

[2024-08-07] 我们发布了CLIP模型权重!💥

[2024-08-05] 我们发布了训练和评估代码!💥

[2024-07-30] 我们的论文在arXiv上发布了!💥

💡 动机

概览

在这项工作中,我们提出了一种简单的CLIP模型后训练方法,通过自监督扩散过程在很大程度上克服了其视觉缺陷。我们引入了DIVA,它将扩散模型用作CLIP的视觉助手。具体而言,DIVA利用文本到图像扩散模型的生成反馈来优化CLIP表示,仅使用图像(无对应文本)。我们证明,DIVA在很大程度上评估细粒度视觉能力的具有挑战性的MMVP-VLM基准测试上改进了CLIP的性能(例如,提高3-7%),并增强了MLLMs和视觉模型在多模态理解和分割任务上的性能。在29个图像分类和检索基准测试上的广泛评估证实,DIVA保留了CLIP强大的零样本能力。

🤖 架构

概览

给定一张图像,CLIP模型将视觉特征编码为条件的主要部分,然后生成式扩散模型以噪声图像和条件作为输入预测添加的噪声。我们通过生成反馈,使用扩散损失最大化图像似然来优化CLIP的表示。

🔨 安装

克隆此仓库并安装所需的包:

git clone https://github.com/baaivision/DIVA.git
cd DIVA
mkdir -p outputs logs datasets pretrained_weights/CLIP pretrained_weights/SD

conda create -n diva python=3.9
conda activate diva
pip install -r requirements.txt

核心包:

🍹 DIVA生成式微调的准备工作

数据获取

关于数据准备,请参考image2datasetMMVP获取本工作中使用的训练和评估数据。收集相应数据集后,直接将它们放入dataset/文件夹路径。

预训练权重下载

对于预训练权重准备,请参考OpenAI ViT-L-14/224&336MetaCLIP ViT-L/H-14SigLIP ViT-SO-14/224SigLIP ViT-SO-14/384DFN ViT-H-14/224DFN ViT-H-14/378SD-2-1-base获取判别式CLIP模型和提供生成反馈的扩散模型的权重。下载所有必要的权重后,将它们分别移动到相应的文件夹路径pretrained_weights/CLIP/pretrained_weights/SD/

代码修改

为了准备我们DIVA的条件设计,需要修改已安装的CLIPOpenCLIP包中的一些源代码。

对于OpenAI CLIP,使用我们提供的condition/OpenAICLIP_for_clip_model.py中的内容替换Your Conda Installation Path/anaconda3/envs/diva/lib/python3.9/site-packages/clip/model.py中的内容。 对于MetaCLIP和DFN,使用我们提供的condition/MetaCLIP_for_openclip_transformer.pycondition/DFN_for_openclip_transformer.py中的内容分别替换Your Conda Installation Path/anaconda3/envs/diva/lib/python3.9/site-packages/open_clip/transformer.py中的内容。

对于SigLIP,使用我们提供的condition/SigLIP_for_timm_models_visiontransformer.py中的内容替换Your Conda Installation Path/anaconda3/envs/diva/lib/python3.9/site-packages/timm/models/vision_transformer.py中的内容。

🍻 训练与评估快速入门

完成以上所有准备步骤后,你可以使用以下命令简单地开始训练我们的DIVA:

# 对于OpenAICLIP
bash DIVA_for_OpenAICLIP.sh

# 对于MetaCLIP
bash DIVA_for_MetaCLIP.sh

# 对于SigLIP
bash DIVA_for_SigLIP.sh

# 对于DFN
bash DIVA_for_DFN.sh

模型库

方法图像尺寸参数量 (M)平均得分
OpenAI ViT-L-14224²427.625.9 (+6.6)
OpenAI ViT-L-14336²427.925.2 (+5.2)
MetaCLIP ViT-L-14224²427.627.4 (+3.7)
MetaCLIP ViT-H-14224²986.131.9 (+6.7)
SigLIP ViT-SO-14224²877.440.7 (+2.9)
SigLIP ViT-SO-14384²878.038.5 (+1.5)
DFN ViT-H-14224²986.143.7 (+4.4)
DFN ViT-H-14378²986.737.8 (+3.0)

值得注意的是,由于训练阶段引入的条件设计和推理阶段选择局部补丁词元的随机性,使用我们提供的OpenAI CLIP权重在MMVP_VLM基准测试上获得的分数可能与我们论文中报告的结果不同。此时,如果分数不符合预期,我们建议尝试多次使用不同的随机种子。

🎨 可视化

scene

💙 致谢

DIVA 基于优秀的 Diffusion-TTAMMVPCLIPOpenCLIPtimm 构建。

📝 引用

@article{wang2024diffusion,
      title={Diffusion Feedback Helps CLIP See Better},
      author={Wang, Wenxuan and Sun, Quan and Zhang, Fan and Tang, Yepeng and Liu, Jing and Wang, Xinlong},
      journal={arXiv preprint arXiv:2407.20171},
      year={2024}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号