价值30万的网站建设,如何做网站自适应,百度一下首页,重庆万州网站建设多少钱目录
一、注意力机制
二、了解发展历程
2.1 早期萌芽#xff1a;
2.2 真正意义的注意力机制#xff1a;
2.3 2015 年及以后#xff1a;
2.4 自注意力与 Transformer#xff1a;
2.5 BERT 与预训练模型#xff1a;
三、基本框架
1. 打分函数#xff08;Score Fun…目录
一、注意力机制
二、了解发展历程
2.1 早期萌芽
2.2 真正意义的注意力机制
2.3 2015 年及以后
2.4 自注意力与 Transformer
2.5 BERT 与预训练模型
三、基本框架
1. 打分函数Score Function
2. 校准函数Alignment Function / Softmax
3. 融合Fusion / Weighted Sum
比如机器翻译任务
四、分类
4.1 根据注意力的计算区域分类
4.2 根据注意力的可微性分类
4.3 根据注意力的来源分类
4.4 根据注意力的层次结构分类
4.5 其他形式的注意力模型 一、注意力机制
从人工智能专家的角度来看注意力机制Attention Mechanism是一种在深度学习模型中尤其是在处理序列数据如文本、语音、时间序列等时非常重要的技术。其核心思想是让模型在处理信息时能够“集中注意力”在更相关的部分而忽略不那么重要的信息。
视觉注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像获得需要重点关注的目标区域也就是一般所说的注意力焦点而后对这一区域投入更多注意力资源以获取更多所需要关注目标的细节信息而抑制其他无用信息。这是人类利用有限的注意力资源从大量信息中快速筛选出高价值信息的手段是人类在长期进化中形成的一种生存机制人类视觉注意力机制极大地提高了视觉信息处理的效率与准确性。计算机视觉中的注意力机制从本质上讲和人类的选择性视觉注意力机制类似核心目标也是从众多信息中选择出对当前任务目标更关键的信息。
以下是注意力机制的一些关键要点 直观理解想象一下你正在阅读一篇文章。你不会一字不漏地看完每一个字而是会集中注意力在那些对你而言最重要或最相关的词或句子上。这就是注意力机制希望模拟的行为。 工作原理在深度学习模型中注意力机制通常通过计算一个权重分布来实现。这个分布决定了在生成输出时输入序列中的哪些部分应该被更多地关注。例如在机器翻译任务中生成目标语言的一个词时模型可能会更多地关注源语言中与之对应的词或短语。 数学表达给定一个查询Query和一个键值对集合Key-Value pairs注意力机制可以计算出一个加权的输出。查询、键和值通常都是向量。输出的计算通常涉及查询与每个键的点积然后应用一个softmax函数来得到权重分布最后用这个分布加权所有的值来得到最终的输出。 类型有多种注意力机制包括但不限于 全局注意力与局部注意力全局注意力考虑输入序列的所有位置而局部注意力只关注输入序列的特定子集。自注意力Self-Attention在自注意力中查询、键和值都来自同一个输入序列。这种机制在Transformer模型中得到了广泛应用。多头注意力Multi-Head Attention在这种机制中多个独立的注意力模块并行运行并将它们的输出拼接或平均起来以捕获输入数据的不同方面。 优势与应用注意力机制可以提高模型的可解释性因为可以看到模型关注了哪些输入并允许模型处理变长输入序列。它们在各种NLP任务中都取得了巨大成功如机器翻译、问答系统、情感分析和文本摘要等。此外注意力机制也被应用于其他领域如计算机视觉和语音识别。
二、了解发展历程
2.1 早期萌芽
在深度学习兴起之前注意力机制的思想已经在一些传统的机器学习模型中有所体现比如隐马尔可夫模型HMM中的对齐Alignment概念但这并不算是真正的“注意力”。
2.2 真正意义的注意力机制
注意力机制在深度学习中的首次明确提出通常与 Bahdanau 等人在 2014 年的工作《Neural Machine Translation by Jointly Learning to Align and Translate》相关联。在这篇论文中作者们为机器翻译任务引入了一种名为“加性注意力”Additive Attention的机制允许模型在生成目标语言句子时自动搜索源语言句子中的相关部分。这种方法极大地改善了之前基于编码-解码Encoder-Decoder架构的机器翻译系统的性能尤其是当处理长句子时。
2.3 2015 年及以后
Luong 等人在 2015 年的论文《Effective Approaches to Attention-based Neural Machine Translation》中提出了两种新的注意力机制全局注意力Global Attention和局部注意力Local Attention并对加性注意力和点积注意力Dot-Product Attention进行了比较。同一时期注意力机制开始被应用到其他自然语言处理任务中如文本分类、情感分析、问答系统等。
2.4 自注意力与 Transformer
2017 年Vaswani 等人的论文《Attention is All You Need》彻底改变了注意力的研究方向和应用领域。这篇论文提出了 Transformer 架构完全基于自注意力Self-Attention机制摒弃了传统的循环神经网络RNN和卷积神经网络CNN。Transformer 模型通过多头自注意力机制Multi-Head Self-Attention实现了对输入序列内部依赖关系的有效建模并在机器翻译任务上取得了显著的性能提升。自此以后Transformer 成为了自然语言处理领域的主导架构并被广泛应用于各种任务中包括但不限于语言建模、机器翻译、文本摘要、对话系统等。
2.5 BERT 与预训练模型
2018 年Devlin 等人提出了 BERTBidirectional Encoder Representations from Transformers这是一种基于 Transformer 的预训练语言模型。BERT 通过在大规模无标签文本数据上进行预训练学习到了通用的语言表示可以通过微调Fine-tuning来适应各种下游任务。BERT 的成功进一步推动了注意力机制在自然语言处理领域的应用和发展。
三、基本框架
注意力机制最早在 NLP 应用中被提出并发展且大多模型都构建在 RNN 网络上。随着 Transformer 模型的提出注意力模型开始采用编解码器网络而脱离了 RNN 的局限。之后注意力模型被广泛应用于计算机视觉领域。视觉注意力模型与NLP 注意力模型略有不同具体地包含三个部分
1. 打分函数Score Function
打分函数负责为输入序列中的每个元素计算一个与当前焦点比如解码器中的某个状态相关的得分。这个得分反映了输入元素对于当前焦点的重要性。常见的打分函数有点积、加性/拼接等。 点积打分Dot-Product Score: 在点积注意力中打分函数计算解码器当前状态与编码器每个状态的点积。假设解码器当前状态为query编码器状态集合为keys则打分函数为scores query · keys^T。 加性/拼接打分Additive/Concatenation Score: 在这种注意力中解码器当前状态和编码器状态首先被拼接起来然后通过一个全连接层可能包含非线性激活函数来计算得分。
2. 校准函数Alignment Function / Softmax
校准函数负责将打分函数输出的原始得分转换成一组权重这些权重将被用于加权输入序列中的元素。通常这一步是通过softmax函数来实现的softmax可以将原始得分转换成一组和为1的正数权重。
weights softmax(scores)
3. 融合Fusion / Weighted Sum
最后一步是根据校准后的权重对输入序列进行加权求和得到一个上下文向量context vector。这个上下文向量包含了输入序列中与当前焦点最相关的信息。
context_vector weights * values
这里的values通常是与keys相对应的编码器输出序列。在自注意力中keys、values和query都来自同一个输入序列。
比如机器翻译任务
考虑一个英文到中文的机器翻译任务其中英文句子“I love machine learning”需要被翻译成中文“我爱机器学习”。在生成中文“我”的时候注意力模型可能会给英文单词“I”一个很高的权重而给其他单词较低的权重在生成“爱”的时候模型可能会关注“love”以此类推。
打分函数对于解码器生成“我”时的状态模型会计算它与编码器中每个单词状态的得分比如通过点积或加性方法。校准函数得分会被转换成权重比如通过softmax这样“I”会得到一个接近1的权重而其他单词的权重会很小。融合最后根据这些权重对编码器的输出进行加权求和得到一个上下文向量这个向量会被解码器用来生成“我”。
这个过程会在生成每个中文词的时候重复进行确保解码器能够关注到输入英文句子中最相关的信息。
四、分类
注意力模型可以根据不同的分类标准有多种形式。以下是对注意力模型不同形式的分类及其详细解释力求条理清晰、全面无遗漏
4.1 根据注意力的计算区域分类
——Soft Attention软注意力
特点对所有输入数据进行加权处理每个输入数据都会被赋予一个注意力权重。工作机制不设置筛选条件而是通过计算每个输入与当前焦点的相关度来分配权重。应用场景常见于需要全局考虑输入信息的情况如机器翻译、文本摘要等。
——Hard Attention硬注意力
特点只关注输入序列中的特定部分忽略其他不相关的部分。工作机制在生成注意力权重后通过设定阈值或采样方式选择性地关注某些输入。应用场景适用于需要精确定位关键信息的情况如图像分类中的关键区域定位。
——Local Attention局部注意力
特点结合了Soft Attention和Hard Attention的思想既关注特定区域又保持了一定的灵活性。工作机制首先通过Hard Attention的方式定位到某个区域然后在该区域内使用Soft Attention进行加权处理。应用场景适用于需要同时考虑全局和局部信息的情况如语音识别中的音素识别。
4.2 根据注意力的可微性分类
——Hard Attention
如上所述Hard Attention是一个不可微的注意力机制通常使用强化学习等方法进行优化。
——Soft Attention
Soft Attention是一个可微的注意力机制可以通过梯度下降等优化算法进行训练。由于其可微性Soft Attention在深度学习模型中得到了广泛应用。
4.3 根据注意力的来源分类
——General Attention普通注意力
特点利用外部信息来指导注意力的分配。工作机制在生成注意力权重时考虑当前焦点与外部信息如查询向量的匹配程度。应用场景适用于需要利用外部知识或上下文信息来指导注意力分配的情况。
——Self Attention自注意力
特点仅利用输入序列内部的信息进行注意力分配不考虑外部信息。工作机制将输入序列中的每个元素与其他元素进行比较和关联从而计算出每个元素的注意力权重。应用场景自注意力是Transformer模型中的核心机制之一广泛应用于自然语言处理领域的各种任务中。由于其能够捕捉输入序列内部的依赖关系自注意力也被用于图像识别、语音识别等其他领域。具体形式自注意力可以进一步分为单头自注意力和多头自注意力。单头自注意力使用一个注意力头来计算权重而多头自注意力则使用多个独立的注意力头并行计算权重然后将它们的结果拼接或平均起来作为最终的输出。这种多头机制可以捕捉输入数据在不同子空间中的特征表示从而提高模型的表达能力。
4.4 根据注意力的层次结构分类
——单层Attention
在单层Attention中注意力机制只作用于输入序列的一个层次上如词级别没有考虑不同层次之间的关联和交互。
——多层Attention
多层Attention通过堆叠多个注意力层来捕捉输入序列在不同层次上的信息。每个注意力层都可以关注到不同级别的信息如词级别、短语级别、句子级别等从而实现更细粒度的信息抽取和表示学习。这种多层结构有助于模型捕捉更复杂的语言现象和语义关系。
——多头AttentionMulti-Head Attention
多头Attention是Transformer模型中的一个关键组件它通过并行计算多个独立的注意力头来捕捉输入序列在不同子空间中的特征表示。每个头都可以关注到不同的信息片段从而提高了模型的表达能力和泛化能力。多头Attention的输出通常是将所有头的输出拼接起来或通过线性变换进行融合得到的。
4.5 其他形式的注意力模型
除了上述分类方式外还有一些其他形式的注意力模型值得提及
——通道注意力Channel Attention
通道注意力主要关注输入特征图中不同通道之间的重要性差异。通过对每个通道的特征进行加权处理来强调或抑制某些通道的信息传递从而提高模型对关键特征的敏感性。常见的通道注意力机制包括SENet中的Squeeze-and-Excitation模块和ECANet中的Efficient Channel Attention模块等。
——空间注意力Spatial Attention
空间注意力主要关注输入特征图中不同空间位置的重要性差异。通过对每个位置的特征进行加权处理来强调或抑制某些位置的信息传递从而使模型能够聚焦于关键区域或忽略不相关区域的信息干扰。常见的空间注意力机制包括ConvLSTM中的Spatial Attention模块和STNSpatial Transformer Networks中的Affine Transformation等。
综上所述注意力模型具有多种形式和分类方式每种形式都有其独特的特点和应用场景。在实际应用中可以根据具体任务和数据特点选择合适的注意力机制来提高模型的性能和解释性。