Чтобы узнать больше о поиске векторного сходства, ознакомьтесь со следующими ресурсами:
Искусственный интеллект (ИИ) способен изменить даже самые непонятные вещи. Например, каждый год (во всяком случае, до появления COVID) более 73 000 человек собираются, чтобы принять участие в Гонконгском марафоне. Чтобы правильно определить и зафиксировать время финиша для всех участников забега, организаторы раздают 73 000 чип-таймеров RFID, которые прикрепляются к каждому бегуну. Чип-тайминг - сложное мероприятие с очевидными недостатками. Материалы (чипы и электронные считывающие устройства) должны быть приобретены или арендованы у компаний, занимающихся хронометражем, а в день забега необходимо организовать зону регистрации, чтобы бегуны могли забрать чипы. Кроме того, если датчики установлены только на старте и финише, недобросовестные бегуны могут срезать дистанцию.
blog-1.jpeg
А теперь представьте себе приложение видео-ИИ, способное автоматически идентифицировать отдельных бегунов на кадрах, снятых на финише, по одной фотографии. Вместо того чтобы прикреплять чипы хронометража к каждому участнику, бегуны просто загружают свою фотографию в приложение после пересечения финишной черты. Мгновенно появляется персональный ролик, статистика забега и другая необходимая информация. Камеры, установленные в различных точках забега, позволяют получить дополнительные кадры участников и убедиться, что каждый бегун преодолел всю дистанцию. Какое решение кажется более простым и экономически эффективным?
Хотя Гонконгский марафон не использует машинное обучение для замены чипов хронометража (пока), этот пример иллюстрирует потенциал ИИ для радикального изменения всего, что нас окружает. Для хронометража забегов он позволяет сократить количество десятков тысяч чипов до нескольких камер в паре с алгоритмами машинного обучения. Но видео ИИ - это лишь одно из многих применений векторного поиска сходства - процесса, использующего искусственный интеллект для анализа массивных, триллионных по объему неструктурированных наборов данных. В этой статье представлен обзор технологии векторного поиска: что это такое, как ее можно использовать, а также программное обеспечение с открытым исходным кодом и ресурсы, делающие ее более доступной, чем когда-либо прежде.
Перейти к:
Каковы некоторые области применения поиска векторного сходства?
Программное обеспечение и ресурсы с открытым исходным кодом для поиска векторного сходства.
Что такое поиск векторного сходства?
Видеоданные невероятно подробны и встречаются все чаще, поэтому логично предположить, что они станут отличным сигналом для построения ИИ на основе неконтролируемого обучения. В действительности это не так. Обработка и анализ видеоданных, особенно в больших объемах, остается сложной задачей для искусственного интеллекта. Недавний прогресс в этой области, как и прогресс в аналитике неструктурированных данных, во многом связан с векторным поиском сходства.
Проблема видео, как и всех неструктурированных данных, заключается в том, что они не подчиняются заранее определенной модели или организационной структуре, что затрудняет их обработку и анализ в масштабе. К неструктурированным данным относятся изображения, аудиозаписи, поведение в социальных сетях и документы, которые составляют примерно 80-90 %+ всех данных. Компании все больше осознают, что в огромных, загадочных неструктурированных массивах данных скрыты важные для бизнеса сведения, что стимулирует спрос на приложения ИИ, способные использовать этот нереализованный потенциал.
С помощью нейронных сетей, таких как CNN, RNN и BERT, неструктурированные данные можно преобразовать в векторы признаков (они же эмбеддинги) - машиночитаемый формат числовых данных. Затем используются алгоритмы для расчета сходства между векторами с помощью таких показателей, как косинусоидальное сходство или евклидово расстояние. Векторное встраивание и поиск сходства позволяют анализировать и создавать приложения машинного обучения на основе ранее неразличимых наборов данных.
Векторное сходство вычисляется с помощью известных алгоритмов, однако неструктурированные наборы данных, как правило, массивны. Это означает, что для эффективного и точного поиска требуются огромные объемы памяти и вычислительные мощности. Чтобы ускорить поиск сходства и снизить требования к ресурсам, используются алгоритмы поиска приближенных ближайших соседей (ANN). Кластеризуя похожие векторы вместе, алгоритмы ANN позволяют отправлять запросы к кластерам векторов, которые с наибольшей вероятностью содержат похожие векторы, вместо того чтобы искать их во всем наборе данных. Хотя такой подход быстрее, он в определенной степени жертвует точностью. Использование алгоритмов ANN позволяет векторному поиску прочесывать миллиарды моделей глубокого обучения за миллисекунды.
Каковы области применения векторного поиска сходства?
Векторный поиск сходства находит широкое применение в искусственном интеллекте, глубоком обучении и традиционных сценариях вычисления векторов. Ниже представлен обзор различных областей применения векторного поиска по сходству:
Электронная коммерция: Векторный поиск по сходству находит широкое применение в электронной коммерции, включая системы обратного поиска изображений, которые позволяют покупателям искать товары по изображению, снятому на смартфон или найденному в Интернете. Кроме того, персонализированные рекомендации, основанные на поведении пользователя, его интересах, истории покупок и т. д., могут предоставляться специализированными рекомендательными системами, основанными на векторном поиске.
Физическая и кибербезопасность: ИИ для видео - лишь одно из многих применений векторного поиска сходства в сфере безопасности. Другие сценарии включают распознавание лиц, отслеживание поведения, аутентификацию личности, интеллектуальный контроль доступа и многое другое. Кроме того, поиск по векторному сходству играет важную роль в предотвращении все более распространенных и сложных кибератак. Например, поиск по сходству кода можно использовать для выявления рисков безопасности, сравнивая часть программного обеспечения с базой данных известных уязвимостей или вредоносных программ.
Рекомендательные механизмы: Рекомендательные системы - это системы, использующие машинное обучение и анализ данных, чтобы предлагать пользователям продукты, услуги, контент и информацию. Поведение пользователя, поведение похожих пользователей и другие данные обрабатываются с помощью методов глубокого обучения для создания рекомендаций. При наличии достаточного количества данных алгоритмы могут быть обучены понимать взаимосвязи между объектами и изобретать способы их автономного представления. Системы рекомендаций имеют широкое применение, с ними люди уже взаимодействуют каждый день, включая рекомендации контента на Netflix, рекомендации покупок на Amazon и ленты новостей на Facebook.
Чат-боты: Традиционно чат-боты строятся на основе обычного графа знаний, который требует большого набора обучающих данных. Однако чат-боты, созданные с использованием моделей глубокого обучения, не нуждаются в предварительной обработке данных - вместо этого создается карта между частыми вопросами и ответами. С помощью предварительно обученной модели обработки естественного языка (NLP) из вопросов можно извлекать векторы признаков, а затем хранить их и запрашивать с помощью платформы управления векторными данными.
Поиск изображений или видео: Сети глубокого обучения используются для распознавания визуальных паттернов с конца 1970-х годов, а современные технологические тенденции сделали поиск изображений и видео более мощным и доступным, чем когда-либо прежде.
Поиск по химическому сходству: Химическое сходство - это ключ к предсказанию свойств химических соединений и поиску химических веществ с определенными характеристиками, что делает его незаменимым при разработке новых лекарств. Для каждой молекулы создаются "отпечатки пальцев", представленные векторами признаков, а затем расстояния между векторами используются для измерения сходства. Использование искусственного интеллекта для разработки новых лекарств набирает обороты в технологической индустрии, и ByteDance (китайская материнская компания TikTok) начала нанимать талантливых специалистов в этой области.
Программное обеспечение и ресурсы для поиска векторного сходства с открытым исходным кодом.
Закон Мура, облачные вычисления и снижение стоимости ресурсов - макротенденции, которые сделали искусственный интеллект более доступным, чем когда-либо. Благодаря программному обеспечению с открытым исходным кодом и другим общедоступным ресурсам создание приложений AI/ML стало доступно не только крупным технологическим компаниям. Ниже мы представим краткий обзор Milvus, платформы управления векторными данными с открытым исходным кодом, а также выделим несколько общедоступных наборов данных, которые помогают сделать ИИ доступным для всех.
Milvus, платформа управления векторными данными с открытым исходным кодом
Milvus - это платформа управления векторными данными с открытым исходным кодом, созданная специально для работы с векторными данными огромного масштаба. Работает на базе Facebook AI Similarity Search (Faiss), Non-Metric Space Library (NMSLIB) и Annoy. Milvus объединяет множество мощных инструментов на одной платформе, расширяя при этом их отдельные функции. Система была специально создана для хранения, обработки и анализа больших векторных наборов данных и может быть использована для создания всех вышеперечисленных приложений искусственного интеллекта (и не только).
Более подробную информацию о Milvus можно найти на ее сайте. Учебные пособия, инструкции по настройке Milvus, эталонные тесты и информация о создании различных приложений доступны в буткампе Milvus. Разработчики, желающие внести свой вклад в проект, могут присоединиться к сообществу Milvus с открытым исходным кодом на GitHub.
Публичные наборы данных для искусственного интеллекта и машинного обучения
Не секрет, что технологические гиганты, такие как Google и Facebook, имеют преимущество по объему данных над малыми компаниями. Некоторые эксперты даже выступают за "прогрессивный мандат на обмен данными", который заставит компании, превышающие определенный размер, делиться некоторыми анонимизированными данными с более мелкими конкурентами. К счастью, существуют тысячи общедоступных наборов данных, которые можно использовать для проектов AL/ML:
The People's Speech Dataset: Этот набор данных от ML Commons является крупнейшим в мире набором речевых данных, содержащим более 87 000 часов расшифрованной речи на 59 различных языках.
Репозиторий машинного обучения Калифорнийского университета в Ирвайне: Калифорнийский университет в Ирвайне поддерживает сотни публичных наборов данных в попытке помочь сообществу машинного обучения.
Data.gov: Правительство США предлагает сотни тысяч открытых наборов данных по образованию, климату, COVID-19 и др.
Eurostat: Статистическое управление Европейского союза предоставляет открытые наборы данных по целому ряду отраслей - от экономики и финансов до народонаселения и социальных условий.
Harvard Dataverse: Репозиторий Harvard Dataverse - это бесплатное хранилище данных, открытое для исследователей разных дисциплин. Многие наборы данных находятся в открытом доступе, в то время как другие имеют более ограниченные условия использования.
Хотя этот список ни в коем случае не является исчерпывающим, он представляет собой хорошую отправную точку для знакомства с удивительно широким разнообразием открытых наборов данных. Для получения дополнительной информации о публичных наборах данных, а также о выборе правильных данных для вашего следующего проекта по ML или науке о данных, ознакомьтесь с этим постом на Medium.
Чтобы узнать больше о поиске векторного сходства, ознакомьтесь со следующими ресурсами:
- Благодаря Milvus каждый может создать поисковую систему для 1+ миллиарда изображений
- Milvus был создан для векторного поиска сходства в огромных масштабах (считайте, триллион)
- Ускорение поиска по сходству в действительно больших данных с помощью векторного индексирования
- Ускорение поиска по сходству в действительно больших данных с помощью векторного индексирования (часть II)
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word