Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Multi-Modal Learning

多模态学习使用多种数据类型(例如图像、文本和音频)同时训练模型。内容涵盖对齐、融合和对比损失。

多模态学习是机器学习的一个领域,研究如何使用来自多个模态的数据训练模型,例如带有说明文字的图像、带有配乐的视频,或搭配激光雷达扫描数据的摄像头画面,让模型学习不同模态之间的关系。相关方法需要回答两个问题:如何表示不同模态以便相互比较,以及在模型的哪个位置将它们结合起来。从视觉语言助手到自动驾驶感知系统,这些方法构建出的系统都称为多模态 AI。

人类可以毫不费力地结合多种感官。1976 年有人描述了麦格克效应:如果将嘴唇说“ga”的视频配上“ba”的声音,人们听到的会是“da”。2011 年,斯坦福大学的 Jiquan Ngiam 及其同事将这一理念引入深度学习,他们使用音频和唇部视频共同训练网络,并展示了同时从两种模态中学习的特征,比单独使用视频能更好地进行唇读。

核心挑战#

Tadas Baltrušaitis、Chaitanya Ahuja 和 Louis-Philippe Morency 在 2019 年的综述中,将该领域归纳为五项挑战:

  • 表示: 将每种模态编码为向量,可以使用一个联合空间,也可以使用多个经过训练、能够对齐的独立空间。
  • 转换: 将一种模态映射到另一种模态,例如图像字幕生成或文生图。
  • 对齐: 找出一种模态的哪些部分对应另一种模态的哪些部分,例如某个短语描述的图像区域。
  • 融合: 结合多种模态的信息以进行预测。
  • 协同学习: 将数据充足的模态中的知识迁移到数据较少的模态。

融合策略#

早期融合会在任何模态专属处理之前组合输入或低级特征,例如将深度图与 RGB 通道堆叠成一张四通道图像。晚期融合会为每种模态分别运行一个模型,再通过平均或投票的方式合并预测,因此即使缺少某种模态也能继续工作。中间融合会分别编码每种模态,并让它们在网络内部交换信息,通常通过交叉注意力实现;交叉注意力是一种注意力机制,其中一种模态的 token 会关注另一种模态的特征。机器人和车辆中的传感器融合会使用这三种策略。

增加一种模态也可能降低准确率。Weiyao Wang、Du Tran 和 Matt Feiszli 于 2020 年指出,使用音频、视频帧和运动信息共同训练的视频分类网络,往往不如表现最佳的单模态模型,因为它会过拟合,且不同模态的学习速度不同。他们提出的 Gradient-Blending 方法会重新加权每种模态的损失以进行补偿。

对比对齐#

对比学习无需人工标签即可对齐不同模态。OpenAI 的 CLIP(2021 年)使用 4 亿组图像-字幕配对训练图像编码器和文本编码器,使每张图像的嵌入与其自身字幕的相似度高于同一批次中的其他字幕;最终模型在 ImageNet 上的准确率达到原始 ResNet-50 的水平,并且能够零样本完成任务,无需使用 ImageNet 的 128 万张带标签训练图像。损失函数是相似度矩阵上的交叉熵,并在两个方向上应用:

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Unit-length embeddings for 4 images and 4 captions; row i of each is a matching pair
image_emb = F.normalize(torch.randn(4, 64), dim=-1)
text_emb = F.normalize(image_emb + 0.5 * torch.randn(4, 64), dim=-1)


def contrastive_loss(images, texts, temperature=0.07):
    """CLIP-style symmetric cross-entropy over the image-text similarity matrix."""
    logits = images @ texts.T / temperature
    targets = torch.arange(len(images))  # the matching caption sits on the diagonal
    return (F.cross_entropy(logits, targets) + F.cross_entropy(logits.T, targets)) / 2


print(f"Aligned pairs:    {contrastive_loss(image_emb, text_emb):.3f}")
print(f"Misaligned pairs: {contrastive_loss(image_emb, text_emb.roll(1, dims=0)):.3f}")

每条字幕都与对应图像匹配时,损失为 0.577;将字幕整体下移一行、让每张图像都与错误字幕配对后,损失升至 2.756。训练会通过包含许多配对的批次降低这一损失(CLIP 使用了 32,768 组配对),让每张图像更接近自身字幕,并远离批次中的其他字幕。CLIP 还会在训练过程中学习温度参数,初始值为 0.07。Google 的 ALIGN(2021 年)将同一方案扩展到 18 亿组带噪声的图像和替代文本配对;SigLIP(2023 年)用每组配对各自独立的 sigmoid 替代 softmax;Meta 的ImageBind(2023 年)则通过将音频、深度、热成像和运动传感器数据等六种模态分别与图像配对,实现了六种模态的对齐。

开放词汇检测器也会学习文本与图像区域之间的同类对齐关系。Ultralytics 提供了从头训练 YOLOE-26 的方案:YOLOE-26 是基于清华大学 YOLOE 的开放词汇 YOLO26,它将 Objects365 检测标签与 GQA 和 Flickr30k 的定位数据结合起来,共约 140 万个样本;训练器会使用 Apple 冻结的 MobileCLIP2 文本编码器,对每个类别名称和短语编码一次并缓存嵌入,因此训练时只更新检测器,包括一个小型残差层,该层会在文本向量与区域特征匹配前对缓存的文本向量进行细化。

  • 多模态 AI: 使用多模态学习构建的系统和应用,例如视觉助手和驾驶辅助感知系统。
  • 多模态模型: 能够处理多种模态的训练模型,也是多模态学习所产出的模型。
  • 视觉语言模型(VLM): 一种处理图像和文本的多模态模型,通常分阶段训练:先进行对比式预训练,再将图像编码器连接到语言模型,最后进行视觉指令微调。
  • 迁移学习: 将在一项任务上训练的模型用于另一项任务,而协同学习则将这一思路应用于多种模态。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来