当前位置: 首页 > news >正文

fun-transformer学习笔记-Task1——Transformer、Seq2Seq、Encoder-Decoder、Attention之间的关系

Transformer、Seq2Seq、Encoder-Decoder、Attention由这四者之间的关系可以从模型架构的发展脉络来理解:

  1. Seq2Seq 与 Encoder–Decoder 模型
    “Seq2Seq”(sequence‐to‐sequence)是一类用于将一个变长序列映射为另一个变长序列的任务(例如机器翻译、对话生成等)。为了解决这类任务,人们提出了Encoder–Decoder 模型

    • 编码器(Encoder):读取输入序列,将其转换为一个(或一系列)隐藏表示(通常是固定长度的向量或者一个隐藏状态序列)。
    • 解码器(Decoder):根据编码器输出的表示,逐步生成目标序列。
      在早期的实现中,编码器和解码器常用的是循环神经网络(RNN、LSTM或GRU)。
  2. Attention 机制的引入
    传统的 Encoder–Decoder 模型将整个输入序列压缩成一个固定的向量,这在处理长序列时往往会丢失关键信息(即所谓的信息瓶颈问题)。为了解决这一问题,Attention 机制被引入到 Seq2Seq 模型中:

    • 在每个解码步骤中,解码器不再仅依赖那个固定的上下文向量,而是根据当前的解码状态计算与输入各时刻隐藏状态的“相关性”(或“对齐”分数),然后用这些分数作为权重,对所有编码器输出进行加权求和,形成一个动态的上下文向量。
      这样,模型能够“关注”输入中与当前输出最相关的部分,从而大大提高了长序列翻译等任务的效果。
  3. Transformer 架构
    Transformer 是在 2017 年提出的一种全新的 Encoder–Decoder 架构,其核心思想是完全依赖注意力机制:

    • 自注意力(Self-Attention):在编码器内部,每个词的表示可以直接和同一序列中其他词的表示进行交互,不依赖传统的序列化的递归结构;解码器内部也使用了带有因果掩码(Causal Masking)的自注意力,确保生成时只能利用“过去”的信息。
    • 交叉注意力(Cross-Attention):解码器的每一步会“关注”编码器输出的各个位置,从而获得与当前生成内容相关的输入信息。
    • Transformer 通过多头注意力机制(Multi-Head Attention)允许模型从不同的“角度”捕捉信息,同时利用并行化计算,大大提高了训练效率和建模能力。

总结来说:

  • Seq2Seq 是一个任务范式,Encoder–Decoder 是实现这种任务的基本架构;
  • Attention 机制是为了解决传统 Encoder–Decoder 模型固定向量传递信息不足的问题而提出的增强方法,使得解码器可以动态地选择输入信息;
  • Transformer 则是在此基础上发展出的全新架构,它完全依赖注意力机制(包括自注意力和交叉注意力),取代了传统的递归或卷积结构,因而具备更强的并行计算能力和更好的长距离依赖建模能力。

这种发展脉络体现了从最初的序列映射(Seq2Seq、Encoder–Decoder),再到利用 Attention 改进信息传递,最终到用 Transformer 架构构建大规模、并行高效的模型的过程。

http://www.lryc.cn/news/535619.html

相关文章:

  • 使用Hexo部署NexT主体网站
  • 图书管理项目(spring boot + Vue)
  • python实现常见数学概率分布
  • 解决Blender无法识别Num关闭状态下的笔记本数字键盘中Home键、End键问题
  • React 高级教程
  • 基于Qt 和微信小程序的用户管理系统:WebSocket + SQLite 实现注册与登录
  • 在CT107D单片机综合训练平台上实现外部中断控制LED闪烁
  • HTML之JavaScript使用JSON
  • 算法很美笔记(Java)——树
  • SQL面试题4:相互关注问题
  • ArcGIS基础知识之ArcMap基础设置——ArcMap选项:常规选项卡设置及作用
  • jvm 线程监控调试
  • 25、深度学习-自学之路-卷积神经网络基于MNIST数据集的程序展示
  • 【C++】解锁<list>的正确姿势
  • Qt中的事件
  • 变化检测相关论文可读list
  • Ansible中playbook的变量
  • 亚信安全正式接入DeepSeek
  • 相似性图相关性重构网络用于无监督跨模态哈希
  • 【Bug】属性 PackageVersion 应在所有目标框架中具有单个值,但却具有以下值
  • C++ Primer 类型转换
  • 【CS61A 2024秋】Python入门课,全过程记录P7(Week13 Macros至完结)【完结撒花!】
  • SSH隧道+Nginx:绿色通道详解(SSH Tunnel+nginx: Green Channel Detailed Explanation)
  • LabVIEW用户界面设计原则
  • Datawhale 数学建模导论二 2025年2月
  • SQL CASE表达式的用法
  • 趣味魔法项目 LinuxPDF —— 在 PDF 中启动一个 Linux 操作系统
  • win32汇编环境,窗口程序使用跟踪条(滑块)控件示例一
  • mars3d接入到uniapp的时候ios上所有地图的瓦片都无法加载解决方案
  • 使用 Notepad++ 编辑显示 MarkDown