目录
[b.什么是多头注意力(Multi-head Attention)](#b.什么是多头注意力(Multi-head Attention))
[②全局三角函数位置编码(Trigonometric Positional Encoding](#②全局三角函数位置编码(Trigonometric Positional Encoding)
1.bert框架的重要性及其应用场景
如文本分类、命名实体识别,并针对医学、负面情感识别等复杂场景具备更强能力。
2.为何从LSTM转向Transform
- LSTM具有串行处理特性,导致训练和推理速度慢,在大规模任务下的工程化实现难以并行化计算。
- LSTM的词向量是固定的 ,无法结合语境动态变化,而Transformer能实现动态特征演变。
3.Transform的基本结构
由编码器 (Encoder)和解码器(Decoder)组成的框架,主要应用于处理序列到序列的问题,如机器翻译、问答等。
- 输入文本通过Encoder进行特征提取,以捕捉其语义含义。
- 提取的特征随后被输入到Decoder 中,Decoder通过多层注意力机制 (Attention)、残差连接 (Add Normal)和前馈网络(FFN)逐步生成最终输出。
- 每个层级都包含多头自注意力机制 ,以并行地处理输入序列中的所有单词,这是其区别于RNN的优点。
- 由于Transformer不天然保留词序信息,因此需要加入额外的位置编码 (Positional Encoding)即三角函数形式的位置编码,该方法旨在使不同长度句子的位置信息编码保持合理,避免因句子长度变化而影响词义理解的稳定性。
①什么是自注意力机制
自注意力机制 (Self-Attention Mechanism,当前模型无法处理序列中的词项顺序,因此需要引入自注意力机制来探索单词间的内在联系)
- 自注意力机制是Transformer的核心组成部分,旨在捕捉文本中词汇之间的复杂关系,该机制通过计算每个词与其他所有词的关联关系来感知上下文。例如,"it"这个词与其代表的"animal"的关系较重,同时也会关注"because"等其他词的关系。
- 自注意力机制的核心作用是捕捉文本中词语与其余词语之间的关系,为每个词提供一个综合性的上下文特征。
- 在标准的自注意力计算流程中,每个词向量(embedding)通过三个不同的可学习矩阵(分别是ωQ、ωK、ωV)被转换,分别代表查询(Query)、键(Key)和值(Value)。
- 与传统的卷积操作类似,这里理解为使用Q、K、V三个"卷积核"从词向量中提取特征。
a.关系匹配与加权计算
- 计算过程中,查询矩阵(Q)与键矩阵(K)进行相乘,得到一个关系得分矩阵,这些得分反映了一个词与其他所有词的相关性强度。
- 模型通过Softmax函数对这些得分进行归一化处理,使其成为一个概率分布,作为各词的关系权重。
- 最终的每个词的特征信息 (称为Z矩阵)由"关系权重"与"值"矩阵(V)相乘得出 ,实现了根据词语间关系对特征进行加权整合。
b.什么是多头注意力(Multi-head Attention)
多头注意力(Multi-head Attention)被提出以增强模型表现。它本质上使用多个并行的QKV,从多个角度捕捉序列的不同特征(可理解为多个不同的"卷积核"),最后将各头的输出进行拼接和降维,得到最终的特征向量
②全局三角函数位置编码(Trigonometric Positional Encoding
由于模型本身不具备物理空间概念,因此需要引入位置编码(Positional Encoding)来让模型感知输入序列中元素的顺序。
机制:
- 针对每个单词的词向量维度(D_model),使用不同的正弦和余弦函数,通过索引和两端公式来计算向量的不同维度上的位置信息。
- 计算公式选择取决于位置索引(P OS)的奇偶性,确保了不同维度的值分布均匀。
优势:
- 能使位置编码的值分布在[0, 1]区间,无需额外归一化。
- 相同位置的字符无论所在句子长短,其位置编码值保持不变,增强了位置信息的稳定性。
最终,将计算得到的位置编码矩阵与输入的词向量矩阵进行逐点相加,生成带有位置信息的特征矩阵。
③解码器Decoder的自回归工作机制
- Decoder采用一种称为"autoregressive"(自回归)的机制进行工作,即逐个生成输出词。
- 解码过程从一个特殊的起始标记 (SOS, Start of Sequence)开始,而非完整的句子。
- 每次循环中,模型会使用当前已生成的所有字符(加上SOS)及其位置编码作为输入,与输入的语义含义进行融合。
- 在经过多层网络处理后,模型输出一个词汇表中的下一个最可能发生的词,并将其添加到已生成的序列末尾。
- 此过程不断重复,直到生成结束标记 (EOS)或达到预定长度为止
4.Transformer模型的预训练方法
- Transformer模型的预训练核心思想是无需大量人工标注即可进行。
- 掩码语言建模 :通过随机遮盖句子中15%的词汇,让模型预测被遮盖的部分。
- 句子对分类 :通过对比两个句子(如上下文句),让模型判断它们是否应被连接成一个逻辑整体。