YOLO Vision 2026:
返回 Ultralytics 词汇表

Memory Bank

了解深度学习中的内存库 (Memory Bank)。探索内存库如何为对比学习、目标跟踪和视频理解存储嵌入。

内存库(Memory Bank)是机器学习算法中用于存储和引用来自过去迭代或已处理样本的信息的数据结构,有效地将模型的内存容量与其即时计算限制解耦。在深度学习 (DL)的背景下,内存库通常充当嵌入(embeddings)或特征向量的存储库。这使得模型能够对照大量先前的输入历史来比较当前的输入,而无需同时重新处理或将所有这些数据保存在活动的随机存取内存(RAM)中。通过维护一个表征缓冲区,模型可以从更广泛的上下文中学习,从而在需要长期一致性或与大型数据集进行比较的任务中提升性能。

内存库的机制#

内存库的主要功能是将可用信息扩展到当前批次大小(batch size)之外。在训练期间,随着数据流经神经网络,生成的特征表征会被推入库中。如果内存库达到其最大容量,最旧的特征通常会被移除,以为新特征腾出空间,这个过程被称为先进先出(FIFO)队列。

这种机制尤为重要,因为GPU内存是有限的。如果没有内存库,将单个图像与数百万其他图像进行比较将需要一个无法在标准硬件上容纳的批次大小。有了内存库,模型就可以存储这数百万图像的轻量级向量,并使用诸如点积或余弦相似度等相似度搜索(similarity search)技术高效地引用它们。

实际应用#

内存库已成为几个高级计算机视觉 (CV)和自然语言工作流的基石:

  • 对比学习(自监督学习): 最著名的应用之一是在对比学习(contrastive learning)中,具体如动量对比(MoCo)等算法。在这里,目标是教导模型将特定图像与许多“负”样本(不同的图像)区分开来。内存库存储了数千个负样本表征,使模型能够在不需要标注训练数据的情况下学习到鲁棒的特征。有关深入的技术细节,研究人员经常参考推广了这种方法的MoCo 论文
  • 长期目标跟踪: 在视频分析中,目标(如汽车或人)可能会被障碍物暂时遮挡。标准跟踪器可能会在此遮挡期间丢失目标的身份(ID)。高级跟踪器使用内存库来存储过去检测到的目标的视觉特征。当目标重新出现时,系统会查询内存库以重新建立正确的 ID。利用Ultralytics YOLO26进行目标跟踪(object tracking)的用户受益于在帧之间维持身份一致性的类似内部逻辑。
  • 视频理解: 为了识别跨越几秒或几分钟的动作,模型需要时间上下文。内存库充当过去帧或剪辑的缓冲区,使网络能够在处理结尾时“记住”视频开始时发生的事情。这对于准确的动作识别至关重要。

区分相关概念#

将内存库与词汇表中发现的其他存储和处理概念区分开来是有帮助的:

  • 内存库与向量数据库 两者都存储用于检索的嵌入。然而,内存库通常是一个短暂的内存中结构,在单个模型会话的训练主动推理期间动态使用。向量数据库(例如RAG中使用的数据库)是一个持久的、可扩展的存储解决方案,旨在无限期持续并服务于多个应用程序。
  • 内存库与上下文窗口 上下文窗口(在Transformer中很常见)定义了模型一次处理的最大输入序列长度(例如 32k 个 token)。内存库是一个外部缓冲区,它将压缩表征存储在活动处理窗口之外,理论上允许无限的内存深度,正如在Transformer-XL等架构中所看到的那样。
  • 内存库与批次大小 批次大小决定了为梯度更新并行处理多少个样本。内存库增加了模型为了比较目的可以“看到”的有效样本数量,而不会增加前向和后向传递的计算成本。

代码示例:模拟特征库#

以下Python代码片段使用 torch 演示了先进先出(FIFO)内存库的概念。这种结构通常用于在自定义训练循环或复杂推理任务期间维护特征向量的滚动历史记录。

import torch

# Initialize a memory bank (Capacity: 100 features, Vector Dim: 128)
# In a real scenario, these would be embeddings from a model like YOLO26
memory_bank = torch.randn(100, 128)

# Simulate receiving a new batch of features (e.g., from the current image batch)
new_features = torch.randn(10, 128)

# Update the bank: Enqueue new features, Dequeue the oldest ones
# This maintains a fixed size while keeping the memory 'fresh'
memory_bank = torch.cat([memory_bank[10:], new_features], dim=0)

print(f"Updated Memory Bank Shape: {memory_bank.shape}")
# Output: Updated Memory Bank Shape: torch.Size([100, 128])

挑战与注意事项#

虽然内存库功能强大,但它带来了“表示漂移”的挑战。由于编码器网络在每一步训练中都会发生微小变化,因此 100 步前存储在库中的特征可能已“过时”或与当前模型状态不一致。使用动量编码器(模型的缓慢更新平均值)等技术有助于缓解这个问题。

对于希望管理利用这些高级技术的的数据集版本和模型制品的团队,Ultralytics Platform提供了一个集中式平台来组织数据、跟踪实验并高效部署模型。管理特征存储和检索的复杂性对于从实验性人工智能 (AI)转向稳健的生产系统至关重要。

Explore solutions

Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多

让我们一起构建 AI 的未来!

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