大家好,这里是好评笔记,本文为试读,查看全文请移步公主号:Goodnote。本文详细介绍多模态模型:BLIP2。
@[toc]
回顾BLIP
BLIP 是旨在改进图像-文本联合学习的效率多模态模型,特别是通过生成任务和对比学习结合的方式,在低监督甚至无监督情况下提升模型性能。BLIP 的创新点在于它通过多任务预训练和自引导学习(bootstrapping)机制,能够以更少的数据达到更好的性能表现。
BLIP 的架构设计包含图像编码器、文本编码器、视觉文本编码器、视觉文本解码器。它结合了对比学习和生成式任务,以自引导的方式提升模型性能。
BLIP的问题及BLIP2的优化
在 BLIP 的基础上,BLIP2 进行了以下几项主要优化,这些优化显著提升了模型的性能、计算效率和适配性:
1. 模块化架构设计
- BLIP 的问题:
- BLIP 的图像编码器、文本编码器、视觉文本编码器和解码器之间的紧密耦合关系,是造成训练成本高、灵活性不足的重要原因。
- BLIP 的架构限制了视觉编码器和语言模型的选择,适配性不足。
- BLIP2 的优化:
- 采用模块化设计,将模型分为三个模块:
- 视觉编码器(Image Encoder):用于提取图像的底层视觉特征(支持复用已有的预训练视觉模型,如 CLIP 或 ViT)。
- Q-Former(Querying Transformer):用于从视觉特征中提取与语言相关的多模态嵌入。
- 预训练语言模型(LLM, Large Language Model):用于处理生成任务,如文本生成或问答任务。
- 模块化设计使得 BLIP2 可以复用现有的强大视觉模型(如 CLIP、ViT)和语言模型(如 GPT、OPT),无需端到端联合训练,大大降低了开发和训练成本。
- 采用模块化设计,将模型分为三个模块:
2. 引入 Q-Former 模块
- BLIP 的问题:
- BLIP 直接将视觉特征与语言模型对接,特征提取过程可能包含冗余信息,导致对齐效率较低。
- BLIP2 的优化:
- 引入了 Q-Former,这是一个轻量级的变换器模块,用于从视觉特征中提取与语言模态相关的嵌入表示:
- 用于从视觉编码器生成的高维视觉特征中提取与语言模态相关的低维嵌入表示,从而实现高效的图像-文本对齐。
- Q-Former 的加入显著提升了图像-文本对齐的效果,同时减少了计算负担。
- 引入了 Q-Former,这是一个轻量级的变换器模块,用于从视觉特征中提取与语言模态相关的嵌入表示:
3. 分阶段训练策略
详细全文请移步公主号:Goodnote。