CSCI3230 L08 · Part 1/4 Basics
课程:CSCI3230 (ESTR3108) Fundamentals of Artificial Intelligence · 2025T1 本讲:L08,第 1 部分 / 共 4 部分 · 原件 L08-Transformers-2025T1.pdf(本地课件) p.1–29 定位:先匹配相关位置,再汇集这些位置携带的值。 前后:下一份 Vision Transformers
本文依据 2025T1 旧版材料重写,供基础学习与预习;不是 2026T1 新增要求或考试范围。补充数值例均另行标注。
整讲导航:
- 1. Basics:p.1–29。
- 2. Vision Transformers:p.30–42。
- 3. Variants of Transformers:p.43–66。
- 4. Summary:p.67–69。
从序列到注意力矩阵
讲次与路线(p.1–3)
本讲想解决“一个位置如何利用远处信息”。读“女孩在吃绿色苹果”,要回答她吃什么,应把注意力放在苹果及修饰它的词上。网络也需要一种办法,让当前位置读取其他位置的信息。
前置只需会向量点积、加权平均、线性层。点积衡量两串数的匹配程度,加权平均把多份内容混在一起;本篇会把二者分开手算。p.1封面,p.2路线,p.3基础分隔。先理解一条query的计算,再读整个矩阵和多头。
Transformer 的组成(p.4)
Transformer 是一类组织神经网络模块的方法。它没有一种“会理解语言的神奇运算”:核心仍是矩阵乘法、非线性、加法与归一化。不同之处在于,位置之间交换信息的权重可以根据当前输入动态计算。
词或图像块先变成固定宽度的数字向量;attention负责从别的位置读取内容;前馈层再加工每个位置内部的特征。残差与归一化帮助堆多层。现在只记分工,后面逐个拆。
本文件实际69页,页脚仍保留动画版的78页编号。所有“p.N”指 PDF实际页号,不是页脚编号,例如缩放公式在实际p.20、页脚23。
背景与递归建模(p.5–7)
p.5回顾序列模型,p.6是视觉模型的历史排行快照,不能把当时“80%以上”当成今日统计。p.7的RNN像顺序阅读:读到第 个词时,结合当前输入 和之前保存的状态 ,产生新状态 。
补充简化形式是 。 是位置,不是特征编号; 是携带此前信息的向量,不必与输入词向量同维。要算第三个状态就先得有第二个,所以同一序列的所有状态不能完全同时算。这说的是位置依赖,不是否认不同句子可以组成batch并行。
为什么改用相关性(p.8–9)
一条信息若要从句首逐步传到很后面,可能经过许多状态更新,保留关键细节与训练长依赖都更困难。p.8指出这些限制;p.9用“女孩吃什么”说明真正相关的内容可能只占少数位置。
注意力让一个位置直接与候选位置逐一比较,然后从中汇总信息。像查资料时按问题找相关段落,这只是直觉比喻:数学上不是硬选唯一答案,而是计算一组非负、和为1的读取比例。
好处是远处信息不必绕过许多中间状态;代价是位置两两配对,长序列可能很昂贵。“更直接”不等于“没有计算成本”。
Query、Key、Value的分工(p.10–12)【新】
先用图书馆比喻分角色:query是你当前想找什么,key像供匹配的索引,value像拿回来读的正文。这只是分工,不表示网络里真有中文问题或书名。它们实际都是可学习投影产生的向量。
补充自取最小例:当前query为 ,两条key为 、,两条value先取标量 。点积得分为 、。暂不缩放,softmax把得分变成权重:
是自然指数的底数;指数把分数变成正数,除以总和使权重和为1。输出是 。它更靠近被高权重读取的10,但仍混入另一条内容。分数1本身不是最终输出。
p.10–11的图从query与key匹配,再对value加权;图中为简化曾令key=value,后面的标准自注意力不要求二者相同。p.12的tokenization还要分清:token是离散单位或ID,embedding是它在网络中的数字向量;one-hot只是表达ID的一种方式,不表示每个实际embedding都只有一个1。
原页p.10用YouTube检索作比喻:搜索栏内容为query,候选视频的标题、描述为key,取回的视频为value。句子“She is eating a green apple”的六条示例向量前两维依次为 ,问题“What is the girl eating?”的query前两维为 。省略号表示其余维度未给,不能仅靠这两维复算图中完整权重;最终“A green apple”是示意语义回答,真正加权得到的是表示向量。
p.12原one-hot词表按word、embedding、represents、a、as、numerical、data排列,分别为七维单位向量 至 。例句“Word embedding represents a word as numerical data”里word出现两次,两次查同一个 ;词表长度7与句子长度8因此不同。p.13引用Vaswani等《Attention Is All You Need》(NeurIPS 2017)。
整块结构与自注意力(p.13–15)
“self”只说明query、key、value来自同一条输入序列。每个位置既可以提问,也可以被别的位置读取,并不表示只允许看自己。对比cross-attention:query可来自另一条序列,后面实践篇会用到。
p.13结构图自下向上:输入加位置编码,经过多头注意力,再Add&Norm,再前馈层,再Add&Norm,重复若干层。箭头绕过子层表示残差相加,不是把一层跳过不训练。
p.15给三个输入向量,按行为token可写成
三行表示3个位置,四列表示每个位置4个特征。这些数字是讲义示例特征,不是词ID。下一步每行都经过相同的三种投影,分别成为query、key、value。
投影、匹配、加权(p.16–18)
先认清投影含义:,,。 为 输入,若query/key宽度为 ,则 都为 ,所以 为 。value宽度可另记 , 为 。投影权重在位置间共享,但三组权重彼此独立。
p.16–18演示第一个token,其query为 ;三条key为 。分别对应相乘求和:
图先不加缩放。为了更易算,softmax可同时减最大分数4,因为分子分母的公共因子会消去。指数成为 ,总和约2.1353,故权重约 。
三条value为 。每个输出分量单独加权:
这是一个token的新三维表示。讲义图把权重粗略画成 ,所以示意输出 ;有限分数的softmax不会精确为0。图中近似不能当精确算式。下一节加缩放后也必须重新算权重,不能继续沿用本节数值。
并行矩阵与缩放(p.19–20)
刚才只算第一条query。对所有query同时做,就得到一张“谁读谁”的表:第 行是第 个query,第 列是第 个key。p.19用矩阵乘法并行完成,p.20给标准缩放形式:
把key放成列,故 得 分数矩阵。softmax沿每一行在所有key间分配比例;不是对整张表一次归一化。再乘 的 ,得到 的新表示。
为什么除以 ?补充解释:若各分量近似独立、零均值、方差1,点积是 项之和,方差约 ,典型波动尺度约平方根。除以平方根能抑制宽度增大带来的过尖softmax。这是尺度动机,不声称真实特征始终满足独立假设。
例中 ,未缩放得分 要先除 。减去最大后得到 ,其权重约 ,比上一节更平均。scale会改变比例,不只是改变显示单位。
若是只能读取过去的生成任务,未来位置在softmax前屏蔽。已给定一条训练序列时的位置并行,与推理时一个新token依赖此前生成结果的串行,是两个层面。
补充 · 相同权重的输出范围,与整块输出范围要分开(通识讲解;演示数据不属于原题)。
在没有 attention dropout、权重非负且每行和为1时,一个头对 value 的加权结果是它们的凸组合。标量 value 为2和10,不管合法权重如何改变,结果都在2与10之间;权重0.25、0.75给 。这有助于检查“乘V”这一步有没有沿错轴或漏掉归一化。
但不能把这个范围限制推广到完整 Transformer 块:value 本身已由投影得到,之后还有输出投影、残差与前馈层,数值完全可以离开原始输入范围。训练时对注意力权重做 dropout,单次权重和也未必仍为1。看到负输出不能立刻判错;先指出你检查的是哪一层、哪一个中间量。
p.19还给第三条query 。与三条key的原始点积为4、12、10,未缩放softmax约 ;图将它示意舍入为 ,于是输出 。第二输出图标为 ,但这一帧没有显示第二query及其计算过程,不能倒推出唯一的投影矩阵。课件给了投影结果而未给三组完整权重矩阵,学习时应明确已知与未知。
补充:一次带遮罩的注意力,逐行归一化到底在做什么
自编一个query对应三个key,缩放后的分数为 ,对应标量value为 。无遮罩时指数为 ,权重为 ,输出为 。
若第三个key不允许被当前query读取,应在softmax前将它的分数遮成负无穷。有效指数变为 ,归一化分母变3,权重为 ,输出 。若在原softmax后仅把第三个权重清零而不重新归一化,剩下权重和只有1/2,输出 ,不是同一个注意力计算。
行表示“这一个query向哪些key读信息”,因此归一化沿key轴做。另一个query可以有完全不同的一行权重,列和不要求为1。若整行key全被遮住,分母为0,普通公式没有定义;实现必须避免这种输入或明确约定输出,不能把出现的NaN解释为正常的注意力分布。
多头不是多次复制同一权重(p.21–23)
同一段内容可能有多种关系:语法关系、指代关系或局部邻近关系。多头让模型在不同投影空间里分别计算读取比例。这是容量与表示方式的选择,不能保证每个头最终都有一种唯一可解释职责。
补充形状例:模型宽度8,头数2,每头宽4。每个头都读取所有token,只把特征投影到各自4维;不是把一半词交给第一个头、另一半词交给第二个头。两个头各输出 ,沿特征轴拼接为 ,再乘输出投影混合各头信息。p.21图的Concat就是这一步,p.22热图显示不同读取模式,p.23说明多个子空间的作用。
若固定总宽度 ,每头宽 , 个头的配对乘法约为 。并行可以影响实际速度,但不会仅因头多就把总运算量除以头数。
p.22的八张热图对应Head 1–8;纵轴是英语“this is the first book that i did [END]”,横轴是包含[START]、este、es、el、primero、libro、que、yo、hice、[END]的西语序列。它展示不同头的跨语言对齐模式,不能把这幅具体图硬称为同一序列的self-attention矩阵。深浅表示该头分配的相对注意力,并不表示词汇在字典里的固定相似度。
Add、Norm和FFN(p.24–26)【延伸 L07 p.56–59】
attention把别的位置的信息读过来,但当前位置还需要加工自己的特征。p.24先介绍两种辅助操作:Add把子层输出加回原表示,形状必须一致;LayerNorm对一个token自己的特征维度进行归一化,不把整批句子揉成一个均值。
补充自取LayerNorm例:一个token特征 ,均值3、平均平方偏差1,暂略极小稳定项,标准化得 。实际还用可学习缩放和平移;极小稳定项避免所有特征相同时除0。它不改变token个数,也不让不同token内容变得相同。
p.25–26的前馈网络对每一行独立作用:
行向量 宽 , 为 ,把特征扩展; 长 ; 逐元素施加ReLU等非线性; 为 ,投回原宽度以便残差相加。所有位置用同一套参数,但互不混合位置。
补充手算:令 、 两行为 与 ,偏置0,第一步得 ;ReLU得 。若 三行为 ,则输出 。整个过程只有这一位置的特征在变,没有读取另一词。
讲义把attention称为linear,应限定在权重固定后的value加权和;完整attention的权重又依赖输入并经过softmax,整体不线性。否则后面线性attention一节的非线性障碍就无法理解。
位置与多层表示(p.27–29)
“女孩吃绿色苹果”与“穿绿色衣服的女孩吃苹果”包含相关词,但顺序影响修饰关系。只有内容相似度的self-attention不会凭空知道原先位置。p.27引出位置问题,p.28给每个输入向量加同维位置向量。
补充自取:两个相同词embedding都为 ,位置向量分别为 、,相加后变成 、,后续层便有机会区分两个出现位置。位置向量不是增加一个token,而是改变每个token的特征。
p.28热图显示所用编码近邻较相似;任意可学习位置表不保证相似度随距离严格单调,也不是把“近”强制等同“语义相关”。p.29重复block,每层重新根据已有上下文算注意力,因此同形状的输出已经承载不同内容。
小检查:某行注意力权重为 ,这三个数分别属于三个头吗?
参考答案
不一定;在一头、三个key的例子中,它们表示同一个query读三个位置的比例。先标清“头轴”和“key轴”,不要把所有长度3的轴都当同一含义。
HW03判断题见附录 A1。
本讲核心考点
- Q/K匹配、softmax逐行、V加权,维度需一致(p.16–20,C 级)。
- 序列内并行与生成时逐步输出要区分(p.19,A 级:HW03 Q1(1))。
- 多头不把总二次复杂度自动除以头数(p.21–23,A 级:HW03 Q1(2))。
- FFN逐位置共享,固定宽度下对长度线性(p.25–26,A 级:HW03 Q1(4))。
附录
A1 作业/往年题演练(非讲义内容):HW03 Q1判断题
题面(HW03-2025T1-题目.pdf · Q1 · p.1)
p.1 1. Transformer Concept: Please consider the following statements. Do you think these statements are True or False? If you think it is True, please give the reason; if you think it is False, please give the correct statement. (20%)
(1) A Transformer network processes sentences sequentially from left to right, handling one word at a time.
(2) The primary advantage of multi-head attention is that it significantly reduces the overall computational complexity (from to , where h is the number of heads) by computing multiple attention heads in parallel.
(3) Statement: In a standard CNN, using convolution enables nonlinear feature fusion across channels without altering the spatial dimensions of the feature map.
(4) The feedforward neural network in each Transformer layer operates independently for each position and has a complexity of .
公式按原题重排。下面四项分别拆开整句的真假条件。
来源:HW03-2025T1-题目.pdf p.1,A 级。题面与解释:
- “Transformer processes words sequentially from left to right, one word at a time.” 假。给定输入序列时注意力通过矩阵可并行处理各位置;自回归生成的时间步骤另有顺序依赖,不能混为同一命题。
- “Multi-head attention reduces complexity from O(n²) to O(n²/h).” 假。若总宽度d固定,每头宽d/h,h头总位置配对乘法仍为h×O(n²d/h)=O(n²d),还含投影;单头少了不代表全部少h倍。
- 1×1卷积非线性融合且不改空间的原题,见L07 Part 1附录:须补激活、stride1等条件,整体假。
- “Feed-forward acts on each position independently and has O(n²) complexity.” 整体假。前半句对,固定通道宽度与中间宽度时计算量O(n d dff),对n线性。跨位置二次项来自全局attention。
核对方法:将n换2n,FFN约2倍,配对attention约4倍;这是固定其他维度的比较。返回正文
来源与证据
- 原件:L08-Transformers-2025T1.pdf(本地课件),p.1–29;均为当前 PDF 页号。
- 本次重写核对本篇所列讲义页码;旧版作业/试题题面如保留,属于历史练习,不代表 2026T1 考核要求。未以未公开试题推断考试内容。
- 往年卷仅证明相应年份考过;2024 卷及 2025 节选未公开的选择题不作推断。