Image Quality Assessment using Synthetic Images
Выше уже обсуждался самый распространенный подход к решению задачи оценки качества изображений через обучение на mean opinion scores (MOS). Основным недостатком полученных алгоритмов является склонность к переобучению на, как правило, небольших датасетах. Альтернативные методы, основанные на использовании self-supervised претрейнов стали появляться недавно.
В этой статье авторы утилизируют менее распространенный способ получения метрик через contrastive learning без явного использования MOS. Более того, сами данные также предлагается получать искусственно. Для этого генерируются наборы геометрических фигур, которые далее “порятся” с использованием трансформаций из KADIS датасета. Также авторы попробовали обучиться на Danboru датасете для проверки важности наличия семантики на изображениях.
В качестве модели авторы взяли обычный ResNet50 с головой из двухслойного MLP, который обучали на кропах размером 256 на минимизацию контрастив лосса. В итоге получились модели с конкурентоспособным качеством по оценке на LIVE, CSIQ, TID2013 и KADID10k. Важно заметить, что на датасетах с реалистичными трансформациями вроде KonIQ и CLIVE предложенный подход все равно проигрывает HyperIQA.
Тем не менее, важность работы не столько в итоговом качестве метрики (реализацию и веса которой, кстати, так и не предоставили), сколько в осознании того что использование полностью искусственно сгенерированных данных, да еще и без человеческой разметки, может дать какой-то результат.
Выше уже обсуждался самый распространенный подход к решению задачи оценки качества изображений через обучение на mean opinion scores (MOS). Основным недостатком полученных алгоритмов является склонность к переобучению на, как правило, небольших датасетах. Альтернативные методы, основанные на использовании self-supervised претрейнов стали появляться недавно.
В этой статье авторы утилизируют менее распространенный способ получения метрик через contrastive learning без явного использования MOS. Более того, сами данные также предлагается получать искусственно. Для этого генерируются наборы геометрических фигур, которые далее “порятся” с использованием трансформаций из KADIS датасета. Также авторы попробовали обучиться на Danboru датасете для проверки важности наличия семантики на изображениях.
В качестве модели авторы взяли обычный ResNet50 с головой из двухслойного MLP, который обучали на кропах размером 256 на минимизацию контрастив лосса. В итоге получились модели с конкурентоспособным качеством по оценке на LIVE, CSIQ, TID2013 и KADID10k. Важно заметить, что на датасетах с реалистичными трансформациями вроде KonIQ и CLIVE предложенный подход все равно проигрывает HyperIQA.
Тем не менее, важность работы не столько в итоговом качестве метрики (реализацию и веса которой, кстати, так и не предоставили), сколько в осознании того что использование полностью искусственно сгенерированных данных, да еще и без человеческой разметки, может дать какой-то результат.
Evaluating the Stability of Deep Image Quality Assessment With Respect to Image Scaling
Большинство датасетов для задачи оценки качества состоят из изображений с одинаковым разрешением. При этом, разрешение изображений между популярными датасетами также варьируется незначительно. Соответственно, можно представить, что метрики, обученные с использованием этих датасетов, будут чувствительны к разрешению.
Авторы работы рашили проверить эту гипотезу для нескольких традиционных (PSNR, SSIM, MS-SSIM) и сравнительно новых нейросетевых (LPIPS, PieAPP, DISTS) метрик. Статья обзорная и нового метода не предлагает.
В своей работе авторы начинают с датасетов PieAPP, TID2013, KADID10k, PIPAL и CLIC. Изображения в каждом из датасетов масштабируются вниз с использованием билинейной интерполяции в соотношениях
Несмотря на спорную постановку задачи, авторы приходят к интересному выводу. Оказывается, что для часто оптимальным масштабом для метрики является не исходный, а какой-то из уменьшенных. При этом, изменение масштаба в разной степени влияет на качество работы метрик. Наиболее стабильным оказывается алгоритм PieAPP.
Большинство датасетов для задачи оценки качества состоят из изображений с одинаковым разрешением. При этом, разрешение изображений между популярными датасетами также варьируется незначительно. Соответственно, можно представить, что метрики, обученные с использованием этих датасетов, будут чувствительны к разрешению.
Авторы работы рашили проверить эту гипотезу для нескольких традиционных (PSNR, SSIM, MS-SSIM) и сравнительно новых нейросетевых (LPIPS, PieAPP, DISTS) метрик. Статья обзорная и нового метода не предлагает.
В своей работе авторы начинают с датасетов PieAPP, TID2013, KADID10k, PIPAL и CLIC. Изображения в каждом из датасетов масштабируются вниз с использованием билинейной интерполяции в соотношениях
8/9, 7/9, …, 1/9 от исходного разрешения. Для каждого масштаба проверяется корреляция значений метрик с mean opinion scores. Несмотря на спорную постановку задачи, авторы приходят к интересному выводу. Оказывается, что для часто оптимальным масштабом для метрики является не исходный, а какой-то из уменьшенных. При этом, изменение масштаба в разной степени влияет на качество работы метрик. Наиболее стабильным оказывается алгоритм PieAPP.
Conformer and Blind Noisy Students for Improved Image Quality Assessment
Cтатья от еще одних топ перформеров IQA NTIRE challenge 2022. На этот раз, подход команды занявшей третье место в NR треке. Их статья также описывает их подход для получения топ-1 результата в FR треке в 2021 году. Но поскольку он сильно уступает первому месту 2022 года, здесь мы рассматривать его не будем.
Итак, авторы предлагают использовать тот факт, что FR метрики, в подавляющем большинстве случаев, работают лучше чем NR. При этом, на некоторых датасетах FR метрики показывают значения SRCC очень близкие к 1. Это означает, что было бы неплохо использовать их как учителей (teacher) в терминах подхода knowledge distillation. Однако не совсем ясно как это сделать в случае решения регрессионной задачи.
В статье предлагается интересное решение: давайте, вместо того чтобы напрямую подавать информацию из учителя, используем его для разметки дополнительных данных. При этом мы помним, что FR метрики не идеально точны, а значит получаемые метки нужно считать шумными. Тем не менее, таким способом можно расширить датасет, держа в уме условное разделение на “хорошие” и “шумные” данные.
Данный подход позволяет далее использовать любой метод semi-supervised learning, но авторы этого делать не стали. Вместо этого они обучили модель на увеличенном датасете, что и так позволило получить достаточный прирост в качестве и показать в итоге SRCC ~ 0.7 на PIPAL. Код есть.
Cтатья от еще одних топ перформеров IQA NTIRE challenge 2022. На этот раз, подход команды занявшей третье место в NR треке. Их статья также описывает их подход для получения топ-1 результата в FR треке в 2021 году. Но поскольку он сильно уступает первому месту 2022 года, здесь мы рассматривать его не будем.
Итак, авторы предлагают использовать тот факт, что FR метрики, в подавляющем большинстве случаев, работают лучше чем NR. При этом, на некоторых датасетах FR метрики показывают значения SRCC очень близкие к 1. Это означает, что было бы неплохо использовать их как учителей (teacher) в терминах подхода knowledge distillation. Однако не совсем ясно как это сделать в случае решения регрессионной задачи.
В статье предлагается интересное решение: давайте, вместо того чтобы напрямую подавать информацию из учителя, используем его для разметки дополнительных данных. При этом мы помним, что FR метрики не идеально точны, а значит получаемые метки нужно считать шумными. Тем не менее, таким способом можно расширить датасет, держа в уме условное разделение на “хорошие” и “шумные” данные.
Данный подход позволяет далее использовать любой метод semi-supervised learning, но авторы этого делать не стали. Вместо этого они обучили модель на увеличенном датасете, что и так позволило получить достаточный прирост в качестве и показать в итоге SRCC ~ 0.7 на PIPAL. Код есть.
Implicit Neural Representations with Levels-of-Experts
NeurIPS 2022
Implicit Neural Representations (INR) - достаточно общий подход, позволяющий, в том числе, решать задачи компрессии данных, генерации и улучшения качества изображений. Важным свойством INR является инвариантность к размеру входных данных. По большому счету, не важно что выучивать: изображение из CIFAR или ImageNet при условно схожей "сложности" сигнала. В то же время, у используемых сетей есть некоторая ёмкость, они не могут инкапсулировать в себе бесконечное количество данных.
Ранее, в работе DeRF проиллюстрировали ограничения ёмкости MLP - наиболее часто используемой архитектуры для INR. При увеличении глубины и/или ширины сети, соотношение вычислительной сложности к ёмкости падает. Таким образом, простое увеличение размеров сетей с целью репрезентации более объемных данных имеет свои пределы. Ранее уже были предложены подходы вокруг идеи разбиения данных на блоки, но у них есть свои проблемы, наиболее выраженная из которых - отсутствие “глобального знания”. Это приводит к появлению выраженных артефактах на границах.
В этой статье авторы предлагают, в некотором смысле, иерархический подход. Вместо того чтобы разбивать данные на N фрагментов и обучать независимые INR на каждом из них, предлагается поддерживать сетку фрагментов внутри одной модели. При этом, каждый слой MLP отвечает своему “масштабу”. Например, первый слой видит полностью всю сетку (всё high-rez изображение), а второй - некоторую сетку, размеры ячеек в которой одинаковы. Интересно, что для каждой ячейки хранится своя копия весов, что и обеспечивает необходимую итоговую ёмкость.
Важной особенностью метода является то что он не привносит существенного количества дополнительных вычислений. При этом, он качественно работает на выучивании изображение высокого разрешения/видео, GAN генерации, генерации новых проекций. Код авторы не предоставили.
NeurIPS 2022
Implicit Neural Representations (INR) - достаточно общий подход, позволяющий, в том числе, решать задачи компрессии данных, генерации и улучшения качества изображений. Важным свойством INR является инвариантность к размеру входных данных. По большому счету, не важно что выучивать: изображение из CIFAR или ImageNet при условно схожей "сложности" сигнала. В то же время, у используемых сетей есть некоторая ёмкость, они не могут инкапсулировать в себе бесконечное количество данных.
Ранее, в работе DeRF проиллюстрировали ограничения ёмкости MLP - наиболее часто используемой архитектуры для INR. При увеличении глубины и/или ширины сети, соотношение вычислительной сложности к ёмкости падает. Таким образом, простое увеличение размеров сетей с целью репрезентации более объемных данных имеет свои пределы. Ранее уже были предложены подходы вокруг идеи разбиения данных на блоки, но у них есть свои проблемы, наиболее выраженная из которых - отсутствие “глобального знания”. Это приводит к появлению выраженных артефактах на границах.
В этой статье авторы предлагают, в некотором смысле, иерархический подход. Вместо того чтобы разбивать данные на N фрагментов и обучать независимые INR на каждом из них, предлагается поддерживать сетку фрагментов внутри одной модели. При этом, каждый слой MLP отвечает своему “масштабу”. Например, первый слой видит полностью всю сетку (всё high-rez изображение), а второй - некоторую сетку, размеры ячеек в которой одинаковы. Интересно, что для каждой ячейки хранится своя копия весов, что и обеспечивает необходимую итоговую ёмкость.
Важной особенностью метода является то что он не привносит существенного количества дополнительных вычислений. При этом, он качественно работает на выучивании изображение высокого разрешения/видео, GAN генерации, генерации новых проекций. Код авторы не предоставили.
👍3
simple diffusion: End-to-end diffusion for high resolution images
Для генерации изображений выского разрешения были предложены подходы с диффузией в скрытом пространстве (latent diffusion) и каскадные архитектуры. Оба подхода представляют собой сложные системы из нескольких модулей с все еще высокой вычислительной сложностью.
Авторы предлагают набор трюков, позволяющих получить диффузию для high-rez картинок в пространстве пикселей, сохраняя при этом максимальную простоту подхода.
1) Формула по которой можно рассчитать оптимальные параметры шума исходя из разрешения изображений.
Мотивация - high-rez картинки требуют своего расписания добавления шума (noise scheduling). Обычное косинусное расписание с сохранением дисперсии добавляет недостаточно шума, поскольку в high-rez картинках SNR выше.
2) Multi-scale функция потерь.
Мотивация - в high-rez картинках, высокочастотные детали вносят основной вклад в вычисление функции потерь из-за высокого SNR. Чтобы избежать дисбалланса, изображения интерполируют вниз несколько раз и вычисляют взвешенную сумму значений функции потерь при разных разрешениях.
3) Использование блоков трансформера вместо низкоразмерных свёрток U-Net.
Мотивация - низкоразмерные свёртки требуют низкой интенсивности вычислений, что приводит к не эффективной утилизации железа. Блоки 16х16 вычислительно эффективны и уже хорошо показали себя в других задачах зрения.
4) Добавление drop-out, но только на низких разрешениях.
Мотивация - создатели latent diffusion активно используют аугментации для регуляризации, а про drop-out в какой-то момент забыли. Вот и зря, он вообще-то помогает. Но, как показано экспериментально, лучше добавлять его туда где есть некоторая потенциальная избыточность. В данном случае это слои с картами признаков низкого разрешения (из-за п. 3).
Эксперименты показывают, что предложенные изменения позволяют генерировать изображения высокого разрешения SOTA качества по FID. При этом на каждое из них тратится всего ~0.5 сек. С нетерпением ждём код и веса.
Для генерации изображений выского разрешения были предложены подходы с диффузией в скрытом пространстве (latent diffusion) и каскадные архитектуры. Оба подхода представляют собой сложные системы из нескольких модулей с все еще высокой вычислительной сложностью.
Авторы предлагают набор трюков, позволяющих получить диффузию для high-rez картинок в пространстве пикселей, сохраняя при этом максимальную простоту подхода.
1) Формула по которой можно рассчитать оптимальные параметры шума исходя из разрешения изображений.
Мотивация - high-rez картинки требуют своего расписания добавления шума (noise scheduling). Обычное косинусное расписание с сохранением дисперсии добавляет недостаточно шума, поскольку в high-rez картинках SNR выше.
2) Multi-scale функция потерь.
Мотивация - в high-rez картинках, высокочастотные детали вносят основной вклад в вычисление функции потерь из-за высокого SNR. Чтобы избежать дисбалланса, изображения интерполируют вниз несколько раз и вычисляют взвешенную сумму значений функции потерь при разных разрешениях.
3) Использование блоков трансформера вместо низкоразмерных свёрток U-Net.
Мотивация - низкоразмерные свёртки требуют низкой интенсивности вычислений, что приводит к не эффективной утилизации железа. Блоки 16х16 вычислительно эффективны и уже хорошо показали себя в других задачах зрения.
4) Добавление drop-out, но только на низких разрешениях.
Мотивация - создатели latent diffusion активно используют аугментации для регуляризации, а про drop-out в какой-то момент забыли. Вот и зря, он вообще-то помогает. Но, как показано экспериментально, лучше добавлять его туда где есть некоторая потенциальная избыточность. В данном случае это слои с картами признаков низкого разрешения (из-за п. 3).
Эксперименты показывают, что предложенные изменения позволяют генерировать изображения высокого разрешения SOTA качества по FID. При этом на каждое из них тратится всего ~0.5 сек. С нетерпением ждём код и веса.
👍3
FAST-VQA: Efficient End-to-end Video Quality Assessment with Fragment Sampling
ECCV 2022
Мы много говорили про оценку качества изображений (IQA), на этот раз затронем видео. У этого домена масса своих особенностей, что не позволяет решать все проблемы простыми переиспользованием методов IQA.
Одной из основных проблем существующих метрик оценки качества видео (VQA) является их вычислительная сложность. В случае фрагментов высокого разрешения (>= 1080р), метрики становятся не практичными. Более того, часто для извлечения признаков используются модели предтренированные на ImageNet, что заставляет даунскейлить данные до 224х224, очевидно, теряя информацию. Разбиение на кропы тоже мало помогает, потому как масштаб объектов сильно отличен от исходного в ImageNet.
Во-первых, в статье предлагается использовать специальный метод семплирования фрагментов из видео. Предложенная процедура равномерно семплирует патчи небольшого размера из каждого кадра видео. При этом, позиции патчей в темпоральном направлении сохраняются с целью обнаружения резких изменений на видео (например, если камера трясется).
Во-вторых, в качестве сети, используется небольшой трансформер на базе Swin-T с четырьмя self-attention блоками и парой кастомных слоев.
- Первый из них выучивает относительные позиции в attention парах как внутри так и между патчами.
- Второй делает нелинейный пулинг признаков из патчей. В данном случае это позволяет лучше учесть особенности информации в каждом патче с учетом семантических разрывов между ними, образовавшихся в результате случайного семплирования.
Инициализируется модель претрейном на Kinetics-400, обучается на LSVQ-train, тестируется на LSVQ-test, LSVQ-1080p, KoNViD-1k, LIVE-VQC. Метод показывает SOTA качества в терминах PLCC и SRCC при значительном сокращении FLOPs (~ в 6 раз). Аблейшены на метод получаения фрагментов и архитектуру на месте. Код есть.
ECCV 2022
Мы много говорили про оценку качества изображений (IQA), на этот раз затронем видео. У этого домена масса своих особенностей, что не позволяет решать все проблемы простыми переиспользованием методов IQA.
Одной из основных проблем существующих метрик оценки качества видео (VQA) является их вычислительная сложность. В случае фрагментов высокого разрешения (>= 1080р), метрики становятся не практичными. Более того, часто для извлечения признаков используются модели предтренированные на ImageNet, что заставляет даунскейлить данные до 224х224, очевидно, теряя информацию. Разбиение на кропы тоже мало помогает, потому как масштаб объектов сильно отличен от исходного в ImageNet.
Во-первых, в статье предлагается использовать специальный метод семплирования фрагментов из видео. Предложенная процедура равномерно семплирует патчи небольшого размера из каждого кадра видео. При этом, позиции патчей в темпоральном направлении сохраняются с целью обнаружения резких изменений на видео (например, если камера трясется).
Во-вторых, в качестве сети, используется небольшой трансформер на базе Swin-T с четырьмя self-attention блоками и парой кастомных слоев.
- Первый из них выучивает относительные позиции в attention парах как внутри так и между патчами.
- Второй делает нелинейный пулинг признаков из патчей. В данном случае это позволяет лучше учесть особенности информации в каждом патче с учетом семантических разрывов между ними, образовавшихся в результате случайного семплирования.
Инициализируется модель претрейном на Kinetics-400, обучается на LSVQ-train, тестируется на LSVQ-test, LSVQ-1080p, KoNViD-1k, LIVE-VQC. Метод показывает SOTA качества в терминах PLCC и SRCC при значительном сокращении FLOPs (~ в 6 раз). Аблейшены на метод получаения фрагментов и архитектуру на месте. Код есть.
👍2
Learning Customized Visual Models with Retrieval-Augmented Knowledge
Contrastive learning позволяет получать хорошие репрезентации без размеченных данных за счет доступности больших объемов текстов и картинок (CLIP). Огромные датасеты вроде LAION позволяют получать максимально общие модели. Далее они могут быть дообучены на конкретную задачу.
Авторы статьи предлагают добавить дополнительную стадию между двумя описанными выше. Таким образом должна получиться модель, специализированная на конкретную задачу, но все еще без использования размеченных данных.
Суть метода заключается в фильтрации исходного большого набора изображений и текстов. Для этого необходимо:
1. Посчитать и сохранить все текстовые и картиночные эмбединги из своего датасета;
2. Сформулировать текстовые описания классов в целевой задаче;
3. Отобрать наиболее релевантные пары текст-картинка любым методом поиска (kNN вполне подойдет).
После этого к картиночному энкодеру добавляется несколько attention и полносвязных слоев, вся модель кроме них замораживается. Модель обучают отображать картинку и текст из каждой пары в одну точку пространства (ровно так же как обучается CLIP).
Метод стабильно улучшает результаты на широком круге задач, включая классификацию, детекцию, семантическую сегментацию. В статье имеется исчерпывающий ablation на тему дизайна процесса дообучения и выбора количества отфильтрованных данных.
Сайт проекта включает ссылку на код и дополнительные иллюстрации.
Contrastive learning позволяет получать хорошие репрезентации без размеченных данных за счет доступности больших объемов текстов и картинок (CLIP). Огромные датасеты вроде LAION позволяют получать максимально общие модели. Далее они могут быть дообучены на конкретную задачу.
Авторы статьи предлагают добавить дополнительную стадию между двумя описанными выше. Таким образом должна получиться модель, специализированная на конкретную задачу, но все еще без использования размеченных данных.
Суть метода заключается в фильтрации исходного большого набора изображений и текстов. Для этого необходимо:
1. Посчитать и сохранить все текстовые и картиночные эмбединги из своего датасета;
2. Сформулировать текстовые описания классов в целевой задаче;
3. Отобрать наиболее релевантные пары текст-картинка любым методом поиска (kNN вполне подойдет).
После этого к картиночному энкодеру добавляется несколько attention и полносвязных слоев, вся модель кроме них замораживается. Модель обучают отображать картинку и текст из каждой пары в одну точку пространства (ровно так же как обучается CLIP).
Метод стабильно улучшает результаты на широком круге задач, включая классификацию, детекцию, семантическую сегментацию. В статье имеется исчерпывающий ablation на тему дизайна процесса дообучения и выбора количества отфильтрованных данных.
Сайт проекта включает ссылку на код и дополнительные иллюстрации.
Extracting Training Data from Diffusion Models
Интересная работа, показывающая возможность излечения тренировочных примеров из обученной диффузионной модели, не смотря на заявления авторов предыдущих работ о том что диффузионные модели не проявляют признаков запоминания данных. При этом важно, что речь идет о точном извлечении. Если модель умеет генерировать что-то на основе увиденных данных - это не считается. Имеется ввиду попискельное совпадение исходных и полученных изображений с некоторой точностью. В статье дано формальное определение.
Авторы показывают, что диффузионные модели являются наиболее подверженным запоминанию классом генеративных моделей. Например, они генерируют в два раза больше тренировочных примеров чем ГАНы. Это, в свою очередь, ставит под вопрос их приватность и генерализуемость. Особенно важно понимать, что такое поведение приводит к повышенным рискам в областях с высокой ценой ошибки вроде медицины.
Для нахождения заученных примеров:
1. Семплируют много картинок из модели;
2. Используют технику membership inference, адаптированную под конкретную задачу.
Особенностью подхода в этой статье является соединение примеров, полученных из одного промпта с разными random seed, в граф. В случае, если дистанция между семплами меньше пороговой, они соединяются ребром. Если для данного промпта обнаруживается компонента сильной связности - вероятно это заученных пример.
Помимо этого, авторы показывают, что наличие дубликатов в обучающей выборке увеличивает шанс запоминания. Звучит как довольно веская причина чистить данные перед обучением модели. Также интересное наблюдение заключается в том что чем лучше модель, тем выше вероятность запоминания. Дальнейшее улучшение моделей может усугубить проблему в будущем.
Предложенный метод выглядит как полезный инструмент аудита диффузионок, которые будут претендовать на продуктизацию. Кода нет.
Интересная работа, показывающая возможность излечения тренировочных примеров из обученной диффузионной модели, не смотря на заявления авторов предыдущих работ о том что диффузионные модели не проявляют признаков запоминания данных. При этом важно, что речь идет о точном извлечении. Если модель умеет генерировать что-то на основе увиденных данных - это не считается. Имеется ввиду попискельное совпадение исходных и полученных изображений с некоторой точностью. В статье дано формальное определение.
Авторы показывают, что диффузионные модели являются наиболее подверженным запоминанию классом генеративных моделей. Например, они генерируют в два раза больше тренировочных примеров чем ГАНы. Это, в свою очередь, ставит под вопрос их приватность и генерализуемость. Особенно важно понимать, что такое поведение приводит к повышенным рискам в областях с высокой ценой ошибки вроде медицины.
Для нахождения заученных примеров:
1. Семплируют много картинок из модели;
2. Используют технику membership inference, адаптированную под конкретную задачу.
Особенностью подхода в этой статье является соединение примеров, полученных из одного промпта с разными random seed, в граф. В случае, если дистанция между семплами меньше пороговой, они соединяются ребром. Если для данного промпта обнаруживается компонента сильной связности - вероятно это заученных пример.
Помимо этого, авторы показывают, что наличие дубликатов в обучающей выборке увеличивает шанс запоминания. Звучит как довольно веская причина чистить данные перед обучением модели. Также интересное наблюдение заключается в том что чем лучше модель, тем выше вероятность запоминания. Дальнейшее улучшение моделей может усугубить проблему в будущем.
Предложенный метод выглядит как полезный инструмент аудита диффузионок, которые будут претендовать на продуктизацию. Кода нет.
Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture
Одна из тех статей, которая заставляет сказать “подождите, разве это еще не сделано?”. Эта работа - один из шагов на пути Towards Autonomous Machine Intelligence Лекуна.
Современные SSL подходы делятся на генеративные и, так называемые, invariance-based. Если с первыми +- все понятно, то главной инвариантной вторых является предположение о сохранении семантики сущности (изображения, теста) после проведения некоторых аугментаций. Далее эти методы заставляют модель отображать несколько видов изображения в одну точку пространства эмбедингов. Проблемы кроются в необходимости выбора множества аугментаций и низкой информативности пиксельного представления.
Для получения максимально семантически богатых представлений, авторы предлагают архитектуру I-JEPA. Идея заключается в предсказании пропущенной информации (например вырезанного кропа) в некотором пространстве признаков. Картинки в это пространство переводят с помощью специального энкодера. Также подчеркивается важность предсказания нескольких блоков вместо одного.
Концептуально, подход напоминает генеративную модель (конкретнее - MAE), в которой context encoder, target encoder и predictor реализованы через ViT. Однако отличие в том то происходит не генерация, а предсказание (L2 loss) и не в пиксельном, а в признаковом пространстве. Важно, что веса context encoder и predictor обучают напрямую бэкпропом, в то время как веса target encoder получают экспоненциальным усреднением параметров context encoder.
Метод ожидаемо опережает MAE на классификации и приближается к SOTA подходами с подобранными аугментациями iBOT и DINO. При этом, новый подход более эффективный в терминах требуемых для обучения GPU часов. Есть неплохой ablation на тему выбора параметров маскирования во время обучения. Кода и весов нет.
Одна из тех статей, которая заставляет сказать “подождите, разве это еще не сделано?”. Эта работа - один из шагов на пути Towards Autonomous Machine Intelligence Лекуна.
Современные SSL подходы делятся на генеративные и, так называемые, invariance-based. Если с первыми +- все понятно, то главной инвариантной вторых является предположение о сохранении семантики сущности (изображения, теста) после проведения некоторых аугментаций. Далее эти методы заставляют модель отображать несколько видов изображения в одну точку пространства эмбедингов. Проблемы кроются в необходимости выбора множества аугментаций и низкой информативности пиксельного представления.
Для получения максимально семантически богатых представлений, авторы предлагают архитектуру I-JEPA. Идея заключается в предсказании пропущенной информации (например вырезанного кропа) в некотором пространстве признаков. Картинки в это пространство переводят с помощью специального энкодера. Также подчеркивается важность предсказания нескольких блоков вместо одного.
Концептуально, подход напоминает генеративную модель (конкретнее - MAE), в которой context encoder, target encoder и predictor реализованы через ViT. Однако отличие в том то происходит не генерация, а предсказание (L2 loss) и не в пиксельном, а в признаковом пространстве. Важно, что веса context encoder и predictor обучают напрямую бэкпропом, в то время как веса target encoder получают экспоненциальным усреднением параметров context encoder.
Метод ожидаемо опережает MAE на классификации и приближается к SOTA подходами с подобранными аугментациями iBOT и DINO. При этом, новый подход более эффективный в терминах требуемых для обучения GPU часов. Есть неплохой ablation на тему выбора параметров маскирования во время обучения. Кода и весов нет.
🔥1
Zero-shot Image-to-Image Translation
Проблемой диффузионных моделей остается необходимость подбирать текстовые описания для генерации изображений с желаемым контентом. Вместе с этим, невозможно селективно редактировать части изображений с помощью текстовых описаний. Как правило, вместе с редактируемым предметом или его свойством, видоизменяется что-то еще.
Авторы предлагают подход pix2pix-zero, не требующий дообучения и специального дизайна текстовых описаний. На практике, находят два трюка, совместное использование которых позволяет получать селективную image-to-image генерацию используя (почти) любые имеющиеся диффузионные модели.
Первый трюк позволяет изменять ровно то что хочется. Например у вас есть картинка кошки и хочется получить ровно то же самое, но с собакой. Для этого:
1. Берутся исходный (cat) и желаемый (dog) токены;
2. Генерируется большое количество случайных предложений с каждым из токенов, получают две группы предложений;
3. Вычисляется направление CLIP эмбединга между двумя группами.
Оказывается, что выбирать направление таким образом намного эффективнее чем просто подавать токен dog во время генерации.
Второй трюк позволяет менять ровно там где хочется. Например на той же картинке с котом вы можете хотеть поменять кота на собаку и не менять ни окружение вокруг, ни цвет животного, ни его размер и т.д. Достигается это эксплуатацией свойства cross-attention карт выделять объекты на картинке соотвествующие текстовому описанию. Метод называли cross-attention-guidance.
Также авторы добавляют два незначительных изменения, положительно влияющих на качество и скорость генерации.
- Замечают, что DDIM сэмплер делает шум “менее Гауссовским”, что ухудшает качество редактирования картинок. Лечат добавлением регуляризации.
- Делают дистилляюцию в Co-Mod-GAN на сгенерированных картинках.
Картинки выглядят сочно. По цифрам показано улучшение по сравнению с prompt-to-prompt и бейзлайном DDIM с подстановкой слов, но только на выбранных парах токенов. Кода пока нет, но ожидается тут.
Проблемой диффузионных моделей остается необходимость подбирать текстовые описания для генерации изображений с желаемым контентом. Вместе с этим, невозможно селективно редактировать части изображений с помощью текстовых описаний. Как правило, вместе с редактируемым предметом или его свойством, видоизменяется что-то еще.
Авторы предлагают подход pix2pix-zero, не требующий дообучения и специального дизайна текстовых описаний. На практике, находят два трюка, совместное использование которых позволяет получать селективную image-to-image генерацию используя (почти) любые имеющиеся диффузионные модели.
Первый трюк позволяет изменять ровно то что хочется. Например у вас есть картинка кошки и хочется получить ровно то же самое, но с собакой. Для этого:
1. Берутся исходный (cat) и желаемый (dog) токены;
2. Генерируется большое количество случайных предложений с каждым из токенов, получают две группы предложений;
3. Вычисляется направление CLIP эмбединга между двумя группами.
Оказывается, что выбирать направление таким образом намного эффективнее чем просто подавать токен dog во время генерации.
Второй трюк позволяет менять ровно там где хочется. Например на той же картинке с котом вы можете хотеть поменять кота на собаку и не менять ни окружение вокруг, ни цвет животного, ни его размер и т.д. Достигается это эксплуатацией свойства cross-attention карт выделять объекты на картинке соотвествующие текстовому описанию. Метод называли cross-attention-guidance.
Также авторы добавляют два незначительных изменения, положительно влияющих на качество и скорость генерации.
- Замечают, что DDIM сэмплер делает шум “менее Гауссовским”, что ухудшает качество редактирования картинок. Лечат добавлением регуляризации.
- Делают дистилляюцию в Co-Mod-GAN на сгенерированных картинках.
Картинки выглядят сочно. По цифрам показано улучшение по сравнению с prompt-to-prompt и бейзлайном DDIM с подстановкой слов, но только на выбранных парах токенов. Кода пока нет, но ожидается тут.
Palette: Image-to-Image Diffusion Models
Диффузионные модели завоевали всеобщую популярность во многом благодаря хорошим результатам в задачах генерации и редактирования изображений. Не смотря на это, их применимость к обратным задачам упускается даже в больших обзорах.
Эта статья - одна из первых по применению диффузии к image-to-image задачам помимо сверх разрешения, а именно: inpainting, outpainting, colorization, JPEG uncompression.
Предложенный подход максимально прост: берем “хорошую” картинку y, зашумляем ее - ŷ, тренируем модель f восстанавливать y при условии x (“плохая” картинка). Учится это дело с в виде U-Net c global self-attention, разрешением 256х256 и L2 лоссом. Вместо класса, модель обуславливают на x простой конкатенацией с оценкой на y.
Модель обучают как отдельно для каждой из 4 задач без какой-либо кастомизации архитектуры или способа обучения под каждый из них, так и в multi-task режиме. Интересно, что, например, для колоризации авторы не обнаружили преимуществ использования цветовых пространств YCbCr и LAB. Обучение на RGB картинках дало ровно такие же результаты.
Помимо метода, авторы предлагают свой протокол оценки качества работы image-to-image моделей: добавляют свой аналог ctest10k для inpainting и outpainting - places10k, предлагают использовать Inception Score, FID, Classification Accuracy (top-1) с помощью ResNet-50 и Perceptual Distance (L1 между картами признаков InceptionNet) для оценки качества. Также они опрашивают людей и оценивают точность их предсказаний того какая из картинок реальная, а какая - сгенерированная, после чего измеряют fool rate.
Результаты показывают, что предложенный подход заметно выигрывает по сравнению с unconditional моделями в обоих (multi-task, task-specific) режимах. Есть только неофициальная имплементация.
Диффузионные модели завоевали всеобщую популярность во многом благодаря хорошим результатам в задачах генерации и редактирования изображений. Не смотря на это, их применимость к обратным задачам упускается даже в больших обзорах.
Эта статья - одна из первых по применению диффузии к image-to-image задачам помимо сверх разрешения, а именно: inpainting, outpainting, colorization, JPEG uncompression.
Предложенный подход максимально прост: берем “хорошую” картинку y, зашумляем ее - ŷ, тренируем модель f восстанавливать y при условии x (“плохая” картинка). Учится это дело с в виде U-Net c global self-attention, разрешением 256х256 и L2 лоссом. Вместо класса, модель обуславливают на x простой конкатенацией с оценкой на y.
Модель обучают как отдельно для каждой из 4 задач без какой-либо кастомизации архитектуры или способа обучения под каждый из них, так и в multi-task режиме. Интересно, что, например, для колоризации авторы не обнаружили преимуществ использования цветовых пространств YCbCr и LAB. Обучение на RGB картинках дало ровно такие же результаты.
Помимо метода, авторы предлагают свой протокол оценки качества работы image-to-image моделей: добавляют свой аналог ctest10k для inpainting и outpainting - places10k, предлагают использовать Inception Score, FID, Classification Accuracy (top-1) с помощью ResNet-50 и Perceptual Distance (L1 между картами признаков InceptionNet) для оценки качества. Также они опрашивают людей и оценивают точность их предсказаний того какая из картинок реальная, а какая - сгенерированная, после чего измеряют fool rate.
Результаты показывают, что предложенный подход заметно выигрывает по сравнению с unconditional моделями в обоих (multi-task, task-specific) режимах. Есть только неофициальная имплементация.
Denoising Diffusion Restoration Models
NeurIPS 2022
Более свежая статья на тему применения диффузии к обратным задачам. На этот раз речь пойдет про алгоритм семплирования из предобученных на генерацию моделей, позволяющий получать восстановленные изображения в unsupervised режиме. Метод работает только для линейных преобразований (deblurring, inpainting, colorization etc.).
Авторы предлагают использовать learned priors вместо supervised learning для решения линейной обратной задачи:
(1) y = Hx + z, где x - сигнал, который требуется восстановить.
В данной постановке нам известны y - наблюдаемые измерения и ограничение на H - матрицы линейных преобразований.
Заметим, что:
(2) p(x|y) = p(x)p(y|x), где p(x) выражается нашей предобученной диффузионкой, а p(y|x) определено в выражении (1).
В случае, если нам требуется только восстановить x при заданной H, это может быть сделано семплированием из p(x|y), однако, это вычислительно не эффективно. Альтернативным подходом, рассмотренным выше, может быть supervised обучение, но тогда множество решаемых обратных задач будет ограничено вариативностью обучающей выборки.
В итоге, для увеличения скорости без потери общности предлагается вариация DDIM семплинга p(x|y). Главной особенностью метода, за счет которого достигается ускорение, является семплирование в спектральном пространстве матрицы H (ее раскладывают с помощью SVD). Детальные выкладки приведены в статье. Я также рекомендую ознакомиться с записью недавнего семинара от одного из авторов, где приведен более наглядный разбор с примерами.
С практической точки зрения, для применения метода вам необходима предобученная модель и знание о том какой тип артефактов присутствует на изображении. Официальная имплементация использует guided-diffusion. Важно, что эта работа показала возможность решать обратные задачи в unsupervised режиме за разумное время с приемлемым качеством, хоть и с ограничением на тип задач.
NeurIPS 2022
Более свежая статья на тему применения диффузии к обратным задачам. На этот раз речь пойдет про алгоритм семплирования из предобученных на генерацию моделей, позволяющий получать восстановленные изображения в unsupervised режиме. Метод работает только для линейных преобразований (deblurring, inpainting, colorization etc.).
Авторы предлагают использовать learned priors вместо supervised learning для решения линейной обратной задачи:
(1) y = Hx + z, где x - сигнал, который требуется восстановить.
В данной постановке нам известны y - наблюдаемые измерения и ограничение на H - матрицы линейных преобразований.
Заметим, что:
(2) p(x|y) = p(x)p(y|x), где p(x) выражается нашей предобученной диффузионкой, а p(y|x) определено в выражении (1).
В случае, если нам требуется только восстановить x при заданной H, это может быть сделано семплированием из p(x|y), однако, это вычислительно не эффективно. Альтернативным подходом, рассмотренным выше, может быть supervised обучение, но тогда множество решаемых обратных задач будет ограничено вариативностью обучающей выборки.
В итоге, для увеличения скорости без потери общности предлагается вариация DDIM семплинга p(x|y). Главной особенностью метода, за счет которого достигается ускорение, является семплирование в спектральном пространстве матрицы H (ее раскладывают с помощью SVD). Детальные выкладки приведены в статье. Я также рекомендую ознакомиться с записью недавнего семинара от одного из авторов, где приведен более наглядный разбор с примерами.
С практической точки зрения, для применения метода вам необходима предобученная модель и знание о том какой тип артефактов присутствует на изображении. Официальная имплементация использует guided-diffusion. Важно, что эта работа показала возможность решать обратные задачи в unsupervised режиме за разумное время с приемлемым качеством, хоть и с ограничением на тип задач.
Image Quality Assessment using Contrastive Learning
Одной из главных проблем области IQA является отсутствие больших датасетов с mean opinion scores (MOS) разметкой по причине высокой трудозатратности ее получения. Поэтому дизайн многих IQA подходов начинается с предобученных на больших датасетах моделей. Далее они дообучаются на датасетах с MOS разметкой для получения максимального качества. Это часто приводит к переобучению и, как следствие, плохой обобщаемости на новые изображения и типы дисторшенов.
В данной работе авторы предлагают подход CONTRastive Image QUality Evaluator (CONTRIQUE) - self-supervised обученную метрику, для получения которой не использовались MOS.
Суть метода заключается в проведении self-supervised обучения на кропах из датасета KADIS700k, при этом модель учится предсказывать тип и силу артефактов на изображении. В качестве аугментаций используются операции, сохраняющие качество: переводы в другие цветовые пространства (LAB, HSV, Grayscale), горизонтальные флипы и local Mean-Subtraction (показано, что это позволяет выделять стат отклонения, связанные с дисторшенами).
Важной особенностью дизайна предложенного метода обучения является выделение реалистичных (authentic) дисторшенов в отдельный класс. Таким образом, к этому классу не относятся больше никакие изображения, кроме отмасштабированных или кропнутых вариантов той же картинки.
В качестве основы метрики авторы предлагают использовать ResNet-50, которую можно заменить на любую другую CNN архитектуру. Поверх нее обучается ridge regression, отображающая признаки в значения качества. Метрика может быть обучена как для FR, так и для NR задачи без значительных изменений архитектуры.
Таким образом, авторам удается получить SOTA (на момент публикации) NR и FR метрики. Надо отметить, что FR метрика все же не тестируется на PIPAL - самом сложном датасете. Тем не менее, SRCC ~ 0.93 на KADID10k (FR) и SRCC ~ 0.89 на KonIQ (NR) смотрятся солидно. Код и веса есть.
Одной из главных проблем области IQA является отсутствие больших датасетов с mean opinion scores (MOS) разметкой по причине высокой трудозатратности ее получения. Поэтому дизайн многих IQA подходов начинается с предобученных на больших датасетах моделей. Далее они дообучаются на датасетах с MOS разметкой для получения максимального качества. Это часто приводит к переобучению и, как следствие, плохой обобщаемости на новые изображения и типы дисторшенов.
В данной работе авторы предлагают подход CONTRastive Image QUality Evaluator (CONTRIQUE) - self-supervised обученную метрику, для получения которой не использовались MOS.
Суть метода заключается в проведении self-supervised обучения на кропах из датасета KADIS700k, при этом модель учится предсказывать тип и силу артефактов на изображении. В качестве аугментаций используются операции, сохраняющие качество: переводы в другие цветовые пространства (LAB, HSV, Grayscale), горизонтальные флипы и local Mean-Subtraction (показано, что это позволяет выделять стат отклонения, связанные с дисторшенами).
Важной особенностью дизайна предложенного метода обучения является выделение реалистичных (authentic) дисторшенов в отдельный класс. Таким образом, к этому классу не относятся больше никакие изображения, кроме отмасштабированных или кропнутых вариантов той же картинки.
В качестве основы метрики авторы предлагают использовать ResNet-50, которую можно заменить на любую другую CNN архитектуру. Поверх нее обучается ridge regression, отображающая признаки в значения качества. Метрика может быть обучена как для FR, так и для NR задачи без значительных изменений архитектуры.
Таким образом, авторам удается получить SOTA (на момент публикации) NR и FR метрики. Надо отметить, что FR метрика все же не тестируется на PIPAL - самом сложном датасете. Тем не менее, SRCC ~ 0.93 на KADID10k (FR) и SRCC ~ 0.89 на KonIQ (NR) смотрятся солидно. Код и веса есть.
👍2
PeRFception: Perception using Radiance Fields
NeurIPS 2022
Преимущественно, датасетная статья, показывающая полезность Neural Radiance Fields (NeRF) представлений как исходного формата представления 3D и некоторых 2D данных. У NeRF представлений есть множество преимуществ по сравнению с “явными” представлениями (воксели, облака точек): более гладкая геометрия, компрессия данных, возможность генерации новых проекций.
Несмотря на все преимущества, NeRF не использовались как исходный формат для классификации и сегментации по причине отсутствия датасета. В этой статье предлагается код и результат генерации NeRF из наборов изображений. Авторы используют Plenoxels в качестве формата представления данных. Получают производные CO3D и ScanNet датасетов.
Для не вовлеченных в тему создания датасетов наиболее интересной будет часть про обучение моделей поверх полученных представлений. В качестве бэйзлайнов к статье прилагаются результаты обучения около 10 вариантов резнетов на задачах 3D классификации, 2D и 3D сегментации.
В зависимости от выбора набора признаков для обучения, удается выбить Acc@1 ~ 0.78, Acc@5 ~ 0.95 на PeRFception-CO3D. На PeRFception-ScanNet (3D сегментация) удается показать mIoU ~ 69 и mAcc ~ 0.78. Визуально, представленные карты сегментации выглядят вполне разумно. Код и доп. информация доступны на сайте проекта.
NeurIPS 2022
Преимущественно, датасетная статья, показывающая полезность Neural Radiance Fields (NeRF) представлений как исходного формата представления 3D и некоторых 2D данных. У NeRF представлений есть множество преимуществ по сравнению с “явными” представлениями (воксели, облака точек): более гладкая геометрия, компрессия данных, возможность генерации новых проекций.
Несмотря на все преимущества, NeRF не использовались как исходный формат для классификации и сегментации по причине отсутствия датасета. В этой статье предлагается код и результат генерации NeRF из наборов изображений. Авторы используют Plenoxels в качестве формата представления данных. Получают производные CO3D и ScanNet датасетов.
Для не вовлеченных в тему создания датасетов наиболее интересной будет часть про обучение моделей поверх полученных представлений. В качестве бэйзлайнов к статье прилагаются результаты обучения около 10 вариантов резнетов на задачах 3D классификации, 2D и 3D сегментации.
В зависимости от выбора набора признаков для обучения, удается выбить Acc@1 ~ 0.78, Acc@5 ~ 0.95 на PeRFception-CO3D. На PeRFception-ScanNet (3D сегментация) удается показать mIoU ~ 69 и mAcc ~ 0.78. Визуально, представленные карты сегментации выглядят вполне разумно. Код и доп. информация доступны на сайте проекта.
❤1🔥1
Hierarchical Text-Conditional Image Generation with CLIP Latents
DALL-E 2
В начале прошлого года стоял вопрос text2img генерации вариативных изображений, визуально не отличимых от реальных. Существовавшие на тот момент DALL-E и GLIDE не давали желаемого эффекта. Эта статья решала проблему разнообразия при сохранении качества.
В работе, в основном, ссылаются на GLIDE как на одну из топовых предшествующих моделей, которая, в свою очередь, улучшает результаты DALL-E первой версии. История развития такова, что DALL-E обуславливается на CLIP эмбединг, тогда как в статье GLIDE показали, что classifier-free guidance без использования CLIP эмбедингов дает более хорошее качество. Авторам DALL-E 2 такой вывод не понравился и они сделали следующий шаг для улучшения CLIP-обусловленной генерации.
Главным нововведением метода является переход от одностадийного процесса к двустадийному. Вместо того чтобы напрямую пытаться сгенерировать изображение по текстовому описанию, предлагается, для начала, текстовый эмбединг перевести в картиночный с помощью отдельной модели (prior). После этого, основная модель (decoder) генерирует картинку по текстовому эмбедингу.
Мотивация подхода заключается в предоставлении декодеру более “четкого гайденса”. Не смотря на то что в пространстве CLIP минимизируется расстояние между изображением и его корректным описанием, каждому изображению может соответствовать множество корректных описаний. Если же сразу использовать картиночный эмбединг, неоднозначность исчезает.
Другим важным элементом является каскадная генерация изображений. Исходный декодер выдает картинки 64х64, из которых далее получаются 1024х1024 в две стадии: 64 -> 256 -> 1024. Оба 4х апсемплера - диффузионные модели, обученные отдельно. Этот подход мы также видим в работе Imagen.
Авторы активно сравниваются с GLIDE и DALL-E, показывая преимущество нового подхода. Несмотря на сопоставимое качество, подход с картиночными эмбедами дает бОльшую вариативность генерации.
DALL-E 2
В начале прошлого года стоял вопрос text2img генерации вариативных изображений, визуально не отличимых от реальных. Существовавшие на тот момент DALL-E и GLIDE не давали желаемого эффекта. Эта статья решала проблему разнообразия при сохранении качества.
В работе, в основном, ссылаются на GLIDE как на одну из топовых предшествующих моделей, которая, в свою очередь, улучшает результаты DALL-E первой версии. История развития такова, что DALL-E обуславливается на CLIP эмбединг, тогда как в статье GLIDE показали, что classifier-free guidance без использования CLIP эмбедингов дает более хорошее качество. Авторам DALL-E 2 такой вывод не понравился и они сделали следующий шаг для улучшения CLIP-обусловленной генерации.
Главным нововведением метода является переход от одностадийного процесса к двустадийному. Вместо того чтобы напрямую пытаться сгенерировать изображение по текстовому описанию, предлагается, для начала, текстовый эмбединг перевести в картиночный с помощью отдельной модели (prior). После этого, основная модель (decoder) генерирует картинку по текстовому эмбедингу.
Мотивация подхода заключается в предоставлении декодеру более “четкого гайденса”. Не смотря на то что в пространстве CLIP минимизируется расстояние между изображением и его корректным описанием, каждому изображению может соответствовать множество корректных описаний. Если же сразу использовать картиночный эмбединг, неоднозначность исчезает.
Другим важным элементом является каскадная генерация изображений. Исходный декодер выдает картинки 64х64, из которых далее получаются 1024х1024 в две стадии: 64 -> 256 -> 1024. Оба 4х апсемплера - диффузионные модели, обученные отдельно. Этот подход мы также видим в работе Imagen.
Авторы активно сравниваются с GLIDE и DALL-E, показывая преимущество нового подхода. Несмотря на сопоставимое качество, подход с картиночными эмбедами дает бОльшую вариативность генерации.
👍1
Universal Guidance for Diffusion Models
Для улучшения качества генерации диффузионками используются два основных механизма:
1. Conditioning - моделям добавляют дополнительный вход, например класс целевого изображения (classifier-free guidance) или его текстовое описание (GLIDE). В ходе обучения минимизируется расстояние между условием и результатом генерации.
2. Guidance - модели остаются неизменными, модифицируется семплирование. Например, в Guided Diffusion используются градиенты классификатора. Взять уже готовый классификатор не получится потому что он обучен на изображениях без шума. Приходится обучать специальную noise-aware модель.
DDPM семплирование имеет Марковскую постановку: каждый шаг зависит только от предыдущего, шумного (
У такого подхода есть минус - модель начинает приоритизировать реалистичность изображения над соответствием текстовому описанию. Изменение guidance scale не помогает. Вместо этого предлагается искать (градиентным спуском) такое изменение
В качестве финального штриха авторы добавляют немного шума, по масштабу соответствующего данному шагу t. Интуитивно, такая добавка должна позволить модели лучше исследовать многообразие данных и найти точку баланса между соответствием тексту и качеством.
Авторы экспериментируют с Guided Diffusion и Stable Diffusion, показывая, что сегментация, распознавание лиц и текст (CLIP) могут быть успешно использованы в качестве guidance. Из минусов - бОльшая вычислительная сложность по сравнению с conditional генерацией и появление дополнительных параметров. Код есть.
Для улучшения качества генерации диффузионками используются два основных механизма:
1. Conditioning - моделям добавляют дополнительный вход, например класс целевого изображения (classifier-free guidance) или его текстовое описание (GLIDE). В ходе обучения минимизируется расстояние между условием и результатом генерации.
2. Guidance - модели остаются неизменными, модифицируется семплирование. Например, в Guided Diffusion используются градиенты классификатора. Взять уже готовый классификатор не получится потому что он обучен на изображениях без шума. Приходится обучать специальную noise-aware модель.
DDPM семплирование имеет Марковскую постановку: каждый шаг зависит только от предыдущего, шумного (
p(x_t-1 | x_t)). Авторы замечают, что часто используемый для ускорения семплирования DDIM на каждом шаге делает оценку на x_0 (запишем как z_0), которая обуславливает следующий шаг (p(x_t-1 | x_t, z_0)). Таким образом, на каждом шаге нам доступна бесшумная картинка, на которой могут быть применены не специфические модели. Такой подход назвали Forward Universal Guidance.У такого подхода есть минус - модель начинает приоритизировать реалистичность изображения над соответствием текстовому описанию. Изменение guidance scale не помогает. Вместо этого предлагается искать (градиентным спуском) такое изменение
z_0, которое приведет к наибольшему соответствию промпту. Подход назвали Backward Universal Guidance. В качестве финального штриха авторы добавляют немного шума, по масштабу соответствующего данному шагу t. Интуитивно, такая добавка должна позволить модели лучше исследовать многообразие данных и найти точку баланса между соответствием тексту и качеством.
Авторы экспериментируют с Guided Diffusion и Stable Diffusion, показывая, что сегментация, распознавание лиц и текст (CLIP) могут быть успешно использованы в качестве guidance. Из минусов - бОльшая вычислительная сложность по сравнению с conditional генерацией и появление дополнительных параметров. Код есть.
🔥1
Applicability limitations of differentiable full-reference image-quality
Метрики оценки качества (IQA) используются для измерения эффективности алгоритмов обработки изображений, в том числе их сжатия. Оптимальные значения метрик должны означать, что сжатие не приводит к видимой человеком потере качества. Улучшение значений метрик является целью специалистов в области разработки таких алгоритмов, поскольку это показывает преимущество их подхода.
Авторы статьи показывают, что поведение широко используемых современных обучаемых метрик оценки качества таких как DISTS, LPIPS, HaarPSI, VIF и PieAPP может манипулироваться с помощью добавления небольшой модели в пайплайн сжатия изображений. Цель работы - показать, что значениями этих метрик можно легко манипулировать без заметных глазу изменений изображений.
Предложенный авторами экспериментальных подход напоминает adversarial attacks, за тем исключением, что вместо добавки к изображению используется дополнительная сеть, обученная модифицировать изображение в сторону увеличения целевой метрики. Предложенный в статье миниатюрный ResNet с всего ~30k параметров может быть встроен в алгоритм сжатия без существенной потери производительности.
В качестве эксперимента, авторы проводят опрос ассессоров о том какое из изображений выглядит более предпочтительно. Показывают, что предложенная нейросетевая добавка увеличивает значения метрик, при этом ухудшает качество с точки зрения человеческого восприятия. В частности, прирост в качестве удается получить для большинства (80-100% в зависимости от метрики) из 1500 сжатых изображений.
Еще один интересный результат касается переносимости “хаков” между метриками. Оказывается, что, например добавка для PieAPP соизмеримо увеличивает качество LPIPS и наоборот, в то время как DISTS оказывается достаточно устойчивым к добавке для LPIPS. Кода нет.
Метрики оценки качества (IQA) используются для измерения эффективности алгоритмов обработки изображений, в том числе их сжатия. Оптимальные значения метрик должны означать, что сжатие не приводит к видимой человеком потере качества. Улучшение значений метрик является целью специалистов в области разработки таких алгоритмов, поскольку это показывает преимущество их подхода.
Авторы статьи показывают, что поведение широко используемых современных обучаемых метрик оценки качества таких как DISTS, LPIPS, HaarPSI, VIF и PieAPP может манипулироваться с помощью добавления небольшой модели в пайплайн сжатия изображений. Цель работы - показать, что значениями этих метрик можно легко манипулировать без заметных глазу изменений изображений.
Предложенный авторами экспериментальных подход напоминает adversarial attacks, за тем исключением, что вместо добавки к изображению используется дополнительная сеть, обученная модифицировать изображение в сторону увеличения целевой метрики. Предложенный в статье миниатюрный ResNet с всего ~30k параметров может быть встроен в алгоритм сжатия без существенной потери производительности.
В качестве эксперимента, авторы проводят опрос ассессоров о том какое из изображений выглядит более предпочтительно. Показывают, что предложенная нейросетевая добавка увеличивает значения метрик, при этом ухудшает качество с точки зрения человеческого восприятия. В частности, прирост в качестве удается получить для большинства (80-100% в зависимости от метрики) из 1500 сжатых изображений.
Еще один интересный результат касается переносимости “хаков” между метриками. Оказывается, что, например добавка для PieAPP соизмеримо увеличивает качество LPIPS и наоборот, в то время как DISTS оказывается достаточно устойчивым к добавке для LPIPS. Кода нет.
🔥1
Reconstructing Training Data with Informed Adversaries
Можно ли, имея доступ к обученной (не генеративной) модельке, сгенерировать примеры на которых она обучалась? Оказывается, что можно, но, пока что, только в постановке informed adversary - ситуации, когда атакующий имеет все тренировочные примеры, кроме одного.
Для выпуклых моделей, таких как логистическая регрессия, существует аналитическое решение. Для более общего случая (сверточные нейросети), авторы предлагают обучать реконструктор. Модель принимает на вход веса атакуемой модели и выдает картинки из датасета для обучения. Несмотря на довольно нереалистичную постановку задачи, статья приводит нас к нескольким практически полезным выводам:
1. Доступ ко всем семплам кроме одного не обязателен. На примере MNIST (59k примеров) достаточно ~1k примеров для получения качественных реконструкций;
2. Похожий результат наблюдается, если отсутствующие примеры вне тренировочного распределения (обучаемся на CIFAR-10, тестируем на примерах из CIFAR-100);
3. Размер атакуемой сети мало влияет на успешность атаки (помним, что эксперименты только на CIFAR и MNIST);
4. Модели с ReLU атаковать сложнее чем с другими активациями. Вероятно, это связано с разреженными градиентами - около 60% активаций не обновляются.
5. Сопоставимое качество можно получить и в black box постановке: сама модель не известна, имеется доступ только к логитам;
6. Обучение с differential privacy помогает избегать этого типа атак.
В статье есть очень много нюансов и пояснений для интересующихся областью. Также подход может быть использован для изучения свойств моделей помимо их уязвимости к подобным типам атак. Код есть.
Можно ли, имея доступ к обученной (не генеративной) модельке, сгенерировать примеры на которых она обучалась? Оказывается, что можно, но, пока что, только в постановке informed adversary - ситуации, когда атакующий имеет все тренировочные примеры, кроме одного.
Для выпуклых моделей, таких как логистическая регрессия, существует аналитическое решение. Для более общего случая (сверточные нейросети), авторы предлагают обучать реконструктор. Модель принимает на вход веса атакуемой модели и выдает картинки из датасета для обучения. Несмотря на довольно нереалистичную постановку задачи, статья приводит нас к нескольким практически полезным выводам:
1. Доступ ко всем семплам кроме одного не обязателен. На примере MNIST (59k примеров) достаточно ~1k примеров для получения качественных реконструкций;
2. Похожий результат наблюдается, если отсутствующие примеры вне тренировочного распределения (обучаемся на CIFAR-10, тестируем на примерах из CIFAR-100);
3. Размер атакуемой сети мало влияет на успешность атаки (помним, что эксперименты только на CIFAR и MNIST);
4. Модели с ReLU атаковать сложнее чем с другими активациями. Вероятно, это связано с разреженными градиентами - около 60% активаций не обновляются.
5. Сопоставимое качество можно получить и в black box постановке: сама модель не известна, имеется доступ только к логитам;
6. Обучение с differential privacy помогает избегать этого типа атак.
В статье есть очень много нюансов и пояснений для интересующихся областью. Также подход может быть использован для изучения свойств моделей помимо их уязвимости к подобным типам атак. Код есть.
👍2
Aligning Model and Macaque Inferior Temporal Cortex Representations Improves Model-to-Human Behavioral Alignment and Adversarial Robustness
ICLR 2023 Oral
Разговоры о том что необходимо как-то заставить нейросетевые алгоритмы пародировать зрительную систему человека идут давно. Выше мы уже разбирали free-energy подход и работы, косвенно основывающиеся на нём. Сегодня перед нами удивительная статья об улучшении качества нейросетей путём использования прямых сигналов из мозга макак. Выглядит как новый шаг в (almost-)human-in-the-loop подходах.
Авторы взяли трёх приматов и вживили им в мозг несколько электродов. После этого им показали изображения из датасетов HVM и COCO, зафиксировали результаты мозговой активности. Далее, взяли предобученную на ImageNet CORNet-S модель и дообучили на с использованием данных об активности мозга как добавки к основной цели: кросс-энтропия для классификации изображений из HVM.
В качестве результатов, авторы показывают, что предложенный метод обучения:
1. Позволяет нейросети вести себя более похоже на человека. Это показывают с помощью метрики i2n, суть которой заключается в сопоставлении случаев когда модель и человек делают ошибки. Полностью одинаковый шаблон ошибок на специально подобранных задачах - максимальное значение метрики;
2. Увеличивает устойчивость к adversarial attacks. Для примера используют классическую white-box атаку projected gradient descent (PGD);
Также интересным выводом является то, что чем выше “похожесть” поведения сети на человека, тем выше устойчивость к adversarial attacks. Однако обратное не верно - бОльшая устойчивость к атакам не обязательно помогает мимикрировать под человека.
Неотвеченными остаются вопросы о том когда происходит насыщеные (scaling laws), можно ли добиться еще большей устойчивости (текущие результаты не очень большие) и как в целом строить процесс для выведения результатов на принципиально новый уровень.
ICLR 2023 Oral
Разговоры о том что необходимо как-то заставить нейросетевые алгоритмы пародировать зрительную систему человека идут давно. Выше мы уже разбирали free-energy подход и работы, косвенно основывающиеся на нём. Сегодня перед нами удивительная статья об улучшении качества нейросетей путём использования прямых сигналов из мозга макак. Выглядит как новый шаг в (almost-)human-in-the-loop подходах.
Авторы взяли трёх приматов и вживили им в мозг несколько электродов. После этого им показали изображения из датасетов HVM и COCO, зафиксировали результаты мозговой активности. Далее, взяли предобученную на ImageNet CORNet-S модель и дообучили на с использованием данных об активности мозга как добавки к основной цели: кросс-энтропия для классификации изображений из HVM.
В качестве результатов, авторы показывают, что предложенный метод обучения:
1. Позволяет нейросети вести себя более похоже на человека. Это показывают с помощью метрики i2n, суть которой заключается в сопоставлении случаев когда модель и человек делают ошибки. Полностью одинаковый шаблон ошибок на специально подобранных задачах - максимальное значение метрики;
2. Увеличивает устойчивость к adversarial attacks. Для примера используют классическую white-box атаку projected gradient descent (PGD);
Также интересным выводом является то, что чем выше “похожесть” поведения сети на человека, тем выше устойчивость к adversarial attacks. Однако обратное не верно - бОльшая устойчивость к атакам не обязательно помогает мимикрировать под человека.
Неотвеченными остаются вопросы о том когда происходит насыщеные (scaling laws), можно ли добиться еще большей устойчивости (текущие результаты не очень большие) и как в целом строить процесс для выведения результатов на принципиально новый уровень.
🔥2👍1
JNDMix: JND-Based Data Augmentation for No-reference Image Quality Assessment
Одной из главных проблем области image quality (IQ) assessment является недостаток данных: собирать данные для этой задачи дороже чем для других из-за необходимости получения нескольких десятков меток для одного изображения/пары изображений. Это приводит к тому, что модели, показывающие SOTA результаты, часто переобучены на популярные датасеты и плохо обобщаются на реальные данные.
Аугментация данные - один из наиболее простых и эффективных подходов для борьбы с переобучением. Однако, большинство методов аугментации (добавление шума, размытие, вырезание кропов) являются преобразованиями, напрямую влияющими на IQ и не могут использоваться в ходе обучения моделей.
Авторы статьи предлагают новый метод аугментации для улучшения обобщаемости IQ assessment моделей, основанный на добавлении совсем небольшого количества шума. Их гипотеза заключается в том, что если добавлять изменения (шум), не заметные для человека, можно не влиять на персептивное качество и, при этом, вносить разнообразие в данные.
Метод прост в реализации, но и полученные результаты не драматично улучшают качество. В экспериментах на метриках HyperIQA, DBCNN, MANIQA прирост в районе нескольких тысячных SCRR на LIVEC и KonIQ-10k. Результаты консистентны для всех выбранных бэкбоунов. Также показано, что метод даёт чуть больший прирост (малые сотые) качества в случае, если метриках обучается только на части данных. Кода нет.
Одной из главных проблем области image quality (IQ) assessment является недостаток данных: собирать данные для этой задачи дороже чем для других из-за необходимости получения нескольких десятков меток для одного изображения/пары изображений. Это приводит к тому, что модели, показывающие SOTA результаты, часто переобучены на популярные датасеты и плохо обобщаются на реальные данные.
Аугментация данные - один из наиболее простых и эффективных подходов для борьбы с переобучением. Однако, большинство методов аугментации (добавление шума, размытие, вырезание кропов) являются преобразованиями, напрямую влияющими на IQ и не могут использоваться в ходе обучения моделей.
Авторы статьи предлагают новый метод аугментации для улучшения обобщаемости IQ assessment моделей, основанный на добавлении совсем небольшого количества шума. Их гипотеза заключается в том, что если добавлять изменения (шум), не заметные для человека, можно не влиять на персептивное качество и, при этом, вносить разнообразие в данные.
Метод прост в реализации, но и полученные результаты не драматично улучшают качество. В экспериментах на метриках HyperIQA, DBCNN, MANIQA прирост в районе нескольких тысячных SCRR на LIVEC и KonIQ-10k. Результаты консистентны для всех выбранных бэкбоунов. Также показано, что метод даёт чуть больший прирост (малые сотые) качества в случае, если метриках обучается только на части данных. Кода нет.
The Role of ImageNet Classes in Fréchet Inception Distance
ICLR 2023
FID - самая популярная метрика оценки качества генерации, но её способность объективно отображать качество сомнительна, метрику не ругал только ленивый. В упрёк ей ставили чувствительность к количеству семплов в распределении, неспособность адекватно ранжировать модели в доменах отличных от ImageNet, низкую чувствительность к наличию отдельных плохих семплов и т.д.
С точки зрения дизайна FID:
1. Пространство признаков слишком большое (6М), признаки кодируют не только семантику, но и позиционную информацию. Возможность нахождения семантической близости в пространстве такой большой размерности сомнительна.
2. Признаки специализированы на ImageNet классификацию: во время обучения, экстрактору признаков позволено игнорировать информацию, не помогающую классифицировать ImageNet классы.
3. Признаки, используемые в FID, берутся с слишком глубоких слоев. Они очень близки к логитам ImageNet классов. Можно сказать, они почти являются ImageNet классами.
4. Известно, что ImageNet классификаторы часто переобучаются на текстуры, а не на формы объектов.
Авторы исследуют влияние ImageNet классов на метрику и анализируют то на какие характеристики изображения она обращает внимание. Предлагается хитрым образом использовать Grad-CAM:
- Семплируют 49999 из генератора;
- Считают FID на этих семплах;
- Семплируют еще одну картинку;
- Смотрят как признаки из новой картинки влияют на значение метрики с Grad-CAM;
Оказывается, что при оценке генерации лиц из FFHQ, модель, в основном, обращает внимание на части изображений, на которых лица отсутствуют.
Помимо визуализации, проводятся несколько численных экспериментов. Например показывается, что если учить модель воспроизводить Top-1 class histograms реальных данных, это увеличивает FID безотносительно качества изображений. Далее они придумывают “атаку”, основанную на отборе семплов, позволяющую получать более низкие значения FID без переобучения. По сути, это инструмент автоматического cherry-picking. Есть код.
ICLR 2023
FID - самая популярная метрика оценки качества генерации, но её способность объективно отображать качество сомнительна, метрику не ругал только ленивый. В упрёк ей ставили чувствительность к количеству семплов в распределении, неспособность адекватно ранжировать модели в доменах отличных от ImageNet, низкую чувствительность к наличию отдельных плохих семплов и т.д.
С точки зрения дизайна FID:
1. Пространство признаков слишком большое (6М), признаки кодируют не только семантику, но и позиционную информацию. Возможность нахождения семантической близости в пространстве такой большой размерности сомнительна.
2. Признаки специализированы на ImageNet классификацию: во время обучения, экстрактору признаков позволено игнорировать информацию, не помогающую классифицировать ImageNet классы.
3. Признаки, используемые в FID, берутся с слишком глубоких слоев. Они очень близки к логитам ImageNet классов. Можно сказать, они почти являются ImageNet классами.
4. Известно, что ImageNet классификаторы часто переобучаются на текстуры, а не на формы объектов.
Авторы исследуют влияние ImageNet классов на метрику и анализируют то на какие характеристики изображения она обращает внимание. Предлагается хитрым образом использовать Grad-CAM:
- Семплируют 49999 из генератора;
- Считают FID на этих семплах;
- Семплируют еще одну картинку;
- Смотрят как признаки из новой картинки влияют на значение метрики с Grad-CAM;
Оказывается, что при оценке генерации лиц из FFHQ, модель, в основном, обращает внимание на части изображений, на которых лица отсутствуют.
Помимо визуализации, проводятся несколько численных экспериментов. Например показывается, что если учить модель воспроизводить Top-1 class histograms реальных данных, это увеличивает FID безотносительно качества изображений. Далее они придумывают “атаку”, основанную на отборе семплов, позволяющую получать более низкие значения FID без переобучения. По сути, это инструмент автоматического cherry-picking. Есть код.