Векторное квантование (Vector Quantization)

Что такое Векторное квантование (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) кодовая книга, построенная через векторное квантование, служит «словарём» для быстрого сопоставления новых векторов с ближайшими эталонами.

Авторизация