Глоссарий

Векторный поиск

Узнай, как векторный поиск революционизирует ИИ, обеспечивая семантическое сходство при поиске данных для NLP, визуального поиска, рекомендательных систем и многого другого!

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

Векторный поиск - это мощная техника, используемая в искусственном интеллекте (ИИ) и машинном обучении (МЛО) для поиска элементов данных на основе их концептуального сходства, а не точного совпадения ключевых слов. Вместо того чтобы искать текст, содержащий конкретные слова, векторный поиск позволяет системам получать информацию - изображения, документы или звуки, - которая семантически связана или контекстуально похожа на запрос. Этот метод является основополагающим для многих современных приложений ИИ, обеспечивая более интуитивный и похожий на человеческий поиск информации.

Понимание векторных вкраплений

Основная концепция векторного поиска - это векторные вкрапления. Данные, будь то текст, изображения, аудио или другие типы, преобразуются в числовые представления, называемые векторами, с помощью моделей встраивания. Эти векторы существуют в высокоразмерном пространстве, где элементы с похожими значениями или характеристиками располагаются рядом друг с другом. Например, в обработке естественного языка (NLP) такие модели, как BERT, преобразуют предложения в векторы, гарантируя, что предложения, передающие похожие идеи, имеют близкие векторные представления. Аналогично, в компьютерном зрении (КВ) такие модели, как Ultralytics YOLO могут генерировать векторы признаков для изображений, обеспечивая визуальное сравнение сходства. После того как данные вложены, алгоритмы векторного поиска используют метрики расстояния, такие как косинусное сходство или евклидово расстояние, для количественной оценки "близости" между векторами. Запрос (также преобразованный в вектор) сравнивается с векторами в базе данных, и в качестве результатов поиска возвращаются элементы, соответствующие ближайшим векторам.

Как работает векторный поиск

Реализация векторного поиска обычно включает в себя следующие шаги:

  1. Генерация вкраплений: Преобразуй свой набор данных (изображения, текст и т. д.) в векторные вкрапления, используя предварительно обученную или настраиваемую модель.
  2. Индексирование: Храни эти векторы в специализированной базе данных векторов или индексе, предназначенном для эффективного поиска сходства. В качестве примера можно привести Pinecone и Milvus.
  3. Запросы: Преобразуй поисковый запрос (например, изображение или текстовую фразу) в вектор, используя ту же модель встраивания.
  4. Поиск: Используй алгоритм вроде поиска ближайших соседей (Approximate Nearest Neighbor, ANN), чтобы эффективно найти в индексе векторы, которые ближе всего к вектору запроса на основе выбранной метрики расстояния.
  5. Извлечение: Верни исходные элементы данных, соответствующие найденным ближайшим векторам.

Применение векторного поиска

Векторный поиск позволяет создавать широкий спектр сложных приложений для искусственного интеллекта:

  • Рекомендательные системы: Платформы вроде Netflix или Spotify представляют пользователей и предметы (фильмы, песни) в виде векторов. Векторный поиск находит предметы, чьи векторы близки к вектору пользователя (представляющему его предпочтения), что приводит к созданию персонализированных рекомендаций.
  • Визуальный поиск: Сайты электронной коммерции позволяют пользователям загружать изображение понравившегося товара. Система преобразует изображение в вектор и использует векторный поиск, чтобы найти визуально похожие продукты в инвентаре. Это в значительной степени зависит от эффективных вкраплений распознавания изображений. Инструменты в составе таких платформ, как Ultralytics HUB, помогут управлять наборами данных, используемыми для обучения моделей для таких задач.
  • Семантический поиск: Усовершенствование поисковых систем или чат-ботов для понимания смысла, скрывающегося за запросами. Вместо соответствия ключевым словам векторный поиск находит документы или ответы, которые контекстуально релевантны. Это очень важно для таких функций, как Ultralytics Explorer, которая позволяет искать в наборах данных, используя естественный язык.
  • Обнаружение аномалий: В кибербезопасности или при обнаружении мошенничества нормальные модели поведения можно представить в виде кластеров векторов. Векторный поиск может выявить точки данных (потенциальные аномалии), которые находятся далеко за пределами этих кластеров.
  • Системы ответов на вопросы: Поиск релевантных отрывков в большой базе знаний для ответа на вопросы пользователя, часто используется как часть систем Retrieval-Augmented Generation (RAG).

Векторный поиск против семантического поиска

Хотя их часто используют вместе, векторный поиск и семантический поиск - это разные понятия. Под семантическим поиском понимается цель понять намерения пользователя и контекстуальное значение его запроса, чтобы предоставить релевантные результаты. Векторный поиск - это метод или механизм, часто используемый для реализации семантического поиска. Он достигает семантической релевантности, находя элементы, которые "близки" в векторном пространстве, где близость представляет собой семантическое сходство. Таким образом, векторный поиск - это движок, на котором работают многие приложения для семантического поиска, оперируя векторными вкраплениями, которые передают смысл. Продвинутые модели вроде YOLO используют эти концепции для обнаружения объектов с открытым словарным запасом.

Читать полностью