术语表

序列到序列模型

了解序列到序列模型如何将输入序列转换为输出序列,为翻译、聊天机器人和语音识别等人工智能任务提供动力。

序列到序列(Sequence-to-Sequence,Seq2Seq)模型是一类深度学习模型,旨在将输入序列转换为输出序列,其中输入和输出的长度可以不同。这种灵活性使它们在自然语言处理(NLP)及其他领域的各种任务中异常强大。谷歌Yoshua Bengio 实验室的研究人员在论文中提出了这一核心思想,为机器翻译等领域带来了革命性的变化。

Seq2Seq 模型的工作原理

Seq2Seq 模型建立在编码器-解码器结构之上。这种结构使模型能够有效处理变长序列。

  • 编码器:该组件处理整个输入序列,例如一个英语句子。它一次读取序列中的一个元素(如逐字读取),并将信息压缩为固定长度的数字表示,称为上下文向量或 "思维向量"。传统上,编码器是递归神经网络(RNN)或更先进的变体,如长短时记忆(LSTM),它擅长捕捉序列信息。

  • 解码器:该组件将编码器的上下文向量作为初始输入。它的工作是逐个元素生成输出序列。例如,在翻译任务中,它将逐字生成翻译后的句子。每一步的输出都会反馈到下一步的解码器中,使其生成一个连贯的序列。这一过程一直持续到生成特殊的序列结束标记为止。注意力机制是显著提高 Seq2Seq 性能的一项关键创新,它允许解码器在生成输出的同时回看原始输入序列的不同部分。

Seq2Seq 模型的应用

将可变长度输入映射到可变长度输出的能力使 Seq2Seq 模型具有高度通用性。

  • 机器翻译这是典型的应用。一个模型可以将一种语言的句子(如 "你好吗?")翻译成另一种语言的句子(如 "Wie geht es Ihnen?")。谷歌翻译等服务大量采用了这些原则。
  • 文本摘要Seq2Seq 模型可以读取长篇文章或文档(输入序列),并生成简明摘要(输出序列)。这对于将大量文本浓缩为易于消化的见解非常有用。
  • 聊天机器人和对话式人工智能:可以对模型进行训练,以便针对用户的询问或陈述(输入序列)生成相关的、符合上下文的响应(输出序列)。
  • 图像字幕:虽然这涉及计算机视觉,但原理类似。CNN作为编码器处理图像并创建上下文向量,然后解码器利用该向量生成描述性文本序列。这是一个多模式模型的例子。

Seq2Seq 与其他架构的比较

虽然基于 RNN 的 Seq2Seq 模型具有开创性,但该领域也在不断发展:

  • 标准 RNN:通常将序列映射到相同长度的序列,或对整个序列进行分类,缺乏编码器-解码器结构的灵活性,无法实现可变的输出长度。
  • 变形金刚现在,它主导着许多以前由基于 RNN 的 Seq2Seq 模型处理的 NLP 任务。它们使用自注意和位置编码来代替递归,从而实现了更好的并行化,并能更有效地捕捉长程依赖关系。不过,底层的编码器-解码器概念仍然是许多基于 Transformer 的模型的核心。由 Ultralytics 支持的百度 RT-DETR 等模型,就包含了用于对象检测的 Transformer 组件。
  • CNN主要用于网格状数据,如图像(如用于检测和分割的 Ultralytics YOLO模型),但有时也适用于序列任务。

虽然 Seq2Seq 通常指的是基于 RNN 的编码器-解码器结构,但使用中间表示将输入序列映射到输出序列的一般原理仍然是许多现代架构的核心。PyTorchTensorFlow等工具为实现传统和现代序列模型提供了构建模块。使用Ultralytics HUB 等平台可以简化整个模型部署流程,从而简化训练过程的管理。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板