算是一些Transformer学习当中的重点内容

一、基础概念

        Transformer是一种神经网络结构,由Vaswani等人在2017年的论文Attentions All YouNeed”中提出,用于处理机器翻译、语言建模和文本生成等自然语言处理任务。Transformer同样是encoder-decoder的结构,只不过这里的“encoder”和“decoder”是由无数个同样结构的encoder层和decoder层堆叠组成

        在进入encoder或decoder前,源序列和目标序列需要经过一些“加工”,由wordembedding将序列转换为模型所能理解的词向量表示,其中包含了序列的内容信息;positionalencoding在内容信息的基础上添加位置信息;在进行机器翻译时,encoder解读源语句 (被翻译的句子)的信息,并传输给decoder,decoder接收源语句信息后,结合当前输入 (目前翻译的情况),预测下一个单词,直到生成完整的句子

        Transformer模型不包含RNN,所以无法在模型中记录时序信息,会导致模型无法识别由顺序改变而产生的句子含义的改变,如“我爱我的小猫”和“我的小猫爱我”,为弥补这个缺陷,选择在输入数据中额外添加表示位置信息的位置编码

2.1 Encoder

        Encoder负责处理输入的源序列,并将输入信息整合为一系列的上下文向量(context vector) 输出,每个encoder层中存在两个子层:多头自注意力和基于位置的前馈神经网络,子层之间使用了残差连接,并使用了层规范化

        多头注意力看前文了解即可,基于位置的前馈神经网络被用来对输入中的每个位置进行非线性变换,它由两个线性层组成,层与层之间需要经过ReLU激活函数,相比固定的ReLU函数,基于位置的前馈神经网络可以处理更加复杂的关系,并且由于前馈网络是基于位置的,可以捕获到不同位置的信息,并为每个位置提供不同的转换

                二者充称为“Add &Norm”(本质上是残差连接后紧跟了一个LayerNorm层)

2.2 Decoder

        解码器将编码器输出的上下文序列转换为目标序列的预测结果Y该输出将在模型训练中与真实目标输出进行比较计算损失,不同于编码器,每个Decoder层中包含两层多头注意力机制,并在最后多出一个线性层,输出对目标序列的预测结果。

  • 第一层:计算目标序列的注意力分数的掩码多头自注意力
  • 第二层:用于计算上下文序列与目标序列对应关系,其中Decoder掩码多头注意力的输出作为query,Encoder的输出(上下文序列)作为key和value

二、带掩码的多头注意力

  • 在处理目标序列的输入时,时刻的模型只能“观察”直到-1时刻的所有词元,后续的词语不应该一并输入Decoder中
  • 为了保证在t时刻,只有t-1个词元作为输入参与多头注意力分数的计算,需要在第一个多头注意力中额外增加一个时间掩码,使目标序列中的词随时间发展逐个被暴露出来,该注意力掩码可通过三角矩阵实现,对角线以上的词元表示为不参与注意力计算的词元,标记为1

三、与传统NLP特征提取类模型的主要区别

  • Transformer是一个纯基于注意力机制的结构,并将自注意力机制和多头注意力机制的概念运用到模型中
  • 由于缺少RNN模型的时序性,Transformer引入了位置编码,在数据上而非模型中添加位置信息

四、以上的处理带来了优点

  • 更容易并行化,训练更加高效
  • 在处理长序列的任务中表现优秀,可以快速捕捉长距离中的关联信息
  • 通过transformer实现文本机器翻译

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/32858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——工厂方法模式

文章目录 工厂方法模式简介工厂方法模式的组成部分工厂方法模式的结构Factory和Method的含义工厂方法模式的应用场景工厂方法模式的示例1. 文档生成器2. 数据库连接 工厂方法模式简介 工厂方法模式(Factory Method Pattern)是一种创建型设计模式&#x…

安卓设备屏幕分辨率适配

需求 适配1.83寸的手表屏幕 屏幕分辨率为240px*284px dpi203.18 计量单位 px (Pixels): 其实就是像素单位,是屏幕上最小可见的单元,比如我们通常说的手机分辨列表800*400都是px的单位(px 的单位是 像素&am…

完美解决找不到steam_api64.dll无法执行代码问题

游戏缺失steam_api64.dll通常意味着该游戏依赖于Steam平台的一些功能或服务,而这个DLL文件是Steam客户端的一部分,用于游戏与Steam平台之间的交互。如果游戏中缺失这个文件,可能会出现无法启动、崩溃或其他问题。 一,详细了解stea…

第13关:存储过程1、第14关:存储过程2。(2021数据库期末一)

目录 首先需要学习和了解的知识 第13关:存储过程1 任务描述 答案 第14关:存储过程2 任务描述 答案 本篇博客的答案博主是学习别人得来的,敢于借鉴和学习哈哈!! 首先需要学习和了解的知识 了解什么是存储过程以及…

针对ARM64嵌入式系统的Linux内核参数优化

文章目录 0. 概要1. 网络性能优化开启TCP连接重用减少TCP连接超时时间 2. 文件系统和I/O优化提高文件描述符限制 3. 内存管理优化提高内存可用性 4. 内核调度优化调整CFS调度器的调度周期 5. 完整配置文件 0. 概要 在ARM64架构的嵌入式系统中,系统性能和资源优化至…

JeecgBoot v3.7.0 all 版本发布,前后端合并一个仓库

项目介绍 JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue3,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…

音频——性能测试中的基本概念

文章目录 频率响应平均电平增益ADC 路径增益DAC 路径增益底噪信噪比总谐波失真+噪声(THD+N)延迟频率响应 对于音频设备,频率响应可以理解为音频设备对不同频率信号的处理或重现。对于音频信号频率,一般关注20Hz~20kHz范围。理想情况下,输入幅度相同的不同频率信号,过音频…

吴恩达机器学习 第二课 week4 决策树

目录 01 学习目标 02 实现工具 03 问题描述 04 构建决策树 05 总结 01 学习目标 (1)理解“熵”、“交叉熵(信息增益)”的概念 (2)掌握决策树的构建步骤与要点 02 实现工具 (1)…

常见的七大排序

目录 前言 冒泡排序 选择排序 插入排序 堆排序 希尔排序 快排 归并排序 前言 本文介绍七种常见的排序方式:冒泡排序,选择排序,插入排序,堆排序,希尔排序,快排,归并排序 冒泡排序 将每2…

Linux使用——查看发行版本、内核、shell类型等基本命令

先做快照 虚拟机中编辑网络 关机 普通账户和管理员账户 互相对照 localhost相当于IP 参数: 短格式:以减号(-)开头,参数字母 长格式:以2个减号(--)后跟上完整的参数单词 当前发行版本 [rootserver ~]# cat /etc/redhat-release Red Hat Enterprise Linux release 9.…

压缩示例代码libarchive,zlib

文章目录 前言一、zlib库在内存中对数据进行压缩,defalteInit函数默认压缩为zlib格式在内存中将数据压缩为gzip格式 二、libarchive库压缩为tar.gz文件 总结 前言 记录用C/C实现数据压缩的代码 一、zlib库 home page: https://zlib.net/ manual: https://zlib.n…

Java日常探秘-从小疑问到实践智慧的编程之旅(1)

文章目录 前言一、Git中回滚操作的方式二、加密为第三方服务,需要rpc,怎么提高效率三、加解密需求,逻辑能够尽量收敛四、加解密优化五、加解密的rpc失败了处理机制六、优化MySQL查询总结 前言 所有分享的内容源于日常思考和实践,…

C++设计模式——Flyweight享元模式

一,享元模式简介 享元模式是一种结构型设计模式,它将每个对象中各自保存一份数据的方式改为多个对象共享同一份数据,该模式可以有效减少应用程序的内存占用。 享元模式的核心思想是共享和复用,通过设置共享资源来避免创建过多的实…

MSPM0G3507——定时器例程1——TIMA_periodic_repeat_count

以下示例以周期模式配置TimerA0,并使用重复计数功能每隔2秒切换一次GPIO。注意:重复计数功能特定于TimerA0实例,而不是其他TimerA实例。这里是一次500毫秒,重复了四次 主函数: #include "ti_msp_dl_config.h&quo…

Clickhouse备份恢复_Docker环境下的clickhouse如何备份恢复

总结: Docker环境的下的clickhouse备份,不能使用clickhouse-backup,因为clickhouse-client只能备份Docker环境下的clickhouse的元数据 Docker环境的下的clickhouse备份,可以使用TCP的clickhouse-client的9000或HTTP的8123连接clic…

20240621日志:大模型压缩-从闭源大模型蒸馏

目录 1. 核心内容2. 方法2.1 先验估计2.2 后验估计2.3 目标函数 3. 交叉熵损失函数与Kullback-Leibler(KL)损失函数 location:beijing 涉及知识:大模型压缩、知识蒸馏 Fig. 1 大模型压缩-知识蒸馏 1. 核心内容 本文提出在一个贝…

Program-of-Thoughts(PoT):结合Python工具和CoT提升大语言模型数学推理能力

Program of Thoughts Prompting:Disentangling Computation from Reasoning for Numerical Reasoning Tasks github:https://github.com/wenhuchen/Program-of-Thoughts 一、动机 数学运算和金融方面都涉及算术推理。先前方法采用监督训练的形式,但这…

英语笔记-专升本

2024年6月23日15点01分,今天自己听老师讲了一张试卷,自己要开始不断地进行一个做事,使自己可以不断地得到一个提升,自己可以提升的内容, 英语试卷笔记 ------------------------------------ | 英语试卷笔记 …

使用Python监控网络连接状态并自动启动和关闭软件

通过 Python 编写一个网络连接状态监测程序,以 Synology Drive软件为例。通过如下代码实现来演示如何监控网络连接状态并自动启动和关闭相关软件。 程序首先通过 ping 命令检查内网或外网的连接状态。如果连接的是外网,则程序会检查 Synology Drive 软件…

发表在SIGMOD 2024上的高维向量检索/向量数据库/ANNS相关论文

前言 SIGMOD 2024会议最近刚在智利圣地亚哥结束,有关高维向量检索/向量数据库/ANNS的论文主要有5篇,涉及混合查询(带属性或范围过滤的向量检索)优化、severless向量数据库优化、量化编码优化、磁盘图索引优化。此外,也…