视觉-语言模型(VLM)中的自注意力机制使模型能够动态地衡量和关联视觉数据和文本数据内部以及跨模态的元素。它允许模型在处理信息时识别图像或文本中最相关的部分,从而创建上下文感知的表示。例如,在分析图像和文字说明时,自注意力有助于模型将“红色汽车”之类的词语与特定的视觉区域关联起来,即使汽车远离文本中提到的其他物体。这种机制是 VLM 如何集成多模态输入的基础,而无需仅仅依赖固定的位置关系。
在实践中,自注意力通过处理 token 序列来运作——这些 token 可以代表文本词汇或图像块。对于图像,输入被分割成块,每个块都被视为一个 token。自注意力计算所有图像块之间的两两交互,通过全局比较图像块,让模型识别模式(例如,狗的形状)。类似地,在文本中,它连接句子中的词语以解决歧义(例如,区分“bank”是河岸还是金融机构)。在跨模态任务(如视觉问答)中,每个模态(视觉或语言)内部的自注意力层首先构建内部上下文,然后通过跨注意力层进行组合。例如,在回答“这个人拿着什么?”时,表示“拿着”的文本 token 可能会优先关注包含手或物体的图像块。
对于开发者而言,理解自注意力的作用有助于明确 VLM 中的设计选择。其处理可变大小输入和捕获长距离依赖关系的能力使其适用于多模态任务。与专注于局部特征的卷积网络 (CNN) 或按步处理序列的循环网络 (RNN) 不同,自注意力可以有效地连接任何输入元素,无论距离远近。这种灵活性伴随计算成本,但通过稀疏注意力或分层 token 缩减(例如在 ViT 模型中)等优化可以缓解。在微调 VLM 时,调整注意力头或层可以优先处理特定的交互——例如为注重细节的任务调整视觉焦点。自注意力的模块化特性也简化了将预训练模型(例如 CLIP 或 Flamingo)适应新用例的过程,可以通过跨模态重用学习到的注意力模式。