Skip to content

多模态常见面试篇

来自:AiGC面试宝典

宁静致远 2024年01月12日 06:48


一、最近关注的论文,多模态视觉大模型(CLIP、DALL·E)?

多模态视觉大模型是指可以处理多种感知模态数据(如图像和文本)的大型深度学习模型。CLIP和DALL·E都是这方面的重要研究。

CLIP(Contrastive Language-Image Pretraining,对比语言-图像预训练) 是OpenAI于2021年提出的模型,其核心思想是通过对比学习让图像和文本在向量空间中形成对应关系。训练时,模型同时接收图像和文本描述,学习将匹配的图像-文本对在特征空间中拉近,不匹配的推远。CLIP的创新之处在于实现了"零样本分类",无需针对特定任务进行微调即可完成图像分类等任务。

📝通俗解释:CLIP就像一个学会了"看图说话"的人。你给它看一张图片,问它"这是猫还是狗",它不需要专门学习猫和狗的分类器,就能通过理解图片内容和文字描述的对应关系来回答问题。

DALL·E 是OpenAI开发的文本到图像生成模型,能够根据文本描述生成与之相关的图像。DALL·E基于GPT-3的架构改造而来,将图像视为一种"外语"进行学习,可以生成符合描述的创意图像。

📝通俗解释:DALL·E就像一个想象力丰富的画家。你告诉它"一只穿宇航服的猫在月球上骑自行车",它就能画出这样一幅画。它学习了大量图像和文字的对应关系,学会了把文字描述"翻译"成图像。


二、BLIP-2的架构、优势和与之前多模态模型的区别?

BLIP-2(Bootstrapped Language-Image Pre-training,-bootstrapped引导式语言-图像预训练)是2023年提出的图像-语言多模态模型的预训练方法。

架构组成

BLIP-2的整体架构由三个核心组件构成:

  1. 图像编码器(Image Encoder):负责从图像中提取特征,通常使用冻结的ViT(Vision Transformer)模型。

  2. Q-Former(Query Transformer):这是BLIP-2的核心创新点,是一个轻量级的Transformer模块,用于连接图像编码器和语言模型。Q-Former内部包含:

    • 图像Transformer:包含交叉注意力(CA)和自注意力(SA)
    • 语言Transformer:与图像Transformer共享自注意力参数
    • 查询向量(Query):作为桥梁,依次在SA中与自身交互、在CA中与图像特征交互
  3. 语言模型(Language Model):使用冻结的大型语言模型(如GPT系列),负责生成文本。

工作流程

  1. 输入图像经过图像编码器提取特征
  2. 查询向量在Q-Former中与图像特征进行交互
  3. Q-Former输出的向量传递给冻结的语言模型
  4. 语言模型根据任务生成对应的文本输出

训练任务

BLIP-2包含三个预训练任务:

  • 图像-文本匹配(Image-Text Matching):判断图像和文本是否匹配
  • 图像-文本对比学习(Image-Text Contrastive Learning):学习图像和文本的对齐表示
  • 基于图像的文本生成(Image-Grounded Text Generation):根据图像生成描述文本

📝通俗解释:BLIP-2的工作方式像一个"翻译官"。图像编码器负责"看图",语言模型负责"说话",而Q-Former就是连接两者的"翻译员"。它把图像内容"翻译"成语言模型能理解的"语言",这样语言模型就能描述图片内容了。整个过程中,图像编码器和语言模型都是"冻结"不动的,只需要训练中间的"翻译员"Q-Former,非常省算力!

BLIP-2的优势

  1. 高效:只训练Q-Former,利用了冻结的预训练模型,大幅减少训练参数量和计算成本
  2. 兼容性强:可以搭配不同的图像编码器和语言模型使用
  3. 性能优异:在多个多模态任务上取得了SOTA效果

与之前多模态模型的区别

特点BLIP-2之前的多模态模型
训练参数量极少(仅Q-Former)大量参数需要训练
模型组合灵活可插拔固定组合
预训练效率较低

三、多模态融合后,怎样知道最终结果受哪种模态影响更大?

在多模态融合后,了解最终结果受哪种模态影响更大,可以使用以下特征重要性分析方法:

1. SHAP值(SHapley Additive exPlanations)

基于博弈论中的Shapley值,计算每个模态特征对预测结果的贡献度。

📝通俗解释:就像分析一场篮球比赛中,每个队员对获胜的贡献度。SHAP值会告诉你"图像模态贡献了30%的预测结果,文本模态贡献了70%"。

2. 排列重要性(Permutation Importance)

随机打乱某个模态的特征,观察模型性能下降的程度。下降越多,说明该模态越重要。

📝通俗解释:就像测试哪个零部件对机器最重要——如果拆掉某个零件后机器完全无法运行,那这个零件就很关键。同理,如果打乱图像特征后模型预测结果变得很差,说明图像模态很重要。

3. 注意力权重分析

通过分析多模态Transformer中的注意力矩阵,观察不同模态之间的交互强度。

📝通俗解释:就像观察会议上谁在认真听谁发言。如果文本模块特别关注图像模块的某些特征,说明文本在"参考"图像内容。

4. 梯度分析方法

计算输出对输入模态的梯度,梯度越大说明该模态对结果影响越大。

📝通俗解释:就像开车时,方向盘转动角度越大,对行驶方向的影响就越大。梯度分析方法就是测量每个模态"转动方向盘"的力度。


四、多模态中常见的SOTA模型有哪些?

视觉骨干网络

  • Vision Transformer (ViT):将自注意力机制引入计算机视觉领域,通过将图像划分为图像补丁(Patch)并应用Transformer模型,实现了在图像分类和目标检测等任务上的出色表现。

📝通俗解释:ViT就像把一张大照片切成很多小拼图块,然后让Transformer这个"拼图大师"分析每块之间的关系,从而理解整个图像。

图像-文本模型

  • CLIP(Contrastive Language-Image Pretraining):结合了图像和文本的对比学习,通过训练一个模型,使其能够根据图像和文本之间的相互关系进行推理,实现了图像与文本之间的联合理解和表示学习。

  • UNITER(UNiversal Image-Text Representation):使用Transformer架构,联合学习图像和文本表示,提供了一个通用的图像和文本特征提取框架,适用于多个视觉和语言任务。

  • LXMERT(Learning Cross-Modality Encoder Representations from Transformers):结合了视觉和语言信息,通过Transformer模型对图像和文本进行交互学习,可以用于视觉问答、图像描述生成等任务。

📝通俗解释:LXMERT就像一个"双语翻译员",同时精通图像语言和文本语言,能够准确地把图像内容"翻译"成文字描述,也能理解文字问题并从图像中找到答案。

  • CoCa(Contrastive Captioners):融合了单编码器、双编码器和编码器-解码器三种结构的多模态模型,既能生成图像侧和文本侧独立的表示,又能进行更深层次的图像、文本信息融合以及文本生成。CoCa在图像分类、图文检索、看图说话、VQA等多个任务上都取得了SOTA效果。

📝通俗解释:CoCa就像一个"全能选手",既能做对比学习(判断图像和文字是否匹配),也能做生成任务(看图写描述),一个模型兼顾多种能力。

生成模型

  • DALL·E:OpenAI的文本到图像生成模型
  • Stable Diffusion:基于扩散过程的图像生成模型(详见第五节)
  • Midjourney:基于扩散模型的图像生成服务

📝通俗解释:这些模型都是"AI画家",你给它们一段文字描述,它们就能画出对应的图像,只是底层技术路线略有不同。


五、介绍一下Stable Diffusion的原理?

Stable Diffusion是一种基于扩散过程(Diffusion Process)的生成模型,其核心思想是通过多次迭代,逐渐将随机噪声信号演化为目标分布所对应的样本。

扩散过程的基本原理

扩散模型包含两个过程:前向扩散反向扩散

  1. 前向扩散(Forward Diffusion):逐步向真实图像添加噪声,直到图像变成纯噪声。这个过程是固定的、可控的。

  2. 反向扩散(Reverse Diffusion):从纯噪声开始,逐步去除噪声,恢复出清晰的图像。这个过程需要学习,是生成的核心。

📝通俗解释:想象一滴墨水滴进清水里——前向扩散就是墨水逐渐散开变浑浊的过程;反向扩散就是从浑浊的水开始,一步步把墨水"提炼"出来,重新变清澈。Stable Diffusion学会的就是这个"把水变清澈"的能力。

Stable Diffusion的组成

Stable Diffusion主要由三部分组成:

  1. VAE(Variational Autoencoder,变分自编码器):负责图像的压缩和重建,将图像压缩到低维潜在空间

  2. U-Net:负责在潜在空间中进行去噪预测,判断当前图像哪里是噪声并预测如何去除

  3. 文本编码器(Text Encoder):将文本描述编码为特征向量,引导图像生成方向

📝通俗解释:Stable Diffusion的工作方式就像画画时参考提示板。VAE是"画布",U-Net是"画笔"(负责一笔笔去除噪声),文本编码器是"提示板"(告诉画笔要画什么)。画笔在画布上一步步操作,最终画出符合提示的图像。

生成过程

  1. 将文本描述通过文本编码器转换为特征向量
  2. 在潜在空间中初始化一个随机噪声
  3. 通过U-Net多次迭代去除噪声,同时结合文本特征引导生成方向
  4. 最后通过VAE解码器将潜在表示转换回图像

优势

  • 相比传统的扩散模型,Stable Diffusion在潜在空间进行操作,大幅降低了计算成本
  • 可以通过文本控制生成内容,实现"指哪打哪"的图像生成

📝通俗解释:Stable Diffusion就像一个学会了"逆过程"的画家。它先看了很多照片是怎么一步步变模糊的,然后学会了反向操作——从模糊开始,一步步变清晰,并且还能根据你的文字描述来控制最终画成什么样子。因为它在很小的"草稿空间"里工作,所以比传统方法快很多!


整理日期:2024年8月

基于 MIT 许可发布