Embeddings
发现嵌入 (Embeddings) 如何连接人类数据与机器逻辑。学习使用 Ultralytics YOLO26 为 AI 任务生成向量表示,并探索 Ultralytics Platform。
嵌入是离散变量的稠密、低维、连续向量表示,充当人类数据与机器逻辑之间的基本翻译器。在 人工智能 (AI) 领域中,计算机无法直观地理解混乱的 非结构化数据,例如文本、图像或音频。嵌入通过将这些输入转换为实数列表(即向量)来解决这一问题,这些向量存在于高维数学空间中。与仅为对象分配随机 ID 的传统编码不同,嵌入是通过训练学习到的,从而确保语义相似的项目(例如“国王”和“女王”这两个词,或两张不同猫的图像)在 向量空间 中位置接近。
Link to this section嵌入的工作原理#
The creation of an embedding involves feeding raw data into a neural network designed for feature extraction. During training, the model learns to compress the essential characteristics of the input into a compact numerical form. For example, a Computer Vision (CV) model analyzing a photograph doesn't just see pixels; it maps shapes, textures, and colors into a specific coordinate in a multi-dimensional graph. When measuring similarity, systems calculate the distance between these coordinates using metrics like cosine similarity or Euclidean distance. This mathematical proximity allows algorithms to perform complex tasks like classification and clustering with high efficiency.
Link to this section实际应用#
嵌入是现代软件产品中许多智能功能的引擎。
- 语义搜索:传统的搜索引擎通常依赖于精确的 关键词匹配,如果用户搜索“汽车”但文档包含“轿车”,这种方法就会失效。嵌入可以捕捉单词背后的 含义。通过将搜索查询和数据库文档表示为向量,系统可以检索到符合用户意图的结果,即使使用的具体词汇不同。
- 推荐系统:流媒体服务和电子商务网站使用嵌入来个性化用户体验。如果用户观看了一部科幻电影,系统会识别该电影的嵌入向量,并在数据库中搜索具有相近向量的其他电影。这允许根据内容相似性而非仅仅依据手动标签或类别进行精准建议。
- 零样本学习 (Zero-Shot Learning):高级模型使用联合嵌入来连接不同的模态,例如文本和图像。通过将图像嵌入与对象名称的文本嵌入关联起来,系统能够识别其在训练期间从未明确见过的对象。
Link to this section使用 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}")Link to this section嵌入与相关概念对比#
为了有效地实施 AI 解决方案,区分嵌入与密切相关的技术术语非常有帮助。
- 嵌入与 向量搜索 的区别:嵌入是数据表示本身(数字列表)。向量搜索是随后查询数据库以查找该嵌入的最近邻居的过程。专门称为 向量数据库 的工具通常用于大规模存储和搜索这些嵌入。
- 嵌入与 分词 (Tokenization) 的区别:在 自然语言处理 (NLP) 中,分词是将文本分解为较小块(词元)的初步步骤。然后将这些词元映射到嵌入。因此,分词用于准备数据,而嵌入用于表示数据的含义。
- 嵌入与 深度学习 (DL) 的区别:深度学习是基于神经网络的更广泛的机器学习领域。嵌入是深度学习架构中的特定输出或层,通常充当原始输入与模型决策层之间的桥梁。
希望管理其数据集生命周期(包括用于生成自定义嵌入的标注和模型训练)的开发者可以利用 Ultralytics Platform。这一综合工具简化了从数据管理到部署的工作流程,确保为你的应用程序提供支持的嵌入源自高质量、精心策划的数据。无论使用 PyTorch 还是 TensorFlow 等框架,掌握嵌入都是构建复杂 模式识别 系统的关键一步。






