探索零样本学习(ZSL),实现无需训练数据的classify detect classify 。了解Ultralytics YOLO实现实时开放词汇检测。
零样本学习(ZSL)是一种机器学习范式,它使人工智能模型能够识别、classify或detect 在训练阶段从未遇到的detect 。在传统的监督学习中,模型需要为每个需要识别的特定类别准备数千个标注示例。 零样本学习通过利用辅助信息——通常是文本描述、语义属性或嵌入向量——消除了这种严格依赖,从而弥合已见类别与未知类别之间的差距。这种能力使人工智能系统具备显著更强的灵活性和可扩展性,能够应对动态环境——在这些场景中,为所有可能对象收集详尽数据往往不切实际。
ZSL的核心机制在于通过共享语义空间,将知识从熟悉概念转移到陌生概念。 该模型并非仅通过记忆黑白条纹的像素图案来识别"斑马",而是学习视觉特征与语义属性(如"马形轮廓"、"条纹图案"、"四足构造")之间的关联——这些属性源自自然语言处理(NLP)技术。
该过程通常依赖于 将图像与文本表征相匹配的多模态模型。 例如,OpenAI的CLIP等基础研究 展示了模型如何通过自然语言监督学习视觉概念。 当零样本学习模型遇到未见过的物体时,它会提取视觉特征并与语义向量词典进行比对。若视觉特征与新类别的语义描述相符,模型即可正确classify 实现真正的"零样本"预测。这种方法是现代基础模型的核心,使其能够在海量任务中实现泛化能力。
零样本学习正通过使系统能够超越其初始训练数据进行泛化,推动各行业的创新发展。
Ultralytics YOLO生动展现了零样本学习的应用实例。该模型支持用户在运行时动态定义自定义类别,无需重新训练模型。这一特性通过将强大的检测骨干网络与理解自然语言的文本编码器相结合实现。
以下Python 演示了如何使用YOLO detect 未明确包含在标准训练集中的detect ,具体方法是: ultralytics 包装
from ultralytics import YOLOWorld
# Load a pre-trained YOLO-World model capable of Zero-Shot Learning
model = YOLOWorld("yolov8s-world.pt")
# Define custom classes via text prompts (e.g., specific accessories)
# The model adjusts to detect these new classes without retraining
model.set_classes(["blue backpack", "red apple", "sunglasses"])
# Run inference on an image to detect the new zero-shot classes
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
要充分理解 ZSL,最好将其与计算机视觉(CV)中使用的类似学习策略区分开来。 计算机视觉 (CV) 中使用的类似学习策略区分开来:
尽管零监督学习(ZSL)具有巨大潜力,但它面临着诸如领域转换问题等挑战——训练过程中学习到的语义属性无法完美映射到未见类别的视觉外观。此外,ZSL模型可能存在偏差问题,即已见类别的预测准确率显著高于未见类别。
斯坦福大学人工智能实验室 和IEEE计算机学会等机构的研究持续致力于突破这些局限。随着计算机视觉工具日益强大,ZSL有望成为标准功能,从而减少对海量数据标注工作的依赖。对于希望在部署高级模型前高效管理数据集的团队Ultralytics 提供了全面的数据集标注与管理工具。