Transformer面试题总结

news2024/10/5 13:57:07

在这里插入图片描述

1.框架
Transformer和seq2seq一样由解码器和编码器组成,用多头注意力替换编码器和解码器架构中最常用的循环层
1.1 编码器:编码器有一堆N=6的相同层组成,每一层有两个子层,第一个子层包含多头注意力机制,第二个子层是前馈神经网络,每两个子层采用残差链接,然后进行归一化,为了保证残差链接维度一致,模型所有子层和嵌入层维度爆出在512,

1.2 解码器:解码器同样由N=6相同的层组成,除了和编码器有两个相同的子层以外,解码器第三个子层是带有掩码的注意力机制,Mask mutil-Head Attention ,做解码是一个自回归,需要确保当前时刻t的位置不会关注t以后的数据。

1.3 Linear + softmax:
全连接层和softmax函数,目的是将解码器的输出转换为预测的下一个token出现的概率,

2.整理运行流程
第一步:获取输入句子的每一个单词的表示向量 X,X由单词的 Embedding(Embedding就是从原始数据提取出来的Feature) 和单词位置的 Embedding 相加得到。
第二步:将得到的单词表示向量矩阵传入 Encoder 中,经过 6 个 Encoder block 后可以得到句子所有单词的编码信息矩阵,每一个 Encoder block 输出的矩阵维度与输入完全一致。
第三步:将 Encoder 输出的编码信息矩阵传递到 Decoder 中,Decoder 依次会根据当前翻译过的单词 1~ i 翻译下一个单词 i+1,

3.模块详细介绍

3.1 Embedding和Positional Embedding
Embedding是将计算机无法处理的单词或者汉字,转化成为计算机可以识别的向量,单词的Embedding 有很多种方式可以获取,例如可以采用 Word2Vec、Glove 等算法预训练得到,也可以在 Transformer 中训练得到。
而Attention机制并没有考虑先后顺序信息,但前后顺序信息对语义影响很大,因此需要通过Positional Embedding这种方式把前后位置信息加在输入的Embedding上。
实现方式使用不同频率的sin和cos函数

attention:对于序列数据而言,attention的本质就是通过权重矩阵计算找到输入中不同token之间的相互关系,函数是计算是由查询词q和键k做内积,然后除以根号输入向量的维度dk,并用softmax函数计算后乘以权重V,
(做内积的目的是计算q和k两个向量的相似度,两个向量越接近相似度越高,一个query中有n个q v 对,最后输出是n个结果,最后softmax会得到n个和为1的权重,乘以v得到最后的输出)
(和点积计算不同的是,除以根号dk,对于较小的dk,两中机制表现类似,dk较大时,点积计算的量级会增大很多,但是除以这个值的计算量就很小)

self-attention
Multi-Head Attention,是由多个 Self-Attention组成的,可以看到 Encoder block 包含一个 Multi-Head Attention,而 Decoder block 包含两个 Multi-Head Attention (其中有一个用到 Masked)。Multi-Head Attention 上方还包括一个 Add & Norm 层,Add 表示残差连接 (Residual Connection) 用于防止网络退化,Norm 表示 Layer Normalization,用于对每一层的激活值进行归一化。

是什么:self attention是每一个Q与每一个K依次计算注意力系数,经softmax后最后乘V得到最后的输出结果,
在这里插入图片描述
Multi-Head Attention
Multi-Head Attention 包含多个 Self-Attention 层,首先将输入X分别传递到 h 个不同的 Self-Attention 中,计算得到 h 个输出矩阵Z。 h=8 时会得到 8 个输出矩阵Z。得到 8 个输出矩阵 之后,Multi-Head Attention 将它们拼接在一起 (Concat),然后传入一个Linear层,得到 Multi-Head Attention 最终的输出Z,

Mask操作是如何具体实现的呢?
Q1只跟K1计算,Q2只跟K1、K2计算,而对于K3、K4等,在softmax之前给一个非常大的负数,由此经过softmax之后变为0

ADD
可以防止网络退化,常用于解决多层网络难训练的问题。

什么是Norm?
Norm就是layer normalization。
核心作用:为了训练更加稳定,和batch normalization有相同的作用,都是为了使输入的样本均值为零,方差为1。
为什么不使用batch normalization,使用的是layer normalization呢?因为一个时序数据,句子输入长度有长有短,如果使用batch normalization,则很容易造成因样本长短不一造成“训练不稳定”。BN是对同一个batch内的所有数据的同一个特征数据进行操作;而LN是对同一个样本进行操作。

什么是FFN?
FFN就是feed forward networks。
为什么有了Self attention层,还要有FFN?Attention已经有了想要的序列信息特征,MLP的作用是把信息投影到特定的空间里,再做一次非线性映射,和Self attention交替使用。
结构上:包括两层MLP,第一层的维度为5122048,第二层的维度为2048512,且第二层MLP没有使用激活函数

参考链接
link
link

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

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

相关文章

Spring MVC相关注解运用 —— 中篇

目录 一、RESTful风格支持 1.1 RESTful风格介绍 1.2 postman使用 二、PathVariable 2.1 实例程序 2.2 测试结果 三、PostMapping、GetMapping、PutMapping、DeleteMapping 四、HiddenHttpMethodFilter 4.1 在web.xml配置过滤器 4.2 控制器方法 4.3 JSP页面 4.4 测…

数据库管理工具DBeaver 连接 TDengine详细教程

数据库管理工具DBeaver 连接 TDengine 一、介绍二、前置条件2.1 TDEngine安装 2.2 DBeaver 下载及安装三、DBeaver 连接 TDengine 一、介绍 Dbeaver是一款功能强大的数据库管理工具,支持任何拥有 JDBC-Driver 的数据库。TDengine是一款由涛思数据开发的国产的时序数…

【网络编程】网络编程套接字(二)简单的UDP网络程序

文章目录 服务器编程1.创建服务端套接字2.绑定服务端套接字3.服务端启动 客户端编程1.创建客户端套接字2.绑定客户端套接字 服务器和客户端测试 服务器编程 1.创建服务端套接字 使用socket函数调用可以创建套接字的文件描述符,与前边的文件类似,socket…

【基础算法】递归算法

递归算法是一种直接或间接调用原算法的算法,一个使用函数自身给出定义的函数被称为递归函数。利用递归算法可以将规模庞大的问题拆分成规模较小的问题,从而使问题简化。无论是递归算法还是递归函数,最大的特点都是“自己调用自己”。 斐波那…

nRF52832蓝牙概述

基本概念 RSSI(Received Signal Strength Indicator)是接收信号的强度指示。 接收包RSSI是指无线模块发送信息后,接收端的无线模块接收到数据后,当前接收数据的信号强度的寄存器值,也就是接收模块获取到发送模块当前发…

Vector - CAPL - 数据库和CAPL_01

目录 获取CAN总线报文信息 静态访问报文信息 动态访问报文信息 静态访问数据库信息 DBLookup(Access Message & Signal) 1、报文类型信息 2、类型信息 3、节点信息 获取CAN总线报文信息 我们在做CAN网络管理或者通信的测试的过程中&#xf…

LLM prompt提示构造案例

参考: https://github.com/PlexPt/awesome-chatgpt-prompts-zh 吴恩达 prompt工程应用: https://www.bilibili.com/video/BV1No4y1t7Zn prompt构造案例代码 prompt """文本分类任务:将一段用户给外卖服务的评论进行分类…

LSTM已死,Transformer永生(面试问答RNN/LSTM/Transformer)

计算机视觉面试题-Transformer相关问题总结:https://zhuanlan.zhihu.com/p/554814230 计算机视觉面试31题 CV面试考点,精准详尽解析:https://zhuanlan.zhihu.com/p/257883797 1. 循环神经网络(Recurrent Neural Networks, RNN&am…

渲染颜色透明度异常分析 Unity RenderTexture

解决 Unity Canvas 相机 RenderTarget 渲染颜色透明度异常的问题 问题 重现场景 新建一个 Canvas-RT , Canvas Render Mode 改为 Screen Space - Camera 。 为 Canvas-RT 添加一个 RawImage-Origin 对象,修改颜色透明度为 120 。 修改 Camera-RT 中的 Target Textur…

如何实现Nginx+Tomcat反向代理与负载均衡

目录 一、正向代理与反向代理 正向代理 反向代理 二、负载均衡 什么是负载均衡 代码仓库定义 分流策略 权重 least_conn(最少连接) ip_hash(负载均衡模式) fair(第三方负载均衡模式) url_hash&…

算法设计与分析 课程期末复习简记

目录 网络流 线性规划 回溯算法 分支限界 贪心算法 动态规划 分治算法 算法复杂度分析 相关概念 网络流 下面是本章需要掌握的知识 • 流量⽹络的相关概念 • 最⼤流的概念 • 最⼩割集合的概念 • Dinic有效算法的步骤 • 会⼿推⼀个流量⽹络的最⼤流 下面对此依次进行复…

基于AUTOSAR的ECU启动阶段哪些事儿

AUTOSAR实战篇:EcuM启动时序大总结 前言 小T出品,必是精品! EcuM启动时序大总结,你值得拥有! 正文 正如小T前文中《AUTOSAR基础篇之EcuM》中讲到的那样,AUTOSAR架构中将ECU的上下电过程统一由单一的模块来进行统一管理,即EcuM模块。 虽然不同硬件的初始化过程不一样,但…

Redis是什么

Redis是什么 https://blog.csdn.net/Little_Oranges/article/details/121870705 1.简介 基于字典格式的。基于内存,高性能的。键值对的方式进行存储。可以存储多种数据结构类型的数据。 2.应用场景 缓存排行榜计数器分布式会话分布式锁社交网络最新列表消息系统 …

华为OD机试真题 JavaScript 实现【查找充电设备组合】【2023Q1 100分】

目录 一、题目描述二、输入描述三、输出描述四、补充说明五、JavaScript算法源码六、效果展示1、输入2、输出3、说明一、题目描述 某个充电站,可提供n个充电设备,每个充电设备均有对应的输出功率。任意个充电设备组合的输出功率总和,均构成功率集合P的1个元素。功率集合P的…

Qt Quick系列(8)—Model-View—视图信号

🚀作者:CAccept 🎂专栏:Qt Quick 文章目录 前言代码示例源码关键知识点 总结 前言 在Qt Quick的Model-View中内置视图有很多,有Repeater、ListView、GridView…,而他们也有着自己的信号,比如…

WebDAV之派盘本地个人云+Documents

Documents是一款由Readdle开发的文档管理和编辑工具,支持PDF阅读、音频播放、图像浏览和标注、以及多种常见文档格式的编辑操作等。派盘是一款本地私有云产品,基于WebDAV、FTP、SMB等多种协议,提供文件存储、分享、同步、备份等服务&#xff…

【Squid一】Squid代理服务器应用

Squid代理服务器应用 1.Squid代理服务器1.1 正向代理的工作机制1.2 代理服务器的概念及其作用1.3 代理服务器主要作用1.4 Squid代理的类型 2.CDN2.1 CDN概述2.2 CDN优势2.3 CDN对网络的优化作用2.4 CDN访问过程2.5 CDN网络的组成要素 3.安装Squid服务3.1 使用脚本启动和关闭squ…

guest内核不响应导致磁盘卸载问题排查

用户问题 客户报障磁盘卸载不了,而且是经常出现卸载不了的情况,客户比较着急,同时PDD也是大客户。 排查过程 查看宿主机上虚拟机信息 1、用户虚拟机有14块磁盘,而且这14块都是以legacypci的方式插入虚拟机,我印象中…

MATLAB | 拉普拉斯分布/拉普拉斯噪声的生成

一、实验目标 生成拉普拉斯分布的噪声,并分析它的概率密度函数 二、解决思路 (1)拉普拉斯分布可以由指数分布生成 拉普拉斯的概率密度函数为 f ( x ; μ , λ ) 1 2 λ e − ∣ x − μ ∣ λ f(x;\mu,\lambda)\frac{1}{2 \lambda} e^{…

创建启动前端vue与后端python/flask,前后端分离,相互传递参数

创建启动vue 确保你已经安装了Node.js和npm 安装vue npm install -g vue/cli创建vue项目: vue create my-project cd my-project启动vue npm run serve如果安装vue报错:管理员权限模式打开powershell Windows PowerShell 版权所有(C&#…