问:Transformer的并行化体现什么地方

在自注意力机制和前馈神经网络的计算

问:Transformer中Encoder和Decoder的作用

  • Encoder的作用是将①输入序列转换为上下文表示,②捕捉序列中的语义信息和依赖关系
  • Decoder则利用这些上下文表示**,①逐步生成目标序列**
  • Decoder阶段的多头自注意力需要防止信息泄漏,因此需要使用sequence mask,限制模型只能关注到前面的元素

问:什么是Teacher forcing模式?

Teacher Forcing 是一种训练序列生成模型的技巧:

  • 通过直接将**真实目标序列作为输入,**加速模型训练并提高收敛速度,减少误差累积。
  • 但因为模型在训练期间没有机会学习如何处理自己的错误输出,它可能使模型在面对前一步的错误输出时缺乏鲁棒性。

问:前馈神经网络(FNN)的作用是什么?

自注意力层的输出进行非线性变换,增强模型的非线性表达能力,帮助捕捉更复杂的特征关系。

  • FNN第一层将输入扩展到更高维度,增加非线性表达能力
  • FNN第二层将输入缩小回原始维度,保持输出的维度不变。

问:加性注意力机制和点积注意力机制的区别

加性注意力机制:适用于短序列,需要FNN

点积注意力机制:长序列,不需要FNN

问:Transformer 中使用 Layer Normalization 而非 Batch Normalization的主要原因是什么?★

  • 批量大小不固定:Transformer 处理变长序列时,Batch Normalization 的均值和方差计算不稳定,而 Layer Normalization 不受批量大小影响。
  • 序列依赖性:Batch Normalization 可能破坏序列的时间或位置依赖关系,Layer Normalization 在每个位置独立标准化,保留序列顺序信息。
  • 并行计算和稳定性:Layer Normalization 适合并行计算,Batch Normalization 在长序列时训练不稳定。

问:绝对位置编码和相对位置编码的区别★

  • 绝对位置编码通过为每个位置添加一个固定的位置向量来引入位置信息,这些向量通常是预先计算好的,如使用正弦和余弦函数生成。
  • 相对位置编码通过考虑位置之间的相对距离来编码位置信息,不依赖于固定的序列长度,允许模型捕捉到位置之间的相对关系,而不是固定的位置信息。

问:Padding Mask和Sequence Mask有什么区别?

  • Padding Mask用于标记输入序列中的填充部分,防止这些无意义的填充数据在计算注意力时影响模型性能。
  • Sequence Mask用于防止在解码器中看到未来的信息,只允许当前时间步和之前的时间步参与计算,通过将未来时间步的注意力权重设为极小值来实现。

问:Encoder和Decoder是如何交互的

Decoder中的每个位置通过Encoder的输出进行上下文编码,通常使用Encoder的输出作为“值”和“键”输入Decoder的自注意力层。

问:one-hot编码的特征★

  • One-hot编码适用于分类数据,将每个类别转换为独立的二进制特征,消除了类别之间的数值顺序关系
  • 可以用嵌入层替代,嵌入层将类别数据映射到连续向量空间,从而在减少维度的同时保留类别信息。
  • 类别多时特征维度增加,计算和存储成本高,适合需要数值输入的线性模型,不适合深度学习模型

问:RNN激活函数是什么?输出层使用什么来进行多分类?梯度消失发生在哪个阶段?

  • tanh
  • softmax
  • 反向传播

问:CBOW和Skip-gram特点★

  • CBOW的目标是根据上下文词来预测目标词,更适合捕捉罕见词汇的语义,训练速度更快
  • Skip-gram的目标是根据目标词来预测上下文词

问:层次Softmax和负采样的区别是什么

层次Softmax通过构建一个二叉树结构将分类任务转化为一系列二分类问题,从而减少计算量

负采样则通过随机选择少量负样本来代替整个数据集进行计算,减少了计算量的同时保持了样本的多样性

都是为了减少计算量和复杂度

问:请简述 Transformer 的基本结构和工作原理以及如何优化Transformer 的性能

问:注意力机制的构成是什么?是怎么工作的?作用是什么?

问:多头注意力机制(Multi-head Attention)是什么?它相比单头注意力有什么优势?

问:什么是位置编码?为什么 Transformer 使用位置编码(Positional Encoding)?位置编码有哪些优缺点?

问:请简述 Transformer 中的位置编码是如何实现的?

问:在大模型中,除了位置编码,还有哪些方法可以用来处理序列中的位置信息?

问:相对位置编码和绝对位置编码有什么区别?

问:Attention 的计算公式

问:Tokenizer 实现方法与原理及其在 NLP 模型中的重要性是什么?遇到的挑战?如何保证 Tokenizer的一致性?

问:注意力机制中计算注意力分数时为什么会除以根号 dk?