视觉-语言模型(VLM)中的多模态嵌入是数值表示,用于捕获视觉(图像)和文本(语言)数据之间的语义关系。这些嵌入允许模型在共享向量空间中处理和连接来自两种模态的信息。例如,像 CLIP 这样的 VLM 会为一张狗的图像和文本“一只狗的照片”生成嵌入,它们在该空间中彼此靠近,即使它们源自不同的数据类型。这种对齐使得可以使用文本查询搜索图像或为视觉内容生成描述等任务成为可能。核心思想是将各种数据类型映射到一种通用的数值格式中,以便可以使用余弦相似度等标准指标来衡量它们的相似性和关系。
创建多模态嵌入需要使用成对的图像-文本数据集来训练模型。在训练过程中,模型学习调整嵌入,使得相应的图像-文本对在共享空间中的距离比不相关的对更近。例如,CLIP 使用对比学习方法:它通过视觉编码器(如 ResNet 或 ViT)处理图像,通过语言编码器(如 transformer)处理文本,然后优化模型以最大化正确对之间的相似性,同时最小化不匹配对的相似性。结果是两个编码器都在相同的维度空间中生成嵌入,从而实现了跨模态比较。模型架构通常包含投影层,用于对齐视觉和语言分支的输出,即使它们的初始嵌入维度不同也能确保兼容性。
开发者可以利用多模态嵌入来构建需要联合理解视觉和语言的应用。一个常见的用例是跨模态检索,例如使用文本查询从数据库中查找相关的图像(反之亦然)。例如,电商平台可以使用嵌入将商品图像与用户评论或搜索词关联起来。另一个应用是图像字幕生成,嵌入可以帮助根据视觉输入生成或排序文本描述。这些嵌入还支持零样本学习——无需额外训练即可使用文本提示将图像分类到新的类别中。通过提供一种统一的方式来表示不同类型的数据,多模态嵌入简化了集成视觉和语言系统的构建,减少了对复杂管道或独立模型之间手动对齐的需求。