Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Sequence-to-Sequence Models

序列到序列 (seq2seq) 模型会将输入序列映射为长度不同的输出序列,常用于翻译、摘要或语音处理。

序列到序列 (seq2seq) 模型会将一个序列转换成另一个序列,且两个序列的长度可以不同,例如把英文句子翻译成法文、把长篇文章缩写成摘要,或把音频片段转换成转录文本。大多数模型采用编码器-解码器架构:编码器读取整个输入并生成内部表示,解码器则依据这些表示以及已经生成的词元,逐个生成输出词元。这种方法于 2014 年形成现代形态:Google 的 Sutskever、Vinyals 和 Le 发表了《使用神经网络进行序列到序列学习》,Cho 等人则为机器翻译介绍了RNN 编码器-解码器。自 2017 年以来,大多数 seq2seq 模型都基于 Transformer构建。

Seq2Seq 模型的工作原理#

在 2014 年的模型中,编码器长短期记忆 (LSTM)网络逐词读取源句子,并将其压缩为一个固定长度向量;解码器 LSTM 则将这个向量展开为译文。Sutskever 等人使用了四层 LSTM,发现颠倒源句中词语的顺序能让训练更容易,并在 WMT'14 英译法测试集上取得了 34.8 的 BLEU 分数。将每个句子压缩进一个向量会损害长输入的效果,因此 Bahdanau、Cho 和 Bengio 在《通过联合学习对齐与翻译实现神经机器翻译》中加入了注意力机制,让解码器在每一步都能回看编码器的所有状态。Transformer 保留了这种编码器-解码器布局,用自注意力取代循环结构,并通过交叉注意力连接两部分。推理时,解码器会循环运行:

解码器输出结束词元时循环便会停止,因此输出长度会针对每个样本单独学习。解码通常会使用束搜索保留多个候选输出,这是机器翻译和语音识别的标准选择。

使用教师强制进行训练#

训练期间,解码器不需要循环运行。使用教师强制时,解码器接收向右移动一个位置的正确目标序列,并在一次并行前向过程中预测所有下一个词元,同时使用因果掩码确保每个位置只能看到更早的目标词元。损失是预测结果与真实下一个词元之间的交叉熵。PyTorch的 nn.Transformer实现了原始的编码器-解码器架构:

import torch
from torch import nn

torch.manual_seed(0)
src_vocab, tgt_vocab, d_model = 1000, 800, 64
embed_src, embed_tgt = nn.Embedding(src_vocab, d_model), nn.Embedding(tgt_vocab, d_model)
model = nn.Transformer(d_model, nhead=4, num_encoder_layers=2, num_decoder_layers=2, batch_first=True)
to_logits = nn.Linear(d_model, tgt_vocab)

source = torch.randint(0, src_vocab, (1, 9))  # a 9-token source sentence
target = torch.randint(0, tgt_vocab, (1, 7))  # start token + a 6-token translation

# Teacher forcing: the decoder reads the correct previous tokens and predicts every next token in parallel
decoder_input, labels = target[:, :-1], target[:, 1:]
causal_mask = nn.Transformer.generate_square_subsequent_mask(decoder_input.size(1))
logits = to_logits(model(embed_src(source), embed_tgt(decoder_input), tgt_mask=causal_mask))
loss = nn.functional.cross_entropy(logits.flatten(0, 1), labels.flatten())

print(f"Source tokens: {source.shape[1]} -> decoder logits: {tuple(logits.shape)}")
print(f"Training loss: {loss.item():.2f}")

它会打印 Source tokens: 9 -> decoder logits: (1, 6, 800):针对目标词表中的 800 个词元,对 6 个目标位置分别进行预测;这些预测根据 9 个词元的源序列一次性计算得出。未训练模型的损失为 6.73,接近 ln(800) ≈ 6.68,也就是均匀猜测的损失。训练时总是输入正确的先前词元,而推理时输入的是模型自己的猜测,因此错误可能会在推理时逐步累积,这种现象称为暴露偏差。

  • 仅编码器模型,例如 BERT:这类模型会双向读取输入,并为每个词元输出一个表示,适用于分类和标注。
  • 仅解码器大型语言模型 (LLM):GPT 等模型将输入和输出放在同一个序列中,并通过续写提示来处理 seq2seq 任务;如今大多数文本生成都采用这种方式。
  • 循环神经网络 (RNN)和 GRU:循环层用于 2014 年原始编码器和解码器的内部。Cho 等人在介绍编码器-解码器的同一篇论文中提出了门控循环单元。

应用场景#

Google 于 2016 年将 Google Translate 迁移到 GNMT系统,该系统采用 8 层 LSTM 编码器和解码器,并使用注意力机制;翻译仍是 seq2seq 最具代表性的任务。Google 的 T5将所有自然语言处理 (NLP)任务都视为文本到文本任务,包括文本摘要和问答。OpenAI 的 Whisper是用于语音识别的编码器-解码器 Transformer,使用 68 万小时音频进行训练。视觉模型也使用相同模式执行图像描述生成和光学字符识别 (OCR);Microsoft 的 Florence-2则通过一个 seq2seq 模型生成文本输出,完成图像描述、视觉定位和检测。Google 的 Pix2Seq将目标检测视为 seq2seq 任务,把每个物体表示为五个离散词元:四个量化坐标和一个类别。RT-DETR是百度开发、可在 Ultralytics 软件包中运行的实时检测器;它保留了编码器和交叉注意力解码器,但让解码器并行细化 300 个物体查询,因此所有边界框都能在一次处理中输出。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来