07 · 第 7 讲:跨模态对齐与注意力

← 返回课程目录

来源说明:本文由 AI 根据课程课件整理生成。学习和引用时请结合原课件核实。

本文目录

本文最后更新于 2026年11月9日 下午

北京大学《多模态学习》(2026 秋)第 7 讲笔记,依据对应课程课件整理。

图像里的区域如何对应句子中的词?从图像描述的对齐问题出发,逐步理解注意力与 Transformer。

第 1 章:对齐与图像描述

对齐是局部对应:句子中的“狗”对应图像里狗的区域,而整张图与整句话配对只是全局对应。硬对齐选择少数元素,软对齐给每个区域连续权重,后者可用常规反传。图像描述的无注意力模型先用 CNN 得到固定全图向量,再交给 RNN 解码器;随着句子增长,单个固定向量可能成为信息瓶颈。

加注意力后,每个生成时刻 tt 用隐藏状态与各图像区域特征 viv_i 算分数 etie_{ti},αti=softmax⁡i(eti)\alpha_{ti}=\operatorname{softmax}_i(e_{ti}),上下文 ct=∑iαtivic_t=\sum_i\alpha_{ti}v_i,再预测词。

这里的 ctc_t 通常指视觉上下文向量,和 LSTM 的 cell state ctc_t 容易重名;记笔记时可改用 gtg_t 表示视觉上下文。

注意力热图能看出生成不同词时,模型把注意力放在哪些区域;它有助于分析模型,却不等同于人类的语义解释。图像描述常用 BLEU、METEOR、CIDEr、SPICE 等自动指标,它们根据词/短语重叠或语义结构比较大量样本;同义表达和事实错误仍会让分数与人的判断不一致。常见失败包括漏掉物体、认错关系或属性,以及文字通顺却与图像不符。

视觉注意力可落在两种特征上:格点注意力使用 CNN feature map 的位置,region attention 使用检测器给出的候选物体区域。后者更贴近“物体”,却会受检测器漏检、误检影响。识别错物体和说错物体关系也应分开看:改进检测器只能解决前者,后者还要建模“骑、拿”这类语义关系,以及“左、上、内”这类空间关系;图网络可以在区域之间传播这些关系信息。

Dense image captioning 要为多个局部区域分别描述;video captioning 还要汇总时间信息;dense video description 则需输出事件起止时间与描述。

评价指标要分清:BLEU 偏 n-gram 精确率,METEOR 考虑词匹配与顺序,CIDEr 用 TF-IDF 强调有辨识力的 n-gram,SPICE 比较场景图元组的 F1;单个指标不能代替人工事实核查。

对齐与转换的关系:局部区域—词的对齐帮助图像到文字的转换,但图像描述输出是完整语言序列,还要决定词序、关系和是否停止。无注意力的 CNN→RNN 可把图像向量用于初始化 h0h_0 或在每步输入;有注意力的模型在每步重新取视觉上下文。

soft attention 的权重是可微概率分布;hard attention 的离散选取通常需要特殊估计或强化学习式训练,不能直接按连续 softmax 路径求普通梯度。课件 4–10 页还强调上下文化表示:一个词/区域的表征应依赖所在句子/图像及另一模态的上下文,而非永远使用固定词向量。

1.1 训练、解码与评价要分开看

图像描述训练通常最小化真实下一个词的负对数似然:−∑tlog⁡p(wt∣w<t,I)-\sum_t\log p(w_t\mid w_{<t},I)。训练时可以并行使用真实前缀;推理时后续词未知,只能把已经生成的词喂回模型。贪心解码每一步取最大概率词,beam search 同时保留若干高分前缀,采样则保留随机性;它们改变的是搜索策略,并没有替模型补上缺失的视觉事实。

因此,自动指标高不等于描述一定可靠:训练目标考察参考句概率,BLEU/CIDEr 等指标比较候选与参考,人类评测还需看物体、属性和关系是否真实存在。这三层问题不要混成“分数高,所以模型看懂了图像”。

第 2 章:Self-attention 与 Transformer

2.1 一遍看懂 Q、K、V

输入 X∈RT×dmodelX\in\mathbb R^{T\times d_{\rm model}},Q=XWQQ=XW_Q、K=XWKK=XW_K、V=XWVV=XW_V。对每个 query,和所有 key 算匹配分数,沿 key 维 softmax,再加权求 value:

A=softmax⁡row(QK⊤dk+M),Z=AV.A=\operatorname{softmax}_{\rm row}\left(\frac{QK^\top}{\sqrt{d_k}}+M\right),\qquad Z=AV.

若 Q∈RTq×dkQ\in\mathbb R^{T_q\times d_k}、K∈RTk×dkK\in\mathbb R^{T_k\times d_k}、V∈RTk×dvV\in\mathbb R^{T_k\times d_v},则 A∈RTq×TkA\in\mathbb R^{T_q\times T_k}、Z∈RTq×dvZ\in\mathbb R^{T_q\times d_v}。输出 token 数由 query 决定。

dk\sqrt{d_k} 缩放避免点积随维数增大导致 softmax 过尖锐。mask 中不可见位置加 −∞-\infty,softmax 后权重为 0;自回归因果 mask 禁止位置 tt 看 >t>t 的未来位置。

自注意力 Q/K/V 来自同一序列;交叉注意力 Q 来自当前解码序列,K/V 来自编码器/另一模态。多头把特征投到多个子空间,各头独立算注意力,拼接后投影;通常 dmodel=Hdheadd_{\rm model}=H d_{\rm head},不是“头数等于 dmodeld_{\rm model}/头数”。完整自注意力对 TT 个 token 的分数矩阵是 T2T^2,内存通常随 T2T^2 增长。

为什么缩放、为什么多头:若 Q/K 每维独立、均值近零、方差约 1,点积方差随 dkd_k 近似线性变大;除以 dk\sqrt{d_k} 可把分数尺度控制在较稳定范围,减少 softmax 饱和。每个 head 有各自 WQ,WK,WVW_Q,W_K,W_V,可以在不同投影子空间关注不同关系;这只提供能力,不保证每头自动学到人可解释的独立语法关系。

若 dmodel=Hdheadd_{\rm model}=Hd_{\rm head} 且 Q/K/V/输出投影均为完整矩阵,注意力线性投影的参数数量约 4dmodel24d_{\rm model}^2(忽略 bias),头数变化并不必然同比增加参数总数。

2.2 顺序、位置编码与架构

不加位置线索时,self-attention 对输入 token 的置换具有等变性:重排输入,输出也相应重排;不能严格说输出“完全不变”。绝对位置编码可与 token embedding 相加;经典正弦式为

PE(pos,2i)=sin⁡ ⁣(pos/100002i/d),PE(pos,2i+1)=cos⁡ ⁣(pos/100002i/d).PE_{(pos,2i)}=\sin\!\left(pos/10000^{2i/d}\right),\qquad PE_{(pos,2i+1)}=\cos\!\left(pos/10000^{2i/d}\right).

课件架构图:Encoder 层是多头 self-attention + 前馈网络(FFN/MLP),每子层配残差与规范化;Decoder 多一个对 Encoder 输出的 cross-attention,自己的 self-attention 加因果 mask。LayerNorm 是每个 token 的特征维归一化;FFN 对每个位置用共享参数单独变换。

训练机器翻译可以并行处理目标句位置,但因果 mask 防止未来泄露;生成推理逐 token 产生,仍具有顺序依赖。

位置编码为何要正弦/余弦:一对正弦余弦可表示平面上的旋转;移动固定距离会对每个频率对应一组确定的旋转变换,因此相对位置信息可从编码之间的关系中读出。对成对的同频率维度,PE(pos)⋅PE(pos+Δ)PE(pos)\cdot PE(pos+\Delta) 的贡献为 cos⁡(Δ/ω)\cos(\Delta/\omega),只依赖位移 Δ\Delta;这解释课件“点积与偏移相关”的曲线。

不同频率让近距离和远距离位置均有区分。加入位置编码前,self-attention 对重排是置换等变;加入后,模型才有机会区分顺序。课件标题写“permutation invariant”是通俗描述,严格讨论每个位置的输出时应用“等变”。


第 7 讲:跨模态对齐与注意力
https://yjyxfcy.github.io/2026/11/04/mml7/
作者
Yjy
发布于
2026年11月4日
更新于
2026年11月9日
许可协议