机器学习中的注意力机制

在机器学习中,注意力机制是一种非常强大的技术,它允许模型在做出预测时将“注意力”集中在输入数据中最关键的部分。通过为不同的元素分配不同的权重,它能帮助模型优先处理相关信息,而不是对所有输入一视同仁。可以说,它是如今高级模型(如 Transformer 和 BERT)的基石,并在自然语言处理(NLP)和计算机视觉领域得到了广泛应用。

  • 它改进了模型处理长序列数据的方式。
  • 它有助于捕捉序列中相距较远的元素之间的关系。
  • 通过展示输入的哪些部分影响了输出,增强了模型的可解释性。
  • 广泛应用于翻译、摘要生成、图像描述和语音处理等领域。

注意力机制的类型

  • 软注意力:这是一种可微分的机制,使用 Softmax 函数,广泛用于 NLP 和 Transformer 模型中。
  • 硬注意力:不可微分,使用采样来选择特定的部分。它通常通过强化学习进行训练。
  • 自注意力:允许序列中的每个元素关注同一序列中的其他元素。
  • 多头注意力:使用多个注意力头,从不同的表示子空间中捕捉多样化的特征。
  • 加性注意力:使用前馈神经网络来计算注意力分数,而不是使用点积。

> 想了解更多关于注意力机制类型的细节,请阅读:Attention Mechanism 的类型

工作原理

让我们把注意力机制的工作流程拆解为几个关键步骤:

步骤 1:输入编码:首先,我们使用编码器(如 RNN、LSTM、GRU 或 Transformer)对输入序列进行编码,生成代表输入上下文的隐藏状态。
步骤 2:查询、键和值向量:每个输入都会被转换为三个向量:

  • 查询:代表我们正在寻找的内容。
  • 键:代表每个输入包含的信息标识。
  • 值:包含每个输入的实际信息。

这些是输入嵌入的线性变换。

步骤 3:键-值对创建:每个输入被表示为一对:

  • 键:代表信息的“地址”或标识符。
  • 值:代表实际的内容。

步骤 4:相似度计算:模型计算查询与每个键之间的相似度,以确定相关性。

> \text{Score}(s,i) = \begin{cases}hs \cdot yi & \text{(Dot Product)} \\hs^T W yi & \text{(General)} \\v^T \tanh(W[hs; yi]) & \text{(Concat)}\end{cases}

其中:

  • h_s ​​:位置 s 处的编码器隐藏状态
  • y_i ​:位置 i 处的解码器隐藏状态
  • W:权重矩阵
  • v:权重向量

步骤 5:注意力权重计算:相似度分数会通过 Softmax 函数,将其转换为注意力权重:

> \alpha(s,i) = \text{softmax}(\text{Score}(s,i))

步骤 6:加权求和:利用注意力权重对值向量计算加权和:

> ct = \sum{i=1}^{Ts} \alpha(s,i) hi

这里, ​T_s 是键值对的总数。

步骤 7:上下文向量:上下文向量 c_t 汇总了输入序列中最相关的信息,并被馈送到解码器中。
步骤 8:整合:解码器结合自身的隐藏状态和上下文向量来生成下一个输出 Token。

注意力机制架构

注意力机制包含三个主要组件:编码器、注意力模块和解码器,它们协同工作以捕捉长期依赖关系并提高翻译准确性。

!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20251029093447681289/stringconstantpool5.webp">stringconstantpool5带注意力机制的编码器-解码器结构

1. 编码器

编码器处理输入序列(例如一个句子),并将其转换为一系列隐藏状态,这些状态代表了关于每个 Token 的上下文信息。

  • 它通常使用 RNN、LSTM、GRU 或基于 Transformer 的架构。
  • 对于输入序列 x0, x1, x2, x3 ​,编码器生成如下隐藏表示:

> h0, h1, h2, h3

  • 每个隐藏状态都捕捉了当前输入以及之前时间步的信息:

> ht =f(h{t-1},x_t)

  • 这些隐藏状态随后被传递到注意力层,用于计算输入的哪些部分与当前输出步骤最相关。

2. 注意力机制

注意力组件决定了在生成输出中的特定单词时,应该给予每个编码器隐藏状态多少重要性。其主要目标是创建一个上下文向量 C_t ​,它捕捉了当前解码步骤中最相关的编码器输出信息。

步骤 1:前向对齐函数:解码器的当前隐藏状态 St 和每个编码器隐藏状态 hi 会组合

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/22774.html
点赞
0.00 平均评分 (0% 分数) - 0