ANN index
Сегодня любые картинки, тексты и музыка превращаются в векторы чисел. Когда таких векторов миллионы, простое сравнение со всеми становится катастрофически медленным. ANN заранее организует данные так, что поиск занимает время, пропорциональное логарифму от размера базы. Без таких индексов невозможны рекомендательные системы, визуальный поиск и распознавание лиц.
Принцип напоминает библиотеку: вместо обхода каждой книги вы идёте в нужный раздел и на нужную полку. Индекс группирует векторы в кластеры или строит дерево, позволяя быстро отсечь области, где заведомо ничего похожего нет. Поиск начинается с грубой навигации и постепенно уточняется. Чем больше данных, тем значительнее выигрыш.
Пример — поиск похожих фотографий в облачном сервисе. Каждый снимок преобразуется в вектор из сотен чисел (цвета, текстуры, формы). При загрузке фото ANN за миллисекунды находит десяток похожих среди миллионов изображений. Без индекса запрос занял бы часы.
Итог: ANN index — это компромисс между точностью и скоростью, который на практике оказывается почти идеальным. Жертвуя долей процента качества в редких случаях, мы получаем поиск по базам с миллиардами объектов за миллисекунды. Поэтому индексы приближённых соседей лежат в основе большинства современных AI-систем, работающих с большими данными.
Поделиться