论文 学习 Transformer : Attention Is All You Need
目录
概述:
对摘要的理解:
框架解析
按比例缩放的点积注意力
多头注意力机制
前馈神经网络与位置编码
概述:
transformer 是一个encoder ——decoder 结构的用于处理序列到序列转换任务的框架,是第一个完全依赖自注意力机制,计算其输入输出表示的转换模型,核心是采用了注意力机制用于捕获输入序列不同位置之间的依赖关系,帮助模型在生成输出时能够关注到与当前任务最相关的信息,优势是能够捕获长距离依赖关系,并且对于输入序列的长度没有固定的限制,在处理长文本和复杂语言结构时表现出色,在编码器解码器框架中,编码器负责将输入系列转换成一个固定大小的表示(上下文向量)解码器根据这个表示,生成输出序列,transformer 能够并行化处理整个序列,从而大大提高了训练速度和效率
self—attention 机制:
注意力模型的本质思想:从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略不重要的信息。
transfomer 注意力的计算方法采用了Scaled Dot-Product Attention
注意力机制采用了multi head self Attention
框架中 使用了三种不同形式的的 多头注意力机制


对摘要的理解:
主流的序列转换模型基于复杂的循环或卷积神经网络,这些网络包括一个编码器和一个解码器。性能最佳的模型还通过注意力机制将编码器和解码器连接起来。我们提出了一种全新的简单网络架构,即Transformer,它完全基于注意力机制,完全摒弃了循环和卷积。
序列转换模型(Sequence Transduction Models)指将一个序列转换为另一个序列的模型。序列转换模型可以通过编码器(Encoder)和解码器(Decoder)两个主要部分实现。编码器使用循环神经网络(RNN)或其变种(如长短时记忆网络LSTM、门控循环单元GRU)对输入序列进行建模,得到上下文信息;利用编码器输出的上下文信息生成目标序列。
注意力机制:处理一个任务时,我们不会平等地对待所有的信息,而是会将注意力集中在某些关键的部分。例如,当我们阅读一段文本时,我们会更关注与当前任务相关的词汇和句子,而忽略其他不相关的信息。注意力机制就是模拟这种行为,让模型在处理数据时能够自动地关注到更重要的部分。
框架解析

transformer 使用编码器和解码器堆叠自注意力和逐点全连接层,
每个编码器由6个相同的层组成,每个层有两个子层他们分别是 掩码多头注意力层和全连接前馈神经网络 ,模型技巧(trick)有采用了残差链接和层归一化每个子层的输出是LayerNorm(x + Sublayer(x)),具体来说,1 首先对x进行嵌入编码 然后和位置编码相加 2 编码后的向量输入进多头注意力机制,3 残差链接层归一化,4 Position-wise Feed-Forward Networks 5 残差连接 层归一化
每个解码器由6个相同的层组成,每个层有三个子层他们分别是1 掩码多头注意力层(why mask:防止解码器在生成序列时查看未来的信息,即在解码时 只希望模型 看到当前词 和当前词 前面的部分 所以要对后面的单词进行mask 处理 方法是 设为很大的负数) 2 encoder-decoder 多头注意力机制和3全连接前馈神经网络 ,模型技巧(trick)有采用了残差链接和层归一化每个子层的输出是LayerNorm(x + Sublayer(x)),具体来说,1 首先对x进行嵌入编码 然后和位置编码相加 2 编码后的向量输入进掩码多头注意力机制,3 残差链接层归一化, encoder-decoder 多头注意力机制 (q 来自掩码多头注意力的输出 kv 来自编码器的输出) 残差链接层归一化4 Position-wise Feed-Forward Networks 5 残差连接 层归一化
按比例缩放的点积注意力


为什么使用按比例缩放的 点积注意力?
缓解输入向量维度对注意力权重的影响:在点积计算中,如果输入向量的维度非常高,那么点积的结果可能会非常大,导致后续的softmax函数进入饱和区,使得梯度变得非常小,从而难以训练。按比例缩放可以解决这个问题,使得点积的结果在合理的范围内,避免softmax函数进入饱和区。
点积 可以计算向量之间的余弦相似度,并且可以进行矩阵运算加快计算速度和效率
多头注意力机制

为什么要采取多头注意力机制?
多头注意力机制则允许模型在多个不同的表示子空间上并行计算注意力权重,从而能够更全面地捕捉输入序列中的依赖关系。通过将不同的注意力头组合在一起,模型能够学习到更复杂的表示,并更准确地预测目标序列
文心一言 是这样回答的
transformer 采取多头注意力机制(Multi-Head Attention)主要有以下几个原因:
- 多样性:多头注意力机制允许模型同时关注不同的位置和语义信息。每个头可以学习不同的注意力分布,从而捕捉输入序列中的不同依赖关系。如果只使用一个头,模型可能会错过某些重要的依赖关系。
- 更丰富的表示:通过多头注意力机制,模型可以并行学习多个自注意力表示。这使得模型能够更好地抓住输入数据的局部和全局信息,提供更丰富、更强大的表示。在自然语言处理任务中,这种丰富的表示往往导致更好的性能。
- 并行计算:多头注意力机制可以充分利用现代硬件并行计算的能力,例如 GPU。多个头可以在一次计算中同时进行处理,这样可以显著提高计算效率。
- 学习到不同维度的特征和信息:由于每个注意力头都是一个独立的self-attention,它们可以通过产生QKV矩阵来学习数据特征。每个self-attention最终会产生一个维度上的输出特征,因此当使用多头注意力机制时,模型可以学习到多维度的特征信息,从多个维度更好地理解数据。
- 提高模型容量和泛化能力:多头注意力机制增加了模型的容量,使得模型能够学习到更复杂的表示。由于能够从多个角度分析输入数据,模型的泛化能力得到提升。
总的来说,多头注意力机制通过提供多样性、更丰富的表示、并行计算能力以及学习不同维度特征的能力,帮助Transformer模型在处理序列数据时获得更好的性能。
多头注意力机制的多头是怎么实现的?
不是使用 dmodel 维键、值和查询执行单个注意力函数,e而是 将查询、键和值分别线性投影到 dk、dk 和 dv 维。在每个查询、键和值的每个投影版本上,然后我们并行执行注意力函数,产生 dv 维输出值
- 分割嵌入向量:首先,输入的嵌入向量(例如词嵌入向量)被分割成多个较小的部分,每个部分对应一个注意力“头”。假设输入的嵌入向量维度为D,注意力头数为h,则每个头处理的向量维度为D/h。这一步是为了让模型在更细粒度上学习数据的表示。
- 线性变换:对于每个分割后的部分(也就是每个头),应用三个不同的线性变换(全连接层),分别生成查询(Q)、键(K)和值(V)向量。每个线性变换的权重矩阵维度为(D/h)×(D/h)。
- 注意力计算:在每个头中,计算查询和键的点积,然后应用softmax函数得到注意力权重。最后,将注意力权重与值向量相乘,得到加权后的值向量。
- 拼接与线性变换:将所有头的加权后的值向量拼接起来,形成一个更大的向量。然后,再应用一个线性变换(全连接层),将拼接后的向量转换回原始嵌入向量的维度D。
前馈神经网络与位置编码 

相关文章:
论文 学习 Transformer : Attention Is All You Need
目录 概述: 对摘要的理解: 框架解析 按比例缩放的点积注意力 多头注意力机制 前馈神经网络与位置编码 概述: transformer 是一个encoder ——decoder 结构的用于处理序列到序列转换任务的框架,是第一个完全依赖自注意力机制…...
工厂模式+策略模式
输入实体 基类 import lombok.Data;Data public class PersonInputDto {private Integer id;private String name; }子类 Data AllArgsConstructor NoArgsConstructor public class ManPerson extends PersonInputDto {private String sex; }Data AllArgsConstructor NoArgs…...
TMS320F28335学习笔记-时钟系统
第一次使用38225使用了普中的clocksystem例程进行编译,总是编译失败。 问题一:提示找不到文件 因为工程的头文件路径没有包含,下图的路径需要添加自己电脑的路径。 问题二 找不到库文件 例程种的header文件夹和common文件夹不知道从何而来…...
【Apache POI】Apache POI-操作Excel表格-简易版
Catalog Apache POI-操作Excel表格1. 需求2. 优点3. 缺点4. 应用场景5. 使用方法6. SpringBoot工程中处理Excel表格7. Demo示例 Apache POI-操作Excel表格 1. 需求 大多数项目的在运营过程中,会产生运营数据,如外卖系统中需要统计每日的订单完成数、每…...
MySQL系列之索引
🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…...
【问题分析】锁屏界面调起google语音助手后壁纸不可见【Android 14】
1 问题描述 为系统和锁屏分别设置两张不同的壁纸,然后在锁屏界面长按Power调起google语音助手后,有时候会出现壁纸不可见的情况,如以下截图所示: 有的时候又是正常的,但显示的也是系统壁纸,并非是锁屏壁纸…...
Java入门基础学习笔记8——注释
1、注释: 注释是写在程序中对代码进行解释说明的文件,方便自己和其他人查看,以便理解程序的。 package cn.ensource.note;/**文档注释文档注释 */ public class NoteDemo {public static void main(String[] args) {// 单行注释System.out.…...
上班工资太低了,哪些副业可以多赚钱?
今天给各位分享最赚钱的副业方式的知识,其中也会对比较赚钱的副业进行解释. 1、网站接单 一般20页左右的PPT报价基本在200-400元。如果能每周接单,一个月就有接近1000元的副业收入。提交摄影和绘画作品 比起画画,靠摄影赚点外快更容易一点。…...
原子学习笔记4——GPIO 应用编程
一、应用层如何操控 GPIO 与 LED 设备一样,GPIO 同样也是通过 sysfs 方式进行操控,进入到/sys/class/gpio 目录下,如下所示: gpiochipX:当前 SoC 所包含的 GPIO 控制器,我们知道 I.MX6UL/I.MX6ULL 一共包…...
查看iqn编码
cat /etc/iscsi/initiatorname.iscsi ## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames. InitiatorNameiqn.2004-10.com.ubuntu:01:9ebe1a68...
如何安全的使用密码登录账号(在不知道密码的情况下)
首先,需要用到的这个工具: 度娘网盘 提取码:qwu2 蓝奏云 提取码:2r1z 1、打开工具,进入账号密码模块,如图 2、看到鼠标移动到密码那一栏有提示,按住Ctrl或者Alt点击或者双击就能复制内容&…...
软件需求和设计评审
目录 引言 1. 软件评审的方法和技术 2. 产品需求评审:构建正确的产品 3. 设计评审:构建正确的产品 4. 软件评审的最佳实践 结语 引言 在软件开发的迷宫中,需求和设计评审是通往成功产品的关键门户。它们是确保软件质量和满足用户需求的…...
论文笔记ColdDTA:利用数据增强和基于注意力的特征融合进行药物靶标结合亲和力预测
ColdDTA发表在Computers in Biology and Medicine 的一篇一区文章 突出 • 数据增强和基于注意力的特征融合用于药物靶点结合亲和力预测。 • 与其他方法相比,它在 Davis、KIBA 和 BindingDB 数据集上显示出竞争性能。 • 可视化模型权重可以获得可解释的见解。 …...
如何防止WordPress网站内容被抓取
最近在检查网站服务器的访问日志的时候,发现了大量来自同一个IP地址的的请求,用站长工具分析确认了我的网站内容确实是被他人的网站抓取了,我第一时间联系了对方网站的服务器提供商投诉了该网站,要求对方停止侵权行为,…...
全球化战略中的技术支柱:出海企业的网络技术解决方案
随着全球市场的一体化,中国的电商与游戏行业越来越倾向于扩展国际市场,这一过程被称为“出海”。成功的出海战略不仅需要强大的市场洞察和文化适应能力,还需依赖高效的网络技术,包括SOCKS5代理、代理IP、以及全面的网络安全策略。…...
在Linux上安装并运行RabbitMQ
目录 准备CentOS服务器 下载rabbit-server和erlang文件 启动RabbitMQ服务 准备CentOS服务器 两个命令,选一个能用的,查看CentOS服务器的版本 lsb_release -a下载rabbit-server和erlang文件 参考文章:http://t.csdnimg.cn/t8BbM 1、创建新…...
使用 docker-compose 搭建个人博客 Halo
说明 我这里使用的是 Halo 作为博客的工具,毕竟是开源了,也是使用 Java 写的嘛,另外一点就是使用 docker 来安装(自动挡,不用自己考虑太多的环境因素),这样子搭建起来更快一点,我们…...
《这就是ChatGPT》读书笔记
书名:这就是ChatGPT 作者:[美] 斯蒂芬沃尔弗拉姆(Stephen Wolfram) ChatGPT在做什么? ChatGPT可以生成类似于人类书写的文本,它基本任务是弄清楚如何针对它得到的任何文本产生“合理的延续”。当ChatGPT写…...
更专业的汽车软件研发工具链,怿星重磅发布新产品
怿星科技在2024北京国际车展同期举办主题为“创新引领未来——聚焦智能汽车软件新基建”的新产品发布会,重磅推出1款绝对优势产品和4套场景解决方案。同时举行了4场热点技术研讨:国产工具链的机遇与挑战、新架构下的的车载DDS应用探索及测试方案介绍、软…...
Stable Diffusion:AI绘画的新纪元
摘要: Stable Diffusion(SD)作为AI绘画领域的新星,以其开源免费、强大的生成能力和高度的自定义性,正在引领一场艺术与技术的革命。本文旨在为读者提供Stable Diffusion的全面介绍,包括其原理、核心组件、安…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...

