NLP自然语言处理:Trasformer详解 - 论文《Attention is All You Need》总结

发布时间:2026/7/28 18:47:59

NLP自然语言处理:Trasformer详解 - 论文《Attention is All You Need》总结
论文《Attention is All You Need》地址:https://arxiv.org/abs/1706.03762英文原版Trasformer详解:https://jalammar.github.io/illustrated-transformer/在本文中,将试图把模型简化一点,并逐一介绍里面的核心概念,希望让普通读者也能轻易理解。目录一、宏观理解Trasformer二、自注意力机制2.1从宏观视角看自注意力机制2.2 从微观视角看自注意力机制2.2.1计算自注意力的第一步2.2.2计算自注意力的第二步2.2.3计算自注意力的第三、四步2.2.3计算自注意力的第五、六步2.3 通过矩阵运算实现自注意力机制2.4 “多头”注意力(“multi-headed” attention)三、使用位置编码表示序列的顺序四、残差模块五、解码组件六、最终的线性变换和Softmax层七、训练部分总结八、损失函数一、宏观理解Trasformer首先将这个模型看成是一个黑箱操作。在机器翻译中,就是输入一种语言,输出另一种语言。黑箱 = 编码组件+解码组件。它们连接组成。编码组件由一堆编码器(encoder)构成(论文中是将6个编码器叠在一起——数字6没有什么神奇之处,你也可以尝试其他数字)。解码组件部分也是由相同数量(与编码器对应)的解码器(decoder)组成的。所有的编码器在结构上都是相同的,但它们没有共享参数。每个解码器都可以分解成两个子层。从编码器输入的句子首先会经过一个自注意力(self-attention)层,这层帮助编码器在对每个单词编码时关注输入句子的其他单词。我们将在稍后的文章中更深入地研究自注意力。自注意力层的输出会传递到前馈(feed-forward)神经网络中。每个位置的单词对应的前馈神经网络都完全一样(译注:另一种解读就是一层窗口为一个单词的一维卷积神经网络)。解码器中也有编码器的自注意力(self-attention)层和前馈(feed-forward)层。除此之外,这两个层之间还有一个注意力层,用来关注输入句子的相关部分(和seq2seq模型的注意力作用相似)。接下来我们看看Transformer的一个核心特性,在这里输入序列中每个位置的单词都有自己独特的路径流入编码器。在自注意力层中路径之间存在依赖关系。而前馈(feed-forward)层没有这些依赖关系。因此在前馈(feed-forward)层时可以并行执行各种路径。然后我们将以一个更短的句子为例,看看编码器的每个子层中发生了什么。一个编码器接收向量列表作为输入,接着将向量列表中的向量传递到自注意力层进行处理,然后传递到前馈神经网络层中,将输出结果传递到下一个编码器中。输入序列的每个单词都经过自编码过程。然后,他们各自通过前向传播神经网络——完全相同的网络,而每个向量都分别通过它。二、自注意力机制宏观上大致了解了Trasformer机构设置,我们来谈谈自注意力机制,能更好的了解Trasformer2.1从宏观视角看自注意力机制不要被我用自注意力这个词弄迷糊了,好像每个人都应该熟悉这个概念。其实我之也没有见过这个概念,直到读到Attention is All You Need 这篇论文时才恍然大悟。让我们精炼一下它的工作原理。例如,下列句子是我们想要翻译的输入句子:The animal didn't cross the street because it was too tired这个“it”在这个句子是指什么呢?它指的是street还是这个animal呢?这对于人类来说是一个简单的问题,但是对于算法则不是。当模型处理这个单词“it”的时候,自注意力机制会允许“it”与“animal”建立联系。随着模型处理输入序列的每个单词,自注意力会关注整个输入序列的所有单词,帮助模型对本单词更好地进行编码。如果你熟悉RNN(循环神经网络),回忆一下它是如何维持隐藏层的。RNN会将它已经处理过的前面的所有单词/向量的表示与它正在处理的当前单词/向量结合起来。而自注意力机制会将所有相关单词的理解融入到我们正在处理的单词中。当我们在编码器#5(栈中最上层编码器)中编码“it”这个单词的时,注意力机制的部分会去关注“The Animal”,将它的表示的一部分编入“it”的编码中。请务必检查Tensor2Tensor notebook ,在里面你可以下载一个Transformer模型,并用交互式可视化的方式来检验。2.2 从微观视角看自注意力机制首先我们了解一下如何使用向量来计算自注意力,然后来看它实怎样用矩阵来实现。2.2.1计算自注意力的第一步计算自注意力的第一步就是从每个编码器的输入向量(每个单词的词向量)中生成三个向量。也就是说对于每个单词,我们创造一个查询向量、一个键向量和一个值向量。这三个向量是通过词嵌入与三个权重矩阵后相乘创建的。可以发现这些新向量在维度上比词嵌入向量更低。他们的维度是64,而词嵌入和编码器的输入/输出向量的维度是512. 但实际上不强求维度更小,这只是一种基于架构上的选择,它可以使多头注意力(multiheaded attention)的大部分计算保持不变。

相关新闻

健身俱乐部网站开发全栈技术解析与实践

健身俱乐部网站开发全栈技术解析与实践

2026/7/28 18:47:59

1. 健身俱乐部网站项目概述这个健身俱乐部网站项目是一个典型的服务行业数字化解决方案,主要面向中小型健身场馆的线上运营需求。作为一个完整的网站开发案例,它包含了前端展示、会员管理、课程预约等核心功能模块,配套的文档和源码为开发者提…

三步搞定Data-Juicer:如何轻松构建AI大模型的数据处理流水线

三步搞定Data-Juicer:如何轻松构建AI大模型的数据处理流水线

2026/7/28 18:47:59

三步搞定Data-Juicer:如何轻松构建AI大模型的数据处理流水线 【免费下载链接】data-juicer Data processing for and with foundation models! 🍎 🍋 🌽 ➡️ ➡️🍸 🍹 🍷 项目地址: https:/…

Excelize v2.10.1版本性能优化与图表功能详解

Excelize v2.10.1版本性能优化与图表功能详解

2026/7/28 18:47:59

1. Excelize v2.10.1版本深度解析作为Go语言生态中最受欢迎的Excel文档处理库,Excelize在v2.10.1版本中带来了多项重量级更新。这个版本不仅在性能上实现了质的飞跃,更在图表功能、API设计等细节处做了大量优化。作为一个长期使用该库处理企业级报表系统…

matlab调用ANSYS

matlab调用ANSYS

2026/7/28 19:38:01

最近使用ANSYS计算温度场方面的东西,每次都要手动运行,自己处理计算结果。可怜无助的我深感劳累啊,最主要的是怎么能把我宝贵的时间用在重复的劳动中。so,出于懒的需要,查询了一些关于matlab调用ANSYS的资料,经过自己实践,整理了以下内容。 1、调用ANSYS !"D:\AN…

涨超530%的A股之王:长鑫科技市值神话背后的专利底牌

涨超530%的A股之王:长鑫科技市值神话背后的专利底牌

2026/7/28 19:38:01

一日之间,A股迎来全新的市值之王。7月27日,国产DRAM(动态随机存取存储器)龙头长鑫科技正式登陆科创板,上市首日股价持续冲高,总市值接连超越腾讯控股、英特尔等海内外科技巨头,半日成交额突破12…

vJoy虚拟摇杆:Windows游戏控制模拟的完整解决方案

vJoy虚拟摇杆:Windows游戏控制模拟的完整解决方案

2026/7/28 19:38:01

vJoy虚拟摇杆:Windows游戏控制模拟的完整解决方案 【免费下载链接】vJoy Virtual Joystick 项目地址: https://gitcode.com/gh_mirrors/vj/vJoy 你是否曾想过在没有物理游戏手柄的情况下测试游戏?或是需要为模拟器开发复杂的控制逻辑?…

Dify工作流与MCP服务实战:打造岗位专属AI智能副驾

Dify工作流与MCP服务实战:打造岗位专属AI智能副驾

2026/7/28 19:38:01

如果你正在寻找一个能快速将 AI 能力嵌入日常工作流的平台,Dify 值得你立刻关注。它不是一个单一的模型,而是一个开源的 LLM 应用开发平台,核心目标是让开发者、产品经理甚至业务人员都能通过可视化编排,构建出功能强大的 AI 应用。这次我们聚焦于它的两个核心进阶能力: …

TTS-Backup终极指南:轻松保护你的桌游模拟器珍贵数据

TTS-Backup终极指南:轻松保护你的桌游模拟器珍贵数据

2026/7/28 19:38:01

TTS-Backup终极指南:轻松保护你的桌游模拟器珍贵数据 【免费下载链接】tts-backup Backup Tabletop Simulator saves and assets into comprehensive Zip files. 项目地址: https://gitcode.com/gh_mirrors/tt/tts-backup 还在为Tabletop Simulator&#xff…

Codex与Claude Code企业级实战:从环境搭建到项目落地的AI编程指南

Codex与Claude Code企业级实战:从环境搭建到项目落地的AI编程指南

2026/7/28 19:28:01

这次我们来看一个关于 Codex 和 Claude Code 的企业级实战教程资源。对于开发者而言,无论是 OpenAI 的 Codex 还是 Anthropic 的 Claude Code,都代表了当前 AI 辅助编程的顶尖能力。但很多教程要么过于理论,要么缺乏从环境搭建到项目落地的完…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/28 13:30:18

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/28 16:04:36

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/28 16:04:35

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

零基础搭建桌面智能体,OpenClaw 2.7.9 分步实操,避开绝大多数部署陷阱

零基础搭建桌面智能体,OpenClaw 2.7.9 分步实操,避开绝大多数部署陷阱

2026/7/28 0:06:55

📌 一、工具核心优势盘点 数据本地存储,安全系数高所有操作日志、文档资料均保存在本机,不会上传至云端,能够有效保护企业文件与个人隐私,规避数据泄露风险。 上手简单,零编程门槛采用全图形化可视化界面&…

计算机毕业设计之基于springboot的购物平台设计与实现

计算机毕业设计之基于springboot的购物平台设计与实现

2026/7/28 0:06:55

由于移动应用技术的持续性的快速发展,现实生活中人们大多数都是通过移动手机、电脑等智能设备来完成生活中的事务。因此,许多的人工传统行业也开始与互联网结合,不再一味的依靠人工手动,努力打造半自动数字化甚至是全自动数字化模…

豆包AI绘图提示词失效真相:NLP模型层token截断机制首次披露,3招绕过字数限制

豆包AI绘图提示词失效真相:NLP模型层token截断机制首次披露,3招绕过字数限制

2026/7/28 0:06:55

更多请点击: https://codechina.net 第一章:豆包AI绘图提示词失效现象全景扫描 近期大量用户反馈,豆包(Doubao)AI绘图功能对常规提示词(Prompt)响应异常:语义明确的指令被忽略、中英…