Few-Shot Learning
探索小样本学习(FSL),用极少数据训练 AI。了解 Ultralytics YOLO26 如何利用元学习实现快速适应和高准确率。
小样本学习(FSL)是机器学习(ML)的一个专门分支,旨在使用极少量带标签的示例训练模型,使其能够识别和分类新概念。在传统的深度学习(DL)中,要实现高准确率通常需要海量数据集,每个类别包含数千张图像。然而,FSL模拟了人类从有限经验中快速泛化的认知能力——就像孩子只看过书中一两张长颈鹿的图片后,就能认出长颈鹿一样。这种能力对于在收集大量训练数据成本过高、耗时过长或实际上无法实现的场景中部署人工智能(AI)至关重要。
小样本学习的核心机制#
FSL的主要目标是利用先验知识,减少对大规模数据收集的依赖。模型不是从零开始学习模式,而是利用包含少量带标签示例的“支持集”来理解新类别。这通常通过元学习等先进技术实现,也称为“学习如何学习”。在这种范式中,模型会在各种任务上进行训练,从而学习出最佳初始化方式或更新规则,使其只需进行最少调整就能适应新任务。
另一种常见方法是基于度量的学习,模型利用嵌入将输入数据映射到向量空间中。在这个空间内,相似项目会聚集在一起,而不相似的项目则会彼此远离。原型网络等算法会为每个类别计算均值表示,即原型,并根据新查询样本与这些原型之间的距离对其进行分类。这通常依赖于模型在更大规模的通用数据集上预训练期间形成的特征提取能力。
实际应用#
小样本学习正在改变以往因数据稀缺而阻碍人工智能技术应用的行业。
医学成像与诊断#
在医学图像分析领域,为罕见病理获取数千张带标签的扫描图像通常并不可行。FSL使研究人员能够仅使用少量经过标注的病例研究,训练计算机视觉(CV)系统来检测罕见肿瘤类型或特定遗传异常。这种能力让更多人能够使用先进的诊断工具,这是斯坦福医学等机构一直追求的目标,并有助于识别原本需要专业人类专家才能发现的病症。
工业质量控制#
现代制造业中的人工智能高度依赖自动化检测。然而,某些特定缺陷可能极少出现,因此很难构建包含大量“有缺陷”零件的数据集。FSL使异常检测系统能够仅通过少量图像学习新缺陷类型的特征。这样,工厂操作人员无需停止生产来收集数据,就能快速更新质量保证流程,从而显著提高动态生产环境中的效率。
区分相关概念#
要理解FSL的具体定位,可以将其与类似的低数据学习范式区分开来:
- **迁移学习:**FSL通常作为迁移学习的一种具体且极端的形式实现。标准迁移学习可能会使用数百张图像对YOLO26等模型进行微调,而FSL面向的场景可能每个类别只有5到10张图像(称为“N-way K-shot”分类)。
- **单样本学习:**这是FSL的严格子集,模型必须恰好从一个带标签的示例中学习。它常用于人脸识别,通过与一张存储的照片进行比对来验证身份。
- **零样本学习:**与至少需要一个小型视觉支持集的FSL不同,零样本学习在训练期间不需要目标类别的任何视觉示例。相反,它依赖语义描述或属性(如文本提示)来识别未见过的对象。
使用 Ultralytics 进行实际实现#
在实践中,实现小样本学习最有效的方法之一是利用高度稳健的预训练模型。像较新的YOLO26这样的先进模型,已经从COCO或ImageNet等海量数据集中学习到丰富的特征表示。通过在极小的自定义数据集上对这些模型进行微调,它们可以以出色的速度和准确率适应新任务。
下面的 Python 示例演示了如何使用ultralytics包在小型数据集上训练模型,从而有效地执行小样本适配:
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (incorporates learned features)
model = YOLO("yolo26n.pt")
# Fine-tune on a tiny dataset (e.g., coco8 has only 4 images per batch)
# This leverages the model's prior knowledge for the new task
results = model.train(data="coco8.yaml", epochs=20, imgsz=640)
# The model adapts to detect objects in the small dataset
print("Few-shot adaptation complete.")挑战与未来展望#
尽管功能强大,FSL在可靠性方面仍面临挑战。如果提供的少量示例属于离群值或包含噪声,模型性能可能会下降,这一问题称为过拟合。对数据增强和合成数据生成的研究对于降低这些风险至关重要。随着基础模型变得更大、更强大,以及Ultralytics Platform等工具简化模型训练和管理流程,开发者在全球范围内使用极少数据创建自定义人工智能解决方案的能力将越来越容易获得。









