Векторный поиск
Узнайте, как векторный поиск революционизирует искусственный интеллект, обеспечивая семантическое сходство при извлечении данных для NLP, визуального поиска, систем рекомендаций и многого другого!
Векторный поиск - это сложная техника поиска информации, которая позволяет выявить похожие элементы в наборе данных на основе
на основе их математических характеристик, а не точного совпадения ключевых слов. Представляя данные - такие как текст, изображения или
аудио - в виде высокоразмерных числовых векторов, известных как
вкраплениями, этот метод позволяет компьютерам понимать
контекст и семантический смысл запроса. В отличие от традиционного
поиска по ключевым словам, который основывается на совпадении конкретных слов,
векторный поиск вычисляет близость между элементами в многомерном пространстве, что позволяет ему возвращать релевантные
результаты, даже если фразы отличаются друг от друга. Эта возможность является основополагающей для современного
искусственного интеллекта (ИИ) и
систем машинного обучения (ML), особенно при
при работе с неструктурированными данными, такими как видеопоток и
естественный язык.
Как работает векторный поиск
Основной механизм векторного поиска заключается в преобразовании исходных данных в числовой формат, удобный для поиска. Этот процесс
опирается на модели глубокого обучения для выполнения
извлечения признаков, преобразуя входные данные в
векторные вложения.
-
Векторизация: Модель ML, такая как современная модель
YOLO11обрабатывает изображение или текст и выдает на выходе вектор - длинный список чисел, представляющий особенности объекта (например, формы, цвета или семантические понятия).
длинный список чисел, представляющий характеристики объекта (например, формы, цвета или семантические понятия).
-
Индексирование: Эти векторы эффективно организованы, часто в специальной
Векторная база данных позволяет быстро находить информацию.
-
Вычисление сходства: Когда пользователь отправляет запрос, система преобразует его в вектор
и измеряет его расстояние до хранящихся векторов, используя такие метрики, как
косинусное сходство или
Евклидово расстояние.
-
Извлечение: Система определяет и возвращает "ближайших соседей", или векторы, которые
математически наиболее близкие к запросу, часто используя
приближенные ближайшие соседи (ANN)
алгоритмы для масштабируемости при работе с большими массивами данных.
Применение в реальном мире
Векторный поиск определяет многие интеллектуальные функции, с которыми пользователи взаимодействуют ежедневно, и охватывает различные отрасли - от коммерции до безопасности.
электронной коммерции до безопасности.
-
Визуальные открытия в розничной торговле: В
ИИ в розничной торговле, векторный поиск позволяет использовать функции "магазин
look". Если пользователь загружает фотографию кроссовок, система использует
компьютерное зрение для создания вставки и
находит визуально похожие товары в каталоге, эффективно функционируя как
рекомендательная система, основанная на стиле, а не на
а не на названиях товаров.
-
Модерация контента и безопасность: Платформы используют векторный поиск для
обнаружения аномалий, сравнивая новые загрузки
с базой данных известного незаконного контента или угроз безопасности. Сопоставляя семантические особенности изображения или
видео, система может отметить потенциально опасный контент, даже если он был слегка изменен, что повышает безопасность данных.
безопасность данных.
Пример на Python : Генерация вкраплений
Первым шагом в любом конвейере векторного поиска является генерация вкраплений. Следующий фрагмент кода демонстрирует, как
получения векторов признаков из изображения с помощью функции
Ultralytics Python и предварительно обученной модели.
from ultralytics import YOLO
# Load the official YOLO11 model
model = YOLO("yolo11n.pt")
# Generate embeddings for an image file or URL
# The 'embed' method returns the high-dimensional feature vector
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Print the shape of the resulting embedding vector
print(f"Embedding vector shape: {results[0].shape}")
Векторный поиск и смежные концепции
Чтобы эффективно внедрять такие системы, полезно отличать векторный поиск от близких по смыслу терминов в
науке о данных.
-
Векторный поиск против семантического поиска: Семантический поиск - это более широкая концепция понимания намерений и смысла пользователя. Векторный поиск - это конкретный
метод, используемый для достижения этой цели путем вычисления математической близости векторов. В то время как семантический поиск
описывает "что" (нахождение смысла), векторный поиск описывает "как" (использование вкраплений и
метрики расстояния).
-
Векторный поиск по сравнению с векторной базой данных: Векторная база данных - это специализированная инфраструктура, используемая для хранения и индексации вкраплений. Векторный поиск - это
действие или процесс запроса к этой базе данных для поиска похожих элементов. Вы используете векторную базу данных, чтобы
эффективного выполнения векторного поиска.
-
Векторный поиск в сравнении с естественной обработкой языка.
Обработка естественного языка (NLP): НЛП фокусируется на взаимодействии между компьютерами и человеческим языком. В то время как модели НЛП (например, трансформеры)
часто используются для создания вкраплений текста, векторный поиск - это механизм поиска, который воздействует на эти вкрапления.
вкраплениями.
Используя скорость
скорость выводов в реальном времени и глубину глубокого
векторный поиск позволяет приложениям выйти за рамки жестких баз данных и предложить интуитивно понятный,
человекоподобный опыт поиска. Будь то реализация
обнаружение объектов для инвентаризации или создание
чатбота с улучшенным контекстом, векторный поиск является
основополагающий инструмент в арсенале современного разработчика ИИ.