Ultralytics YOLO27:
返回 Ultralytics 术语表

Recurrent Neural Network (RNN)

探索循环神经网络(RNN)如何利用记忆处理序列数据。了解 RNN 架构、NLP 应用和 PyTorch 实现。

循环神经网络 (RNN) 是一种专门设计用于识别数据序列中模式的人工神经网络,这些数据可以是文本、基因组、手写内容或语音。与假设所有输入和输出彼此独立的传统前馈网络不同,RNN 保留了一种记忆形式。这种内部记忆使其能够在理解先前信息的基础上处理输入,因此特别适合上下文和时间顺序至关重要的任务。这种架构模拟了人类处理信息的方式——例如,阅读句子需要记住前面的单词,才能理解当前的单词。

RNN 的工作原理#

RNN 的核心创新在于其循环结构。在标准前馈网络中,信息只沿一个方向流动:从输入到输出。相比之下,RNN 具有反馈循环,使信息能够持续存在。当网络处理序列时,它会维护一个“隐藏状态”——一个充当网络短期记忆的向量。在每个时间步,RNN 都会接收当前输入和前一个隐藏状态,生成输出,并更新下一步所需的隐藏状态。

这种顺序处理能力对于自然语言处理 (NLP)时间序列分析至关重要。不过,标准 RNN 往往会因梯度消失问题而难以处理长序列:随着序列增长,网络会遗忘较早的输入。这一限制促成了更先进变体的开发,例如长短期记忆 (LSTM)网络和门控循环单元 (GRUs),它们引入了更好地调节较长时间范围内信息流的机制。

实际应用#

循环神经网络通过使机器能够理解序列数据,改变了许多行业。以下是两个突出示例:

  1. 机器翻译:Google 翻译等服务最初在很大程度上依赖基于 RNN 的架构(具体来说是序列到序列模型)将文本从一种语言转换为另一种语言。网络会读取完整的输入句子(例如英语句子)并构建上下文向量,然后逐词生成翻译输出(例如法语),确保语法一致性。

  2. 预测输入和自动纠错:当你在智能手机上输入文字时,键盘会建议下一个最可能出现的单词。这通常由使用 RNN 训练的语言模型驱动。模型会分析你已经输入的单词序列,预测最可能出现的下一个单词,从而提高输入速度和准确性。语音识别系统也采用类似逻辑,将语音音频转录为文本。

RNN 与 CNN 和 Transformer 的比较#

将 RNN 与其他主要架构区分开来会很有帮助。卷积神经网络 (CNN)主要为图像等空间数据而设计,通过处理像素网格来识别形状和对象。例如,Ultralytics YOLO26使用强大的 CNN 主干网络进行实时目标检测。CNN 擅长回答“这张图像中有什么?”,而 RNN 则擅长回答“这段视频接下来会发生什么?”。

最近,Transformer架构在许多复杂的 NLP 任务中已基本取代 RNN。Transformer 使用注意力机制并行处理完整序列,而不是按顺序处理。不过,对于特定的低延迟、资源受限型流式应用,RNN 仍然非常高效;在边缘设备上部署简单的时间序列预测任务时,RNN 也更为简单。

PyTorch 实现示例#

尽管现代计算机视觉任务通常依赖 CNN,但混合模型可能会使用 RNN 分析从视频帧中提取的时间特征。下面是一个使用 PyTorch 创建基础 RNN 层并处理数据序列的简单可运行示例。

import torch
import torch.nn as nn

# Define a basic RNN layer
# input_size: number of features in the input (e.g., 10 features per time step)
# hidden_size: number of features in the hidden state (memory)
# batch_first: input shape will be (batch, seq, feature)
rnn = nn.RNN(input_size=10, hidden_size=20, num_layers=1, batch_first=True)

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

# Forward pass through the RNN
# output contains the hidden state for every time step
# hn contains the final hidden state
output, hn = rnn(input_seq)

print(f"Output shape: {output.shape}")  # Expected: torch.Size([1, 5, 20])
print(f"Final hidden state shape: {hn.shape}")  # Expected: torch.Size([1, 1, 20])

挑战与未来展望#

尽管 RNN 很有用,但仍面临计算方面的挑战。顺序处理限制了并行化,因此与 Transformer 相比,在GPU上训练速度更慢。此外,处理梯度爆炸问题需要仔细进行超参数调优,并采用梯度裁剪等技术。

尽管如此,RNN 仍然是深度学习 (DL)中的基础概念。RNN 对于理解人工智能 (AI)的发展历程至关重要,并且仍广泛用于物联网传感器的简单异常检测系统。对于构建复杂流水线的开发者而言——例如将视觉模型与序列预测器结合——管理数据集和训练工作流至关重要。Ultralytics Platform简化了这一过程,提供了用于管理数据并在各种环境中高效部署模型的工具。

Explore solutions

用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多
用于航拍影像的计算机视觉

用于航拍影像的计算机视觉

使用 Ultralytics YOLO 将无人机和航拍影像转化为针对农业、水产养殖、环境监测、自然保护及地理空间分析的实时洞察。
了解更多
航空航天中的计算机视觉

航空航天中的计算机视觉

借助 Ultralytics YOLO 模型将视觉 AI 引入空中监测。使用计算机视觉解决方案赋能无人机、航空航天工作流、环境保护与地理空间行业。
了解更多

使用 Ultralytics YOLO 模型保护每个站点。视觉 AI 赋能周界监控、威胁检测、车牌识别和工作场所安全。
了解更多
机器人计算机视觉

机器人计算机视觉

借助 Ultralytics YOLO 模型打造更智能的机器。机器人技术中的视觉 AI 可实现自主导航、感知、目标跟踪和实时控制。
了解更多
物流计算机视觉

物流计算机视觉

使用 Ultralytics YOLO 模型提升物流效率。视觉 AI 可实现包裹检测、分拣、车辆跟踪和仓库安全实时监控。
了解更多
零售计算机视觉

零售计算机视觉

使用 Ultralytics YOLO 模型重新构想零售。视觉 AI 为库存跟踪、货架监控、队列管理和更智能的客户洞察提供支持。
了解更多
医疗领域的计算机视觉

医疗领域的计算机视觉

使用 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可实现更快的医学影像处理、更智能的诊断和患者监护。
了解更多
制造业中的计算机视觉

制造业中的计算机视觉

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 可推动质量控制、缺陷检测、PPE 合规和装配线自动化。
了解更多
汽车行业中的计算机视觉

汽车行业中的计算机视觉

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

农业中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 带入智能农业。为作物监测、牲畜追踪和精准农业提供支持,提升产量与智能化水平。
了解更多

让我们共同构建 AI 的未来!

开启你的机器学习未来之旅