Векторное квантование (Vector Quantization)
Метод представления множества векторов признаков меньшим числом эталонных векторов (кодовых слов), используемый в машинном обучении и обработке данных для сжатия, кластеризации и упрощения вычислений.
Суть векторного квантования можно сравнить с системой хранения книг в библиотеке.
Представьте, что вместо того, чтобы хранить каждую книгу отдельно, библиотека группирует их по тематикам и оставляет на полках лишь «образцы» — по одной книге от каждой темы, которая символизирует весь кластер. Когда нужно найти конкретную книгу, система ищет не её саму, а ближайшую тематическую «образцовую» книгу — и выдаёт всю группу.В контексте нейросетей векторы признаков «группируются» вокруг кодовых слов, что позволяет существенно сократить объём данных при сохранении ключевой информации.
Исторически метод восходит к 1950–1960‑м годам, когда активно развивались теории информации и сжатия данных. Значительный вклад внесли работы таких исследователей, как Стивен Грея и Роберт Фано. В контексте машинного обучения векторное квантование получило широкое распространение в 1980–1990‑х годах, особенно в задачах обработки аудио и изображений. Оно легло в основу алгоритмов сжатия, таких как LBG‑алгоритм (назван по именам авторов: Lin, Buzo, Gray), который до сих пор используется как эталонный метод построения кодовых книг.
Отличия от смежных понятий:
- Квантование скаляров — работает с отдельными числами, а не с векторами. Например, округление значений пикселей до 8‑битной глубины цвета.
- Кластеризация (k‑means) — хотя алгоритм k‑means часто используется для построения кодовой книги в векторном квантовании, сама кластеризация решает более общую задачу группировки данных, а не их компактного представления.
- Вложения (embeddings) — в современных нейросетях (например, в трансформерах) векторы признаков тоже «сжимаются», но делают это через обучение непрерывных представлений, а не жёсткое квантование.
Примеры использования:
- Сжатие изображений и аудио: в алгоритмах типа JPEG или MP3 векторное квантование помогает уменьшить размер файлов за счёт замены групп пикселей/отсчётов на кодовые слова.
- Обработка речи: в системах распознавания речи векторы акустических признаков квантуются для ускорения вычислений и снижения требований к памяти.
- Нейросети с квантованием: в моделях типа VQ‑VAE (Vector Quantized Variational Autoencoder) векторное квантование используется для обучения дискретных представлений данных, что позволяет генерировать изображения или аудио с высокой детализацией.
- Кодовые книги: в задачах кластеризации и поиска ближайших соседей (k‑NN) кодовая книга, построенная через векторное квантование, служит «словарём» для быстрого сопоставления новых векторов с ближайшими эталонами.
