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

嵌入

了解嵌入如何连接人类数据与机器逻辑。学习如何结合 Ultralytics YOLO26 生成用于AI任务的向量表示,并探索 Ultralytics 平台。

嵌入是离散变量的密集、低维、连续向量表示,是人类数据和机器逻辑之间的基本转换器。在 人工智能 (AI) 领域,计算机无法直观地理解杂乱的 非结构化数据,例如文本、图像或音频。嵌入通过将这些输入转换为实数列表(称为向量)来解决此问题,这些向量存在于高维数学空间中。与可能仅为对象分配随机 ID 的传统编码不同,嵌入是通过训练学习的,确保语义相似的项(例如“国王”和“女王”等词,或两只不同猫的图像)在 向量空间 中彼此靠近。

嵌入式如何工作

嵌入的创建涉及将原始数据输入到旨在进行 特征提取神经网络 中。在训练期间,模型学习将输入的本质特征压缩成紧凑的数值形式。例如,分析照片的 计算机视觉 (CV) 模型不仅仅看到像素;它将形状、纹理和颜色映射到多维图中的特定坐标。在衡量相似性时,系统使用 余弦相似度欧几里得距离 等指标计算这些坐标之间的距离。这种数学上的接近性使得算法能够高效地执行分类和聚类等复杂任务。

实际应用

嵌入是现代软件产品中许多智能功能的引擎。

  • 语义搜索: 传统搜索引擎通常依赖于精确的 关键词匹配,如果用户查询“auto”但文档包含“car”,则会失败。嵌入捕获了词语背后的 含义。通过将搜索查询和数据库文档表示为向量,系统可以检索与用户意图匹配的结果,即使具体词语不同。
  • 推荐系统:流媒体服务和电子商务网站使用嵌入来个性化用户体验。如果用户观看了一部科幻电影,系统会识别该电影的嵌入向量,并在数据库中搜索具有相似向量的其他电影。这使得基于内容相似性而非仅仅手动标签或类别进行准确推荐成为可能。
  • 零样本学习: 高级模型使用联合嵌入来连接不同的模态,例如文本和图像。这使得系统能够通过将图像嵌入与对象名称的文本嵌入相关联,来识别在训练期间从未明确见过的对象。

使用 python 生成嵌入

诸如 YOLO26 之类的最先进模型可以有效地生成鲁棒的图像嵌入。以下示例展示了如何使用 ultralytics Python 软件包。

from ultralytics import YOLO

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

# Generate embeddings for an image
# The embed() method returns the feature vector representing the image content
embedding_vector = model.embed("https://ultralytics.com/images/bus.jpg")

# Print the shape of the embedding (e.g., a vector of length 1280)
print(f"Embedding shape: {embedding_vector[0].shape}")

嵌入与相关概念

为了有效实施AI解决方案,区分嵌入与密切相关的技术术语是很有帮助的。

  • 嵌入(Embeddings)与向量搜索:嵌入是数据本身的表示(数字列表)。向量搜索是后续查询数据库以查找该嵌入的最近邻的过程。通常使用称为向量数据库的专用工具来大规模存储和搜索这些嵌入。
  • 嵌入(Embeddings)与分词(Tokenization):在自然语言处理 (NLP)中,分词是将文本分解成更小块(词元)的初步步骤。这些词元随后被映射到嵌入。因此,分词是数据准备,而嵌入则代表数据的含义。
  • 嵌入(Embeddings)与深度学习:深度学习是基于神经网络的更广泛的机器学习领域。嵌入是深度学习架构中的特定输出或层,通常作为原始输入与模型决策层之间的桥梁。

希望管理数据集生命周期(包括用于生成自定义嵌入的标注和模型训练)的开发者可以使用 Ultralytics Platform。这个综合工具简化了从数据管理到部署的工作流程,确保为您的应用程序提供支持的嵌入来自高质量、精心整理的数据。无论是使用 PyTorch 还是 TensorFlow 等框架,掌握嵌入都是构建复杂 模式识别 系统的关键一步。

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

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