算是一些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实现文本机器翻译

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL:中点直线算法

理论部分 中点直线算法是通过在像素中确定与理想直线最靠近的像素来进行扫描转换的。 在上图中,假设直线的斜率 0 ≤ m ≤ 1 0\le m \le 1 0≤m≤1。假设当前最近的像素已经确认为 P ( x k , y k ) P(x_k, y_k) P(xk​,yk​),由于 x x x位最大的位移方向,因此直线在 x x x方…

力扣SQL50 求关注者的数量 分组计数

Problem: 1729. 求关注者的数量 Code select user_id, count(1) followers_count from Followers group by user_id order by user_id;

基于STM32的智能农业灌溉系统

目录 引言环境准备智能农业灌溉系统基础代码实现:实现智能农业灌溉系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景:智能农业管理与优化问题解决方案与优化收尾与总结 1. 引言 智能农业灌溉系统通过使用ST…

IDEA各种实体类运行爆红,不运行就没事

1.问题描述 如图所示,后端项目的import的各种entity爆红,点击也有导入包的提示,且这种报红几乎遍布了整个工程项目 2.我的解决方案 清空缓存,然后把target文件删掉,重新跑 3.小结 idea项目有时候就是一个核弹&…

【windows解压】解压文件名乱码

windows解压,文件名乱码但内容正常。 我也不知道什么时候设置出的问题。。。换了解压工具也没用,后来是这样解决的。 目录 1.环境和工具 2.打开【控制面板】 3.点击【时钟和区域】 4.选择【区域】 5.【管理】中【更改系统区域设置】 6.选择并确定…

推荐系统三十六式学习笔记:原理篇.矩阵分解12|如果关注排序效果,那么这个模型可以帮到你

目录 矩阵分解的不足贝叶斯个性化排序AUC构造样本目标函数训练方法 总结 矩阵分解在推荐系统中的地位非常崇高。它既有协同过滤的血统,又有机器学习的基因,可以说是非常优秀了;但即便如此,传统的矩阵分解无论是在处理显式反馈&…

分类接口开发

文章目录 1.查询所有一级分类1.sun-club-application-controller 控制层1.SubjectCategoryController.java 定义基础的queryPrimaryCategory,调用领域层 2.sun-club-domain 领域层1.SubjectCategoryDomainService.java2.SubjectCategoryConverter.java3.SubjectCate…

每日一题——Python代码实现力扣1. 两数之和(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 菜鸡写法 代码分析 时间复杂度分析 空间复杂度分析 改进建议 我要更强 方法1: 使…

英伟达下一代DLSS或利用人工智能

英伟达的黄仁勋在2024年Computex展会上的问答环节中,提前透露了公司未来几代深度学习超采样(DLSS)技术的发展方向。在回答有关DLSS的问题时,黄仁勋表示,未来我们将看到通过纯粹的人工智能生成的纹理和对象。他还提到&a…

体验了一下AI生产3D模型有感

我的实验路子是想试试能不能帮我建一下实物模型 SO 我选择了一个成都环球中心的网图 但是生成的结果掺不忍睹,但是看demo来看,似乎如果你能给出一张干净的提示图片,他还是能做出一些东西的 这里我延申的思考是这个物体他如果没看过背面&…

AI 大模型企业应用实战(13)-Lostinthemiddle长上下文精度处理

1 长文本切分信息丢失处理方案 10检索时性能大幅下降相关信息在头尾性能最高检索 ->> 排序 ->使用 实战 安装依赖: ! pip install sentence-transformers 演示如何使用 Langchain 库中的组件来处理长文本和检索相关信息。 导入所需的库使用指定的预训…

Posix多线程编程总结

Posix在线文档: The Single UNIX Specification, Version 2 (opengroup.org) 本文主要参考这位大神的文章: Posix多线程编程学习笔记 - 凌峰布衣 - 博客园 (cnblogs.com) 线程安全问题 多线程编程中,经常遇到的就是线程安全问题,或…

图片覆盖攻击

点击劫持的本质是一种视觉欺骗。顺着这个思路,还有一些攻击方法也可以起到类似的作 用,比如图片覆盖。 一名叫 sven.vetsch 的安全研究者最先提出了这种 Cross Site Image Overlaying 攻击,简称 XSIO。sven.vetsch 通过调整图片的 style 使得…

CDP问卷的目的是什么?CDP问卷对企业有什么好处

CDP问卷(Carbon Disclosure Project问卷)的目的是多方面的,主要包括以下几点: 推动透明度:CDP问卷要求企业公开披露其温室气体排放数据、减排目标和行动,以及气候风险管理策略等信息。这有助于增强企业的透…

Linux进程概念(二)

上期我们已经学习了进程的基础的内容,已经对进程的基本概念有了了解,知道了进程的组成, 本期我们将以操作为主进一步探讨进程的相关概念。 目录 查看进程 创建进程 查看进程 查看进程主要有两种方式。 ps ajx指令 在当前目录下有名为tes…

Canvas绘制图片和区域

如何使用Canvas在图片上绘制区域? 一. 首先,我们需要初始化三个canvas画布(初始化Canvas) initCanvas() {// 初始化canvas画布let canvasWrap document.getElementsByClassName("canvas-wrap");this.wrapWidth canva…

更改ip后还被封是ip质量的原因吗?

不同的代理IP的质量相同,一般来说可以根据以下几个因素来进行判断: 1.可用率 可用率就是提取的这些代理IP中可以正常使用的比率。假如我们无法使用某个代理IP请求目标网站或者请求超时,那么就代表这个代理不可用,一般来说免费代…

ubuntu18.04 编译HBA 并实例运行

HBA是一个激光点云层级式的全局优化的程序,他的论文题目是:HBA: A Globally Consistent and Efficient Large-Scale LiDAR Mapping Module,对应的github地址是:HKU-Mars-Lab GitHub 学习本博客,可以学到gtsam安装&am…

Vienna 整流器的基本原理及数学模型

2.1 Vienna 整流器基本工作原理 2.1.1 主电路拓扑结构分析 Vienna 整流器系统的主电路包含用于升压的三相电感、三相桥臂和两个直流侧均压电容。通过有规律的对双向开关进行控制不仅能实现功率双向流动,还能使网侧电流时刻跟踪电网电压,使系统运行在高…

昇思25天学习打卡营第5天|网络构建

一、简介: 神经网络模型是由神经网络层和Tensor操作构成的,mindspore.nn提供了常见神经网络层的实现,在MindSpore中,Cell类是构建所有网络的基类(这个类和pytorch中的modul类是一样的作用),也是…