Universal perturbation attack on differentiable no-reference image-and video-quality metrics
Adversarial attack - атака на модель машинного обучения, заключающаяся изменении данных, подаваемых на вход модели с целью изменения ее ответов. При этом, часто возможно подобрать небольшие (незаметные человеку) изменения, приводящие к радикальному изменению ответов. Как правило, подбирать изменение для каждого примера вычислительно дорого.
Universal perturbation attack (UPA) - тип атаки, при которой, вместо индивидуальных изменений, подбирают универсальное. Это снижает вычислительную сложность.
Современные метрики оценки качества изображений практически исключительно нейросетевые, а значит тоже могут быть подвержены подобным атакам. Использоваться этот подход можно, например, для “накручивания” качества генеративных алгоритмов. Вопрос в том, насколько каждая из метрик устойчива к подобным махинациям.
Авторы берут несколько метрик оценки качества картинок и видео (PaQ-2-PiQ, Linearity, VSFA, MDTVSFA, KonCept512, SPAQ, Nima) и получают для каждой UPA на 10,000 картинок из COCO. Далее анализируется изменение качества в зависимости от силы UPA в терминах абсолютных значений добавок.
Очевидно, что большие (видимые глазу) добавки в большей степени ломают метрики. Однако, оказывается, что изменения происходят не в одинаковой степени. Авторы предлагают Stability Score - метрику устойчивости метрики👇 к UPA. Оказывается, что SPAQ, Nima и KonCept512 значительно более устойчивы чем, допустим, PaQ-2-PiQ, у которой совсем всё плохо.
На основании проведенного анализа авторы предлагают проверять новые метрики не только на их корреляцию с MOS, но и на устойчивость, предлагая Stability Score. Предложение не лишено смысла учитывая количество вопросов к SOTA (по MOS) метрикам. Код есть.
Adversarial attack - атака на модель машинного обучения, заключающаяся изменении данных, подаваемых на вход модели с целью изменения ее ответов. При этом, часто возможно подобрать небольшие (незаметные человеку) изменения, приводящие к радикальному изменению ответов. Как правило, подбирать изменение для каждого примера вычислительно дорого.
Universal perturbation attack (UPA) - тип атаки, при которой, вместо индивидуальных изменений, подбирают универсальное. Это снижает вычислительную сложность.
Современные метрики оценки качества изображений практически исключительно нейросетевые, а значит тоже могут быть подвержены подобным атакам. Использоваться этот подход можно, например, для “накручивания” качества генеративных алгоритмов. Вопрос в том, насколько каждая из метрик устойчива к подобным махинациям.
Авторы берут несколько метрик оценки качества картинок и видео (PaQ-2-PiQ, Linearity, VSFA, MDTVSFA, KonCept512, SPAQ, Nima) и получают для каждой UPA на 10,000 картинок из COCO. Далее анализируется изменение качества в зависимости от силы UPA в терминах абсолютных значений добавок.
Очевидно, что большие (видимые глазу) добавки в большей степени ломают метрики. Однако, оказывается, что изменения происходят не в одинаковой степени. Авторы предлагают Stability Score - метрику устойчивости метрики
На основании проведенного анализа авторы предлагают проверять новые метрики не только на их корреляцию с MOS, но и на устойчивость, предлагая Stability Score. Предложение не лишено смысла учитывая количество вопросов к SOTA (по MOS) метрикам. Код есть.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
A Survey on Retrieval-Augmented Text Generation
Retrieval-Augmented модели начали свой путь в NLP, где улучшили многие языковые задачи. Сегодня они также используются для мультимодального предобучения и ответов на вопросы, классификации изображений.
Суть метода заключается в переформулировки задачи обучения с учителем. Вместо классической задачи
Такая широкая постановка предполагает большую вариативность по тому как именно устраивать следующие компоненты системы:
1. Откуда извлекать релевантные данные?
— Тренировочная выборка;
— Внешние датасеты в том же формате, что и тренировочная выборка;
— Не размеченные корпусы данных.
2. Какие метрики релевантности использовать?
— Искать схожие примеры в исходном, “разреженном” представлении (токены в случае текстов);
— Кодировать данные в более семантически богатое, низкоразмерное (плотное) представление и искать в нём;
— Сделать отдельную модель, предсказывающую некий порог, по которому можно определить полезна ли будет “память” в конкретном случае.
3. Как интегрировать дополнительные данные?
— Аугментация: конкатенировать, смешивать или еще каким-то образом комбинировать с исходными данными;
— Добавлять новые данные в attention как “контекст”;
— Делать “умные” аугментации, например маскирование (skeleton extraction).
В статье приводится подробный обзор того как метод помогает задачам перевода, генерации ответов в диалогах и других задачах. Подход может быть полезен либо в задачах с большим количеством данных, когда даже большой модели трудно обобщиться, либо с большим дисбаллансом классов.
Retrieval-Augmented модели начали свой путь в NLP, где улучшили многие языковые задачи. Сегодня они также используются для мультимодального предобучения и ответов на вопросы, классификации изображений.
Суть метода заключается в переформулировки задачи обучения с учителем. Вместо классической задачи
y = f(x), в которой модель вынуждена обобщать в себе всю информацию о тренировочных парах ответ-признаки, предлагается формулировка y = f(x, z), где z = {<x’, y’>} - набор релевантных примеров, которые извлечены (retrieved) из обучающей выборки или другого релевантного датасета (“памяти”). Предполагается, что модель может работать лучше если получает дополнительные, связанные с исходными, данные на вход. Такая широкая постановка предполагает большую вариативность по тому как именно устраивать следующие компоненты системы:
1. Откуда извлекать релевантные данные?
— Тренировочная выборка;
— Внешние датасеты в том же формате, что и тренировочная выборка;
— Не размеченные корпусы данных.
2. Какие метрики релевантности использовать?
— Искать схожие примеры в исходном, “разреженном” представлении (токены в случае текстов);
— Кодировать данные в более семантически богатое, низкоразмерное (плотное) представление и искать в нём;
— Сделать отдельную модель, предсказывающую некий порог, по которому можно определить полезна ли будет “память” в конкретном случае.
3. Как интегрировать дополнительные данные?
— Аугментация: конкатенировать, смешивать или еще каким-то образом комбинировать с исходными данными;
— Добавлять новые данные в attention как “контекст”;
— Делать “умные” аугментации, например маскирование (skeleton extraction).
В статье приводится подробный обзор того как метод помогает задачам перевода, генерации ответов в диалогах и других задачах. Подход может быть полезен либо в задачах с большим количеством данных, когда даже большой модели трудно обобщиться, либо с большим дисбаллансом классов.
👍1🔥1
DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation
Подходы к контролю результатов генерации диффузионок, в основном, опираются на модификацию входа модели:
— Null-text Inversion - контент зашит в разницу двух строк во время семплинга с classifier-free guidance;
— SDEdit - изображение частично зашумляется, а потом расшумляется с измененным описанием;
— Blended Latent Diffusion и Blended Diffusion for Text-driven Editing of Natural Images используют сегментационные маски;
— В Zero-Shot Image-to-Image Translation выделяют концепт, генерируя большой набор строк, отличающихся одним словом (целевой объект), вместо масок используют карты attention;
— An Image is Worth One Word - используя текстовую инверсию, по 3-5 картинкам выучивают одно слово, являющееся отображением домена/объекта. Используют его в новых промптах для генерации;
— Customizing Pre-Trained Diffusion Models for Your Own Data - то же самое, но для целого датасета;
Альтернативой тюнингу данных является тюнинг самой модели. Работ в этом направлении мало, но авторы DreamBooth показывают, что и таким образом можно добиваться хороших результатов.
Суть метода заключается в коротком дообучении модели на 3-5 парах картинка-текст, где текст включает в себя пару
Выполняя даже короткий fine-tuning всегда есть риск забыть известное или убить вариативность. Чтобы избежать этого, авторы предлагают prior-preservation loss. Он отличается от стандартного L2 добавлением регуляризационного слагаемого, в котором считается L2 между текущей генерацией, и тем что сгенерировала бы не затюненная модель.
Результаты визуально приятные. Из очевидных минусов - модель обратно уже не вернуть. Оф кода для Imagen нет, но есть оф датасет и популярная кастомная имплеменатция с SD.
Подходы к контролю результатов генерации диффузионок, в основном, опираются на модификацию входа модели:
— Null-text Inversion - контент зашит в разницу двух строк во время семплинга с classifier-free guidance;
— SDEdit - изображение частично зашумляется, а потом расшумляется с измененным описанием;
— Blended Latent Diffusion и Blended Diffusion for Text-driven Editing of Natural Images используют сегментационные маски;
— В Zero-Shot Image-to-Image Translation выделяют концепт, генерируя большой набор строк, отличающихся одним словом (целевой объект), вместо масок используют карты attention;
— An Image is Worth One Word - используя текстовую инверсию, по 3-5 картинкам выучивают одно слово, являющееся отображением домена/объекта. Используют его в новых промптах для генерации;
— Customizing Pre-Trained Diffusion Models for Your Own Data - то же самое, но для целого датасета;
Альтернативой тюнингу данных является тюнинг самой модели. Работ в этом направлении мало, но авторы DreamBooth показывают, что и таким образом можно добиваться хороших результатов.
Суть метода заключается в коротком дообучении модели на 3-5 парах картинка-текст, где текст включает в себя пару
[identifier][class noun]. Это означает, что если хочется генерить свою собаку в новых окружениях, в качестве class noun нужно взять dog, а в качестве identifier - редко встречающееся слово, которое в процессе обучения будет ассоциировано с конкретной собакой.Выполняя даже короткий fine-tuning всегда есть риск забыть известное или убить вариативность. Чтобы избежать этого, авторы предлагают prior-preservation loss. Он отличается от стандартного L2 добавлением регуляризационного слагаемого, в котором считается L2 между текущей генерацией, и тем что сгенерировала бы не затюненная модель.
Результаты визуально приятные. Из очевидных минусов - модель обратно уже не вернуть. Оф кода для Imagen нет, но есть оф датасет и популярная кастомная имплеменатция с SD.
👍3
On the Importance of Noise Scheduling for
Diffusion Models
На тему выбора расписания шума (noise scheduling) уже опубликовано достаточно много работ. В первых статьях по диффузии использовали равномерное расписание, но это не всегда работало хорошо. В какой-то момент пришло осознание, что в таком случае зашумление происходит слишком быстро и было предлоежно косинусное (iDDPM) и сигмоидное расписания. Вариации косинусного наиболее часто используются сегодня. Например, в VDM предлагали вместе обучать модель и параметры расписания.
Альтернативой изменению функций расписания является масштабирование исходного изображения
Авторы предлагают комбинировать два предоженных выше подхода (подбор параметров расписания и масштабирование
Наибольший эффект от применения подхода наблюдается при работе напрямую с изображениями высокого разрешения. В этом плане работа напоминает simple diffusion, где также подчеркивалась важность подбора расписания для прямой генерации в high-rez из-за высокого соотношения сигнал-шум. Отличие в методе: в simple diffusion предлагалось параметризовать функцию расписания шума для достижения эффекта эквивалентного отдельному масштабированию
С практической точки зрения авторы всего лишь говорят о важности подбора noise scheduling при смене задачи/разрешения/датасета. Рекомендованных же значений нет, в каждом случае подбирать нужно самостоятельно. Код есть: две строчки прямо в статье💃
Diffusion Models
На тему выбора расписания шума (noise scheduling) уже опубликовано достаточно много работ. В первых статьях по диффузии использовали равномерное расписание, но это не всегда работало хорошо. В какой-то момент пришло осознание, что в таком случае зашумление происходит слишком быстро и было предлоежно косинусное (iDDPM) и сигмоидное расписания. Вариации косинусного наиболее часто используются сегодня. Например, в VDM предлагали вместе обучать модель и параметры расписания.
Альтернативой изменению функций расписания является масштабирование исходного изображения
x_0. Подход похож на изменение расписания, но приводит к другим результатам, особенно при малых t. Авторы предлагают комбинировать два предоженных выше подхода (подбор параметров расписания и масштабирование
x_0).Наибольший эффект от применения подхода наблюдается при работе напрямую с изображениями высокого разрешения. В этом плане работа напоминает simple diffusion, где также подчеркивалась важность подбора расписания для прямой генерации в high-rez из-за высокого соотношения сигнал-шум. Отличие в методе: в simple diffusion предлагалось параметризовать функцию расписания шума для достижения эффекта эквивалентного отдельному масштабированию
x_0.С практической точки зрения авторы всего лишь говорят о важности подбора noise scheduling при смене задачи/разрешения/датасета. Рекомендованных же значений нет, в каждом случае подбирать нужно самостоятельно. Код есть: две строчки прямо в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
Blind Image Quality Assessment via Vision-Language Correspondence: A Multitask Learning Perspective
CVPR2023
Мультимодальные (vision-language) модели продолжают проникать в различные ML/DL задачи. Для области оценки качества изображений мы уже разбирали работу CLIP-IQA, суть которой в использовании предобученного CLIP, промпт инжиниринга и CoOp тюнинга для решения задачи в zero-shot режиме. Моотивация использовать CLIP в ожидаемой высокой обобщаемости итоговой метрики из-за не специфического предобучения на большом наборе данных.
В этой работе авторы предлагают полноценно обучать CLIP:
— Сразу на нескольких датасетах;
— Используя сгенерированные специально под задачу текстовые описания;
— Несколько лоссов.
Особенность подхода в обучении модели для одновременного решения нескольких задач. В статье утверждается, что это главный ключ к обобщаемости метрики при увеличении максимального качества ее работы.
Авторы выделяют 9 типов сцен
1. IQA (Fidelity) Loss - FRank модель попарного ранжирования: заставляем нашу метрику ставить картинки по качеству в правильном порядке.
2 и 3. Scene Classification + Distortion Type Identification - опять fidelity (FRank) или softmax для многоклассовой классификации сцен и типов дисторшенов.
Некоторые гиперпараметры (batch size) зависят от датасета. Обучаются на LIVE, CSIQ, BID, LIVE Challenge, KonIQ-10k и KADID-10k. Полученная метрика LIQE показывает SOTA везде. Ablation показывает, что сопоставимого качества можно было бы добиться значительным упрощением системы. Код есть.
CVPR2023
Мультимодальные (vision-language) модели продолжают проникать в различные ML/DL задачи. Для области оценки качества изображений мы уже разбирали работу CLIP-IQA, суть которой в использовании предобученного CLIP, промпт инжиниринга и CoOp тюнинга для решения задачи в zero-shot режиме. Моотивация использовать CLIP в ожидаемой высокой обобщаемости итоговой метрики из-за не специфического предобучения на большом наборе данных.
В этой работе авторы предлагают полноценно обучать CLIP:
— Сразу на нескольких датасетах;
— Используя сгенерированные специально под задачу текстовые описания;
— Несколько лоссов.
Особенность подхода в обучении модели для одновременного решения нескольких задач. В статье утверждается, что это главный ключ к обобщаемости метрики при увеличении максимального качества ее работы.
Авторы выделяют 9 типов сцен
s (“animal”, “human” и т.д.), 11 типов дисторшенов d (JPEG, blur и т.д.) и 5 уровней качества c. Затем, генерится строка, описывающая фото вида: “a photo of a(n) {s} with {d} artifacts, which is of {c} quality”. Всего получается 5 × 9 × 11 = 495 строк, для каждой из которых считается текстовый CLIP эмбед. Также картиночный CLIP эмбед извлекается из каждого изображения в обучающей выборке и считается совместное распределение p(c,d,s|x). Дальше начинается дизайн лоссов:1. IQA (Fidelity) Loss - FRank модель попарного ранжирования: заставляем нашу метрику ставить картинки по качеству в правильном порядке.
2 и 3. Scene Classification + Distortion Type Identification - опять fidelity (FRank) или softmax для многоклассовой классификации сцен и типов дисторшенов.
Некоторые гиперпараметры (batch size) зависят от датасета. Обучаются на LIVE, CSIQ, BID, LIVE Challenge, KonIQ-10k и KADID-10k. Полученная метрика LIQE показывает SOTA везде. Ablation показывает, что сопоставимого качества можно было бы добиться значительным упрощением системы. Код есть.
🔥3👍1
Instance Selection for GANs
NeurIPS 2020
Еще в первой работе StyleGAN было замечено, что низкое качество генерации тесно связано с трудностью моделирования областей многообразия данных с низкой плотностью. Тогда же были предложены подходы для избегания таких видов данных: урезание скрытого пространства (truncation trick в BigGAN и StyleGAN) и отказ от семплирования потенциально проблемных мод (Rejection Sampling). Оба подхода работают с данными уже после обучения генеративной модели.
В этой работе авторы решают проблему с точки зрения фильтрации данных до обучения модели. Такой подход позволяет не тратить вычислительные ресурсы и ёмкость модели на проблемные моды, которые все равно будут отсеяны или плохо сгенерированы.
Суть подхода:
1. Берем картинки, переводим в пространство низкой размерности. Подойдут +- любые эмбединги, у авторов лучше всего сработали активации из InceptionV3;
2. Выбираем scoring function, с помощью которой будем определять плотность получившегося многообразия. В статье пробуют Гауссиану, Гауссиану поверх PPCA и KNN.
3. Считаем скор для каждого объекта в датасете используя выбранную scoring function;
4. Отсеиваем объекты со скором ниже порога. Порог - гиперпараметр, выбираем по вкусу.
В итоге, получается повысить качество генерации в терминах FID и IS, при этом понизить время обучения. Достается это ценой уменьшения разнообразия генерируемых примеров. Монотонный прирост наблюдается вплоть до удаления 70% тренировочных примеров (эксперименты на ImageNet-1k). Результаты для генерации 64х64, 128х128 и 256х256.
Важно, что такой анализ говорит не только о возможности конралировать балланс качества и разнообразия, но и о несовершенстве метрик. Предполагается, что они чувствительны к разнообразию генерации, но, в то же время, улучшаются в эксперименте, направленном на его уменьшение. Код есть.
NeurIPS 2020
Еще в первой работе StyleGAN было замечено, что низкое качество генерации тесно связано с трудностью моделирования областей многообразия данных с низкой плотностью. Тогда же были предложены подходы для избегания таких видов данных: урезание скрытого пространства (truncation trick в BigGAN и StyleGAN) и отказ от семплирования потенциально проблемных мод (Rejection Sampling). Оба подхода работают с данными уже после обучения генеративной модели.
В этой работе авторы решают проблему с точки зрения фильтрации данных до обучения модели. Такой подход позволяет не тратить вычислительные ресурсы и ёмкость модели на проблемные моды, которые все равно будут отсеяны или плохо сгенерированы.
Суть подхода:
1. Берем картинки, переводим в пространство низкой размерности. Подойдут +- любые эмбединги, у авторов лучше всего сработали активации из InceptionV3;
2. Выбираем scoring function, с помощью которой будем определять плотность получившегося многообразия. В статье пробуют Гауссиану, Гауссиану поверх PPCA и KNN.
3. Считаем скор для каждого объекта в датасете используя выбранную scoring function;
4. Отсеиваем объекты со скором ниже порога. Порог - гиперпараметр, выбираем по вкусу.
В итоге, получается повысить качество генерации в терминах FID и IS, при этом понизить время обучения. Достается это ценой уменьшения разнообразия генерируемых примеров. Монотонный прирост наблюдается вплоть до удаления 70% тренировочных примеров (эксперименты на ImageNet-1k). Результаты для генерации 64х64, 128х128 и 256х256.
Важно, что такой анализ говорит не только о возможности конралировать балланс качества и разнообразия, но и о несовершенстве метрик. Предполагается, что они чувствительны к разнообразию генерации, но, в то же время, улучшаются в эксперименте, направленном на его уменьшение. Код есть.
👍3
Beyond neural scaling laws: beating power law scaling via data pruning
NeurIPS 2022
Scaling laws применяются для изменения значений функции потерь при изменении количества параметров модели, количества данных или вычислений, потраченных на обучение. Полезно это потому что зная scaling law для своей задачи можно не учить каждый раз модель до конца, а точно экстраполировать итоговое качество на основании результатов мелких экспериментов. В недавнем тех репорте о GPT-4 упоминается важность подхода для эффективного экспериментирования.
Большинство scaling laws представляют собой варианты степенных функции, что означает затухающий выигрыш. В статье приводится пример, в котором для уменьшения ошибки в NLP задаче с 3% до 2% нужно использовать х10 данных.
В этой статье авторы исследуют возможность улучшать качество быстрее чем по степенной функции за счет не увеличения, а улучшения датасета. Процесс улучшения называют data pruning.
Авторы исследуют взаимосвязи сложности данных и размера датасета и обнаруживают, что:
1. Оптимальная стратегия прунинга зависит от количества исходных данных: если много (мало) данных нужно оставлять только сложные (простые) примеры;
2. При достижении Парето оптимального баланса количества/сложности данных возможно получить экспоненциальный scaling law.
Центральным вопросом в такой постановке является метрика прунинга. В статье рассматривается 10 метрик и делается вывод, что они все плохие потому что:
— Не работают на масштабах ImageNet;
— Требуют разметки данных;
Поэтому авторы предлагают свою метрику:
1. Считаем SWaV эмбеды для всего датасета;
2. Кластеризуем эмбеды k-means;
3. Находим центроиды кластеров;
4. Считаем косинусное расстояние до центроидов;
5. Большое расстояние до ближайшего центроида == сложный пример.
Метрика слабо чувствительна к параметру
NeurIPS 2022
Scaling laws применяются для изменения значений функции потерь при изменении количества параметров модели, количества данных или вычислений, потраченных на обучение. Полезно это потому что зная scaling law для своей задачи можно не учить каждый раз модель до конца, а точно экстраполировать итоговое качество на основании результатов мелких экспериментов. В недавнем тех репорте о GPT-4 упоминается важность подхода для эффективного экспериментирования.
Большинство scaling laws представляют собой варианты степенных функции, что означает затухающий выигрыш. В статье приводится пример, в котором для уменьшения ошибки в NLP задаче с 3% до 2% нужно использовать х10 данных.
В этой статье авторы исследуют возможность улучшать качество быстрее чем по степенной функции за счет не увеличения, а улучшения датасета. Процесс улучшения называют data pruning.
Авторы исследуют взаимосвязи сложности данных и размера датасета и обнаруживают, что:
1. Оптимальная стратегия прунинга зависит от количества исходных данных: если много (мало) данных нужно оставлять только сложные (простые) примеры;
2. При достижении Парето оптимального баланса количества/сложности данных возможно получить экспоненциальный scaling law.
Центральным вопросом в такой постановке является метрика прунинга. В статье рассматривается 10 метрик и делается вывод, что они все плохие потому что:
— Не работают на масштабах ImageNet;
— Требуют разметки данных;
Поэтому авторы предлагают свою метрику:
1. Считаем SWaV эмбеды для всего датасета;
2. Кластеризуем эмбеды k-means;
3. Находим центроиды кластеров;
4. Считаем косинусное расстояние до центроидов;
5. Большое расстояние до ближайшего центроида == сложный пример.
Метрика слабо чувствительна к параметру
k и позволяет хорошо находить баланс на CIFAR-10, SVHN и ImageNet-1k. Кода нет.Re-IQA: Unsupervised Learning for Image Quality Assessment in the Wild
CVPR 2023
Image quality assessment (IQA) отличается от задач распознавания образов (классификация, сегментация и т.д.) тем что нас скорее интересует не контент изображения, а его CV характеристики. Получается, что лучше учить модель без привычных аугментаций и специально на задачу IQA, но есть проблема с данными. В 2021 году был предложена метрика CONTRIQUE, основанная на contrastive learning (CL) с использованием большого набора не размеченных данных. Тогда, с помощью совсем незамысловатой схемы претрена, получили более качественную и обобщаемую метрику.
Авторы этой работы развивают тему использования CL. Предлагается усложнить базовую схему введением двухстадийного обучения.
Content Aware признаки - обучаем ванильный MoCo-V2: два кропа из одной картинки должны быть ближе кропов из разных.
Quality Aware признаки - с ними всё сложнее, поскольку к ванильному подходу добавляются аугментации. По сути, всё сводится к тому чтобы всё так же подавать кропы. Отличие в том, что теперь изображения считаются разными только если к ним применены разные трансформации, влияющие на IQA. Для обучения этой части используется InfoNCE функция потерь.
Стадии можно обучать независимо и в любом порядке. На выходе получается экстрактор признаков, которые далее замораживаются и поверх них учится регрессионная MLP голова.
Для обучения авторы используют:
— Подмножество ImageNet-1k для Content Aware части;
— Для Quality Aware - KADIS-700k + набор датасетов из статьи CONTRIQUE, но портят они их своим собственным набором из 25 трансформаций.
Хоть это и CVPR accept:
— Не понятно почему метод называют unsupervised, если происходит тюнинг головы под каждый датасет на котором происходит тестирование;
— Не понятно зачем было использовать свой набор дисторшенов, если метод с mixture of experts строго лучше референсного CONTRIQUE (ablation отсутствует).
Код обещают после конфы в июле.
CVPR 2023
Image quality assessment (IQA) отличается от задач распознавания образов (классификация, сегментация и т.д.) тем что нас скорее интересует не контент изображения, а его CV характеристики. Получается, что лучше учить модель без привычных аугментаций и специально на задачу IQA, но есть проблема с данными. В 2021 году был предложена метрика CONTRIQUE, основанная на contrastive learning (CL) с использованием большого набора не размеченных данных. Тогда, с помощью совсем незамысловатой схемы претрена, получили более качественную и обобщаемую метрику.
Авторы этой работы развивают тему использования CL. Предлагается усложнить базовую схему введением двухстадийного обучения.
Content Aware признаки - обучаем ванильный MoCo-V2: два кропа из одной картинки должны быть ближе кропов из разных.
Quality Aware признаки - с ними всё сложнее, поскольку к ванильному подходу добавляются аугментации. По сути, всё сводится к тому чтобы всё так же подавать кропы. Отличие в том, что теперь изображения считаются разными только если к ним применены разные трансформации, влияющие на IQA. Для обучения этой части используется InfoNCE функция потерь.
Стадии можно обучать независимо и в любом порядке. На выходе получается экстрактор признаков, которые далее замораживаются и поверх них учится регрессионная MLP голова.
Для обучения авторы используют:
— Подмножество ImageNet-1k для Content Aware части;
— Для Quality Aware - KADIS-700k + набор датасетов из статьи CONTRIQUE, но портят они их своим собственным набором из 25 трансформаций.
Хоть это и CVPR accept:
— Не понятно почему метод называют unsupervised, если происходит тюнинг головы под каждый датасет на котором происходит тестирование;
— Не понятно зачем было использовать свой набор дисторшенов, если метод с mixture of experts строго лучше референсного CONTRIQUE (ablation отсутствует).
Код обещают после конфы в июле.
👍1
Data-Efficient Image Quality Assessment with Attention-Panel Decoder
AAAI 2023
SOTA методы оценки качества изображений (IQA) преимущественно используют архитектуру трансформер:
— MANIQA для no-reference (NR) IQA;
— AHIQ для full-reference (FR) IQA.
Как и во многих других задачах, трансформеры показывают себя гибкими и легко обучаемыми. При этом, разнообразие архитектур ограничено вариантами без декодера, а конкретнее ViT и его модификациями.
В этой работе авторы предлагают NR метрику DEIQT, основные фишки которой заключаются в использовании encoder-decoder архитектуры и механизма attention pannel.
Использование encoder-decoder архитектуры мотивировано более эффективным обучением CLS токена - основного носителя информации о качестве. Использование encoder-only архитектуры приводит к “размазыванию” градиента на поздних стадиях обучения чего не наблюдается в предложенной DEIQT.
Attention pannel представляет собой дополнительный слой в самом конце декодера, призванный эмитировать ситуацию с неоднозначными оценками асессоров при получении mean opinion scores (MOS). На практике еще еще один cross-attention, где матрица
Модель показывает SOTA на всех основных NR/FR датасетах со значениями SRCC пугающе близкими к 1. При этом, модель имеет меньше параметров чем аналоги (24M). Ablation убедительно показывает, что оба предложенных изменения важны для качества. Кода нет, но обещают тут.
AAAI 2023
SOTA методы оценки качества изображений (IQA) преимущественно используют архитектуру трансформер:
— MANIQA для no-reference (NR) IQA;
— AHIQ для full-reference (FR) IQA.
Как и во многих других задачах, трансформеры показывают себя гибкими и легко обучаемыми. При этом, разнообразие архитектур ограничено вариантами без декодера, а конкретнее ViT и его модификациями.
В этой работе авторы предлагают NR метрику DEIQT, основные фишки которой заключаются в использовании encoder-decoder архитектуры и механизма attention pannel.
Использование encoder-decoder архитектуры мотивировано более эффективным обучением CLS токена - основного носителя информации о качестве. Использование encoder-only архитектуры приводит к “размазыванию” градиента на поздних стадиях обучения чего не наблюдается в предложенной DEIQT.
Attention pannel представляет собой дополнительный слой в самом конце декодера, призванный эмитировать ситуацию с неоднозначными оценками асессоров при получении mean opinion scores (MOS). На практике еще еще один cross-attention, где матрица
Q заменена на новую Q̂, а домножается она на матрицу дубликатов CLS токена. По идее и реализации это напоминает multi-head self-attention, где цель тоже в том чтобы засчет разной инициализации получить разные варианты зависимостей внутри одной последовательности токенов.Модель показывает SOTA на всех основных NR/FR датасетах со значениями SRCC пугающе близкими к 1. При этом, модель имеет меньше параметров чем аналоги (24M). Ablation убедительно показывает, что оба предложенных изменения важны для качества. Кода нет, но обещают тут.
Image Super-Resolution via Iterative Refinement
IEEE TPAMI 2022
Ранее мы обсуждали применение диффузионных моделей для image2image задач:
— FDM - удаляем артефакты, контролируя MDF и NPS;
— DDRM - удаляем артефакты в случае, если знаем семейство PSF;
— Palette - стабильный бейзлайн для inpainting, outpainting, colorization, JPEG uncompression.
В этой работе предлагается модель SR3. Мотивация применения DDPM для задачи в следующем:
1. Регрессионным SR моделям трудно работать с большими upscaling factors (> x2), потому что в single-image постановке нет избыточной информации, а значит требуется её генерировать. Следовательно, нужно применять лучшие генеративные модели.
2. DDPM лучше чем GAN выучивают мелкие моды => потенциально меньше проблем с обучение и обобщаемостью.
Прямой процесс мало чем отличается от принятого для генерации: модель зашумляется по линейному расписанию с сохранением дисперсии. Зная расписание заранее можно получать шумное изображение
Авторы используют архитектуру U-Net с residual блоками из BigGAN, в которых skip connections рескейлят на
Модель показывает SOTA экспериментах для 8х, 4х и каскадной 8х (64×64 → 256×256 → 1024×1024) генерации по метрике fool rate: респонденты путают реальную и сгенерированную картинку в около 50% случаев. С практической точки зрения авторы рекомендуют делать 8х генерацию каскадным типом. Код только неофициальный.
IEEE TPAMI 2022
Ранее мы обсуждали применение диффузионных моделей для image2image задач:
— FDM - удаляем артефакты, контролируя MDF и NPS;
— DDRM - удаляем артефакты в случае, если знаем семейство PSF;
— Palette - стабильный бейзлайн для inpainting, outpainting, colorization, JPEG uncompression.
В этой работе предлагается модель SR3. Мотивация применения DDPM для задачи в следующем:
1. Регрессионным SR моделям трудно работать с большими upscaling factors (> x2), потому что в single-image постановке нет избыточной информации, а значит требуется её генерировать. Следовательно, нужно применять лучшие генеративные модели.
2. DDPM лучше чем GAN выучивают мелкие моды => потенциально меньше проблем с обучение и обобщаемостью.
Прямой процесс мало чем отличается от принятого для генерации: модель зашумляется по линейному расписанию с сохранением дисперсии. Зная расписание заранее можно получать шумное изображение
y_t для шага t за константное время и сразу учиться предсказывать y_(t-1) c L1/L2 лоссом. На практике же, во время обратного процесса предсказывается аддитивный шум шага t. Также к расшумляемому изображению y_t конкатенируется исходная low-res картинка x, что позволяет направить генерацию именно в сторону восстановления исходного изображения, а не генерации какого-то произвольного.Авторы используют архитектуру U-Net с residual блоками из BigGAN, в которых skip connections рескейлят на
1/sqrt(2). Внутри U-Net x конкатенируют с промежуточными признаками в апсемплингах. Для этого x интерполируют бикубиком. По заявлениям авторов, более сложные методы обуславливания не дают особой разницы в результатах и поэтому они используют простую конкатенацию.Модель показывает SOTA экспериментах для 8х, 4х и каскадной 8х (64×64 → 256×256 → 1024×1024) генерации по метрике fool rate: респонденты путают реальную и сгенерированную картинку в около 50% случаев. С практической точки зрения авторы рекомендуют делать 8х генерацию каскадным типом. Код только неофициальный.
Denoising Diffusion Probabilistic Models for Robust Image Super-Resolution in the Wild
Модель SR3 показала SOTA результаты на основных бенчмарках для больших upscaling factors, но на практике оказалась чувствительной к доменному сдвигу. Для таких случаев есть подзадача Blind SR - модель учат обобщаться на более широкое распределение данных чем один конкретный препроцессинг на одном конкретном датасете. Основная проблема с которой приходится бороться — разница частотных характеристик между low-res (LR) картинками, полученными даускейлингом high-rez (HR) картинок и реальными LR картинками.
Для решения этой проблемы авторы не стали проявлять чудеса изобретательности и просто адаптировали подход Real-SRGAN, суть которого в добавлении большого числа аугментаций во время обучения модели. Подход назвали SR3+.
Во время обучения для каждого изображения генерится случайная комбинация следующих аугментаций: Blur, Resize, JPEG. Помимо этого используется Noise Conditioning — замена аддитивного шума. Суть Noise Conditioning в том чтобы, по аналогии с основным обучением модели, зашумлять LR изображение, использующееся в качестве условия генерации. Для этого семплируется шаг
Подход Noise Conditioning позволяет контролировать баланс между точностью и вариативностью результатов SR модели. Выбирая
В качестве архитектуры по-прежнему используется U-Net. При этом, в отличие от SR3, авторы отказываются от attention слоев, поскольку они мешают обобщаться на разные разрешения. Также авторы экспериментируют с архитектурой Efficient U-Net и показывают, что, даже уменьшив с ее помощью число параметров до 40М, можно получить качество в терминах FID/SSIM/PSNR сопоставимое с Real-SRGAN. Кода нет.
Модель SR3 показала SOTA результаты на основных бенчмарках для больших upscaling factors, но на практике оказалась чувствительной к доменному сдвигу. Для таких случаев есть подзадача Blind SR - модель учат обобщаться на более широкое распределение данных чем один конкретный препроцессинг на одном конкретном датасете. Основная проблема с которой приходится бороться — разница частотных характеристик между low-res (LR) картинками, полученными даускейлингом high-rez (HR) картинок и реальными LR картинками.
Для решения этой проблемы авторы не стали проявлять чудеса изобретательности и просто адаптировали подход Real-SRGAN, суть которого в добавлении большого числа аугментаций во время обучения модели. Подход назвали SR3+.
Во время обучения для каждого изображения генерится случайная комбинация следующих аугментаций: Blur, Resize, JPEG. Помимо этого используется Noise Conditioning — замена аддитивного шума. Суть Noise Conditioning в том чтобы, по аналогии с основным обучением модели, зашумлять LR изображение, использующееся в качестве условия генерации. Для этого семплируется шаг
0 < t < 0.5 исходя из заранее выбранного расписания (бОльшие значения слишком сильно “убивают” детали). Далее накладывается шум соотвествующий шагу t. Подход Noise Conditioning позволяет контролировать баланс между точностью и вариативностью результатов SR модели. Выбирая
t = 0 во время инференса можно получить максимально точное восстановление. Используя бОльшие значения t можно заставить модель галлюцинировать, что в некоторых случаях может быть полезно.В качестве архитектуры по-прежнему используется U-Net. При этом, в отличие от SR3, авторы отказываются от attention слоев, поскольку они мешают обобщаться на разные разрешения. Также авторы экспериментируют с архитектурой Efficient U-Net и показывают, что, даже уменьшив с ее помощью число параметров до 40М, можно получить качество в терминах FID/SSIM/PSNR сопоставимое с Real-SRGAN. Кода нет.
Training Compute-Optimal Large Language Models
Зоопарк large language models (LLM) растёт не по дням, а по часам. Самая крупная из них, MT-NLG, уже перевалила за полтриллиона (503В) параметров. Вместе с этим, возникает резонный вопрос об оптимальности использования настолько большого числа параметров.
Данная статья - эмпирическое исследование на тему поиска оптимального соотношения количества параметров модели и использованных за время обучения токенов при данном вычислительном бюджете с целью получения наилучшей модели. Здесь вычислительный бюджет выражается в количестве операций с плавающей точкой (FLOPs), а качество модели - в значении ее функции потерь во время обучения.
Для проведения экспериментов авторы выбрали следующие стратегии:
1. Фиксируем размер модели (от 70М до 10В), варьируем количество токенов. Для каждого количества параметров тренируем 4 модели, выбираем лучшую по тренировочному лоссу. Эта модели - точка в матрице размер модели/число токенов.
2. Варьируем размер модели и вычислительный бюджет (#FLOPs). Этот эксперимент позволяет понять оптимальное количество компьюта для данного размера модели.
3. Фитим степенную функцию на замерах из п. 1 и 2.
Результаты экспериментов по трём стратегиям независимо показывают один результат - число параметров модели должно увеличиваться пропорционально числу токенов. Ранее считалось, размер модели должен расти быстрее. Это значит, что все существующие модели, в т.ч. Gopher и GPT-3 избыточны по числу параметров.
Авторы предлагают свою модель Chinchilla, имеющую Gopher-like архитектуру (70В), но обученную на достаточном количестве токенов. При одинаковом вычислительном бюджете, авторам удается получить модель, значительно превосходящую предшественника по всем языковым бенчмаркам. При этом, Chinchilla легче и быстрее. Кода/весов, понятное дело, нету.
Зоопарк large language models (LLM) растёт не по дням, а по часам. Самая крупная из них, MT-NLG, уже перевалила за полтриллиона (503В) параметров. Вместе с этим, возникает резонный вопрос об оптимальности использования настолько большого числа параметров.
Данная статья - эмпирическое исследование на тему поиска оптимального соотношения количества параметров модели и использованных за время обучения токенов при данном вычислительном бюджете с целью получения наилучшей модели. Здесь вычислительный бюджет выражается в количестве операций с плавающей точкой (FLOPs), а качество модели - в значении ее функции потерь во время обучения.
Для проведения экспериментов авторы выбрали следующие стратегии:
1. Фиксируем размер модели (от 70М до 10В), варьируем количество токенов. Для каждого количества параметров тренируем 4 модели, выбираем лучшую по тренировочному лоссу. Эта модели - точка в матрице размер модели/число токенов.
2. Варьируем размер модели и вычислительный бюджет (#FLOPs). Этот эксперимент позволяет понять оптимальное количество компьюта для данного размера модели.
3. Фитим степенную функцию на замерах из п. 1 и 2.
Результаты экспериментов по трём стратегиям независимо показывают один результат - число параметров модели должно увеличиваться пропорционально числу токенов. Ранее считалось, размер модели должен расти быстрее. Это значит, что все существующие модели, в т.ч. Gopher и GPT-3 избыточны по числу параметров.
Авторы предлагают свою модель Chinchilla, имеющую Gopher-like архитектуру (70В), но обученную на достаточном количестве токенов. При одинаковом вычислительном бюджете, авторам удается получить модель, значительно превосходящую предшественника по всем языковым бенчмаркам. При этом, Chinchilla легче и быстрее. Кода/весов, понятное дело, нету.
❤1
It’s all about where you start: Text-to-image generation with seed selection
Даже у топовых диффузионок по-прежнему остаются проблемные моды. Например, многие модели продолжают генерировать неправильное количество пальцев и искаженные лица на задних планах. Проблему решают промт инжинирингом (раз, два), использованием сегментационных масок, гайденсом по картам внимания и текстовой инверсией.
Авторы разбирают возможные причины плохих генераций и выдвигают гипотезу: для редких мод модель видела не достаточно пар текст-шум во время обучения. Это приводит к тому что во время использования высока вероятность случайно выбрать такой шум, который плохо соотнесётся с текстом, а это приведет к некачественной генерации.
В качестве проверки авторы парсят тексты LAION2B, выделяют существительные и считают их частоту. Затем, для каждого класса из ImageNet с помощью SD v1 генерят по 100 картинок и классифицируют их SOTA классификатором. Показывают, что чем менее представлен класс в тренировочном распределении, тем чаще ошибается классификатор на результатах генерации.
Для решения проблемы авторы предлагают подход SeedSelect. Суть заключается в том чтобы:
— Выбрать 3-5 картинок того же класса из обучающего датасета;
— Посчитать центроид их эмбедов;
— Оптимизировать эмбед шума так чтобы он был как можно ближе к центроиду.
На практике используется два типа эмбедов: CLIP img (Semantic consistency) и VAE (Appearance consistency). В качестве лосса используется взвешенная сумма евклидовых расстояний. Исходно на каждый тюнинг шума требуется 1-5 мин, но, используя пару трюков, авторы уменьшают это время до нескольких секунд.
Эксперименты по few-shot learning и long-tail learning показывают SOTA результаты. А ещё руки нормально генерятся🤔
Ablation показывает, что всё не схлопывается в одну картинку и что 5 примеров, в целом, ОК.
В качестве ограничений авторы отмечают проблемы с возможностью эмитировать стили. Также, если концепт супер редкий, то даже этот подход не помогает. Кода нет и не обещают.
Даже у топовых диффузионок по-прежнему остаются проблемные моды. Например, многие модели продолжают генерировать неправильное количество пальцев и искаженные лица на задних планах. Проблему решают промт инжинирингом (раз, два), использованием сегментационных масок, гайденсом по картам внимания и текстовой инверсией.
Авторы разбирают возможные причины плохих генераций и выдвигают гипотезу: для редких мод модель видела не достаточно пар текст-шум во время обучения. Это приводит к тому что во время использования высока вероятность случайно выбрать такой шум, который плохо соотнесётся с текстом, а это приведет к некачественной генерации.
В качестве проверки авторы парсят тексты LAION2B, выделяют существительные и считают их частоту. Затем, для каждого класса из ImageNet с помощью SD v1 генерят по 100 картинок и классифицируют их SOTA классификатором. Показывают, что чем менее представлен класс в тренировочном распределении, тем чаще ошибается классификатор на результатах генерации.
Для решения проблемы авторы предлагают подход SeedSelect. Суть заключается в том чтобы:
— Выбрать 3-5 картинок того же класса из обучающего датасета;
— Посчитать центроид их эмбедов;
— Оптимизировать эмбед шума так чтобы он был как можно ближе к центроиду.
На практике используется два типа эмбедов: CLIP img (Semantic consistency) и VAE (Appearance consistency). В качестве лосса используется взвешенная сумма евклидовых расстояний. Исходно на каждый тюнинг шума требуется 1-5 мин, но, используя пару трюков, авторы уменьшают это время до нескольких секунд.
Эксперименты по few-shot learning и long-tail learning показывают SOTA результаты. А ещё руки нормально генерятся
Ablation показывает, что всё не схлопывается в одну картинку и что 5 примеров, в целом, ОК.
В качестве ограничений авторы отмечают проблемы с возможностью эмитировать стили. Также, если концепт супер редкий, то даже этот подход не помогает. Кода нет и не обещают.
Please open Telegram to view this post
VIEW IN TELEGRAM
DataComp: In search of the next generation of multimodal datasets
Последние прорывы в мультимодальном ML (CLIP, DALL-E, GPT, SD) связаны с использованием больших датасетов с парами картинка-текст. Несмотря на их невероятную пользу, о них до сих пор мало что известно. Большинство работ посвящено архитектурам или построению процесса обучения, в то время как данные воспринимаются как монолитная, неизменная сущность.
Авторы статьи предлагают новый бенчмарк, переворачивая традиционную парадигму ML исследований. Вместо того чтобы фиксировать датасеты и экспериментировать с моделями и методами обучения, предлагается зафиксировать код, модели и вычислительный бюджет и поработать над качеством данных с целью улучшения итоговых метрик качества.
В качестве основного пула предлагается 12.8 миллиардов пар (12.8B), соскрапленых из интернета. Далее, авторы предлагают два трека:
— Data filtering - поиск наилучшего (для обучения моделей) сабсета исходного датасета;
— Bring Your Own Data - то же самое, но можно еще и свои данные докидывать.
Также авторы предлагают изучать scaling trends - законы масштабирования мультимодальных моделей (аналог scaling laws для LLM). Для этого предлагается пул из 38 задач, а сами показывают результаты более 300 базовых экспериментов, служащих отправной точкой для дальнейших исследований.
Помимо 12.8B релизят 1B сабсет, полученный чисткой основного пула. Авторы рассматривают как бейзлайн следующие фильтры:
— Удаление не английских слов;
— Удаление слишком коротких подписей;
— Фильтрация на основании картиночных эмбедов;
— Фильтрация по порогу CLIP score.
Даже такие базовые фильтры позволяют обучить CLIP ViT-L/14 до zero-shot на ImageNet ~79%, что превосходит CLIP ViT-g/14 обученный на LAION2B с 3х компьютом😎 .
Тем кто работает с большими мультимодальными моделями имеет смысл ознакомиться детальнее. Больше информации на оф сайте и в репозитории.
Последние прорывы в мультимодальном ML (CLIP, DALL-E, GPT, SD) связаны с использованием больших датасетов с парами картинка-текст. Несмотря на их невероятную пользу, о них до сих пор мало что известно. Большинство работ посвящено архитектурам или построению процесса обучения, в то время как данные воспринимаются как монолитная, неизменная сущность.
Авторы статьи предлагают новый бенчмарк, переворачивая традиционную парадигму ML исследований. Вместо того чтобы фиксировать датасеты и экспериментировать с моделями и методами обучения, предлагается зафиксировать код, модели и вычислительный бюджет и поработать над качеством данных с целью улучшения итоговых метрик качества.
В качестве основного пула предлагается 12.8 миллиардов пар (12.8B), соскрапленых из интернета. Далее, авторы предлагают два трека:
— Data filtering - поиск наилучшего (для обучения моделей) сабсета исходного датасета;
— Bring Your Own Data - то же самое, но можно еще и свои данные докидывать.
Также авторы предлагают изучать scaling trends - законы масштабирования мультимодальных моделей (аналог scaling laws для LLM). Для этого предлагается пул из 38 задач, а сами показывают результаты более 300 базовых экспериментов, служащих отправной точкой для дальнейших исследований.
Помимо 12.8B релизят 1B сабсет, полученный чисткой основного пула. Авторы рассматривают как бейзлайн следующие фильтры:
— Удаление не английских слов;
— Удаление слишком коротких подписей;
— Фильтрация на основании картиночных эмбедов;
— Фильтрация по порогу CLIP score.
Даже такие базовые фильтры позволяют обучить CLIP ViT-L/14 до zero-shot на ImageNet ~79%, что превосходит CLIP ViT-g/14 обученный на LAION2B с 3х компьютом
Тем кто работает с большими мультимодальными моделями имеет смысл ознакомиться детальнее. Больше информации на оф сайте и в репозитории.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Towards Artistic Image Aesthetics Assessment: a Large-scale Dataset and a New Method
Мы уже разбирали задачу оценки эстетичности изображения и нового датасета TAD66k, призванного продвинуть данную область. Несмотря на больший чем у предшественников размер, этот датасет имеет существенный недостаток - он практически не включает в себя изображения произведений искусства. Другие датасеты в области (AVA, AADB, FLICKR-AES) имеют ту же проблему.
Данная работа адресует проблему, предлагая:
— Датасет Boldbrush Artistic Image Dataset (BAID), состоящий из 60к изображений произведений искусства и более чем 360к меток к ним;
— Модель Style-specific Art Assessment Network (SAAN), в виде бейзлайна на BAID.
Важной особенностью сбора датасета является уход от традиционно использующихся mean opinion scores (MOS). Вместо этого, авторы взяли картинки с сайта Booldbrush. На сайте проводятся регулярные соревнования, в которых победитель определяется количеством пользовательских лайков. Авторы BAID решили конвертировать количество лайков в оценку качества из предположения: больше лайков - выше эстетичность. Понятно, что конвертировать количество в качество можно очень по-разному, поэтому им пришлось разметить 100 картинок MOS для валидации адекватности их скоринговой функции.
SAAN состоит из 3-х веток, две из которых - предобученные на ImageNet1k экстракторы признаков (VGG16, ResNet), которые далее не обучаются. Признаки из этих двух сеток комбинируются с помощью AdaIN слоя и далее выступают как единая сущность. Третья ветка - еще один ResNet50, обученный в self-supervised манере на предсказание типа и силы аугментаций. Признаки из этой ветки складываются с выходами AdaIN слоя, после чего учится MLP регрессор непосредственно на предсказание качества.
Эксперименты показывают, что:
— Таким образом можно получить инкрементальное улучшение по сравнению с TANet;
— Общее качество моделей на задачах оценки эстетичности очень не велико - SRCC ~ 0.47 для BAID.
Датасет качать тут, а модель не завезли.
Мы уже разбирали задачу оценки эстетичности изображения и нового датасета TAD66k, призванного продвинуть данную область. Несмотря на больший чем у предшественников размер, этот датасет имеет существенный недостаток - он практически не включает в себя изображения произведений искусства. Другие датасеты в области (AVA, AADB, FLICKR-AES) имеют ту же проблему.
Данная работа адресует проблему, предлагая:
— Датасет Boldbrush Artistic Image Dataset (BAID), состоящий из 60к изображений произведений искусства и более чем 360к меток к ним;
— Модель Style-specific Art Assessment Network (SAAN), в виде бейзлайна на BAID.
Важной особенностью сбора датасета является уход от традиционно использующихся mean opinion scores (MOS). Вместо этого, авторы взяли картинки с сайта Booldbrush. На сайте проводятся регулярные соревнования, в которых победитель определяется количеством пользовательских лайков. Авторы BAID решили конвертировать количество лайков в оценку качества из предположения: больше лайков - выше эстетичность. Понятно, что конвертировать количество в качество можно очень по-разному, поэтому им пришлось разметить 100 картинок MOS для валидации адекватности их скоринговой функции.
SAAN состоит из 3-х веток, две из которых - предобученные на ImageNet1k экстракторы признаков (VGG16, ResNet), которые далее не обучаются. Признаки из этих двух сеток комбинируются с помощью AdaIN слоя и далее выступают как единая сущность. Третья ветка - еще один ResNet50, обученный в self-supervised манере на предсказание типа и силы аугментаций. Признаки из этой ветки складываются с выходами AdaIN слоя, после чего учится MLP регрессор непосредственно на предсказание качества.
Эксперименты показывают, что:
— Таким образом можно получить инкрементальное улучшение по сравнению с TANet;
— Общее качество моделей на задачах оценки эстетичности очень не велико - SRCC ~ 0.47 для BAID.
Датасет качать тут, а модель не завезли.
👍2
Pick-a-Pic: An Open Dataset of User Preferences for Text-to-Image Generation
На сегодняшний день существует зоопарк мультимодальных (text+image) моделей: Stable Diffusion (SD) разных версий, DALL-E, Midjourney, Шедеврум, Кандинский и многие другие. Как определить какая лучшая? Как понять, что yet another генерация превзошла предшественников?
Сейчас для этого обычно используют комбинацию FID и CLIP score. Первая метрика отвечает за качество, вторая - за релевантность картинки тексту запроса. Проблема в том, что обе эти метрики не идеальны, а опыт пользователей, которые генерируют и оценивают картинки, как будто, никак не учитывается.
Авторы статьи предлагают метрику оценки удовлетворенности пользователя результатом генерации - PickScore. Первым шагом создания метрики стал сбор датасета:
— Создаём веб интерфейс с возможностью генерации картинки по тексту;
— После генерации пользователь выбирает лучшую картинку или объявляет ничью;
— Таким образом собираем ~1M ответов о 500k+ примерах генераций SD по 35к+ промтам, периодически баня ботов и пользователей с нежелательной активностью.
Имея такой внушительный пул данных, авторы дообучают CLIP-H на задачу предсказания предпочтения пользователей используя метод из работы InstructGPT - предсказание KL дивергенции между реальными предпочтениями пользователей и софтмакс-нормализованными предсказаниями для каждого исхода. Во избежание переобучения на небольшой набор промтов, добавляется нормализация на частоту их появления в датасете.
На выходе получается CLIP-like функция, значение которой лучше коррелирует с предпочтениями пользователей. При этом, как показано на Fig.5, PickScore склонен выбирать более эстетичные примеры, иногда в ущерб текстовой релевантности.
В статье есть интересное наблюдение про FID: метрика сильно антикоррелирована с человеческим ранжированием качества генеративных моделей на MS-COCO.
Авторы выложили код и датасет, а также предлагают ознакомиться с их веб приложением для генерации и разметки.
На сегодняшний день существует зоопарк мультимодальных (text+image) моделей: Stable Diffusion (SD) разных версий, DALL-E, Midjourney, Шедеврум, Кандинский и многие другие. Как определить какая лучшая? Как понять, что yet another генерация превзошла предшественников?
Сейчас для этого обычно используют комбинацию FID и CLIP score. Первая метрика отвечает за качество, вторая - за релевантность картинки тексту запроса. Проблема в том, что обе эти метрики не идеальны, а опыт пользователей, которые генерируют и оценивают картинки, как будто, никак не учитывается.
Авторы статьи предлагают метрику оценки удовлетворенности пользователя результатом генерации - PickScore. Первым шагом создания метрики стал сбор датасета:
— Создаём веб интерфейс с возможностью генерации картинки по тексту;
— После генерации пользователь выбирает лучшую картинку или объявляет ничью;
— Таким образом собираем ~1M ответов о 500k+ примерах генераций SD по 35к+ промтам, периодически баня ботов и пользователей с нежелательной активностью.
Имея такой внушительный пул данных, авторы дообучают CLIP-H на задачу предсказания предпочтения пользователей используя метод из работы InstructGPT - предсказание KL дивергенции между реальными предпочтениями пользователей и софтмакс-нормализованными предсказаниями для каждого исхода. Во избежание переобучения на небольшой набор промтов, добавляется нормализация на частоту их появления в датасете.
На выходе получается CLIP-like функция, значение которой лучше коррелирует с предпочтениями пользователей. При этом, как показано на Fig.5, PickScore склонен выбирать более эстетичные примеры, иногда в ущерб текстовой релевантности.
В статье есть интересное наблюдение про FID: метрика сильно антикоррелирована с человеческим ранжированием качества генеративных моделей на MS-COCO.
Авторы выложили код и датасет, а также предлагают ознакомиться с их веб приложением для генерации и разметки.
Understanding Aesthetics with Language: A Photo Critique Dataset for Aesthetic Assessment
Задача оценки эстетического качества изображения сложна своей неоднозначностью. Из-за этого, любая разметка по определению субьективно. Решают эту проблему путём сбора большого количества меток для каждого изображения. Например, в датасете TAD66k на каждую картинку собрано более 1200 меток, которые далее агрегируются в единый скор (MOS).
Авторы этой статьи критикуют такой подход за его низкую интерпретируемость. При этом, они замечают, что большинство сайтов с возможностью оценки эстетичности изображений (Flickr, Photo.net, Instagram) поддерживают функциональность добавления комментариев. Они имеют больше информации чем MOS, но игнорируются составителями датасетов.
Здесь предлагается Reddit Photo Critique Dataset (RPCD) - набор из 74к фото с 220к комментариев, собранный из тематического сообщества на Reddit. Переводить тексты в оценку эстетичности предлагается с помощью sentiment analysis исходя из следующего предположения: чем более эмоционально окрашен комментарий (не важно в положительную или отрицательную сторону), тем более эстетично изображение. Делается оценка с помощью TwitterRoBERTa. Предполагается что домены достаточно близки (и там и там соц. сеть), из-за чего можно использовать модель без дообучения.
Авторы проверяют насколько полученные оценки коррелируют с MOS получают SRCC ~ 0.64, что считают достаточно хорошей аппроксимацией с учетом отсутствия необходимости специально собирать разметку. Также подмечается, что такой подход позволяет использовать image aesthetic captioning для генерации синтетики с последующим переводом в скоры для получения неограниченной эстетической разметки.
Если взять ViT и либо полностью дообучить на RPCD, либо заморозить и обучить линейный слой поверх, можно побить NIMA - старенькую, но часто упомянаемую метркику оценки эстетичности. Код и модели выложены.
Задача оценки эстетического качества изображения сложна своей неоднозначностью. Из-за этого, любая разметка по определению субьективно. Решают эту проблему путём сбора большого количества меток для каждого изображения. Например, в датасете TAD66k на каждую картинку собрано более 1200 меток, которые далее агрегируются в единый скор (MOS).
Авторы этой статьи критикуют такой подход за его низкую интерпретируемость. При этом, они замечают, что большинство сайтов с возможностью оценки эстетичности изображений (Flickr, Photo.net, Instagram) поддерживают функциональность добавления комментариев. Они имеют больше информации чем MOS, но игнорируются составителями датасетов.
Здесь предлагается Reddit Photo Critique Dataset (RPCD) - набор из 74к фото с 220к комментариев, собранный из тематического сообщества на Reddit. Переводить тексты в оценку эстетичности предлагается с помощью sentiment analysis исходя из следующего предположения: чем более эмоционально окрашен комментарий (не важно в положительную или отрицательную сторону), тем более эстетично изображение. Делается оценка с помощью TwitterRoBERTa. Предполагается что домены достаточно близки (и там и там соц. сеть), из-за чего можно использовать модель без дообучения.
Авторы проверяют насколько полученные оценки коррелируют с MOS получают SRCC ~ 0.64, что считают достаточно хорошей аппроксимацией с учетом отсутствия необходимости специально собирать разметку. Также подмечается, что такой подход позволяет использовать image aesthetic captioning для генерации синтетики с последующим переводом в скоры для получения неограниченной эстетической разметки.
Если взять ViT и либо полностью дообучить на RPCD, либо заморозить и обучить линейный слой поверх, можно побить NIMA - старенькую, но часто упомянаемую метркику оценки эстетичности. Код и модели выложены.
👍3
Intriguing properties of synthetic images:
from generative adversarial networks to diffusion models
Генеративные сети достигли уровня, когда люди не всегда способны отличить реальную картинку от сгенерированной. Несколько работ (ECCV’22, Arxiv March 23) предлагают способы детектирования искусственного контента с помощью специальных моделей.
Авторы этой работы сместили фокус на общий анализ того чем отличаются настоящие изображения от не настоящих. Для этого они используют набор датасетов
— ImageNet, FFHQ, LAION для настоящих;
— Генерации DiT, StyleGAN, GLIDE в качестве примеров синтетических;
В качестве метода предлагается визуальный анализ статистик изображений: усредненных автокорреляций и power spectra.
Статья состоит из набора простых вариаций использования этих статистик в комбинации с различными пре- и пост-процессингами. Самые интересные, на мой взгляд, следующие:
— Синтетические изображения содержат регулярные паттерны, отличные от тех что содержатся в естественных датасетах (например, вызванных JPEG компрессией);
— Это касается не только генерации из шума, но и генеративного super resolution;
— Сильный пост-просцессинг (особенно компрессия) может маскировать характерные паттерны синтетических картинок;
— Если в исходные датасеты содержат артефакты (например, компрессию), то модели выучат их;
— Анализ радиальных и угловых спектров показывает, что генеративные модели склонны выдавать менее вариативные изображения, особенно в области средних частот;
Авторы делают вывод о том что для обнаружения сгенерированных изображений не обязательно использоваться изощренные методы. Простой статистический анализ показывает, что искусственные изображения имеют явные отличительные особенности, на основе которых могут быть созданы новые методы детекции. Кода нет.
from generative adversarial networks to diffusion models
Генеративные сети достигли уровня, когда люди не всегда способны отличить реальную картинку от сгенерированной. Несколько работ (ECCV’22, Arxiv March 23) предлагают способы детектирования искусственного контента с помощью специальных моделей.
Авторы этой работы сместили фокус на общий анализ того чем отличаются настоящие изображения от не настоящих. Для этого они используют набор датасетов
— ImageNet, FFHQ, LAION для настоящих;
— Генерации DiT, StyleGAN, GLIDE в качестве примеров синтетических;
В качестве метода предлагается визуальный анализ статистик изображений: усредненных автокорреляций и power spectra.
Статья состоит из набора простых вариаций использования этих статистик в комбинации с различными пре- и пост-процессингами. Самые интересные, на мой взгляд, следующие:
— Синтетические изображения содержат регулярные паттерны, отличные от тех что содержатся в естественных датасетах (например, вызванных JPEG компрессией);
— Это касается не только генерации из шума, но и генеративного super resolution;
— Сильный пост-просцессинг (особенно компрессия) может маскировать характерные паттерны синтетических картинок;
— Если в исходные датасеты содержат артефакты (например, компрессию), то модели выучат их;
— Анализ радиальных и угловых спектров показывает, что генеративные модели склонны выдавать менее вариативные изображения, особенно в области средних частот;
Авторы делают вывод о том что для обнаружения сгенерированных изображений не обязательно использоваться изощренные методы. Простой статистический анализ показывает, что искусственные изображения имеют явные отличительные особенности, на основе которых могут быть созданы новые методы детекции. Кода нет.
👍4
Implicit Diffusion Models for Continuous Super-Resolution
Последние диффузионные модели показывают SOTA результаты как на in-domain super resolution (SR) (SR3), так и in-the-wild SR (SR3+). В то же время, они по-прежнему страдают от важного ограничения - фиксированного апскейлинг фактора, что не практично.
Авторы этой работы предлагают решение, основанное на использовании implicit neural representations (INR). INR - представление дискретного объекта (изображения) в виде непрерывной функции. Важное свойство INR, использующееся в этой статье - их инвариантность к разрешению изображения в широких пределах.
INR ранее уже применялись для задачи SR. Работа LIIF показала хорошие результаты, однако имела недостаток в виде проблем с восстановлением высокочастотных деталей. Данная работа ставит своей целью решение этой проблемы за счет использования свойств диффузионных моделей. Предложенный метод состоит из 3 компонент:
1. LR conditioning network. Два самых распространенных способа обуславливания:
— Канкатенация предсказания на шаге
— Комбинация эмбедингов условия с предсказания. Для этого
В этой работе используются оба подхода обуславливания на LR картинку.
2. Scaling factor modulation. Простая идея - добавить scaling factor
3. INR. Эта часть унаследована из работы LIIF и представляет собой MLP, обучающийся на координатах, с добавлением условий по схеме описанной выше.
Обучаясь в стандартном DDPM сетапе, модель получается SOTA даже в постановке с фиксированным разрешением, обходя SR3 на in-domain SR на FFHQ. Судя по картинкам в статье, цель работы с произвольными scaling factors достигается. Код есть.
Последние диффузионные модели показывают SOTA результаты как на in-domain super resolution (SR) (SR3), так и in-the-wild SR (SR3+). В то же время, они по-прежнему страдают от важного ограничения - фиксированного апскейлинг фактора, что не практично.
Авторы этой работы предлагают решение, основанное на использовании implicit neural representations (INR). INR - представление дискретного объекта (изображения) в виде непрерывной функции. Важное свойство INR, использующееся в этой статье - их инвариантность к разрешению изображения в широких пределах.
INR ранее уже применялись для задачи SR. Работа LIIF показала хорошие результаты, однако имела недостаток в виде проблем с восстановлением высокочастотных деталей. Данная работа ставит своей целью решение этой проблемы за счет использования свойств диффузионных моделей. Предложенный метод состоит из 3 компонент:
1. LR conditioning network. Два самых распространенных способа обуславливания:
— Канкатенация предсказания на шаге
t (y_t) с условием (в данном случае - апсемпленая бикубиком LR картинка);— Комбинация эмбедингов условия с предсказания. Для этого
y_t прогоняется через основную сеть, а условие - через дополнительную.В этой работе используются оба подхода обуславливания на LR картинку.
2. Scaling factor modulation. Простая идея - добавить scaling factor
s как еще одно условие. Вместо стандартной подачи s в cross-attention, авторы используют отдельный MLP для перевода s в вектор масштабов. Элементы этого вектора далее нормализуются, комбинируются с LR эмбедингами и подставляются в INR - на каждый слой свой элемент вектора. 3. INR. Эта часть унаследована из работы LIIF и представляет собой MLP, обучающийся на координатах, с добавлением условий по схеме описанной выше.
Обучаясь в стандартном DDPM сетапе, модель получается SOTA даже в постановке с фиксированным разрешением, обходя SR3 на in-domain SR на FFHQ. Судя по картинкам в статье, цель работы с произвольными scaling factors достигается. Код есть.
🔥6
Common Diffusion Noise Schedules and Sample Steps are Flawed
Диффузионные модели обучают генерировать изображения из шума. Во время обучения имеются только “чистые” изображения, поэтому их постепенно зашумляют до получения полного шума. Количество добавляемого шума на шаге диффузии
Авторы обнаружили, что требование перевода в шум на шаге
Для решения проблемы предлагаются правки:
— Для линейных расписаний предлагается явно задавать SNR равным 0 на шаге T, после чего линейно перемасштабировать количество добавляемого шума на всех шагах
— Для косинусных расписаний нужно поправить только значение на шаге
Другая проблема наблюдается с популярными семплерами. DDIM и PNDM настроены таким образом, что они не включают последний шаг семплирования. Из-за этого фактический уровень шума будет отличаться от подаваемого в качестве условия значения
Также в статье затрагивается проблема с classifier-free guidance, которая приводит к пересыщению изображений. Авторы предлагают свой метод перемасштабирования. В отличие от метода dynamic thresholding из Imagen, метод подходит и для латентной диффузии.
Добавив все изменения, авторы переобчают SD и получают желаемый результат - бОльшую чувствительность к промту, больший диапазон яркости в генерациях. Есть хороший ablation про влияние каждого изменения. Код в тексте.
Диффузионные модели обучают генерировать изображения из шума. Во время обучения имеются только “чистые” изображения, поэтому их постепенно зашумляют до получения полного шума. Количество добавляемого шума на шаге диффузии
t определяется выбранным расписанием. Ключевым требованием к расписанию является перевод изображения в чистый шум на последнем шаге T. Авторы обнаружили, что требование перевода в шум на шаге
T не выполняется на практике. В популярных расписаниях есть баг, оставляющий в шуме заметное количество низкочастотной информации (поканальное среднее). Это создаёт разрыв между тренировочным и тестовым распределениями и приводит к появлению в обученных моделях неявных ограничений. Например, моделям трудно генерировать очень тёмные или очень яркие изображения. Авторы утверждают, что баг встречается во многих популярных моделях. Для решения проблемы предлагаются правки:
— Для линейных расписаний предлагается явно задавать SNR равным 0 на шаге T, после чего линейно перемасштабировать количество добавляемого шума на всех шагах
t ∈ [2, . . . , T −1].— Для косинусных расписаний нужно поправить только значение на шаге
T.Другая проблема наблюдается с популярными семплерами. DDIM и PNDM настроены таким образом, что они не включают последний шаг семплирования. Из-за этого фактический уровень шума будет отличаться от подаваемого в качестве условия значения
t. Это усугубляет сдвиг распределений.Также в статье затрагивается проблема с classifier-free guidance, которая приводит к пересыщению изображений. Авторы предлагают свой метод перемасштабирования. В отличие от метода dynamic thresholding из Imagen, метод подходит и для латентной диффузии.
Добавив все изменения, авторы переобчают SD и получают желаемый результат - бОльшую чувствительность к промту, больший диапазон яркости в генерациях. Есть хороший ablation про влияние каждого изменения. Код в тексте.
❤2👍2
Getting ViT in Shape: Scaling Laws for Compute-Optimal Model Design
Scaling laws - законы изменения качества работы моделей при варьировании (гипер-)параметров модели/обучения. Они показывают, что при соблюдении вычислительной оптимальности (Chinchilla) можно добиться большего итогового качества, а также оценить потенциальный выигрыш от увеличения компьюта и/или датасета. В то же время, предыдущие работы уделяли мало внимания архитектурным вопросам, таким как соотношения ширины и глубины трансформеров.
Работа посвящена получению Shape Optimized ViT - SoViT. Основным инсайтом статьи является наблюдение, что небольшие ViT могут достигать качества больших при одинаковом вычислительном бюджете если оптимизировать их форму (отношение ширины и глубины). В частности, удаётся получить в 2.5 меньшую чем ViT-g/14 модель, имеющую очень близкие значения качества zero-shot и fine-tuning классификации.
Статья была бы не слишком интересной, если бы результат был получен полным перебором (~400 моделей). В данном случае, авторы обошлись 115 запусками за счет предложенной процедуры Star Sweep:
1. Начинаем с большой модели (star center) для которой нужно оптимальную меньшую, перебрав несколько параметров;
2. Выбираем один из параметров и семплируем его значения по экспоненциальной сетке так, чтобы все они были сильно (минимум в 2 раза) меньше;
3. Для самой маленькой выбранной модели перебираем все параметры по сетке для получения Парето-оптимальной стартовой точки;
4. Масштабируемся. Начиная со стартовой точки совместно увеличиваем комьют и значения параметров, масштабируя последние степенной функцией со параметром из п. 2.
На практике, оказывается, что:
1. MLP размерность должна масштабироваться быстрее чем глубина, а глубина быстрее чем ширина;
2. Число параметров ViT должно расти медленнее, чем компьют;
3. Оптимальные маленькие ViT могут достигать качества неоптимальных больших.
Одним из интересных инсайтов является то, что для маленьких ViT оптимальные параметры зависят от задачи. Ни кода, ни весов нет.
Scaling laws - законы изменения качества работы моделей при варьировании (гипер-)параметров модели/обучения. Они показывают, что при соблюдении вычислительной оптимальности (Chinchilla) можно добиться большего итогового качества, а также оценить потенциальный выигрыш от увеличения компьюта и/или датасета. В то же время, предыдущие работы уделяли мало внимания архитектурным вопросам, таким как соотношения ширины и глубины трансформеров.
Работа посвящена получению Shape Optimized ViT - SoViT. Основным инсайтом статьи является наблюдение, что небольшие ViT могут достигать качества больших при одинаковом вычислительном бюджете если оптимизировать их форму (отношение ширины и глубины). В частности, удаётся получить в 2.5 меньшую чем ViT-g/14 модель, имеющую очень близкие значения качества zero-shot и fine-tuning классификации.
Статья была бы не слишком интересной, если бы результат был получен полным перебором (~400 моделей). В данном случае, авторы обошлись 115 запусками за счет предложенной процедуры Star Sweep:
1. Начинаем с большой модели (star center) для которой нужно оптимальную меньшую, перебрав несколько параметров;
2. Выбираем один из параметров и семплируем его значения по экспоненциальной сетке так, чтобы все они были сильно (минимум в 2 раза) меньше;
3. Для самой маленькой выбранной модели перебираем все параметры по сетке для получения Парето-оптимальной стартовой точки;
4. Масштабируемся. Начиная со стартовой точки совместно увеличиваем комьют и значения параметров, масштабируя последние степенной функцией со параметром из п. 2.
На практике, оказывается, что:
1. MLP размерность должна масштабироваться быстрее чем глубина, а глубина быстрее чем ширина;
2. Число параметров ViT должно расти медленнее, чем компьют;
3. Оптимальные маленькие ViT могут достигать качества неоптимальных больших.
Одним из интересных инсайтов является то, что для маленьких ViT оптимальные параметры зависят от задачи. Ни кода, ни весов нет.
❤3