跨模态嵌入是一种向量表示,它允许不同类型的数据(如文本、图像、音频或视频)映射到一个共享的数值空间。这使得不同模态之间可以直接比较或交互,即使它们源于不同的格式。例如,一张狗的图片和文本“一只棕色的狗在奔跑”都可以被转换成嵌入(数字数组),这些嵌入在这个共享空间中彼此接近。这种对齐使得可以使用文本查询搜索图像或为视频生成字幕等任务,因为嵌入捕获了跨模态的语义相似性。
为了创建跨模态嵌入,模型会在配对的数据集上进行训练,其中来自不同模态的示例是链接在一起的(例如,带有标题的图像)。一种常见的方法是使用神经网络分别处理每种模态,然后优化它们以产生嵌入,从而最小化相关对之间的距离。例如,OpenAI 的 CLIP 模型使用对比学习:它训练一个文本编码器和一个图像编码器来对齐它们的输出,通过奖励模型,当匹配的文本-图像对的嵌入在向量空间中比非匹配对更接近时。诸如 triplet loss 或余弦相似度之类的技术通常用于强制这种对齐。结果是一个系统,例如,日落的照片和单词“日落”具有数学上相似的嵌入,即使它们的原始数据形式(像素与字符)是不相关的。
开发人员在需要桥接模态的应用中使用跨模态嵌入。搜索引擎可以使用它们来让用户通过文本描述来查找产品,即使数据库中仅包含图像。在辅助功能方面,嵌入可以将口语单词链接到文本记录或手语视频。另一个示例是推荐系统:音乐流媒体服务可以将歌曲音频嵌入链接到用户评论或播放列表描述,以改进建议。关键优势在于,嵌入将复杂的、多模态数据简化为统一的框架,从而无需手工规则即可实现灵活的比较。这种方法减少了对每种数据类型使用孤立模型的需求,从而简化了开发并提高了可扩展性。