Введение
Классическая техника квантования из области обработки сигналов
Векторное квантование (VQ) — это классическая техника квантования из области обработки сигналов, позволяющая моделировать функции плотности вероятности посредством распределения прототипных векторов. Разработанное в начале 1980-х годов Робертом М. Грей, оно изначально применялось для сжатия данных. Метод заключается в разделении большого набора точек (векторов) на группы, содержащие примерно одинаковое количество точек, ближайших к их центрам. Каждая группа представляется своей центроидной точкой, как в алгоритме k-средних и некоторых других алгоритмах кластеризации. Иными словами, векторное квантование выбирает набор точек для представления большего набора точек. Свойство сопоставления плотности векторного квантования особенно эффективно при определении плотности больших и многомерных данных. Поскольку точки данных представляются индексом ближайшей к ним центроиды, часто встречающиеся данные имеют малую ошибку, а редкие — большую. Именно поэтому VQ подходит для сжатия данных с потерями, а также может использоваться для восстановления данных с потерями и оценки плотности. Векторное квантование основано на парадигме конкурентного обучения, поэтому тесно связано с моделью самоорганизующихся карт и моделями разреженного кодирования, используемыми в алгоритмах глубокого обучения, таких как автокодировщики.
Приложения
Векторное квантование используется для сжатия данных с потерями, восстановления данных с потерями, распознавания образов, оценки плотности и кластеризации. Восстановление данных с потерями, или предсказание, используется для восстановления данных, отсутствующих по некоторым измерениям. Это достигается путем поиска ближайшей группы, для которой доступны данные по имеющимся измерениям, а затем предсказания значений для отсутствующих измерений на основе значения центроида этой группы. Для оценки плотности область/объем, который ближе к определенному центроиду, чем к любому другому, обратно пропорциональна плотности (благодаря свойству алгоритма соответствия плотности).
Использование в сжатии данных
Векторная квантизация, также называемая "блочной квантизацией" или "квантизацией по методу поиска соответствий", часто используется в сжатии данных с потерями. Она работает путем кодирования значений из многомерного векторного пространства в конечное множество значений из дискретного подпространства меньшей размерности. Вектор меньшей размерности требует меньше места для хранения, что обеспечивает сжатие данных. Благодаря свойству соответствия плотности векторной квантизации, ошибки в сжатых данных обратно пропорциональны плотности. Преобразование обычно выполняется с помощью проекции или кодовой книги. В некоторых случаях кодовая книга может также использоваться для энтропийного кодирования дискретного значения на том же этапе, генерируя префиксный код переменной длины в качестве выходных данных. Набор дискретных уровней амплитуды квантуется совместно, а не каждая выборка квантуется отдельно. Рассмотрим k-мерный вектор уровней амплитуды. Он сжимается путем выбора ближайшего соответствующего вектора из множества n-мерных векторов, где n < k. Все возможные комбинации n-мерного вектора формируют векторное пространство, которому принадлежат все квантованные векторы. Вместо квантованных значений передается только индекс кодового слова из кодовой книги. Это позволяет экономить место и достигать большей степени сжатия. Двойная векторная квантизация (VQF) является частью стандарта MPEG-4, который описывает взвешенную интерлифтовую векторную квантизацию во временной области.
All possible combinations of the n dimensional vector form the vector space to which all the quantized vectors belong. Only the index of the codeword in the codebook is sent instead of the quantized values. This conserves space and achieves more compression. Twin vector quantization (VQF) is part of the MPEG 4 standard dealing with time domain weighted interleaved vector quantization.
Использование в качестве алгоритма кластеризации
Поскольку VQ ищет центроиды как точки плотности соседних образцов, его также можно напрямую использовать как метод кластеризации на основе прототипов: каждый центроид соответствует одному прототипу. Стремясь минимизировать ожидаемую квадратичную ошибку квантования и используя убывающий коэффициент обучения, удовлетворяющий условиям Роббинса — Монро, многократные итерации по всему набору данных с заданным, но фиксированным числом прототипов сходятся к решению алгоритма k-средних инкрементным образом.
Генеративные противоположные сети (GAN)
VQ использовался для квантования слоя представления признаков в дискриминаторе генеративно-состязательных сетей. Техника квантования признаков (FQ) выполняет неявное сопоставление признаков. Она улучшает процесс обучения GAN и обеспечивает повышение производительности на различных популярных моделях GAN, таких как BigGAN для генерации изображений, StyleGAN для синтеза лиц и U GAT IT для неконтролируемого преобразования изображений.