当前位置: 首页 > news >正文

长春网站制作公司西安优化网站

长春网站制作公司,西安优化网站,网页前端开发流程,建设网站的优势文章目录 Transformer1、各部分功能解释2、通过例子解释a.输入预处理位置编码b.Encoder 的处理c.Decoder的输入Decoder的工作流程d.输出预测总结 Attention代码和原理理解 Transformer 运行机理: (1)假设我们需要进行文本生成任务。我们将已…

文章目录

  • Transformer
    • 1、各部分功能解释
    • 2、通过例子解释
      • a.输入预处理
      • 位置编码
      • b.Encoder 的处理
      • c.Decoder的输入
      • Decoder的工作流程
      • d.输出预测
      • 总结

Attention代码和原理理解

Transformer

运行机理:

(1)假设我们需要进行文本生成任务。我们将已经有的文本首先通过词嵌入并进行位置编码作为输入,输入到encoder中,encoder的目的是使得词不仅仅有了自己的信息,还有了自己上下文的信息,即全局信息,即词有了语义信息。
(2)在训练时,我们使用当前已经预测出来的词作为decoder的输入(当然这些词使用的是正确的词即使可能预测过程中有错误,也使用掩码掩盖未来的词),我们将其与encoder输出的向量进行结合使用注意力层最后使用全连接得到新的预测结果,得到一个预测接下来我们继续将这个预测的词增加作为decoder的输入,直到预测结束。
注意:

  • Decoder的输入:从一个特定的起始符号开始,并逐步使用之前步骤生成的词来生成新的词,直到序列完成。
  • Encoder的输入:在整个序列生成过程中保持不变,为Decoder提供必要的上下文信息。

1、各部分功能解释

Transformer快速入门
标准的 Transformer 模型主要由两个模块构成:

  • Encoder(左边):负责理解输入文本,为每个输入构造对应的语义表示(语义特征)

  • Decoder(右边):负责生成输出,使用 Encoder 输出的语义表示结合其他输入来生成目标序列Decoder的输入是当前预测出来的文本,在训练时是正确文本,而预测时是预测出来的文本。 当然都包含位置编码,训练时也需要使用掩码。
    在这里插入图片描述
    两个模块可以根据任务的需求而单独使用:

  • 纯 Encoder 模型:适用于只需要理解输入语义的任务,例如句子分类、命名实体识别;

  • 纯 Decoder 模型:适用于生成式任务,例如文本生成;

  • Encoder-Decoder 模型或 Seq2Seq 模型:适用于需要基于输入的生成式任务,例如翻译、摘要。

2、通过例子解释

Transformer模型在处理 “Harry Potter is a wizard and hates __ the most.” 这一句子时的工作流程和各个组件的作用。

a.输入预处理

假设我们的句子 “Harry Potter is a wizard and hates” 已经通过分词处理,并且每个词都被映射到了一个整数ID。例如:

  • Harry -> 2021
  • Potter -> 1057
  • is -> 56
  • a -> 15
  • wizard -> 498
  • and -> 7
  • hates -> 372

这些整数ID接着被转换为词嵌入向量。词嵌入层会从一个预训练的嵌入矩阵中提取每个ID对应的向量。

位置编码

对于 “Harry Potter is a wizard and hates” 这七个词,Transformer还需要知道每个词的位置。因此,每个词嵌入向量会加上一个位置向量,位置向量通过一定的函数(如正弦和余弦函数)生成,以反映词在句子中的顺序。

b.Encoder 的处理

经过词嵌入和位置编码后,这组向量输入到Encoder。Encoder中的每一层都包括两部分:多头自注意力机制和前馈神经网络。

  • 多头自注意力机制允许模型评估每个词与句子中其他词的关系强度。这有助于捕获比如"Harry Potter"和"wizard"之间的联系。
  • 前馈神经网络对自注意力层的输出进行进一步转换。

每一层的输出都会被送入下一层,直到最后一层。Encoder的最终输出是一个加工过的、包含整个句子信息的向量序列。

好的,让我来更详细地解释Transformer模型中Decoder的工作机制,特别是它的输入是如何处理的。

c.Decoder的输入

在理解Decoder的输入之前,我们首先要明确,Transformer模型通常用于处理序列到序列的任务,比如机器翻译、文本摘要等。在这些任务中,Decoder的角色是基于Encoder的输出,生成一个输出序列。

假设我们的任务是文本填空,比如在句子 “Harry Potter is a wizard and hates __ the most.” 中填入缺失的部分。在实际应用(如训练或预测)过程中,Decoder的输入通常有两部分:

  1. 已知的输出序列的前缀:这是模型在生成每个新词时,已经生成的输出序列的部分。在训练阶段,这通常是目标序列(ground truth)中的前缀;在推理阶段,这是模型逐步生成的输出。例如,如果我们预测的第一个词是 “Voldemort”,那么在预测下一个词时,“Voldemort” 就成了已知的输出序列的前缀。

  2. 位置编码:和Encoder相同,每个词的词嵌入会加上位置编码。位置编码帮助模型理解词在序列中的位置关系,这对于生成有顺序关系的文本尤其重要。

Decoder的工作流程

在得到输入后,Decoder的每一层会执行以下几个操作:

  1. 掩蔽多头自注意力(Masked Multi-Head Self-Attention)

    • 这一步骤和Encoder中的自注意力类似,但有一个关键区别:它会使用掩蔽(masking)来防止未来位置的信息泄漏。这意味着在生成第 ( n ) 个词的预测时,模型只能访问第 ( n-1 ) 个词及之前的词的信息。
    • 例如,当模型正在生成 “Voldemort” 后面的词时,它不能“看到”这个词之后的任何词。
  2. 编码器-解码器自注意力(Encoder-Decoder Attention)

    • 这一步是Decoder的核心部分,其中Decoder利用自己的输出作为查询(Query),而将Encoder的输出作为键(Key)和值(Value)。
    • 这允许Decoder根据自己已经生成的文本部分(通过查询),和输入句子的语义表示(通过键和值),生成下一个词的预测。这是一个信息整合的过程,通过Encoder的上下文信息来指导输出序列的生成。
  3. 前向馈网络(Feed-Forward Network)

    • 与Encoder中相同,每个自注意力层后面都会跟一个前向馈网络,这个网络对每个位置的输出独立处理,进一步转换特征表示。

d.输出预测

Decoder的输出通过一个线性层和softmax层,生成每个可能词的概率分布。选择概率最高的词作为预测结果。

总结

因此,在Decoder中,输入主要是基于到目前为止已经生成的输出序列(加上位置信息),而这些输入通过Decoder的多层结构进行处理,每层都包括掩蔽自注意力、编码器-解码器自注意力和前向馈网络,以生成最终的输出序列。这种结构设计使得Transformer能够在考虑到整个输入序列的上下文的同时,逐步构建输出序列。

http://www.yayakq.cn/news/642244/

相关文章:

  • 网站建设客源在哪里找培训网站建设方案说明书
  • 网站开发可以开发哪些网页设计个人网页html代码
  • 北海市建设局网站上海网页建站模板
  • 合肥建设工程信息网站建设部办公厅网站
  • 专做兼职的网站求个网站你懂我意思是
  • wordpress分类法多重筛选并排序龙岗网站 建设seo信科
  • 公司网站未备案吗深圳网站建设怎样
  • 网站名超链接怎么做专业建设规划目标与标准
  • 人事怎么做招聘网站比对分析企业所得税优惠政策最新2024年
  • 音乐网站建站聊天软件开发多少钱
  • 深圳福田网站建设优秀网站页面设计图片
  • PHP网站开发常用函数帮人家做网站能赚多少钱
  • 如何加强精神文明网站建设内容福州全网网站建设
  • 深圳建设注册中心网站遵义做网站
  • 内容网站模板引流推广方式
  • 提升网站建设品质信息wordpress 导入 附件
  • 备案可以不关闭网站吗WordPress禁用邮件注册
  • h5网站开发价格深圳住建局最新通知
  • 网站开发与设计课程时间保山市城乡建设局网站
  • 南京网站开发南京乐识不错网站编程入门教程
  • 网站开发所需能力安丘营销型网站建设
  • 做网站什么框架比较好代做网站公司
  • 网站建设书籍在线阅读建设网站的市场背景
  • 网络营销教学网站德骏网站建设
  • 二合一收款码免费制作网站电商一键上货软件
  • 网站设计教程网站栏目内容和功能
  • 佛山制作网站设计报价宣传推广的方式
  • 设计之家网站怎么样wordpress制作vr全景
  • 网站开发高级证市民专线是什么
  • 虹口手机网站制作给我一个网站吧