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

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.kler.cn/a/543205.html

相关文章:

  • 自动化办公|xlwings 数据类型和转换
  • OpenGL-基础知识(更新中)
  • 玩转观察者模式
  • 学习笔记十九:K8S生成pod过程
  • PyTorch 中 `torch.cuda.amp` 相关警告的解决方法
  • vite + axios 代理不起作用 404 无效
  • vivo手机和Windows电脑连接同一个WiFi即可投屏!
  • Spring Cloud 完整引解:优化你的微服务架构
  • GEE批量打开asset权限(anyone can read)
  • YOLOv11融合[AAAI2025]的Mesorch 模型中的高、低频特征提取模块
  • kafka在初始化集群配置当中有哪些重要参数?
  • (定时器,绘制事件,qt简单服务器的搭建)2025.2.11
  • vuedraggable固定某一item的记录
  • 语言大模型基础概念 一(先了解听说过的名词都是什么)
  • 元宵佳节,我的创作纪念日:技术之路的回顾与展望
  • 【多模态大模型】系列1:Transformer Encoder——ViLT、ALBEF、VLMO
  • MVC(Model-View-Controller)framework using Python ,Tkinter and SQLite
  • 机器学习数学基础:22.对称矩阵的对角化
  • LKT4202UGM新一代安全认证加密芯片,守护联网设备和服务安全
  • LeetCode --- 435周赛
  • Java进阶14 TCP日志枚举
  • 如何使用CSS Grid实现两列布局?
  • Tcp_socket
  • 20vue3实战-----使用echarts搭建各种图表
  • xss总结
  • HTTP的状态码