Area Attention
定义
Area Attention 是一种基于区域的注意力计算方式。常规注意力机制的取向是逐个对待记忆中的项目,粒度在建模前就固定下来,例如一个字符、一个词元或一个图像网格单元[3][4]。区域注意力则把一个区域当作一次注意力的计算单位,区域内部可以包含 1 个或多个结构上相邻的项目,当区域只含单个项目时,它与传统的单词元注意力等价[4]。
区域这一概念依赖记忆的结构形态:记忆是二维结构(如图像)时,区域由空间上相邻的项目构成,常取网格中的矩形范围;记忆是一维序列(如自然语言句子)时,区域由时间或顺序上相邻的项目构成,表现为一段连续的区间[1][4]。区域的大小、形状与聚合层级并非人为指定,而是在训练过程中随相邻项目的连贯程度学习得到,因此注意力粒度会因输入而异[3][5]。
原理
注意力机制通常采用记忆—查询的范式:记忆 $M$ 由若干带键值对 $(k_i, v_i)$ 的项目组成,查询 $q$ 来自目标模态,键用于计算查询与项目的匹配程度 $f_{att}(q, k_i)$,经 Softmax 归一化后得到权重 $a_i = \frac{\exp(f_{att}(q, k_i))}{\sum_j \exp(f_{att}(q, k_j))}$,输出则是各项目值的加权和 $O_q^M = \sum_i a_i v_i$[4]。区域注意力在这一框架上更换了被加权的基本对象:系统先在记忆内确定多个区域,为每个区域由其内部项目的键与值导出区域键与区域值,再在查询与各区域键之间施加同一套注意力运算,得到每个区域的权重,最后按权重合并区域值作为输出[6][7]。
区域键与区域值的构造方式直接决定计算形式。一种做法是把区域内各项目的值求和作为区域值,把各项目键的均值作为区域键;另一类做法是统计区域内的特征,例如向量均值、标准差与元素和,再拼接区域的高与宽,使模型同时感知区域内容与其尺度[6][7]。候选区域的数量随记忆长度迅速膨胀,因此实现上借助求和面积表(summed area tables,又称积分图)沿水平与垂直方向做累积求和,用四个端点值经加减即可一次性得到任一矩形区域的向量和、均值与标准差,避免逐区域重复累加[3][7]。
为控制规模,实现中会限制单个区域的最大尺寸:一维情形限定区域内项目数不超过某个上限,二维情形则分别限定最大高度与最大宽度,例如在 3×3 网格上允许的最大高宽各为 2 个项目时,可得到 1×1、1×2、2×1 与 2×2 四类区域[7]。这种上限可作为超参数预先设定,也可通过超参数搜索确定[7]。区域注意力与多头注意力相互正交:每个头各自使用区域注意力时,模型便能同时关注记忆中的多个区域[4]。
flowchart LR
M[记忆 M:项目及其键值] --> A[枚举候选区域\n一维区间 / 二维矩形]
A --> B[构造区域键与区域值\n求和、均值、宽高等特征]
Q[查询 q] --> C[查询与各区域键计算对齐权重]
B --> C
C --> D[按权重合并区域值]
D --> E[输出可作为其他层输入]
发展历程
相关思路的论文在 2018 年 10 月 23 日首次公开于预印本平台,此后经过多次修订,最终版本于 2020 年 5 月 7 日更新[3][8]。研究提出的出发点是:Softmax 虽为记忆中每个项目分配非零概率,但实际收敛往往集中到单个项目,难以有效覆盖一组共同起作用的项目[2]。
该工作在第 36 届国际机器学习大会(International Conference on Machine Learning,ICML 2019)上发表,收录于会议论文集第 97 卷,页码为 3846 至 3855,由 PMLR 出版[5][1]。同一时期的相关技术方案也进入了专利申请流程,一份名为「Neural Networks with Area Attention」的申请所主张的优先权申请日可追溯至 2018 年 9 月 27 日[7]。上述专利文献把区域注意力层描述为可替代网络中部分或全部常规注意力层的构件[6]。
应用
论文在两类任务上评估了区域注意力:神经机器翻译与图像描述。机器翻译涵盖字符级与词元级两种粒度,图像描述则对应以网格形式组织的二维记忆[1][2]。实验覆盖的模型架构包括带注意力的长短期记忆序列到序列模型,以及编码器—解码器结构的 Transformer[4]。
结果显示,在上述任务与架构中,区域注意力均优于原有的强基线,且这些改进用不含额外参数的基本形式即可获得;与多头注意力结合使用时效果最好[1][4]。由于每个区域自身带有尺度信息,网络其余部分可在训练中学习哪些粒度对当前任务更有用[7]。在结构上,区域注意力层可作为多头注意力层中部分或全部注意力头的替代,既可置于自注意力层,也可置于编码器—解码器注意力层[6]。
局限
候选区域数量是区域注意力的主要开销来源。一维情况下可生成的区域数随序列长度与最大区域尺寸增长,二维网格下的矩形组合更多,因此通常必须设定最大高度与最大宽度加以约束,否则计算量不可接受[4][7]。求和面积表虽然把每个区域的统计量计算降到常数级,但枚举全部候选区域、为每个区域构造键值仍带来存储与计算负担[3]。
区域的定义依赖记忆具有结构:相邻意味着空间或时间上的邻接,因此该方法适用于序列、图像网格这类有明确排布的数据,对缺乏这种结构关系的记忆集合并不直接适用[1]。此外,区域的形状与位置由学习得到而非人为指定,注意力结果的可解释性因此相对下降。已公开的评估集中在机器翻译与图像描述两类任务上,其他任务上的表现尚缺少同等的实证[2]。
参见
-
注意力机制 —— 区域注意力是其以区域为计算单位的变体。
-
多头注意力 —— 可与区域注意力组合,使模型同时关注多个区域。
-
Transformer —— 区域注意力可替换其中部分注意力头。
-
神经机器翻译 —— 该机制的评估任务之一。
-
求和面积表 —— 用于高效计算区域统计量的数据结构。
参考资料
- ICML Poster Area Attention [引用日期2026-10-29]
- Area Attention [引用日期2026-10-29]
- Area Attention [引用日期2026-10-29]
- AREA ATTENTION [引用日期2026-10-29]
- Area Attention - Skip to main content [引用日期2026-10-29]
- Neural Networks with Area Attention [引用日期2026-10-29]
- US 20200104681A1 [引用日期2026-10-29]
- Area Attention - Skip to main content [引用日期2026-10-29]