交叉注意力
交叉注意力是一种让一个序列查看另一个序列的机制:生成文本的解码器可以关注编码器的输入表示。
概述
这就是模型如何将它们正在生成的内容与它们所阅读的内容连接起来,为翻译、字幕和现代多模式系统提供动力。
深入探讨
自注意力使一个序列中的标记相互关联;交叉注意力让一个序列从另一个序列中获取信息。在 Transformer 解码器中,每个生成步骤都会从部分生成的输出中形成查询,而键和值来自编码器的输出。该模型计算每个输入元素与当前输出位置的相关程度,并引入输入信息的加权混合。这就是让翻译解码器在写入每个目标单词时专注于正确的源单词的原因。除了文本之外,交叉注意力是多模态模型中的粘合剂:文本解码器可以关注图像块特征,或者音频模型可以将声音与转录的单词对齐。每当两个不同的信息流需要融合时,交叉注意力通常是结缔组织。
技术洞察
从机制上讲,交叉注意力重用了与自注意力相同的缩放点积公式,但有一点不同:查询来自一个序列(解码器),键/值来自另一个序列(编码器)。它将注意力权重计算为查询键相似度上的 softmax,然后返回值的加权和。由于查询和密钥源自不同的源,因此两个序列在长度、模式或语言上可能完全不同。
战略影响
速度与规模
语言工作流程可以在不牺牲一致性的情况下更快地移动。
交通与覆盖范围
它扩展了跨语言和沟通方式的访问。
更清晰的判决
团队可以花更多时间进行判断,而自动化则可以处理重复。
交叉注意力的未来
交叉注意力越来越成为将模式拼接在一起的标准接口。视觉语言模型使用它,因此文本可以在图像区域中立足;扩散图像生成器使用它来调节文本提示上的像素。研究正在推动更有效的交叉注意力(线性和稀疏变体)来处理长文档、高分辨率图像和视频。随着人工智能系统集成更多的感官,预计交叉注意力层将充当对齐文本、声音、视觉和结构化数据的通用连接器。
现实世界的实施
在神经机器翻译中,解码器交叉处理源单词,为每个输出单词选择正确的翻译。
稳定扩散使用交叉注意力来调节文本提示上每个生成的图像区域。
像 Flamingo 这样的视觉语言模型让文本标记交叉参与图像特征以进行视觉问题回答。
语音到文本解码器交叉参与编码的音频帧,以将声音与正在转录的单词对齐。
风险与防护栏
幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
及时的敏感性可能会在类似的请求中产生不一致的结果。
如果访问控制薄弱,敏感文本数据可能会暴露。
实施路线图
在推出之前定义输出格式、语气和质量标准。
当准确性很重要时,请使用可信来源进行地面响应。
为高风险输出保留人工审查检查点。
跟踪故障模式并定期重新训练提示或工作流程。
不断探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Cross-Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常见问题
什么是交叉注意力?
交叉注意力是一种让一个序列查看另一个序列的机制:生成文本的解码器可以关注编码器的输入表示。这就是模型如何将它们正在生成的内容与它们所阅读的内容连接起来,为翻译、字幕和现代多模式系统提供动力。
自注意力和交叉注意力之间的主要区别是什么?
交叉注意力从一个序列(例如解码器)中提取查询,并从另一序列(例如编码器)中提取键和值,让两者进行交互。
在编码器-解码器 Transformer 中,交叉注意力的查询来自哪里?
解码器从其部分生成的输出中形成查询,然后使用编码器输出作为键和值来提取相关的输入信息。
为什么交叉注意力中的两个序列可以具有不同的长度或模式?
由于查询源自一个源而键/值来自另一个源,因此序列是独立的,并且可能在长度、语言或模式方面有所不同。
稳定扩散如何使用交叉注意力?
交叉注意力让生成图像的每个部分都关注文本提示,将视觉效果扎根于单词中。
交叉注意力与自注意力共享什么数学运算?
两者都使用相同的缩放点积注意力:查询和键之间的相似度分数,softmax,然后是值的加权和。