Skip to content

多模态融合论文综述

多模态融合是构建通用 AI 系统的核心挑战——如何将视觉、语言、音频等不同模态的信息有效整合,实现超越单一模态的理解和生成能力。

多模态融合

融合策略分类

早期融合(Early Fusion)

在输入层融合不同模态:

  • Tokenizer 统一:将不同模态映射到共享 Token 空间
  • 特征拼接:在嵌入层直接拼接多模态特征
  • 代表模型:Gemini、GPT-4V

中期融合(Mid Fusion)

在中间层进行模态交互:

  • 交叉注意力:一个模态的 Token 关注另一模态的 Token
  • 模态间适配器:通过适配器层连接不同模态
  • 代表模型:LLaVA、BLIP-2

晚期融合(Late Fusion)

在输出层融合各模态的独立处理结果:

  • 特征加权:加权组合各模态的输出表示
  • 投票集成:各模态独立预测后投票
  • 代表模型:早期多模态分类系统
python
class CrossModalAttention(nn.Module):
    """交叉注意力融合"""
    def __init__(self, d_model, num_heads):
        super().__init__()
        self.num_heads = num_heads
        self.head_dim = d_model // num_heads
        self.q_proj = nn.Linear(d_model, d_model)
        self.k_proj = nn.Linear(d_model, d_model)
        self.v_proj = nn.Linear(d_model, d_model)
        self.out_proj = nn.Linear(d_model, d_model)

    def forward(self, query_modality, context_modality):
        """
        query_modality: 需要增强的模态(如文本)
        context_modality: 提供上下文的模态(如图像)
        """
        B, T_q, D = query_modality.shape
        _, T_kv, _ = context_modality.shape

        q = self.q_proj(query_modality).reshape(B, T_q, self.num_heads, self.head_dim)
        k = self.k_proj(context_modality).reshape(B, T_kv, self.num_heads, self.head_dim)
        v = self.v_proj(context_modality).reshape(B, T_kv, self.num_heads, self.head_dim)

        attn = (q @ k.transpose(-2, -1)) / (self.head_dim ** 0.5)
        attn = torch.softmax(attn, dim=-1)
        out = (attn @ v).reshape(B, T_q, D)
        return self.out_proj(out)

关键融合架构

Q-Former(BLIP-2)

Q-Former 使用可学习的 Query Token 从冻结的视觉编码器中提取与语言相关的视觉特征:

  • 冻结 ViT,仅训练 Q-Former 和 LLM
  • 大幅降低训练成本
  • 实现视觉到语言的高效桥接

Perceiver Resampler(Flamingo)

使用固定数量的 Latent Token 压缩可变长度的视觉输入:

  • 支持多图像输入
  • 将任意分辨率/数量的图像压缩为固定维度
  • 在 LLM 层间插入交叉注意力

视觉指令微调(LLaVA)

LLaVA 的简洁融合策略:

  1. ViT 编码图像为视觉 Token
  2. 线性投影将视觉 Token 映射到语言空间
  3. 拼接视觉 Token 和文本 Token
  4. 送入 LLM 进行自回归生成

融合策略的选择

融合策略的选择取决于任务需求和资源限制:早期融合训练成本最高但效果最好,晚期融合最简单但效果有限,中期融合提供了性能与成本的平衡。

对齐与融合

多模态融合的前提是模态间的对齐:

  • 表征对齐:不同模态在共享空间中的对齐(CLIP)
  • 语义对齐:视觉区域与文本描述的对应(ALBEF)
  • 时间对齐:视频帧与文本/音频的时间对应

相关资源

最近更新