尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

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

NLP自然语言处理:Trasformer详解 - 论文《Attention is All You Need》总结
📅 发布时间:2026/7/28 19:00:55

论文《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机构设置,我们来谈谈自注意力机制,能更好的了解Trasformer

 

2.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)的大部分计算保持不变。

相关新闻

  • 武汉装修公司质保大比拼:水电防水超长质保、24小时响应,2026谁家售后最硬? - 品牌红黑榜
  • 计算机毕业设计之基于SpringBoot的蛋糕商城系统的设计与实现
  • 广州夏令营:军博营地备受推崇 - 17328623207

最新新闻

  • [深入解析C#] 第 11 章:使用元组进行组合
  • 南京浮雕工艺手镯首饰回收,资深鉴定师上门核算首饰整体价值 - 每日生活报
  • 从零开始:如何用MIT App Inventor在30分钟内制作你的第一个手机应用
  • 2026倾角传感器选型推荐指南:聚焦综合能力,构筑长期技术竞争力,激光雷达/激光测距/陀螺仪,倾角传感器实力厂家哪个好 - 品牌推荐师
  • js验证ip的合法性,多个固定IP,多个IP段,IP通配符
  • 计算机毕业设计之基于Java的亲子互动系统设计与实现

日新闻

  • 力旷智能:伺服驱动系统在制药收瓶设备中的应用解析
  • 2026 网安入门避坑指南,零基础如何避开无效学习直接上手实战
  • 揭秘CFC项目:如何通过手机摄像头实现850kbps无网络文件传输

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号