多模态(multimodal)系统要在同一个任务里同时用上图像、文本、语音这些不同来源的信息,绕不开一个问题:这些信息该在什么阶段合到一起?早期融合(early fusion)主张一拿到就拼在一起,晚期融合(late fusion)主张各自处理完再合并。
打个比方
做一顿饭。早期融合像两个人从买菜起就一起商量:图片里的“红色球”和句子里的“红色球”,从最底层的特征开始就互相影响,模型能学到很细的跨模态对应关系。代价是两个人必须步调一致——图像和文本得对齐(哪块图对应哪句话),训练数据要成对且干净,算力也更贵;一旦某个模态缺失,整条流水线就卡住。
晚期融合像两个人各做一道菜,最后拼成一盘。图像走图像编码器(encoder),文本走文本编码器,各自出一个向量甚至各自的预测分数,最后加权求和或投票。好处是解耦:某一路升级不影响另一路,信号缺失时直接降权跳过,工程上容易并行和上线。缺点是跨模态的细节交互被丢掉了——模型只能靠最后那一层去“猜”,图里那个红球是不是文本说的那个。
和相邻概念的区别
它和“多模态融合”这个大词不是一回事:后者是目标,前者是路线选择。也和中期融合(intermediate fusion)不同——现在主流做法多是先各自编码,再在中间层用交叉注意力(cross-attention)互相查询。图文对比学习这类双塔(two-tower)结构接近晚期融合;把图像切块(patch)和文本词元(token)拼成一条序列送进 Transformer 的,则更接近早期融合。
| 维度 | 早期融合 | 晚期融合 |
|---|---|---|
| 融合时机 | 特征层,一开始就拼 | 决策层,各出结果再合并 |
| 跨模态交互 | 细粒度、强 | 粗粒度、弱 |
| 模态缺失 | 不友好 | 可降权、可跳过 |
| 工程复杂度 | 高,需对齐 | 低,模块独立迭代 |
| 典型场景 | 图文细粒度理解、音视频口型 | 多信号推荐、多模型集成 |
对实际工作的意义
选哪条路线,通常看三件事:数据有没有天然对齐、上线时模态是否可能缺失、延迟和算力预算。推荐系统里加一路用户行为信号,晚期融合更划算;做“这句话指图中哪个区域”这类任务,早期或中期融合更对路。日常刷到的图搜图、语音助手,多数是两条路线混着用。具体实现细节以各项目官方文档为准。
