Использование векторного поиска для лучшего понимания данных компьютерного зрения
Насколько плохие данные могут навредить вашему AI? Посмотрите сами:
Проблемы качества данных
Плохие данные могут саботировать ваше приложение и рабочие процессы на базе AI, оказывая серьезное влияние не только на разочарованного пользователя, но это неудивительно.
Многие из нас представляли, как используют удобство и универсальность мультимодальных large language models (LLMs), чтобы извлекать богатую информацию из изображений и видео. Творить чудеса, выводить это на новый уровень, как говорится в клише. Компьютерное зрение предоставляет такие безграничные возможности для новых и более полноценных сервисов. Но на этом пути есть трудности.
Одна из критически важных — как подбирать лучшие данные для правильной модели, чтобы улучшить результаты. Из-за сложности моделей и высокой размерности данных приходится выполнять много тонкой настройки, грубых проб и ошибок вслепую, что отвлекает ресурсы от инноваций.
Что, если бы мы могли привнести прозрачность и ясность в рабочие процессы визуального AI, сделав их быстрыми и даже увлекательными? Voxel51 приняла это как миссию и воплотила в жизнь!
Как продемонстрировал Jacob Marks, инженер по машинному обучению и developer evangelist в Voxel51 на SF Unstructured Data Meetup.
Превращаем визуальный AI в реальность
Взрывной рост новых приложений и сервисов на базе генеративного AI и машинного обучения показал важность использования неструктурированных данных и роль векторных баз данных как фактора, меняющего правила игры. Jacob Marks в своей презентации показал, как интеграция векторных баз данных с такими инструментами, как Voxel51, и ее open source-проектом FiftyOne революционизирует исследование, визуализацию и курирование визуальных данных, позволяя создавать приложения на базе AI эффективнее и надежнее. Это позволяет тестировать и оценивать модели, подавая им именно те наборы данных, которые им нужны для обеспечения надежных и точных результатов.
Всё начинается с качества данных
Почему? Потому что более качественные данные приводят к лучшим моделям, ускоряя путь к успеху.
«Ничто не мешает успеху систем машинного обучения сильнее, чем данные низкого качества», — говорит Jacob. Подготовка данных и поиск подходящей модели могут быть затратными по времени и неэффективными без правильных инструментов. Даже опытным ML-инженерам нужны хорошие инструменты для создания высококачественных наборов данных и моделей.
FiftyOne упрощает работу с визуальными данными, позволяя проще и быстрее понимать операции, корректировки и результаты.
Вы можете визуализировать сложные метки, оценивать модели, исследовать интересующие сценарии, выявлять режимы отказа и находить ошибки аннотаций, помимо других задач. Это достигается с помощью цепочек LLM, работающих в фоновом режиме, генерирующих эмбеддинги и выполняющих запросы к векторной базе данных.
А теперь перейдем к сути!
От RAG к богатствам: сила векторного поиска
RAG — одна из причин, сделавших векторные базы данных популярными.
Retrieval-Augmented Generation (RAG) популяризировала векторный поиск, повышая точность больших языковых моделей. Она сочетает модели на основе извлечения и генеративные модели, чтобы улучшить качество и релевантность сгенерированного текста.
Эта техника использует LLM для преобразования пользовательского запроса в эмбеддинги и сравнения их с векторными эмбеддингами, позволяя выполнять поиск по семантическому сходству для более точных и контекстно насыщенных ответов.
RAG
Вы можете сравнивать несколько векторов на сходство с входными данными. Так что, если взять два текстовых входа, векторизовать и встроить их, можно посмотреть на их близость независимо от используемых метрик: евклидова расстояния, косинусного сходства или скалярного произведения.
Векторное сходство
У вас также могут быть мультимодальные эмбеддинги для совместной обработки разных типов данных, таких как тексты, изображения и видео, в пространстве этого типа.
Векторные эмбеддинги
Векторный поиск для компьютерного зрения
Voxel51 интегрировала Milvus с использованием Zilliz Cloud, чтобы раскрыть возможности векторного поиска на визуальных наборах данных. Вот несколько мощных сценариев использования:
Сходство изображений: Поиск по сходству — распространенный сценарий использования, и с Voxel51 он становится еще проще.
Достаточно выбрать интересующее вас изображение из вашего набора данных и использовать его для поиска похожих. Все этапы создания эмбеддингов и запроса выполняются в фоновом режиме. Визуальный опыт остается очень интуитивным и кликабельным. Например, вы можете задать такие атрибуты, как метрика и значение k, выбрав их в графическом интерфейсе.
Поиск похожих изображений
Так же легко вы можете выполнить обратный поиск, используя внешнее изображение.
Допустим, вы хотите узнать, есть ли в вашем визуальном наборе данных собака кане-корсо. Достаточно предоставить URI изображения, оно будет автоматически векторизовано и запрошено на сходство с визуальным набором данных в векторном пространстве.
Обратный поиск изображений
Поиск объектов: Помимо целых изображений, векторные базы данных могут обрабатывать фрагменты обнаружения объектов, обеспечивая более точный поиск внутри субизображений. Это полезно для таких задач, как распознавание лиц или идентификация объектов в больших наборах данных.
Поиск похожих объектов
Поскольку объект, на котором сосредоточен поиск, скорее всего, не занимает всё изображение, вычисление эмбеддингов для всего изображения может быть менее эффективным, потому что оно не всегда будет похоже на эмбеддинги объекта.
OCR-поиск: Еще один сценарий использования — интерактивный документ Optical Character Recognition (OCR). Вы можете визуально взаимодействовать с текстовыми эмбеддингами. Вы можете видеть, откуда на каждой из страниц ваших документов взяты эти результаты.
Надежный OCR-поиск по документам
Кросс-модальное извлечение: Такие инструменты, как CLIP от OpenAI и ImageBind от Meta, позволяют объединять текстовые и графические эмбеддинги. Это обеспечивает кросс-модальное извлечение, при котором пользователи могут искать изображения с помощью эмбеддингов текстовых описаний, аудиоэмбеддингов и т. д. или наоборот. В его примере аудиоклип поезда был преобразован в эмбеддинг, а затем сравнен со всеми изображениями, чтобы найти поезда в наборе данных.
Кросс-модальное извлечение
Перцептивное сходство: Перцептивное сходство позволяет нам понять, как разные модели воспринимают мир, сравнивая представления моделей в векторном пространстве. Некоторые модели очень семантичны: они улавливают высокоуровневые детали и концепции, но не палитру изображения на уровне пикселей, как на рисунке ниже:
Исследование перцептивного сходства
Более традиционное компьютерное зрение, реализованное с помощью вычислительных нейронных сетей, получает каждый пиксель и фрагменты, но не улавливает никакого смысла, как вы можете видеть на изображении ниже.
Исследование перцептивного сходства-2
Вы можете сравнивать представления моделей в векторном пространстве, наблюдая распределение результатов в векторном пространстве. У некоторых моделей результаты сгруппированы вместе, у других — нет. Они видят мир по-разному, и понимание того, когда применять эти разные перспективы, является фундаментальным для качества вашего ИИ.
В визуальном векторном поиске впереди еще больше инноваций
Интерполяция концепций: Интерполяция концепций берет две текстовые концепции и интерполирует находки между ними. В примере начальные эмбеддинги для хаски и чихуахуа были заданы для поиска всего, что могло бы находиться между ними, включая кошку!
интерполяция концептов
Обход пространства концептов: с помощью обхода пространства концептов пользователи могут комбинировать embeddings и манипулировать ими, чтобы регулировать атрибуты в пространстве возможных embeddings, как в примере, где в поиске регулируются атрибуты полезности и красочности.
Обход пространства концептов
В фоновом режиме происходит многое, чтобы поиск комбинировал embeddings для текста, изображений и других модальностей с нужными атрибутами на желаемом уровне, делая пространство поиска более динамично исследуемым, а вам остается только кликнуть или передвинуть ползунок для выбора. Всё так просто!
Заключение
Векторные базы данных незаменимы в компьютерном зрении, предоставляя мощный движок инструментам для визуальных датасетов, предназначенным для исследования данных, оценки моделей и инновационного поиска с использованием мультимодальных embeddings, интерполяции концептов и обхода. По мере дальнейшего развития ИИ интеграция векторных баз данных будет играть ключевую роль в формировании будущего технологий, основанных на неструктурированных данных.
Возможности ограничены только небом, как говорит Jacob. Попробуйте на практике и получайте удовольствие от визуального ИИ на базе векторной базы данных с помощью этого удобного руководства.
Если вы хотите узнать больше или начать свой проект в области компьютерного зрения, например, приглашаем присоединиться к нашему Discord channel. Мы предоставляем множество ресурсов и поддерживающее сообщество, которое поможет вам начать.
Читать далее
Stop Building AI Data Infra for the Wrong Stage
Learn how AI data infrastructure should evolve from prototype to enterprise scale, and when Vector Lakebase becomes the right architecture for AI apps.

Notion's Vector Search Is Excellent. Their Next Problem Is Harder.
Notion solved vector search scaling in two years. The next bottleneck — offline context engineering, unified data, and the real-time/offline gap — is harder.

How to Install and Run OpenClaw (Previously Clawdbot/Moltbot) on Mac
Turn your Mac into an AI gateway for WhatsApp, Telegram, Discord, iMessage, and more — in under 5 minutes.



