深圳Yolo 视觉
深圳
立即加入
词汇表

序列到序列模型

了解序列到序列(Seq2Seq)模型如何驱动翻译与自然语言处理。探索编码器-解码器架构、Transformers模型,以及Ultralytics 集成方案。

序列到序列(Seq2Seq)模型是一类强大的机器学习架构,旨在将一个领域的序列转换为另一个领域的序列。 与输入输出长度固定的标准图像分类任务不同,Seq2Seq模型擅长处理长度可变的输入和输出。这种灵活性使其成为众多现代自然语言处理(NLP)应用的核心架构,例如翻译和摘要生成——在这些任务中,输入句子的长度并不必然决定输出句子的长度。

核心架构和功能

Seq2Seq模型的基本结构依赖于编码器-解码器框架。该架构将模型划分为两个主要组件,它们协同工作以处理序列数据。

  • 编码器:该组件逐个元素处理输入序列(English 句子English 音频帧序列),将信息压缩为固定长度的上下文向量(亦称隐藏状态)。在传统架构中,编码器通常采用 循环神经网络(RNN) 长短期记忆网络(LSTM) 构建,这些网络旨在跨时间步长保持信息。
  • 解码器:当输入经过编码后,解码器会逐步利用上下文向量预测输出序列(例如对应的法语句子)。它通过前一预测结果影响后续预测,确保语法和语境的连续性。

早期版本主要依赖循环神经网络(RNN),而现代序列到序列(Seq2Seq)模型则主要采用 Transformer 架构。Transformer模型通过 注意力机制,使模型能够 "关注"输入序列中特定部分——无论其与当前步的距离远近—— 显著提升了长序列处理性能,其原理详见开创性论文 《Attention Is All You Need》。

实际应用

Seq2Seq模型的多功能性使其能够弥合文本分析与计算机视觉之间的鸿沟,从而实现复杂的多模态交互。

  • 机器翻译或许 最著名的应用场景是序列到序列(Seq2Seq)模型,它驱动着诸如 Google 工具。该模型接收源语言的句子,并输出目标语言的句子,能够流畅处理 语法和句式结构的差异。
  • 文本摘要这些 这些模型可以接收长文档或文章,并生成简明摘要。通过理解输入文本的核心含义 通过理解输入文本的核心含义,解码器能生成保留关键信息的较短序列,这是一种对自动新闻聚合至关重要的技术。 自动新闻聚合的重要技术。
  • 图像描述:通过融合视觉与语言能力,Seq2Seq模型能够描述图像内容。卷积神经网络(CNN)作为编码器提取视觉特征,而循环神经网络(RNN)则作为解码器生成描述性句子。这正是多模态模型的典型范例。
  • 语音识别在这些系统中 系统中,输入是一串音频信号帧,输出是一串文本字符或单词。 这项技术是 Siri 和 Alexa 等虚拟助手

代码示例:基础构建模块

尽管高级框架抽象了大部分复杂性,但理解底层机制仍大有裨益。 以下代码展示了PyTorch中基础的LSTM层: PyTorch中实现的基本LSTM层,该层通常作为传统Seq2Seq模型编码器或解码器中的递归单元。

import torch
import torch.nn as nn

# Initialize an LSTM layer (common in Seq2Seq encoders)
# input_size: number of features per time step (e.g., word embedding size)
# hidden_size: size of the context vector/hidden state
lstm_layer = nn.LSTM(input_size=10, hidden_size=20, batch_first=True)

# Create a dummy input sequence: Batch size 3, Sequence length 5, Features 10
input_seq = torch.randn(3, 5, 10)

# Pass the sequence through the LSTM
# output contains features for each time step; hn is the final hidden state
output, (hn, cn) = lstm_layer(input_seq)

print(f"Output shape: {output.shape}")  # Shape: [3, 5, 20]
print(f"Final Hidden State shape: {hn.shape}")  # Shape: [1, 3, 20]

与相关概念的比较

必须将 Seq2Seq 模型与其他架构区分开来,以了解它们的具体用途。

  • Vs.标准分类:标准分类器,例如用于基本 图像分类中使用的分类器。 (图像)映射到一个单一的类标签。相比之下,Seq2Seq 模型将序列映射到序列,允许 输出长度可变。
  • 与目标检测:诸如 Ultralytics 等模型专注于单帧内的空间检测, 识别物体及其位置。YOLO 结构化方式YOLO 图像, 而Seq2Seq模型则YOLO 时序数据处理。 但在目标追踪等任务中, 两个领域存在重叠—— 通过视频帧识别物体轨迹 涉及序列数据分析。
  • Vs.变形金刚变形金刚 Transformer架构是 Seq2Seq。最初的 Seq2Seq 模型在很大程度上依赖于 RNN 和 门控递归单元(GRU)、 Transformer 利用自我注意来并行处理序列,从而显著提高了速度和准确性。 速度和准确性都有显著提高。

在人工智能生态系统中的重要性

Seq2Seq模型从根本上改变了机器与人类语言及时间数据的交互方式。其处理序列相关数据的能力,催生了复杂的聊天机器人、自动翻译系统和代码生成工具。 对于需要处理海量数据集来训练这些模型的开发者而言Ultralytics 能有效优化数据管理与模型部署流程。随着生成式人工智能研究的深入,序列建模原理仍将是大型语言模型(LLMs)先进视频理解系统开发的核心基础。

加入Ultralytics 社区

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

立即加入