(1)简述Seq2Seq模型的基本框架及其在编码器和解码器中分别扮演的角色。编码器如何将输入序列编码为上下文向量,解码器如何利用该向量生成输出序列?
(2)在自注意力机制的实现中,查询(Q)、键(K)和值(V)矩阵的作用分别是什么,自注意力机制如何利用Q和K的点积计算各位置之间的相关性?
(3)请说明在实现自注意力机制时,为什么需要对Q和K的点积结果除以缩放因子,缩放因子在保持计算稳定性方面起到了什么作用。
(4)多头注意力机制如何在不同子空间中并行地计算自注意力,使模型能够捕捉不同粒度的特征信息?多头注意力如何通过拼接多个头的结果来提升表达能力。
(5)残差连接在深层网络中的主要作用是什么,如何通过直接将输入添加到输出来缓解梯度消失问题?请说明在实现残差连接时的代码步骤。
(6)层归一化与批归一化在实现原理上的主要区别是什么?为什么层归一化在序列建模中表现得更为有效?
(7)在实现层归一化的过程中,如何通过均值和方差对每层的输入进行标准化?层归一化层在PyTorch中的实现方法是什么,请列出主要步骤。
(8)位置编码的引入对Transformer模型中的序列建模具有何种重要意义?位置编码如何通过正弦和余弦函数生成独特的编码,使模型具备顺序感?
(9)在实现位置编码的过程中,正弦和余弦函数的频率是如何决定的?为了确保每个位置生成的编码独一无二,公式中的div_term如何影响生成的结果?
(10)请说明在Embedding层中如何结合位置编码来保留位置信息,Embedding层生成的词嵌入矩阵如何与位置编码矩阵相加来实现对位置信息的补充。
(11)在构建简化的Transformer模型时,如何结合位置编码和多头注意力模块实现对无序文本的处理,如何通过MultiheadAttention层进行多头注意力的计算?
(12)在无序文本数据中,如何通过位置编码引导模型识别序列中的相对位置关系?结合代码实例说明在不同序列输入下如何验证位置编码对模型语义一致性的保持作用。