Concise Research
1.13K subscribers
242 photos
223 links
Исследования AI глазами исследователя
Автор: @snk4tr Сергей Кастрюлин
Download Telegram
Swift Parameter-free Attention Network for Efficient Super-Resolution

Есть такая задача - делать максимально быстрые модели сверхразрешения (SR), способные быстро работать в условиях ограниченного вычислительного бюджета. При этом, важно не только уменьшить количество FLOPs, требующихся на обработку каждого изображения, но добиться фактического ускорения на целевых девайсах (обычно, мобильных устройствах).

Механизм внимания (attention) представляет собой набор выучиваемых в ходе обучения модели матриц, взвешивающих наиболее важные признаки, приходящие из предыдущих слоёв сети. Важным свойством является глобальность: для сверточных моделей attention позволяет скомбинировать информацию из произвольных частей изображения. Это может быть полезно для задач, требующих глобального контекста, например классификации и сегментации.

Перед нами архитектурная статья, авторы которой понимают важность attention’a, но не готовы платить за это компьютом. Далее следует нехитрая логическая цепочка:
- SR модели должны фокусироваться на локальной информации (текстуры, края/углы)
- Известно, что первые свёртки и так в какой-то степени выучивают эту информацию
- Выучивают, значит активации, отвечающие за это больше чем какие-то другие
- Давайте подберем такую функцию, которая будет усиливать этот эффект и постави её как функцию активации после некоторых сверточных слоев
- К функции предъявим несколько дополнительных требований, например чтоб она была чётной (чтоб не терять инфу из отрицательных активаций)

Помимо своего attention, модель состоит из последовательности свёрток, информация из которых аддитивно стакается в конце и замешивается PixelShuffle слоем. В результате получается SOTA в терминах PSNR/SSIM на in-domain SR (обучение на DIV2k, инференс на set5, bsd100,urban100). Работает модель порядка 50мс на 1080Ti, эвал согласно протоколу из статьи RLFN. Визуально чери пики выглядят неплохо, код и веса есть.
🔥4
SinSR: Diffusion-Based Image Super-Resolution in a Single Step

Главной проблемой диффузионных моделей является высокая вычислительная сложность, особенно на инференсе. Это связано с необходимостью делать несколько шагов семплирования для получения финального изображения. Один из наиболее стабильно работающих подходов для решения этой проблемы - дистилляция по шагам. За последнее время вышло несколько статей [1, 2, 3], успешно применяющих этот подход в text-to-image генерации.

Эта статья посвящена дистилляции диффузионного супер реза в одношаговую модель. Такая возможность появилась благодаря подходу ResShift со следующими свойствами:
- Переформулируется диффузионный процесс;. Теперь x_T - это low resolution картинка с добавленным шумом
- Благодаря переформулировке, упрощается выучивание отображения из x_T в x̂_0 поскольку они более “близки” чем нормальный шум и картинка
- Существует детерминированное отображение из x_T в x̂_0, что упрощает (ускоряет) семплирование

Последний пункт достаточно важен и авторы показывают как переформулировать предложенную диффузию на не Марковскую постановку (DDIM).

Всё вместе позволяет учить модель-студента с лоссом, состоящим из:
- “Классической” компоненты - MSE между выходами учителя и ученика
- “Регуляризация” с использованием реальной high-rez (HR) картинки - MSE между предсказанием учителя и HR картинкой
- Компоненты, напрямую предсказывающей HR картинку (тоже по MSE)

Есть интересная экспериментальная находка: учить напрямую отображение x_T в x̂_0 оказывается проще чем денойзить x_t, из-за чего:
- Прогрессивная дистилляция не только бесполезна, но и вредит из-за накопления ошибки
- Результаты одношагового студента иногда превосходят учителя

Метод проверяли как поверх реальных, так и синтетических картинок, полученных из валидации ImageNet методом из ResShift. Картинки выглядят хорошо, количественно прогресс замеряли с помощью CLIP-IQA и MUSIQ. Код ожидается тут.
👍6
Scaling Laws of Synthetic Images for Model Training ... for Now

В предыдущих работах уже обсуждалось влияние качества и количества синтетических текстовых данных на обучение мультимодальных моделей. Например, DALL-E 3 учили преимущественно на синтетических кепшенах, также исследуются способы комбинирования синтетики и органики.

Авторы этой работы добрались до картинок и задались вопросом: как масштабируется качество классификационных и CLIP-like моделей при обучении на чистой синтетике?

Для ответа на этот вопрос берут три модели (SD, Imagen, Muse) и генерируют ImageNet классы с различным guidance scale, используя несколько тестовых темплейтов. Таким образом авторы создают 54 ImageNet-like датасета (1.3М), изображения в которых отвечают критериям:
- Recognizabiliy - хорошо классифицируются предобученной ViT-B сеточкой;
- Diversity - высокое стандартное отклонение в пространстве признаков для изображений внутри каждого класса. Такая метрика лучше коррелирует с качеством обученных на этих данных моделей чем FID/LPIPS.

Авторы оценивают качество по:
- Скорости изменения лосса в процессе обучения (больше-лучше);
- Качеству на val подмножестве ImageNet после обучения на датасете размера ImageNet;

В статье много графиков и наблюдений, вот некоторые из них:
- Как и для других Scaling Laws, рост качества модели при увеличении датасета подчиняется степенному закону, однако только в диапазоне до 4М картинок. После этого рост качества замедляется;
- Реальные картинки все еще лучше масштабируются;
- Каждый из наборов параметров семплирования (text template, guidance scale) имеет свои преимущества, рассмотренные модели примерно равны;
- Обучение на синтетике полезно для применения в out-of-distribution сценариях. Чем выше сдвиг распределения между train и test, тем ближе по качеству оказываются синтетика и органика;
- В contrastive learning (CLIP) сетапе насыщение наступает позже (32М), однако чистая синтетика все равно хуже органики. Оптимально смешивать, тогда можно получить буст качества.

Веса и код выложены.
👍5
Rethinking FID: Towards a Better Evaluation Metric for Image Generation

Fréchet Inception Distance (FID), наряду с CLIP score, наиболее распространенная метрика определения близости распределений. Благодаря своей простоте и раннему появлению, метрика стала стандартом оценки качества генеративных моделей.

Начиная со вскоре вышедшей Kernel Inception Distance (KID) и до сегодняшнего дня, только ленивый не пнул FID за:
- Представление активаций изображений в распределениях в качестве гауссиан. Аргумент: а вдруг там другое распределение, откуда мы знаем
- Использование модели InceptionNet в качестве экстрактора признаков со всеми вытекающими: bias на ImageNet, устаревшая архитектура => не оптимальные фичи и т.д.

Авторы предлагают использовать MMD distance (как предлагалось в KID > 5 лет назад) на CLIP фичах (тоже предлагалось многократно). Изменение типа расстояния позволяет убрать странное предположение о природе распределения, изменение типа признаков - bias в сторону ImageNet + повысить общую экспрессивность. Метрику назвали CMMD. Авторы очень надеятся, что эта вытеснит морально устаревший FID с его очевидными проблемами.

Внимания заслуживает методология проведения human evaluation, поскольку у нее есть риск повлиять на следующие работы в области:
- Берутся семплы из двух вариантов модели MUSE, вычисляется FID и CMMD
- Пары изображений из семплов оцениваются side-by-side сравнением
- Доля побед моделей сравнивается с относительными значениями метрик

В таком сетапе CMMD чаще согласуется с мнением асессоров. Более того, для получения консистентных результатов CMMD требует меньше генераций, что делает метрику вычислительно эффективней.

Кода нет, что не лучшая тактика вытеснения доминирующей метрики.
👍9
You Only Need One Step: Fast Super-Resolution with Stable Diffusion via Scale Distillation

Диффузионки считаются SOTA в области Image Super Resolution благодаря результатам SR3, SR3+, ResShift/SinSR. Даже высокая вычислительная сложность, вызванная многошаговым инференсом, уже не является проблемой (адресовано в SinSR). Поэтому основной задачей становится максимизация качества при сохранения одношагового инференса.

Важно, что перечисленные выше подходы работают в парадигме пиксельной диффузии: модель учится генерить картинку из шума напрямую, обуславливаясь на изображение низкого разрешения.

Авторы предлагают подход, основанный на трёх основных идеях:
- Латентная диффузия (aka LD/SD)
- Прогрессивное (по масштабу) обучение (aka Progressive Growing of GANs, Matryoshka)
- Дистилляция teacher -> student

Суть метода метода заключается в последовательном увеличении масштаба апскейла (x2, x4, x8) в парадигме латентной диффузии, где таргетами для обучения всех вариантов кроме первого являются выходы ранее обученных моделей:
1. Берем предобученный VAE, инитим денойзер с нуля
2. Учим денойзер на простую задачу x2 апскейла (например, 256 -> 512). Получаем хорошую модель потому что задача простая
3. Копируем веса, называем эту копию студентом, начинаем учить на х4 апскейл (128 -> 512), используя в качестве таргетов предсказания модели со 2 стадии. Получаем хорошую модель потому что у нас более простое (чем исходно) отображение
4. Продолжаем процедуру если требуется

На практике, для достижения максимального качества, авторы рекомендуют в конце заморозить денойзер и потюнить VAE. Без этого заиметь хорошую одношаговую модель не получится.

Все эксперименты проводятся к сетапе SR in the Wild с обучением на маленьких академических датасетах и эвалами на RealSR/DRealSR для х4/х8 (с упором на х8) апскейл факторов, сравниваются со StableSR и ванильной LDM.

Метод выглядит рабочим, очень не хватает сравнений с SinSR. Кода нет.
👍61
Scalable Diffusion Models with Transformers

Уже не новая, но довольно важная статья, представляющая архитектуру Diffusion Image Transformer (DiT). DiT лег в основу нескольких современных моделей, например семейства PIXART. Цель авторов - показать, что диффузионные модели своим качеством не обязаны архитектуре UNet. Сверточную сеть можно заменить на трансформер, как минимум, без просадки в качестве. В то же время, трансформеры хорошо масштабируются, что упрощает увеличение качества за счет накидывания параметров.

За основу берется архитектура ViT, после чего в проводятся эксперименты с тем как добавлять необходимые для диффузии параметры времени t и class condition c.

Поэкспериментировав с наивной конкатинацией t и c к картиночным токенам и добавлением cross-attention блоков, авторы приходят к идее модифицировать Adaptive Layer Norm (adaLN) блок из ганов и диффузионных юнетов. Их модификация adaLN-Zero заключается в:
- Добавлении параметра scaling (α), применяемого перед residual connection внутри DiT блока (см. схему)
- Инициализации последней свертки в каждом блоке нулями

Основу работы составляют эксперименты, направленные на поиск оптимальной архитектуры по баллансу компьют на обучении/инференсе vs качество. Интересным наблюдением, например, является то, что более жирные модели быстрее учатся, но есть для достижения одного и того же качества вычислительно выгоднее учить большие модели. А еще, в общем случае, недостаток компьюта на обучении не особо получается компенсировать компьютом на инференсе (увеличение числа шагов семплирования).

В результате авторы получают SOTA на момент публикации (по FID на ImageNet256) при меньшем количестве FLOPs чем у конкурентов.
Интересно, что с тех пор юнеты тоже отмасштабировали. Так, авторы SDXL пробовали DiT в качестве основного денойзера, но не увидели “immediate benefit”. Код есть.
👍8
PixArt-α: Fast Training of Diffusion Transformer for Photorealistic Text-to-Image Synthesis

Тех. репорт в продолжение темы латентной трансформерной диффузии, показывавший топовое (на момент выхода) качество генерации. Свои успехи авторы объясняют тремя факторами. Рассмотрим их по порядку.

Декомпозиция обучения. Во время обучения, модель должна научиться находить взаимосвязи между пикселями, связь текст-картинка и из всех возможных генераций порождать только эстетичные. Идея в том чтобы разбить обучение на стадии, в ходе которых модель учится каждой из подзадач отдельно.

Модель сначала учат на class-conditional генерацию ImageNet256, после чего дообучают на датасетах с хорошими (длинными, подробными) описаниями и эстетичными картинками соответственно, не меняя исходного разрешения. В конце есть еще две стадии файтнюнинга, в рамках которых продолжается обучение на эстетическом датасете, но разрешение повышают сначала до 512х512, а потом до 1024х1024. Занятно, что эстетический датасет на треть состоит из генераций MidJourney.

Обновленный DiT. В статье по Diffusion Transformer уже предлагалась архитектура на основе ViT с добавлением кондишенинга на время и класс генерируемого изображения. Авторы предлагают кондишениться на текст с помощью cross-attention, а также еще раз модифицируют многострадальный AdaLN слой, поскольку обуславливание на класс больше не актуально. Помимо этого, предлагается репараметризация послойных MLP для кодирования t на один общий MLP с небольшой модуляцией, что уменьшает эффективное число параметров, не раняя качество.

Улучшенный датасет. В очередной раз подчеркивается важность подробных описаний к картинкам и польза синтетических данных из SAM и LLaVA. Идея концептуально похожа на CapsFusion, хоть детали и не раскрываются.

Итоговая модель на основе DiT-XL/2 с T5-XXL текстовым энкодером и VAE из LDM обучается на 64 v100 в течение 26 дней. Модель генерит очень похоже на MidJourney, выдавая качественные картинки за 20 шагов DMP. У модели остаются проблемы с руками и текстами. Код есть.
👍3
Scaling Up to Excellence: Practicing Model Scaling for Photo-Realistic Image Restoration In the Wild

Свежая работа по использованию generative prior из предобученной SD. Концептуально, работа очень напоминает подход полугодичной свежести DiffBIR и отличается, в основном:
1. Размером базовой модели: авторы этой работы используют SDXL)
2. Размером датасета: используется проприетарный 20М датасет общего назначения + 70к картинок из FFHQ-raw для улучшения качества восстановления лиц
3. Файнтюнингом VAE в Real-ESRGAN постановке для увеличения устойчивости к частотным искажениям на инференсе
4. Использованием текстовых описаний (в том числе, negative) и своей модификации EDM семлпинга
5. Использованием уменьшенного варианта ControlNet для обуславливания на исходную картинку, который назвали ZeroSFT

С практической точки зрения важно, что основной прогресс в качестве достигается преимущественно за счет масштабирования модели и данных, а так же дообучения VAE с аугментациями, встречающимися в использовавшихся бенчмарках RealSR/DRealSR/Real47 (первые три пункта).

Вероятно, важной деталью является добавление в претрен датасет 100к заведомо плохих генераций SDXL с негативными промтами, позволяющим использовать гайденс, эффект от использования которого показан.

Однако, сама польза использования текстов (п. 4) и предложенной модификации семплинга не исследуется. То же самое касается последнего пункта про модификацию ControlNet. Её приходится проводить скорее по техническим причинам: модель получается слишком объемной при прямом копировании энкодера SDXL.

У проекта есть страница с интерактивными ползунками, код тоже выложен.
👍3
On Pretraining Data Diversity for Self-Supervised Learning

В обучении мультимодальных моделей давно стало нормой улучшать качество за счет грубого масштабирования и область SSL - не исключение. Дело дошло до моделей вроде SEER, в которую без стыда вливали 1В непонятных картинок из интернета в течение 100к GPU часов чтоб получить всего-то 77.9 top-1% на ImageNet 😂.

В этой работе авторы изучают как влияет распределение данных во время претрена на качество SSL моделей при фиксированном (довольно скромном) вычислительном бюджете. Основные вклады работы: аргументированные доводы в пользу претрена на более узком, но близком к целевому распредлении и бенчмарк, позволяющий сравнивать SSД модельки с поправкой на компьют.

Авторы проводят большинство экспериментов на ImageNet в качестве in-domain датасета и YFCC100M + всякие собственные компиляции датасетов и синтетики из диффузионок в качестве OOD. Комбинируя тренировочные данные различным образом получают набор претренов. Тестируются на 6 бенчмарках, включая тест самого ImageNet. ImageNet считают in-domain данными потому что по FID и общим соображениям все бенчмарки ближе к нему.

Также вводится понятие data diversity, которое сводится к тому сколько раз модель успеет пройтись по датасету в рамках выч. бюджета. В итоге, получается из распределений данных, их diversity и компьюта, обучив модели по которой получили выводы:
1. Если тренировочное и тестовое распределения совпадают, diversity повышать полезно.
2. Если распределения не совпадают, то увеличение diversity может навредить.
3. Экстремальное увеличение diversity может не помочь справиться со сдвигом распределения.

Последний вывод интерпретируется авторами как неэффективность современных SSL методов, из-за чего рекомендуется продолжать уделять большое внимание сбору претрен датасета из нужного распределения.
Код обещают тут.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Content-Oriented Learned Image Compression

Есть такая задача, картинки сжимать. Проводятся эксперименты с обучением различных энкодеров дабы побороть качество всяких JPEG и BPG. SOTA по качеству при низних битрейтах является VAE, который обучают с некоторым набором трюков дабы сохранить как можно больше высокочастотной информации.

Эта работа предлагает yet another набор трюков, ориентированных в первую очередь на семантической неравнозначности разных регионов изображений. Например, мы можем готовы пожертвовать сохранением мелких деталей одежды и интерьера ради качественного восстановления черт лиц и конечностей. С другой стороны, информация о текстуре и границах объектов тоже важна, но классический MSE лосс делает модели склонными к сглаживанию деталей.

В итоге, авторы предлагают немного инженерное решение: сначала выделять семантически разные регионы, после чего применять к ним разные функции потерь:
— Лица детектируют с помощью YOLO-face. Для этих регионов применяют MSE лосс;
— Регионы резких яркостных переходов получают считая карты градиентов, после чего применяют к ним Laplacian Loss;
— Текстуры содержат множество скоррелированных деталей. Лоссы учитывающие только попискельные расстояния не способны это учесть. Поэтому для сохранения текстур к MSE добавляют GAN и LPIPS лоссы. В качестве адверсариальной компоненты используют подход Realistic Discriminator, с архитектурой из PatchGAN. Метод делает относительную оценку реалистичности картинок вместо выдачи бинарного ответа.

Метод выдаёт визуально неплохие реконструкции и норм циферки PSNR, SSIM, FID. При битрейте порядка 0.2bbp удаётся сохранить достаточно мелкие детали, в том числе небольшие лица и конечности. Кода нет.
🔥1
YaART: Yet Another ART Rendering Technology

Много уже было работ про большие диффузонки. Это еще одна, отличающаяся от предыдущих применением RLHF в production-grade системах и подробными экспериментами по масштабированию не только моделей, но и данных, причем в не очень распространенной для академии каскадной постановке.

Авторы учат Imagen-подобный каскад с разбивкой на три стадии 2.3В-700М-700М на собственном пофильтрованном 330М датасете. В статье подробно описан пайплайн сбора данных для претрена, основанный на большом количестве фильтраций классификаторами качества текстов и картинок + их релевантности. Для последней Super Resolution модельки используют отдельный датасет на 180М картинок с упором на высокое техническое качество.

После претрена идут две стадии файтнюна:
- Supervised на небольшом наборе пар исключительного качества. Его основной целью является улучшение следованию текстов, хотя красивость картинок тоже повышается;
- Дальше идет RL alignment, задизайненый так чтобы еще больше улучшить эстетичность и уменьшить дефектность генераций без ущерба текстовой релевантности.

Основные эксперименты посвящены изучению влияния размеров модели, данных и количества компьюта на качество претрена. Получается, что большие модели учатся быстрее и эффективнее, а вот размер датасета при равномерном семплировании мало влияет на качество. Интересно, что если семплировать данные не равномерно, а брать только топ лучших, то можно найти sweet spot, в котором модель работает даже лучше обученной на полном датасете.

Отдельно показано, что можно обучить меньшую модель до качества основной за счет большего компьюта. Результаты претренов довольно неплохо переносятся на файнтюны, а значит непосредственно связаны с итоговым качеством.

Важная деталь работы - использование асессорских замеров для надежности результатов вообще везде. Авторы замеряются на DrawBench, а также релизят свою корзинку замеров YaBasket-300.

Корзинка доступна на сайте работы, а еще есть упрощенная/укороченная версия папиры на Хабре.
10🎉1
Boosting Diffusion Models with Moving Average Sampling in Frequency Domain

Классические диффузионные семплеры, такие как DDPM и DDIM, генерируют объекты из шума в Марковской постановке: семпл на каждом следующем шаге зависит только от предыдущего. Не идеальность их работы приводит к ошибкам дискретизации, из-за которой модель осциллирует вокруг некоторой истинной траектории семплирования. Эффект был замечен в работе DPM где был предложен солвер более высокого порядка, учитывающий результат 1-3 предыдущих шагов. Есть и другие подходы, например UniPC и его вариации, использующие схожий подход.

Авторы этой работы мотивируются распространенным в прикладной оптимизации методом EMA, суть которого в сглаживании шумной траектории путём взвешенного усреднения нескольких последних шагов. На практике, напрямую брать взвешенную сумму результатов нескольких шагов семплирования нельзя, поскольку каждый из них приходит из своего распределения. Поэтому предлагается метод усреднения оценок на х_0 как модификация к любому существующему семплеру.

Суть метода заключается разложении оценок на x_0 на частотные компоненты используя wavelet transform и взвешивании этих компонент в зависимости от шага семплирования. Известно, что в ходе обратного диффузионного процесса сначала генерируются низкочастотные компоненты. По ходу семплирования доля высокочастотных компонент увеличивается, доходят до максимума при малых t. Авторы используют это знание для взвешивания вклада частотных карт в своей модификации для солверов, которую назвали Moving Average Sampling in Frequency (MASF).

В экспериментах, метод существенно улучшает FID и немного уменьшает артефактность генераций. Наибольший прирост заметен на малом числе шагов семплирования. Кода нет.
👍7
Scaling Laws for Data Filtering - Data Curation cannot be Compute Agnostic

Большинство статей, посвященных масштабированию DL систем, изучают вопрос взамосвязи размера модели, размера датасета и компьюта, потраченного на обучение. Данные в таких исследованиях, как правило, семплируют равномерно по качеству. На практике же данные обычно фильтруются перед использованием. Какую долю данных оставить - вопрос не праздный.

В статье Beyond Neural Scaling Laws было показано, что если выбирать нужное количество сложных примеров для обучения, то это ломает привычные степенные законы масштабирования, а при оптимальности выбора можно достигать экспоненциального масштабирования.

В этой работе авторы изучают quality-quantity trade-off (QQT) заключающийся в вопросе: взять побольше плохих данных или нафильтровать хороших, но поменьше. Вопрос изучают в контексте VLM, фильтруя DataComp-medium для обучения CLIP. Качество оценивают по zero-shot классификации ImageNet/CIFAR, и ретривале Flickr и MSCOCO.

Основным выводом статьи является наблюдение: оптимальное количество данных зависит от доступного компьюта: чем больше раз вы проходитесь по датасету во время обучения, тем полезнее оставлять в нём не самые качественные примеры. Авторы находят сетап, при котором даже LAION фильтрации для Common Crawl оказываются избыточными и мешают дальнейшему улучшению качества модели.

В статье много любопытных кривулек для ознакомления. Какого-то универсального закона (сколько точно данных мне брать если знаю выч. бюджет), к сожалению, нет. Кода тоже.
👍7🔥1
Input Perturbation Reduces Exposure Bias in Diffusion Models

В авторегрессионной генерации текста существует проблема exposure bias. Суть в том что модель учится генерировать следующий токен при условии набора реальных токенов (контекста). Во время инференса, для генерации всех токенов кроме первого используются ранее полученные, синтетические токены, распределение которых отличается ввиду не идеальности генеративной модели.

Подобный эффект происходит и во время семплирования из диффузионных моделей. В диффузионках также наблюдается накопление ошибки семплирования. Это приводит к известному парадоксу: семплирование DDPM работает лучше при некотором T’ < T. Авторы квантифицируют совместный эффект exposure bias и накопления ошибки подсчетом FID. Для этого они зашумляют исходные картинки до некоторого t, после чего расшумляют и показывают, что чем больше t, тем дальше от исходной картинки оказываются итоговые генерации.

Для борьбы с описанными проблема предлагаются методы:
1. Regularization with Input Perturbation. Эта идея преимущественно направлена на устранение exposure bias и состоит в том чтобы сделать модель более устойчивой к отличию шума на шаге t во время прямого и обратного процессов за счет… впрыскивания дополнительного шума! Для этого будем учить модель предсказывать исходный, базовый шум на каждом шаге по чуть более зашумленной картинке. То есть, если согласно q-sample на шаге t у нас должен быть шум ε, то предсказывать мы будем ε, но по картинке, на которую наложен ε + σ, где σ тоже распределен нормально.
2. Regularization based on Lipschitz Continuous Functions. Предлагается уменьшать накопление ошибки за счет добавок к лоссу (Gradient penalty, Weight decay).

Важно, что оба метода требуют, как минимум, дообучения, а, скорее всего, полного переобучения модели, что не всегда возможно и удобно.

Методы проверяют только для DDPM семплера, а замеры проводят только на игрушечных CIFAR10, ImageNet32 etc. Показывают, что работает лучше ванильного DDIM. Код есть.
👍4
Alleviating Exposure Bias in Diffusion Models through Sampling with Shifted Time Steps

Продолжаем рассматривать проблему exposure bias в диффузии. В предыдущей серии мы узнали, что проблема существует и может быть решена парой хаков: впрыском дополнительного шума и регуляризацией на Липшицевость.
Минус в том что требуется переобучение (возможно, дообучение, этот вопрос не рассматривался) модели.

Важным наблюдением является то что ошибки семлпирования на шагах t_i распределены нормально. Это значит, что вместо добавления шума во время обучения можно просто немного смещать значение t для следующего шага семплирования так чтобы минимизировать ошибку. То есть, вместо переобучения с аугментацией, можно просто модифицировать семплер!

Авторы статьи предлагают для каждого t_i на пути расписания семплирования искать новую точку в окрестности t_w такую чтобы ошибка из-за exposure bias оказалась минимальной. Точку выбирают оптимизируя дисперсию шума так, чтобы она максимально совпадала со значением из расписания q-sample для данного шага. Утверждается, что процедура может быть добавлена не только в DDPM и DDIM, но и в солверы высокого порядка. Поскольку результатом работы алгоритма является буквально смещение параметра времени t на каждом шаге семплирования, метод назвали Time Shift (TS), а соответствующие модификации семплеров: TS-DDPM, TS-DDIM и т.д.

Метод проверяют на игрушечных датасетах с низким разрешением для одностадийной пиксельной диффузии (ADM). Показывают прирост качества в терминах FID в широком диапазоне числа шагов семплирования. Важным экспериментальным фактом является то что начиная с какого-то t < t_c метод можно не использовать потому что процесс семлпирования становится менее чувствительным к небольшим ошибкам. Это экономит доп. вычисления, что всегда приятно. Средний оверхед по компьюту обещают в районе 10%. Код есть.
👍3
Elucidating the Exposure Bias in Diffusion Models

Еще одна статья с последнего ICLR, изучающая проблему exposure bias. На этот раз авторы проводят более глубокий теоретический анализ проблемы и находят, что:
- Дисперсия шума во время обратного процесса всегда выше чем во время прямого и тем больше чем меньше значение t;
- Предлагается метрика для измерения exposure bias для данного t, идейно сильно похожая на FID. Её значения также сильно скоррелированы с FID.

Аналитический вывод о том что дисперсия шума во время обратного процесса всегда выше чем во время прямого согласуется с интуицией предыдущих работа, предлагающих добавлять шум во время обучения и сдвигать значения t во время инференса. Более того, аккуратно выбирая параметры семплирования, EDM также позволяет уменьшить проблему, но требует переобучения. Авторы предлагают свою модификацию семплирования, не требующую этого.

Авторы предлагают масштабировать предсказанный во время семплирования шум в меньшую сторону. Оказывается, что оптимальной коррекции можно достичь с помощью линейной функции вида λ(t) = kt + b, где k и b могут быть найдены экспериментально путём семплирования из уже обученной модели. На практике оказывается, что даже этого делать не обязательно и что константное правило уменьшения дисперсии вида λ(t) = b даёт близкие к оптимальным результаты, но при этом не требует дополнительной оптимизации. Метод назвали Epsilon Scaling (ES), а модификации методов ADM-ES, DDPM-ES и т.д.

Метод проверяют, в том числе, во вполне реалистичных сетапах вроде DiT + LDM и датасетах уровня CelebA-HQ. Показывают прирост качества в терминах FID и по картиночкам в широком диапазоне значений шагов семплирования, в том числе и на практически интересных <30 шагах. Есть код для ADM-ES.
👍4
Imagine Flash: Accelerating Emu Diffusion Models with Backward Distillation

Инферить диффузионки долго, для ускорения их дистиллят. Можно дистиллить гайденс и это ускорит примерно в два раза, а можно по шагам и тогда ускорение будет кратно уменьшению их количества.

В этой работе предлагают дистилляцию шагов для text-to-image модели Emu. Основной claim в уменьшении шагов до 3 с аж 50 (хотя в исходной работе про число шагов ни слова) с помощью трёх трюков:

1. Backward Distillation. В обычной, forward дистилляции по шагам модель учат предказывать x_0 по x_t минуя промежуточные шаги, а сам x_t получают прямым процессом. Вместо этого, авторы предлагают получать x_t семплированием из студента, начиная с x_T. Затем, студента учат имитировать предсказания x_0 учителя, но уже стартуя с нового, “синтетического” x_t. Таким образом, модель как бы учится нивелировать exposure bias, о котором мы говорили выше (раз, два, три).

2. Shifted Reconstruction Loss. Обычно для вычисления разницы предсказаний учителя и ученика используют один и тот же момент времени t. Авторы предлагают смещать t для учителя в меньшую сторону, то есть в качестве референсов брать менее шумные x_t. Таким образом, студент будет ориентироваться на более богатую контентом картинку. Утверждается, что это улучшает сигнал для ученика и положительно влияет на его качество.

3. Noise Correction. Авторы говорят о том что в точке T, то есть на первом шаге семплирования, модели трудно сделать предсказание из-за того что в латенте пока что нету сигнала, что верно. Утверждается, что рассмотрение этого случая как отдельного и отказ от использования предсказания шума от студента стабилизирует процесс семплирования. Тем не менее, оценка на x_0 все же используется. Более того, судя по ablation, этот пункт не сказывается на FID/CLIP score.

Модель сравнивают с ADD-LDMXL и Lightning-LDMXL, а так же с ADD версией Emu. Аблейтят, что Backward Distillation даёт наибольший профит, а в сапмате показывают, что модель не коллапсирует по разнообразию. Кода нет.
🔥5👍1
Scaling (Down) CLIP: A Comprehensive Analysis of Data, Architecture, and Training Strategies

Большинство работ по масштабированию, в том числе мультимодальных моделей, направлены на исследование влияния увеличения модели, данных и компьюта. DataComp и основанные на нём работы, а также Beyond Neural Scaling Laws и YaART показали, что качество - важный фактор, влияющий на оптимальное количество данных необходимых для данной модели, а в Scaling Laws for Data Filtering показали, что качество данных связано еще и с тем сколько выч. ресурсов оптимально тратить на обучение.

Здесь авторы изучают quality-quantity trade-off, а также влияние конкретных методов фильтрафии и претрена, обучая CLIP на пофильтрованных подмножествах WebLI 3.4В. В статье есть несколько занятных выводов:

1. Можно получить буст качества претреном на 40% лучших (по текстовой релевантности) данных относительно обучения на всех данных в терминах zero-shot качества на ImageNet.

2. Наибольший ViT не всегда оптимален. Например, если учить одну эпоху на датасетах < 100М, то ViT-L/16 оказывается худшим из всей линейки ViT’ов. Оптимальный размер зависит от размера данных даже при фиксированном числе итераций обучения. Также на небольших выборках CNN (ResNet-50) могут быть даже лучше. Объясняется это сильным inductive bias, который, видимо, решает на малых выборках.

3. Продвинутые техники предобучения вроде SLIP, FLIP и добавления аугментаций не всегда побеждают стандартный CLIP. С увеличением масштаба эксперимента методы выравниваются по качеству, при этом SLIP становится не выгодным из-за в два раза большей выч. сложности. На максимальном тестировавшемся размере (3.4В) базовый CLIP оказывается лучшим вариантом.

Ни кодом ни обученными модельками авторы не делятся.
👍2🔥1
CatLIP: CLIP-level Visual Recognition Accuracy with 2.7× Faster Pre-training
on Web-scale Image-Text Data


Бывает так, что у статьи настолько кликбейтное название, что сначала испытываешь отторжение, а потом видишь, что авторы из Apple и все-таки читаешь.

Интересно, что изначальной мотивацией перехода на self-supervised обучение был уход от предобучения на классификационных задачах, обычно требующих явной разметки. Здесь авторы предлагают вернуться к классификации в угоду вычислительной эффективности, при этом все еще не требуя явной разметки. Повышение эффективности достигается за счет исключения большого числа мало информативных негативных сравнений в contrastive loss.

Метод основан на использовании иерархии концептов WordNet в качестве классов. Для этого из текстовых описаний к картинкам выделяют существительные. Каждое уникальное существительное - класс, при этом длинный хвост редко встречающихся существительных выбрасывается. На практике хорошо работает количество классов от 100 до 500. Каждый текст может содержать несколько существительных, поэтому классификация многоклассовая.

Основным результатом работы является вывод, что такой претрен в общем случае не хуже, а на малых выборках даже лучше контрастива. Важно, что использующийся для этого метод верификации (zero-shot классификация) в этом случае не является совсем уж zero-shot. Тем не менее, полученные таким способом модели хорошо масштабируются по размеру, компьюту и данным, а также не хуже контрастив претренов обобщаются и на другие задачи, например сегментацию и детекцию.

Для интересующихся есть детальная инфа про протоколы обучения и тестирования, а также есть код и веса обученных моделей.
👍3
SeeSR: Towards Semantics-Aware Real-World Image Super-Resolution

Диффузионки умеют генерировать картинки из шума: семплируем произвольный шум, получаем произвольную картинку. На практике получать произвольную картинку не интересно, генерацией хочется управлять. Для этого сначала придумали обуславливание на классы, а потом перешли на тексты как на самое удобное и понятное представление.

Отношение к текстам в диффузонном Super Resolution (SR) не однозначное. С одной стороны, Imagen, YaART, SR3/SR3+ и многие другие не видят улучшения от использования текстов для SR в высоком разрешении. С другой стороны, в SUPIR утверждается, что тексты полезны.

Суть этой статьи - свой механизм подготовки текстов для SR, который, вроде как, бустит качество. Авторы предлагают:
— Обучить модель тегирования (по сути, классификации) ассоциировать low-rez картинки с тегами так же хорошо как их high-rez версии;
— С помощью неё предсказывать теги (ключевые слова через запятую) по low-rez картинке;
— Подавать строку, состоящую из тегов, в SR модель в качестве условия.

Большинство последних SR моделей полагаются на генеративный prior Stable Diffusion (SD). Для этого модели вроде DiffBIR и SUPIR берут предобученные варианты SD и адаптируют их: low-rez картинку подают через обучаемые отдельно варианты ControlNet, основная модель и VAE остаются замороженными.

Здесь авторы делают то же самое: полученные тегированием тексты подаются через cross-attention, а low-rez картинка через ControlNet в предобученную SD. Обучаются на мелких датасетах (DIV2k, Flickr etc.), с RealSR аугментациями, эвалятся на их тестах с теми же аугментациями + сборной корзинке из RealSR/DRealSR и собственных картинок.

Метод чуть напоминает натягивание совы (text-cond diffusion generation) на глобус (задача SR). Прирост качества, скорее всего, достигается за счет того что модель ломается меньше чем в работах, пытающихся оторвать ненужные тексты. Код есть.
👍4
Tackling the Singularities at the Endpoints of Time Intervals in Diffusion Models

Несмотря на отличное среднее качество генераций Stable Diffusion (SD), у этой модели были замечены сложности с генерацией изображений с яркостью, сильно отличающейся от средней. Не понятно насколько это распространенная проблема, но утверждается, что моделям бывает сложно сделать очень контрастную картинку, имеющую чисто белый/чёрный фон и яркие цветовые переходы.

Ранее это объясняли проблемами в реализациях расписания шума, оставляющих немного сигнала в точке Т. Утверждалось, что усреднение яркости происходит из-за того что модель всегда оставляет, а потом стартует с некого “среднего сигнала” и потому всегда приходит в “усредненные картинки”.

В этой работе авторы заходят с точки зрения проблем с предсказаниями шума в точках 0 и Т. Утверждается, что в обеих точках возникает сингулярность, не позволяющая сделать осмысленное предсказание. Действительно, например в точке Т наш сигнал представляет собой x ~ N(0, 1) и не понятно как предсказать какой шум нужно вычесть из шума чтобы получить не шум 💀

Авторы предлагают рассматривать первый шаг начала семплирования (точку Т) как особый случай. Они показывают, что в случае условной генерации можно (и нужно) отдельно выучить предсказание оценки на х_0 при условии кондишена (например, промта), которую дальше вставлять в любой процесс семплирования.

Итого получаем алгоритм:
1. Учим диффузию как обычно (на предсказание шума) либо берём предобученную;
2. Отдельно учим модель-добавку для предсказания оценки на х_0 на первом шаге семплирования;
3. Во время семплирования делаем первый шаг моделькой из п.2, а дальше как обычно.

В экспериментах на SD 1.5 и 2.0 качественно и количественно (FID) показывают рост качества и увеличение контраста. Код выложен.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤔3