Глоссарий

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

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

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

Узнай больше

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

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

Как правило, этот процесс включает в себя несколько ключевых этапов:

  1. Генерация вкраплений: Данные преобразуются в высокоразмерные векторы (эмбеддинги) с помощью предварительно обученных моделей глубокого обучения (DL), таких как BERT для текста или Vision Transformers (ViT) для изображений. Эти модели обучаются на огромных наборах данных, чтобы выучить осмысленные представления. Например, Ultralytics YOLO модели Ultralytics YOLO, в первую очередь известные для обнаружения объектов, также генерируют векторы признаков, которые потенциально могут быть адаптированы для задач визуального поиска.
  2. Индексирование: Сгенерированные векторы хранятся и индексируются в специализированной векторной базе данных. Эти базы данных оптимизированы для эффективного запроса к высокоразмерным данным и часто используют алгоритмы приближенных ближайших соседей (ANN), такие как HNSW (Hierarchical Navigable Small World) или ScaNN (Scalable Nearest Neighbors). Методы ANN обменивают небольшую точность на значительное повышение скорости, что делает векторный поиск целесообразным для больших наборов данных.
  3. Запросы: Когда поступает поисковый запрос (например, текстовая фраза или изображение), он сначала преобразуется в тот же векторный формат с помощью той же модели встраивания.
  4. Вычисление сходства: Затем база данных векторов просматривает свой индекс, чтобы найти векторы, наиболее похожие на вектор запроса, на основе выбранной метрики расстояния (например, косинусное сходство, евклидово расстояние, точечное произведение).
  5. Извлечение: В качестве результатов поиска возвращаются предметы, соответствующие наиболее близким векторам.

Ключевые концепции и технологии

  • Векторные вкрапления: Числовые представления, передающие семантический смысл. Модели изучают их в процессе обучения на больших наборах данных, таких как ImageNet.
  • Векторные базы данных: Такие системы, как Pinecone, Weaviate, Milvus и Chroma DB, предназначены для хранения и запроса векторов.
  • Метрики сходства: Математические функции (например, косинусное сходство, евклидово расстояние), используемые для измерения "близости" между векторами.
  • Приблизительный ближайший сосед (ANN): Алгоритмы, которые эффективно находят вероятных ближайших соседей, что очень важно для производительности в больших масштабах. Библиотеки вроде Faiss (Facebook AI Similarity Search) предоставляют свои реализации.
  • Снижение размерности: Такие техники, как PCA (анализ главных компонент), иногда можно использовать для уменьшения размерности вектора, что потенциально ускоряет поиск ценой некоторой потери информации.

Применение в реальном мире

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

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

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

Основное различие заключается в том, как определяется сходство:

  • Поиск по ключевым словам: Подбирает точные слова или фразы, используя такие приемы, как инвертированные индексы. Он борется с синонимами, контекстом и вариациями языка.
  • Векторный поиск: Сопоставляет на основе семантического сходства, запечатленного в векторных вкраплениях. Он может находить релевантные результаты, даже если точные ключевые слова не совпадают, понимая основное намерение или концепцию.

Хотя векторный поиск предлагает более тонкие результаты, он требует значительных вычислительных ресурсов для генерации вкраплений и индексирования, которые часто эффективно управляются с помощью таких платформ, как Ultralytics HUB, для управления моделями и наборами данных. Современные системы часто сочетают в себе как поиск по ключевым словам, так и векторный поиск (гибридный поиск), чтобы использовать сильные стороны каждого подхода. Ты можешь изучить различные учебники и руководства, чтобы понять, как в этих системах применяются такие смежные понятия, как развертывание моделей и показатели производительности.

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