Transformer学习笔记(二)

一、文本嵌入层Embedding

1、作用:

        无论是源文本嵌入还是目标文本嵌入,都是为了将文本中词汇的数字表示转变为向量表示,希望在这样的高维空间捕捉词汇间的关系。

二、位置编码器Positional Encoding

1、作用:

        因为在Transformer的编码器结构中,并没有针对词汇位置信息的处理,因此需要在Embedding层后加入位置编码器,将词汇位置不同可能会产生不同的语义的信息加入到词嵌入张量中,以弥补位置信息的缺失。

2、作用:

        正弦波和余弦波的值域范围都是1到-1,这又很好的控制了嵌入数值的大小,有利于梯度的快速计算。

三、掩码张量

1、什么是掩码张量:

        掩代表遮掩,码就是张量中的数值,它的尺寸不定,里面一般只有1和0的元素,代表位置被遮掩或者不遮掩,因此它的作用就是让另外一个张量中的一些数值被遮掩,也可以说被替换,它的表现形式是一个张量。

2、掩码张量的作用:

        在Transformer中,掩码张量的主要作用在应用attention时,有一些生成的attention张量中的值计算有可能已知了未来信息而得到的,未来信息被看到是因为训练时会把整个输出结果都一次性进行Embedding,但是理论上解码器的输出却不是一次就能产生最终结果的,而是一次次通过上一次结果综合得出的,因此,未来的信息可能提前利用,所以,我们会进行遮掩。

四、注意力机制

1、什么是注意力:

        我们观察事物时,之所以能够快速判断一种事物,是因为我们大脑能够很快把注意力放在事物最具有辨识度的部分从而做出判断,而并非是从头到尾的观察。正是基于这样的理论,就产生了注意力机制。

2、什么是注意力计算规则:

        它需要三个指定的输入,Q(query)K(key)V(value),然后通过公式得到注意力的计算结果,这个结果代表query在key和value作用下的表示,而这个具体的计算规则有很多种。常用的计算规则:

3、什么是注意力机制:

        注意力机制是注意力计算规则能够应用的深度学习网络的载体,除了注意力计算规则外,还包括一些必要的全连接层以及相关张量处理,使其与应用网络融为一体,使用自注意力计算规则的注意力机制称为自注意力机制。注意力机制表示图:

五、多头注意力机制

1、什么是多头注意力机制:

        从多头注意力的结构图种,貌似这个所谓的多个头就是指多组线性变换层,其实并不是,只有使用了一组线性变化层,即三个变换张量对QKV分别进行线性变换,这些变换不会改变原有张量的尺寸,因此每个变换矩阵都是方阵,得到输出结果后,多头的作用才开始显现,每个头开始从词义层面分割输出的张量,也就是每个头都想获得一组QKV进行注意力机制的计算,但是句子中的每个词的表示只获得一部分,也就是只分割了最后一维的词嵌入向量,这就是所谓的多头,将每个头的获得的输入送到注意力机制中,就形成多头注意力机制。

2、多头注意力机制结构图

3、多头注意力机制的作用:

        这种结构设计能让每个注意力机制去优化每个词汇的不同特征部分,从而均衡同一种注意力机制可能产生的偏差,让词义拥有来自更多元的表达,实验表明可以从而提升模型效果。

六、前馈全连接层

1、什么是前馈全连接层:

        在Transformer中前馈全连接层就是具有两层线性层的全连接网络。

2、前馈全连接层的作用:

        考虑注意力机制可能对复杂过程的拟合程度不够,通过增加两层网络来增强模型的能力。

七、规范化层

1、规范化层的作用:

        它是所有深层网络模型都需要的标准网络层,因为随着网络层数的增加,通过多层计算后参数可能开始出现过大或者过小的情况,这样可能会导致学习过程出现异常,模型可能收敛非常的慢,因此都会在一定层后接规范化层进行数值的规范化,使其特征数值在合理范围内。

八、子层连接结构

1、什么是子层连接结构:

        如图所示,输入到每个子层以及规范化层的过程中,还使用了残差连接,因为我们把这一部分结构整体叫做子层连接,在每个编码器层中,都有两个子层,这两个子层加上周围的连接结构就形成了两个子层连接结构。

九、编码器层

1、编码器层的作用:

        作为编码器层的组成单元,每个编码器层完成一次对输入的特征提取过程,即编码过程。

编码器层构成图:

十、编码器

1、编码器的作用:

        编码器用于对输入进行指定的特征提取过程,也称为编码,由N个编码器层堆叠而成。

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

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

相关文章

AcWing 2. 01背包问题

题目描述 解题思路: 相关代码: import java.util.Scanner; public class Main {public static void main(String[] args){Scanner scanner new Scanner(System.in);/** 背包问题的物品下标最好从1开始。* *//*定义一f[i][j]数组,i表示的…

复习 --- windows 上安装 git,使用相关命令

文章目录 很少使用windows的git工具,这次借助这个任务,记录下使用过程,其他的等有空在整理。 其中,还使用了浏览器的AI小助手,复习了git相关的命令:图片放最后

Linux学习方法-框架学习法——Linux系统框架

配套视频学习链接:https://www.bilibili.com/video/BV1HE411w7by?p2&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux系统框架(从裸机到OS) Linux可看成是一个大软件/大程序 应用和驱动 内核态和用户态 Linux的文件系统 Linux初学者首先要搞清楚三…

如何通过小程序上的产品力和品牌力提升用户的复购能力?

随着网络购物小程序的发展以及内容电商、社交电商、垂直电商、品牌自营等多个细分类型的出现,小程序成为用户日常购物、大促囤货以及首发抢购的重要场景,市场竞争也逐渐激烈。如何在用户侧获得更多转化、留存与复购,成为企业品牌日益关注的话…

javaweb员工健康管理监护系统

项目演示视频 (链接:https://pan.baidu.com/s/1WliYEUH4c0HVB7s0-1WDUA 提取码:1234 --来自百度网盘超级会员V5的分享) 该项目所用到技术 java ssh框架 3:该项目的用到的开发工具? eclipse和idea都可以、m…

将 OpenCV 与 Eclipse 结合使用(插件 CDT)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:将OpenCV与gcc和CMake结合使用 下一篇:OpenCV4.9.0在windows系统下的安装 警告: 本教程可以包含过时的信息。 先决条件 两种方式,一种…

软考78-上午题-【面向对象技术3-设计模式】-结构型设计模式01

一、适配器模式 1-1、意图 个类的接口转换成客户希望的另外一个接口。 Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 1-2、结构 适配器模式分为: 1、适配器类模式; 2、适配器对象模式 类适配器使用多重继承对一个接口与另…

软考80-上午题-【面向对象技术3-设计模式】-结构型设计模式03

一、外观模式 1-1、意图 为子系统中的一组接口提供一个一致的界面。 Facade 模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 1-2、结构 Facade 知道哪些子系统类负责处理请求:将客户的请求代理给适当的子系统对象。Subsvstem classes …

CI/CD实战-git工具使用 1

版本控制系统 本地版本控制系统 集中化的版本控制系统 分布式版本控制系统 git官网文档:https://git-scm.com/book/zh/v2 Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(sta…

194 基于matlab的日历GUI制作

基于matlab的日历GUI制作,可实时显示当前的日期和时间,精确到秒。非常漂亮,也很基础,学习GUI的不错程序,程序已调通,可直接运行。 194 matlab 日历制作 GUI可视化 - 小红书 (xiaohongshu.com)

Spark-Scala语言实战(1)

在之前的文章中,我们学习了如何在Linux安装Spark以及Scala,想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark及Scala的安装https:/…

CSS3技巧38:3D 翻转数字效果

博主其它CSS3 3D的文章: CSS3干货4:CSS中3D运用_css 3d-CSDN博客 CSS3干货5:CSS中3D运用-2_中3d-2-CSDN博客 CSS3干货6:CSS中3D运用-3_css3d 使用-CSDN博客 最近工作上烦心的事情太多,只有周末才能让我冷静一下 cod…

uniapp 写安卓app,运行到手机端 调试

手机 设置》关于手机》点击版本号 4-5次,弹出手机锁屏页面,输入手机锁屏密码 2.手机 设置中 》搜索 开发人员选项 》 调试》打开USB调试 同页面 找到 选择USB配置》选择 MIDIhbuilder 编辑器 点击 》运行》运行到手机或模拟器》运行到Android App基座 》…

【日常记录】【JS】input标签输入中文导致value值的不正确

文章目录 1、描述2、解决方案3、参考 1、描述 在 input标签中,输入中文时,如若监听 input 事件,会得到意想不到的结果,如下面的图所示 2、解决方案 可以用到 compositionstart 监听输入中文开始的事件,compositionend …

inux(CentOS)/Windows-C++ 云备份项目(项目文件操作工具类设计,完成项目基本文件操作-读写-压缩-目录操作)

文章目录 1. 项目文件操作工具类设计 1. 项目文件操作工具类设计 根据前面的分析,这个文件类的基本属性如下: 文件大小信息文件最后修改时间文件最后一次访问时间,方便文件的热点管理文件名称,需要从http 请求行上的uri中获取基…

html编辑器

HTML 编辑器推荐 html可以使用记事本编辑 但是更建议使用专业的 HTML 编辑器来编辑 HTML,我在这里给大家推荐几款常用的编辑器: VS Code:https://code.visualstudio.com/WebStorm: https://www.jetbrains.com/webstorm/Notepad: https://no…

【八】【算法分析与设计】双指针(2)

11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能…

pytorch 入门基础知识一(Pytorch 01)

一 深度学习基础相关 深度学习三个主要的方向:计算机视觉,自然语言,语音识别。 机器学习核心组件:1 数据集(data),2 前向传播的model(net),3 目标函数(loss), 4 调整模型参数和优化函数的算法…

Ascend C编程入门课:编程基础与Hello World

Ascend C编程入门课 一、基础概念 1.Ascend C:是昇腾异构计算架构CANN针对算子开发场景推出的编程语言,通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算子开发效率。 2.使用Ascend C自定义开发算子的优势: (1…

Golang协程详解

一.协程的引入 1.通过案例文章引入并发,协程概念 见:[go学习笔记.第十四章.协程和管道] 1.协程的引入,调度模型,协程资源竞争问题 通过上面文章可以总结出Go并发编程原理: 在一个处理进程中通过关键字 go 启用多个协程,然后在不同的协程中完成不同的子任…