TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
VF | Science

13 Dec 2024, 16:45

Open in Telegram Share Report

👀 Vector Quantized Variational Autoencoder — My Review

Автор уже давно фокусируется на теме векторного квантования и даже начинает свой ресерч, который, возможно, значительно улучшит все модели связанные с VQ-VAE :) Пока что за 2 месяца не успел разочароваться в идеях, но они определенно требуют тщательной доработки. Сейчас хочется структурировать информацию для себя и тех, кто осознает важность темы. За 8 лет ее существования произошло много интересного и следовательно ресерчить становиться сложнее, хы.

VQ-VAE очень популярная архитектура, которая активно применяется в домене аудио, изображений, видео, мултимодалок, и реже в 3д моделировании, биологии/химии. На основе VQ-VAE создаются модели для сжатия и восстановления данных, которые сейчас используются во многих стриминговых платформах. Также VQ-VAE применяется для задач генерации или извлечения информации, например мое любимое audio2midi или panoptic segmentation.

Полезная идея, мы поняли. Но нет ничего идеального, у VQ-VAE есть конкретные сценарии применения и проблемы, о которых речь пойдет далее:
*️⃣Операция VQ вычисляет N центроидов кластеров по feature map'ам полученным из энкодера. Кластеризация приводит к потере информации.
*️⃣Через операцию VQ не протекают градиенты, поэтому мы вынуждены использовать аппроксимации, чаще STE.
*️⃣Поскольку градиент останавливается после VQ, он конечно не доходит до кодовой книги и энкодера. Получается, нам необходимо добавить вспомогательные функции потерь. Один лосс будет приближать выходы энкодера к элементам кодбука, второй лосс будет приближать элементы кодбука к выходом энкодера. А это уже дополнительные сложности оптимизации.

Поэтому, например для некоторых моделей в CV используют просто патчи, как в ViT. Интересный момент, мы еще вернемся к нему, а пока идем дальше.

*️⃣Из-за того, что часто вспомогательные лоссы просто считают L2 между конкретными семплами, возникает коллапс кодбука. Явление, при котором модель использует только небольшую часть токенов из кодовой книги, игнорируя остальные. Например, из 100 токенов может активно использоваться только 10, что снижает эффективность модели. Это потому, что мы приближаем друг к другу лишь конкретные семплы и ближе всех к выходам энкодера будут последние, а большинство предыдущих, при поиске по кодовой книге ближайшего, окажутся дальше последних и никогда не будут выбраны. Поэтому создавать большие кодбуки (10к+) не имело смысла.
*️⃣При обучении с нуля, подбор количества элементов кодбука и размерности его элементов это трудоемкий процесс процесс. Каждый раз будет необходимо заново инициализировать кодбук заданного размера и проверять различные центроиды кластеров.
*️⃣Также есть мысли о уменьшении количества токенов нужных для качественного восстановления данных из латентного пространства. Многие задачи требуют компрессии данных с низким битрейтом — минимальным количеством информации, необходимым для восстановления данных. Однако VQ-VAE не всегда эффективно работает в таких условиях, особенно если требуется высокая точность восстановления.
*️⃣Часто используют предобученные кодеки для различных задач генерации или извлечения информации. При этом, конечно же никто не хочет менять кодеки под их данные, модель и задачу. Просто это большие риски испортить кодек и страдать в процессе подбора параметров. Но страдать придется в любом случае, путем подбора и оптимизации декодера на основе токенов из выбранного кодека.
*️⃣Регионы по которым вычисляются латентные представления имеют разную информационную плотность. Условного говоря, мы хотим разделять регионы по смыслу. Например, отделять фон на изображении и токенизировать его отдельно, не пересекаясь с основными объектами.

Это лишь основные проблемы, далее мы обсудим пути их решения и парочку весьма специфичных, но важных идей. Будет много-много цитирований.

#papers #review #audio #images #video #multimodal

779 2 8 4 10
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot