深圳Yolo 视觉
深圳
立即加入
词汇表

One-Shot Learning (单样本学习)

探索 One-Shot Learning 的强大功能,这是一种革命性的人工智能技术,使模型能够从最少的数据中进行泛化,从而应用于实际场景。

单次学习 (OSL) 是机器学习 (ML) 中的一种复杂方法。 机器学习(ML)中的一种复杂方法。 在这种方法中,模型的设计目的是在只有一个标注示例的情况下识别新对象并对其进行分类。与传统的 深度学习(DL)方法需要庞大的 传统的深度学习(DL)方法需要大量的训练数据才能达到高精度。 相比,OSL 模拟了人类的认知能力,只需看过一次就能立即掌握新概念。这种 对于那些 数据标注昂贵、数据稀缺或新类别动态出现的应用来说尤为重要。 类别会动态出现,例如在身份验证或识别罕见异常情况时。

一次性学习的机制

OSL 背后的核心机制是将问题从分类转向差异评估。系统不是 训练模型来记忆特定类别(如 "猫 "与 "狗"),而是学习一个 相似性函数。这通常是通过 神经网络 (NN)架构来实现。 连体网络。连体网络利用相同的子网络,共享相同的 模型权重来同时处理两个不同的输入图像。 同时进行处理。

在此过程中,网络会将高维输入(如图像)转换为紧凑的低维向量 称为嵌入。如果两张图像属于 同一类,网络就会被训练成在向量空间中将它们的嵌入定位靠拢。相反,如果 不同,它们的嵌入向量就会被推开。这一过程在很大程度上依赖于有效的 特征提取来捕捉物体的独特本质。 物体的独特本质。在推理过程中,将新图像的嵌入与存储的单个 "镜头 "进行比较,从而对图像进行分类。 "镜头 "进行比较,从而对新图像进行分类。 欧氏距离或余弦相似度。

下面的Python 代码段说明了如何使用 YOLO11提取嵌入并计算已知 "镜头 "与新查询图像之间的相似性。

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Extract embeddings for a 'shot' (reference) and a 'query' image
# The model returns a list of results; we access the first item
shot_result = model.embed("reference_image.jpg")[0]
query_result = model.embed("test_image.jpg")[0]

# Calculate Cosine Similarity (1.0 = identical, -1.0 = opposite)
# High similarity suggests the images belong to the same class
similarity = np.dot(shot_result, query_result) / (np.linalg.norm(shot_result) * np.linalg.norm(query_result))

print(f"Similarity Score: {similarity:.4f}")

区分相关的学习范式

要理解 OSL,就必须将其与其他低数据学习技术区分开来。虽然它们的共同目标是 但它们的限制条件却大不相同:

  • 快速学习(FSL)这 是包括 OSL 在内的更广泛的类别。在 FSL 中,为模型提供了一小部分示例--通常是每堂课 2 到 5 个。 每堂课 2 到 5 个。OSL 只是 FSL 的最极端情况,在这种情况下,示例的数量($k$)等于 个。
  • 零点学习(ZSL)ZSL 通过要求模型识别它从未直观看到过的类别,将数据稀缺性向前推进了一步。它依靠 语义搜索和元数据,将可视化特征与文本描述关联起来(例如 视觉特征与文本描述相关联(例如,通过知道 "斑马 "看起来像 "条纹马 "来识别 "斑马")。 "条纹马")。
  • 迁移学习这 这涉及到在一个海量数据集上预先训练一个模型,如 ImageNet上预先训练好的模型,然后 在较小的特定任务数据集上其进行微调。 虽然迁移学习降低了对数据的要求,但通常仍需要一个以上的示例,以防止过度拟合。 过度拟合

实际应用

一键式学习使 人工智能 (AI) 在重新训练模型不切实际的动态环境中发挥作用。

  1. 面部识别最常见的 最常见的用例是生物识别安全。当用户在智能手机上注册脸部信息时,设备会捕捉到一个单一的参考表示("一帧")。 单个参考表示("一枪")。随后,系统利用 OSL 原理,通过比较存储的数据来验证用户身份。 将实时图像与存储的参考图像进行比较,从而验证用户的身份,大大提高了数据安全性。 数据安全性。这种方法在 Google的 FaceNet 论文等研究推广了这种方法。 损失进行嵌入学习。
  2. 工业质量控制:在制造业中,缺陷可能极为罕见,而且种类繁多。很难 很难收集到大量的破损零件数据集来进行 传统训练。OSL 允许 计算机视觉系统从一张参考图像中学习 完美 "零件的外观。在嵌入空间中出现明显偏差的任何部件 都会被标记为异常检测事件、 这样,新生产线就能立即得到质量保证。

挑战与未来展望

尽管 "一次学习 "模型非常实用,但它在泛化方面也面临着挑战。因为该模型 由于该模型是从单个实例中推断类别的,因此很容易受到该参考图像中的噪声或异常值的影响。研究人员通常采用 学习,或 "学习学习",以提高这些模型的稳定性。 提高这些模型的稳定性。像 PyTorchTensorFlow等框架正在不断发展,以支持这些先进的 架构。此外,结合 合成数据有助于增强单次拍摄、 为模型的学习提供更强大的表征。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入