目录
[1 注意力机制](#1 注意力机制)
[1.1 背景及流程](#1.1 背景及流程)
[1.2 注意力分数](#1.2 注意力分数)
[1.3 Transformer](#1.3 Transformer)
[2 量子计算基本知识](#2 量子计算基本知识)
[2.1 量子测量](#2.1 量子测量)
[2.2 超密编码](#2.2 超密编码)
[3 总结](#3 总结)
摘要
本周首先学习了注意力机制的相关知识,了解了注意力机制解决的问题与大致流程,学习了注意力分数的几种计算方法,重点掌握了Transformer中注意力机制的运用,包括自注意力机制,带掩码的多头自注意力机制和交叉注意力等;其次,学习了量子测量与超密编码,了解了贝尔态与量子纠缠,补充了关于正交基的知识。
Abstract
This week, I firstly investigated the attention mechanism, examining the fundamental problems it addresses and its underlying computational framework and exploring various methods for computing attention scores. I gained a solid understanding of the application of attention mechanisms in Transformers, which included self-attention, masked multi-head self-attention, and cross-attention. Secondly, I advanced my understanding of quantum information theory by studying quantum measurement and superdense coding protocols. This involved a detailed examination of Bell states and the principles of quantum entanglement, alongside a review and reinforcement of concepts related to orthogonal bases.
1 注意力机制
1.1 背景及流程
上周学习到,传统的、基于循环神经网络(RNN)或其变体实现的Seq2Seq模型有两个不足之处,一是编码器将整个序列压缩为单一向量,容易造成信息瓶颈;二是RNN的串行处理机制限制了训练效率,并难以捕捉长距离依赖关系。为了解决这些问题,引入了Transformer架构和注意力机制。其中Transformer采用编码器-解码器结构,两部分分别可由多个相同的层堆叠而成,每层包含注意力机制(编码器是多头自注意力,解码器包括交叉和掩码多头自注意力)、前馈神经网络、残差连接等,具体在此不再赘述。本周主要学习注意力机制。
注意力机制于2014年被提出(Bahdanau et al., "Neural Machine Translation by Jointly Learning to Align and Translate"),它的核心思想是模拟人类的认知方式,允许模型在处理序列的某个部分时,有选择地"关注"输入序列的相关部分,从而缓解了信息瓶颈问题。
它主要包含三个核心向量:Query(Q), Key(K), Value(V)。Query(查询),代表"我正在寻找什么",可以理解为当前我们正在关注的那个元素;Key(键),代表"我能提供什么信息",它是每个元素独有的,类似于元素的标识或摘要,用于与 Query 进行匹配; Value(值),代表"我实际包含的信息",它也是每个元素独有的,是该元素真正要被提取和汇总的实质内容。
基于这三个向量,注意力机制的大概流程如下:
首先,对于当前的 Query,计算它与其它所有 Key 的注意力分数(相关性或匹配度),两者方向越相近,分数越高;
其次, 将这些分数通过 Softmax 函数进行归一化,得到一组注意力权重(所有权重之和为 1,也称权重因子),这组权重代表了其他元素对当前元素的关注程度;
最后,将这些权重作为系数,对所有的 Value 进行加权求和。这个加权求和的结果就是注意力机制的输出,它根据相关性分数对所有元素的信息进行了有侧重的融合。
1.2 注意力分数
其中,计算注意力分数的方法主要包括加性注意力(Additive Attention)、点积注意力(Dot-Product Attention)、余弦相似度注意力(Cosine Similarity Attention)以及双线性注意力(Bilinear Attention)等。
加性注意力首先将 Query 和 Key 分别通过一个线性层,然后相加,再经过一个非线性激活函数(如 tanh),最后通过与Value转置的点积投影得到一个标量分数。这种方法理论上更加灵活,因为包含了可学习的参数,可以学习更复杂的匹配函数,但计算成本远高于点积注意力。
点积注意力主要就是将Query向量与Key向量作点积运算,这种方法直观、计算效率也最高,但当向量维度 (d_k,要改 )很高时,点积的结果可能会在数值上变得非常大,Softmax 会将几乎所有的概率质量分配给最大值,这会导致 Softmax 函数的梯度非常小,不利于模型训练(可以详细解释,关于方差)。
余弦相似度注意力主要关注的是方向上的相似性,而非数值大小。它计算 Query 和 Key 向量之间的余弦相似度,值范围在 [-1, 1] 之间,1 表示方向完全相同,0 表示正交,-1 表示方向完全相反。这种方法只关心方向,计算速度比原始点积稍慢,不过如果两个向量方向相反但内容相关,可能会得到负的分数,这在注意力中不一定合理。所以这种方法在一些特定的相似性匹配任务中会适用,但在主流 Transformer 变体中不常见。
双线性注意力可以看作是点积注意力的一般化形式。主要是在计算点积之前,先通过一个可学习的矩阵 W 对 Key(或 Query)进行线性变换,当 W 是单位矩阵时,它就退化成了点积注意力。这种方法比加性注意力更高效(参数更少),比点积注意力更灵活(因为矩阵 W 可以学习如何衡量 Q 和 K 在不同维度上的交互重要性),但引入了额外的参数 W,增加了模型复杂度,通常用在需要更精细的交互建模时。
1.3 Transformer
Transformer的核心是自注意力机制 (Self-Attention),它与注意力机制的区别在于,它的Query、Key、Value 都来源于同一个序列或同一组元素,而普通的注意力机制可以有不同的来源。所以自注意力机制流程的第一步是将输入向量映射为Query(Q), Key(K), Value(V)三个向量,后续都与注意力机制类似。
另外,在Transformer中,计算注意力分数的方法主要是缩放点积注意力(Scaled Dot-Product Attention),它是点积注意力的一个简单改进。缩放点积注意力将点积结果除以 Key 向量维度 ( )的平方根,将分数缩放回一个更温和的方差范围内,使得 Softmax 的梯度更加稳定,其公式为:
Transformer 最基本的构建模块是多头自注意力机制(MHSA),它在自注意力机制的基础上将 Q、K、V 通过多个不同的线性变换投影到多个子空间(即"头"),然后在每个头中独立计算自注意力,这将所有头的输出拼接起来,再通过一个线性变换映射回原始维度。这个思想与卷积神经网络中利用多个卷积核堆叠处理不同特征的思想类似,允许模型在不同的"头"中关注不同类型的信息(例如,一个头关注语法结构,另一个头关注语义指代)。
然后是带掩码的多头自注意力机制,它是多头自注意力机制在解码器中的特殊形式,其核心目的是为了在训练时防止信息泄露,确保模型的自回归特性,通常是Transformer 解码器的第一个注意力层。它的核心思想是在计算某个位置的注意力时,只能关注该位置之前的所有位置,而不能"偷看"未来的位置。方法主要是在计算注意力分数之后,加上一个掩码矩阵,这个掩码矩阵通常是一个上三角矩阵,其未来位置的值被设置为一个极大的负数,而过去和当前位置的值被设为0。这样能够模拟了推理时的真实情况,确保自回归性,也能够防止信息泄露。
最后是交叉注意力,它是连接编码器和解码器的桥梁,用于实现两个不同序列之间的信息流动。它的核心思想是根据当前解码器的状态,去编码器的输出中寻找最相关的信息。交叉注意力的Query(Q)来自解码器,代表了"解码器当前在思考什么,需要什么信息";其Key(K)和 Value(V)则来自编码器的最终输出,代表源序列提供的信息,这也是所谓交叉的含义。
2 量子计算基本知识
2.1 量子测量
量子测量(quantam measurement)是获取量子系统状态信息的根本手段,但其过程会不可逆地改变被测系统的状态,这是量子力学与经典物理的核心区别之一。在经典世界中,可以测量一个物体的位置和速度而不影响它本身的状态;而在量子世界中,测量行为本身就是一种干预。
就像我们前面提到的,若一个量子比特处于叠加态,它可被表示为:
其中 和
是复数,满足
。
它的状态在测量前为叠加态,测量时则会分别以 与
的概率进行选择,测量后会立即变为测量结果对应的本征态,这也是所谓的量子坍缩 。它随机地破坏了量子比特的完整原始信息,从而导致不存在一个物理过程,能够对任意未知的量子态进行完美复制(即量子不可克隆定理),为后续的量子通信协议提供了安全性保障,是量子加密和量子协议安全性的根源。
2.2 超密编码
超密编码(Superdense Coding)由Charles Bennett于1992年提出,展示了量子纠缠在信息传输中的强大能力。在经典通信中,接收方要想接收到两个比特的信息,发送方必须发送至少两个比特的信息;而在超密编码中,通过共享一对纠缠粒子,发送方仅需传输一个量子比特,即可向接收方传递两个经典比特的信息。
它依赖于两粒子系统的四个最大纠缠态------即贝尔态(Bell States),它们构成两量子比特系统的正交完备基:
这四个态彼此正交,因此可以通过贝尔态测量(Bell measurement)完美区分。更重要的是,仅通过对其中一个粒子施加简单的单量子门操作,就可以将初始的 态变换为其他三个贝尔态之一。例如:

在此补充有关正交基的相关知识:
正交基的定义如下:
设 是一个内积空间(如
),若一组线性无关的向量
满足:
,当
时
即任意两个不同向量之间的内积为零(相互正交),则称这组向量为正交基;
若一组正交基中的每个向量都是单位向量,即满足:
则称这组向量为标准正交基;
若内积空间中的任意态都可以表示为该基底下向量的线性组合,则称其为完备正交基。在有限维空间中,任何标准正交基都是自动完备的。
具体而言,在超密编码中,发送方(Alice)和接收方(Bob)事先共享一对最大纠缠的量子比特。利用这一纠缠资源,Alice只需对她手中的粒子进行适当的局部操作,然后将该粒子通过量子信道发送给Bob。Bob通过对两个粒子进行联合测量,即可解码出两个经典比特的信息。
它的步骤大致如下:
首先,假设Alice和Bob(即发送方与接收方)事先共享一对处于 的纠缠对,Alice持有第一个粒子(记为qubit A),Bob持有第二个粒子(记为qubit B);
其次,Alice想向Bob发送两个经典比特的信息(共4种可能:00, 01, 10, 11),并根据要发送的内容,对她的粒子执行相应的量子门操作。
然后,Alice将她的粒子(qubit A)通过量子信道发送给Bob。
最后 ,Bob对拥有的两个粒子执行贝尔态测量,即可唯一确定系统处于哪一个贝尔态,从而解码出对应的两个经典比特。
Alice在发送粒子前对粒子做的操作如下:
若发送 00,则不做操作( I 门),粒子状态仍为 ;
若发送 01,则施加泡利 Z 门,粒子状态变为 ;
若发送 10,则施加泡利 X 门 ,粒子状态变为 ;
若发送 11,则施加 iY 门(或先 X 后 Z ),粒子状态变为 ;
虽然操作只作用于 Alice 的粒子,但由于量子纠缠的存在,整个系统的状态都会发生改变。故上述的粒子状态不是单纯指Alice本身持有的粒子状态,而是指整个双粒子系统的联合量子态。
超密编码的优势在于信息效率翻倍且安全性高,但它必须预先共享纠缠态,且仍然需要量子信道来传输粒子。另外贝尔态测量的技术难度也比较高,在线性光学(即只使用分束器、相位延迟器和光子探测器等被动光学元件)的框架下,使用线性光学元件进行贝尔态测量,最多只能以50%的成功概率区分出这四个态。具体来说,既可以100%确定地区分出 态,也可以将
态与
态、
态区分开,但无法区分
态与
态,这导致我们只能将四个态分成两组,成功概率最高为50%。
3 总结
这周主要学习了注意力机制、量子测量与超密编码,学习整体状态较上周好,偶尔能联系前面的知识进行理解。下周打算继续深入Transformer,并学习量子传输的部分。另外除了周报内容外,本周还接触了部分量子计算的代码,下周应该会继续学习梳理。