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. Есть код.
Composer: Creative and Controllable Image Synthesis with Composable Conditions
Одним из самых желанных свойств генеративных моделей - способность гранулярно контролировать свойства изображений. Выше мы уже разбирали работы, которые позволяют селективно модифицировать объекты на изображении и использовать виды guidance отличные от классификации например, сегментационные маски или текст (не путать с conditioning).
Эта работа еще дальше расширяет возможности контроля диффузионной генерации за счет комбинирования нескольких видов conditioning. Каждая итерация обучения разбивается на две фазы:
1. Decomposition - каждое изображение в батче разбирается на 8 представлений:
- Caption - тестовые CLIP эмбеды;
- Semantics and style - картиночные CLIP эмбеды;
- Color - CIELab histogram;
- Sketch - выход edge detection модели;
- Instances - инстанс сегментация YOLOv5;
- Depthmap - выходы depth модели;
- Intensity - grayscale версия картинки;
- Masking - случайное маскирование;
2. Composition - сеть обучают восстанавливать исходные изображения из их decomposed представлений:
- Global conditioning (caption, semantics/style, color) добавляются к эмбедингу
- Local conditioning (все остальное) переводится в то же пространство эмбедов что и
Основная диффузионка выдаёт 64x64, которые далее апсемплятся двумя unconditional моделями. Авторы также экспериментируют с использованием prior модели как в DALL-E 2 для отображения текстовых CLIP эмбедов в картиночные. Prior вводится как опциональный блок, при этом подтверждается вывод авторов DALL-E 2 о том что это увеличивает вариативность генерации.
Большое количество комбинаций на стадии composition делает обучение сложным, но вариативным. Cеть покрывает всё множество комбинаций, за счет чего научается восстанавливать изображения из ранее не встречавшихся комбинаций. С нетерпением ждём обещанный код тут.
Одним из самых желанных свойств генеративных моделей - способность гранулярно контролировать свойства изображений. Выше мы уже разбирали работы, которые позволяют селективно модифицировать объекты на изображении и использовать виды guidance отличные от классификации например, сегментационные маски или текст (не путать с conditioning).
Эта работа еще дальше расширяет возможности контроля диффузионной генерации за счет комбинирования нескольких видов conditioning. Каждая итерация обучения разбивается на две фазы:
1. Decomposition - каждое изображение в батче разбирается на 8 представлений:
- Caption - тестовые CLIP эмбеды;
- Semantics and style - картиночные CLIP эмбеды;
- Color - CIELab histogram;
- Sketch - выход edge detection модели;
- Instances - инстанс сегментация YOLOv5;
- Depthmap - выходы depth модели;
- Intensity - grayscale версия картинки;
- Masking - случайное маскирование;
2. Composition - сеть обучают восстанавливать исходные изображения из их decomposed представлений:
- Global conditioning (caption, semantics/style, color) добавляются к эмбедингу
t, часть из них также конкатенируется с текстовым эмбедом в cross-attention (как в GLIDE). - Local conditioning (все остальное) переводится в то же пространство эмбедов что и
x_t. Вектора складывают и конкатенируют с вектором x_t, после чего подают в U-Net. Основная диффузионка выдаёт 64x64, которые далее апсемплятся двумя unconditional моделями. Авторы также экспериментируют с использованием prior модели как в DALL-E 2 для отображения текстовых CLIP эмбедов в картиночные. Prior вводится как опциональный блок, при этом подтверждается вывод авторов DALL-E 2 о том что это увеличивает вариативность генерации.
Большое количество комбинаций на стадии composition делает обучение сложным, но вариативным. Cеть покрывает всё множество комбинаций, за счет чего научается восстанавливать изображения из ранее не встречавшихся комбинаций. С нетерпением ждём обещанный код тут.
🔥4
Diffusion Probabilistic Models for Graph-Structured Prediction
Диффузионные модели прочно закрепились в роли лидеров для задачи генерации и редактирования изобаражений. При этом, вопрос их полезности для работы с другими доменами все еще активно исследуется.
В данной статье рассматривается их применимость для задачи предсказания структуры графа. Без потери общности, рассматривается задача предсказания классов вершин графа.
Мотивация: утверждается, что существующие сегодня графовые нейросети (GNN) не способны улавливать зависимости между целевыми метками (классами). В то же время, “глобальный” процесс “зашумления-расшумления” может помочь уловить некоторые зависимости: например в гомогенных графах близкие вершины более вероятно относятся к одному классу. Таким образом, можно использовать менее глубокие GNN и, при этом, получать более качественные предсказания.
Авторы рассматривают две постановки:
1. Fully supervised (все вершины имеют метки классов). В этом случае метод мало чем отличается от диффузии для других доменов: множество меток
2. Semi-supervised (часть меток классов отсутствует). К supervised методу добавляется EM алгоритм: на стадии expectation делается оценка вариационного распределения пропущенных меток. На стадии maximization происходит обучение диффузионной модели с учетом полученной оценки.
Метод валидируется на задачах классификации и algorithmic reasoning. Eсть ablation, показывающий:
- Преимущество перехода на диффузию вместо увеличения глубины GNN;
- Преимущество детерменированного семплирования;
- Разумную вычислительную сложность.
Код есть.
Диффузионные модели прочно закрепились в роли лидеров для задачи генерации и редактирования изобаражений. При этом, вопрос их полезности для работы с другими доменами все еще активно исследуется.
В данной статье рассматривается их применимость для задачи предсказания структуры графа. Без потери общности, рассматривается задача предсказания классов вершин графа.
Мотивация: утверждается, что существующие сегодня графовые нейросети (GNN) не способны улавливать зависимости между целевыми метками (классами). В то же время, “глобальный” процесс “зашумления-расшумления” может помочь уловить некоторые зависимости: например в гомогенных графах близкие вершины более вероятно относятся к одному классу. Таким образом, можно использовать менее глубокие GNN и, при этом, получать более качественные предсказания.
Авторы рассматривают две постановки:
1. Fully supervised (все вершины имеют метки классов). В этом случае метод мало чем отличается от диффузии для других доменов: множество меток
y_0 зашумляется Гауссовским шумом с сохранением дисперсии и нелинейным (косинусным) scheduling до стандартного нормального y_T за T итераций. Модель обучают предсказывать матожидание шума на шаге t, используя L2 функцию потерь. Поскольку задача классификации требует детерменированных ответов, y_(t-1) получается из y_t усреднением p(y_(t-1)|y_t).2. Semi-supervised (часть меток классов отсутствует). К supervised методу добавляется EM алгоритм: на стадии expectation делается оценка вариационного распределения пропущенных меток. На стадии maximization происходит обучение диффузионной модели с учетом полученной оценки.
Метод валидируется на задачах классификации и algorithmic reasoning. Eсть ablation, показывающий:
- Преимущество перехода на диффузию вместо увеличения глубины GNN;
- Преимущество детерменированного семплирования;
- Разумную вычислительную сложность.
Код есть.
🔥1
MiDi: Mixed Graph and 3D Denoising Diffusion for Molecule Generation
Одним из основных применений графовых нейросетей (GNN) является решение задач с молекулярными данными: предсказание хим структур и их свойств. С практической точки зрения, интересны два вида организации: 2D связность атомов и 3D расположение атомов в пространстве. Первая характеристика, в основном, определяет физ-хим свойства молекулы, вторая - конформационное взаимодействие с белками и другими макромолекулами.
Существующие подходы предсказывают 2D и 3D характеристики по отдельности, что ограничивает их качество и применимость. В данной работе авторы предлагают диффузионки для одновременной генерации 2D и 3D структур, что крайне полезно для области drug discovery.
Главная мысль статьи заключается в том что можно одновременно учить/семплировать непрерывные (3D координаты) и дискретные (2D структура графа) данные:
- Непрерывное распределение, как и в других доменах, моделируется Гауссовским шумом, где в качестве среднего берется центр масс облака точек.
- Дискретное распределение моделируется с помощью подхода дискретной диффузии для графов, суть которого в том чтобы моделировать каждый переход между шагами
Таким образом, матрицы смежности, определяющие структуру графа молекулы “зашумляют-расшумляют” напрямую, тогда как свойства каждого атома и хим связи, представленные категориальными признаками, кодируют one-hot векторами.
Модель представляет собой трансформер, одновременно принимающий на вход все виды данных и комбинирующий их, в основном, с помощью self-attention блока. Важными свойствами молекул являются поворотная и трансляционная эквивариантность. С целью сохранения этих свойств, для 3D координат используется дополнительный MLP слой со своим лоссом.
Модель обучается миниминизировать взвешенную сумму нескольких компонентов лосса. В экспериментах показывает SOTA результат. Код есть.
Одним из основных применений графовых нейросетей (GNN) является решение задач с молекулярными данными: предсказание хим структур и их свойств. С практической точки зрения, интересны два вида организации: 2D связность атомов и 3D расположение атомов в пространстве. Первая характеристика, в основном, определяет физ-хим свойства молекулы, вторая - конформационное взаимодействие с белками и другими макромолекулами.
Существующие подходы предсказывают 2D и 3D характеристики по отдельности, что ограничивает их качество и применимость. В данной работе авторы предлагают диффузионки для одновременной генерации 2D и 3D структур, что крайне полезно для области drug discovery.
Главная мысль статьи заключается в том что можно одновременно учить/семплировать непрерывные (3D координаты) и дискретные (2D структура графа) данные:
- Непрерывное распределение, как и в других доменах, моделируется Гауссовским шумом, где в качестве среднего берется центр масс облака точек.
- Дискретное распределение моделируется с помощью подхода дискретной диффузии для графов, суть которого в том чтобы моделировать каждый переход между шагами
t и t-1 с помощью непрерывных матриц перехода Q. Таким образом, матрицы смежности, определяющие структуру графа молекулы “зашумляют-расшумляют” напрямую, тогда как свойства каждого атома и хим связи, представленные категориальными признаками, кодируют one-hot векторами.
Модель представляет собой трансформер, одновременно принимающий на вход все виды данных и комбинирующий их, в основном, с помощью self-attention блока. Важными свойствами молекул являются поворотная и трансляционная эквивариантность. С целью сохранения этих свойств, для 3D координат используется дополнительный MLP слой со своим лоссом.
Модель обучается миниминизировать взвешенную сумму нескольких компонентов лосса. В экспериментах показывает SOTA результат. Код есть.
👍2
Stop Oversampling for Class Imbalance Learning: A Critical Review
Дисбаланс классов - частая проблема при работе с реальными данными. Более того, такие задачи как детекция фрода подразумевают его по умолчанию.
Для борьбы с дисбаллансом классов предложен ряд подходов:
1. Сбор дополнительных данных семплов из недопредставленного класса (НК);
2. Изменение функции потерь с целью увеличения веса НК;
3. Оверсемплинг НК;
4. Андекрсеплинг мажоритарных классов (МК);
5. Любая комбинация предыдущих подходов.
Оверсепмлинг НК - один из наиболее часто используемых подходов. Авторы указывают на его проблемы:
- Поскольку сгенерированные примеры обычно делаются “похожими” на исходные (что не обязательно на практике), их использование приводит к переобучению;
- На практике, “похожие” примеры могут принадлежать к другому классу, что еще сильнее мешает применению обученных на них моделей;
В качестве подтверждения авторы проводят валидацию 72 методов на 3 датасетах следующим образом:
- Из исходных данных убирают часть МК;
- На оставшихся данных применяют метод оверсемплинга;
- Смотрят насколько новые семплы похожи на НК и МК по метрике Hassanat distance;
- Показывают, что все подходы либо генерят данные больше похожие на МК, либо что-то среднее между МК и НК.
Важно, что некоторые подходы ошибаются сравнительно мало и поэтому, если оверсемплинга не избежать, рекомендуется использовать их.
В целом, статья выглядит достаточно плотно и рекомендуется к более детальному ознакомлению тем кто интересуется проблемой борьбы с дисбалансом классов.
Дисбаланс классов - частая проблема при работе с реальными данными. Более того, такие задачи как детекция фрода подразумевают его по умолчанию.
Для борьбы с дисбаллансом классов предложен ряд подходов:
1. Сбор дополнительных данных семплов из недопредставленного класса (НК);
2. Изменение функции потерь с целью увеличения веса НК;
3. Оверсемплинг НК;
4. Андекрсеплинг мажоритарных классов (МК);
5. Любая комбинация предыдущих подходов.
Оверсепмлинг НК - один из наиболее часто используемых подходов. Авторы указывают на его проблемы:
- Поскольку сгенерированные примеры обычно делаются “похожими” на исходные (что не обязательно на практике), их использование приводит к переобучению;
- На практике, “похожие” примеры могут принадлежать к другому классу, что еще сильнее мешает применению обученных на них моделей;
В качестве подтверждения авторы проводят валидацию 72 методов на 3 датасетах следующим образом:
- Из исходных данных убирают часть МК;
- На оставшихся данных применяют метод оверсемплинга;
- Смотрят насколько новые семплы похожи на НК и МК по метрике Hassanat distance;
- Показывают, что все подходы либо генерят данные больше похожие на МК, либо что-то среднее между МК и НК.
Важно, что некоторые подходы ошибаются сравнительно мало и поэтому, если оверсемплинга не избежать, рекомендуется использовать их.
В целом, статья выглядит достаточно плотно и рекомендуется к более детальному ознакомлению тем кто интересуется проблемой борьбы с дисбалансом классов.
Consistency Models
Диффузионные модели могут показывать стабильно высокое качество генерации, при этом не страдать от ограничений других генеративных моделей: mode collapse для GANs, архитектурные ограничения для Normalizing Flows, VAEs, авторегрессионных моделей. При этом, у них есть свой недостаток - низкая скорость генерации из-за итеративного семплирования.
Ускорению семплирования без значительной потери качества посвящена больша́я часть публикаций в области. Наиболее распространены подходы с использованием:
1. Более быстрых методов численного решения диф. уравнений (например DDIM), которые все равно требуют > 10 итераций для семплирования;
2. Дистилляция, обычно в GAN.
Авторы работы предлагают новый класс моделей. Их характерное свойство - способность отображать объект с произвольного шага диффузии
Важно, что возвращаться в исходную точку один раз можно, но не обязательно. Можно чередовать операции семплирования и зашумления. Это позволяет улучшать качество за счет увеличения вычислительной сложности аналогично диффузионным моделям.
Consistency models (CM) либо дистиллируют существующую диффузионку (но без адверсариал лосса), либо конструируются с нуля:
1. Consistency distillation - генерим
2. Consistency training - оказывается, можно заменить диффузионку для оценки
Оба обучения видут к высокому качеству по меркам one-shot генерации. Как и диффузионные модели, CM могут из коробки делать image editing, inpainting и т.д. Код только неофициальный.
Диффузионные модели могут показывать стабильно высокое качество генерации, при этом не страдать от ограничений других генеративных моделей: mode collapse для GANs, архитектурные ограничения для Normalizing Flows, VAEs, авторегрессионных моделей. При этом, у них есть свой недостаток - низкая скорость генерации из-за итеративного семплирования.
Ускорению семплирования без значительной потери качества посвящена больша́я часть публикаций в области. Наиболее распространены подходы с использованием:
1. Более быстрых методов численного решения диф. уравнений (например DDIM), которые все равно требуют > 10 итераций для семплирования;
2. Дистилляция, обычно в GAN.
Авторы работы предлагают новый класс моделей. Их характерное свойство - способность отображать объект с произвольного шага диффузии
t обратно в исходный. При этом, отображение из одной и той же точки t всегда приводит к одному и тому же исходному изображению, из-за чего модель и называют consistent. Важно, что возвращаться в исходную точку один раз можно, но не обязательно. Можно чередовать операции семплирования и зашумления. Это позволяет улучшать качество за счет увеличения вычислительной сложности аналогично диффузионным моделям.
Consistency models (CM) либо дистиллируют существующую диффузионку (но без адверсариал лосса), либо конструируются с нуля:
1. Consistency distillation - генерим
x_(t+1) из x и Гауссовского шума на шаге t+1, восстанавливаем x̂_t предобученной диффузионкой, учим CM минимизировать расстояние d(x_(t+1), x̂_t);2. Consistency training - оказывается, можно заменить диффузионку для оценки
x̂_t на Монте-Карло оценку при достаточно большом N числе шагов диффузии.Оба обучения видут к высокому качеству по меркам one-shot генерации. Как и диффузионные модели, CM могут из коробки делать image editing, inpainting и т.д. Код только неофициальный.
👍2
Diffusion Models and Semi-Supervised Learners Benefit Mutually with Few Labels
Задача semi-supervised learning заключается в обучении модели на частично размеченных данных. Например для задачи классификации это выучивание распределения
Статья показывает, что совместное решение этих двух задач приводит к увеличению качества решения каждой из них. Для этого предлагается следующий алгоритм обучения моделей:
1. Берем датасет, в котором не все
2. Обучаем на парах
3. Размечаем с помощью классификатора изначально не размеченные
4. Обучаем class-conditional модель генерировать новые
5. Обучаем классификатор на исходном + дополнительно нагенерированном датасете.
В случае ранее предложенных подходов с обучением на
- Continuity Assumption (Smoothness): близкие друг к другу объекты, вероятно, относятся к одному классу;
- Cluster Assumption - объекты одного класса группируются в кластеры.
С дивана кажется, что в новом подходе не много смысла, потому что новой информации не добавляется и модели “гоняют” свои предикты по кругу. Это не совсем так, поскольку, в данном случае, генеративная модель получает доп. информацию от классификатора, а классификатор - от генеративной модели.
Используя только 1% меток каждого класса, авторы получают top-1 acc ~ 75.4 на ImageNet (ViT B/4) и FID-50k ~ 3.35 (U-ViT and MSN L/7). Кода нет.
Задача semi-supervised learning заключается в обучении модели на частично размеченных данных. Например для задачи классификации это выучивание распределения
p(label|image) в случае, когда не для всех image изначально известен label. Class-conditional генерация, в свою очередь, обратная задача: необходимо выучить p(image|label), но в данном случае может не хватать image при известных label. Статья показывает, что совместное решение этих двух задач приводит к увеличению качества решения каждой из них. Для этого предлагается следующий алгоритм обучения моделей:
1. Берем датасет, в котором не все
image имеют label.2. Обучаем на парах
image-label классификатор.3. Размечаем с помощью классификатора изначально не размеченные
image. Новую разметку назовем pseudo-label.4. Обучаем class-conditional модель генерировать новые
image для данных label и pseudo-label. Таким образом датасет увеличивается. 5. Обучаем классификатор на исходном + дополнительно нагенерированном датасете.
В случае ранее предложенных подходов с обучением на
pseudo-lagels, улучшение метрик может достигаться если выполняются:- Continuity Assumption (Smoothness): близкие друг к другу объекты, вероятно, относятся к одному классу;
- Cluster Assumption - объекты одного класса группируются в кластеры.
С дивана кажется, что в новом подходе не много смысла, потому что новой информации не добавляется и модели “гоняют” свои предикты по кругу. Это не совсем так, поскольку, в данном случае, генеративная модель получает доп. информацию от классификатора, а классификатор - от генеративной модели.
Используя только 1% меток каждого класса, авторы получают top-1 acc ~ 75.4 на ImageNet (ViT B/4) и FID-50k ~ 3.35 (U-ViT and MSN L/7). Кода нет.
👍1
Quality-aware Pre-trained Models for Blind Image Quality Assessment
CVPR 2023
Одна из основных проблем в оценке качества изображений без референсного пример (NR-IQA) - отсутствие датасетов достаточного размера. Наибольший доступный датасет FLIVE имеет всего ~40k картинок, уступая даже CIFAR-10 (60k). В области NR-IQA обычно борются с этой проблемой:
1. Использованием не специфичных к задачи IQA тушек (MANIQA);
2. Эксплуатацией свойств больших self-supervised learning (SSL) претренов (CLIP-IQA);
3. Обучением специфических для IQA SSL претренов (CONTRIQUE);
4. Добавлением особенных аугментаций. Они должны менять изображения, но не влиять на “качество”;
Концептуально, данная работа - комбинация подходов 3 и 4 + преложение нового метода SSL предобоучения. Суть в том, чтобы:
- Расширить множество аугментаций для увеличения вариативности данных;
- Предложить новый SSL лосс, более эффективно использующий доступную в задаче IQA информацию;
Основной инсайт статьи в том чтобы не просто разделять картинки с разным типом дисторшенов в разные классы (CONTRIQUE) - Quality-Aware Pretext Task (QPT). Помимо этого предлагается ввести две компоненты, отвечающие за “разность”: degradation based и content based. Таким образом, если взять два кропа из одной degraded картинки, то расстояние между этими патчами должно быть достаточно мало и, при этом, оно должно быть меньше чем расстояние каждого из этих патчей до:
- Любого патча из другой картинки;
- Любого патча из той же картинки, но с другим типом degradation.
Используя новый лосс и расширенный набор аугментаций авторам удается:
- Пробить SOTA в NR-IQA на всех основных датасетах;
- Улучшить качества топовых NR метрик, заменив в них тушки на свой претрен.
Кода и весов нет.
CVPR 2023
Одна из основных проблем в оценке качества изображений без референсного пример (NR-IQA) - отсутствие датасетов достаточного размера. Наибольший доступный датасет FLIVE имеет всего ~40k картинок, уступая даже CIFAR-10 (60k). В области NR-IQA обычно борются с этой проблемой:
1. Использованием не специфичных к задачи IQA тушек (MANIQA);
2. Эксплуатацией свойств больших self-supervised learning (SSL) претренов (CLIP-IQA);
3. Обучением специфических для IQA SSL претренов (CONTRIQUE);
4. Добавлением особенных аугментаций. Они должны менять изображения, но не влиять на “качество”;
Концептуально, данная работа - комбинация подходов 3 и 4 + преложение нового метода SSL предобоучения. Суть в том, чтобы:
- Расширить множество аугментаций для увеличения вариативности данных;
- Предложить новый SSL лосс, более эффективно использующий доступную в задаче IQA информацию;
Основной инсайт статьи в том чтобы не просто разделять картинки с разным типом дисторшенов в разные классы (CONTRIQUE) - Quality-Aware Pretext Task (QPT). Помимо этого предлагается ввести две компоненты, отвечающие за “разность”: degradation based и content based. Таким образом, если взять два кропа из одной degraded картинки, то расстояние между этими патчами должно быть достаточно мало и, при этом, оно должно быть меньше чем расстояние каждого из этих патчей до:
- Любого патча из другой картинки;
- Любого патча из той же картинки, но с другим типом degradation.
Используя новый лосс и расширенный набор аугментаций авторам удается:
- Пробить SOTA в NR-IQA на всех основных датасетах;
- Улучшить качества топовых NR метрик, заменив в них тушки на свой претрен.
Кода и весов нет.
👍1
Rethinking Image Aesthetics Assessment: Models, Datasets and Benchmarks
Есть такая задача - оценивать эстетичность изображений. Называется она Image Aesthetics Assessment (IAA) и для нее уже много чего сделано. Есть более-менее известные датасеты, например:
- Aesthetic Visual Analysis (AVA) dataset (репо) - 250к картинок с кучей мета-данных и семантических меток для 60 категорий сцен. Явной разметки качества ассессорами нет;
- FLICKR-AES dataset (репо | статья | саплемент) - 40к фоток, есть разметка анотаторами.
Авторы статьи утверждают, что фотографы и прочие творческие люди оценивают стиль относительно тематики изображения (image -> theme -> style), то есть красивость для пейзажного и портретного фото - разные вещи. В то же время, существующие датасеты предоставляют разметку:
1. Минуя стадию разбиения на темы (image -> style);
2. Со слишком большой долей субьективности (мало разметчиков на каждую картинку).
Во-первых, в статье предлагается новый, большой датасет TAD66k, который содержит изображения из 7 “супер тем”: plants, animals, artifacts, colors, humans, landscapes and other, которые далее детализировали до 47 финальных “тем”. Каждую картинку оценивали примерно 1200 человек с прицелом на то чтобы сохранить общее распределение оценок близкое к равномерному. Это важно, потому что, например, в датасете AVA очень мало картинок с оценкой 1-2 или 9-10 по десятибальной шкале.
Во-вторых, авторы предлагают предлагают модель TUNet, состоящую из трех модулей:
- Theme understanding - предобучена на Places, заморожена;
- RGB-distribution-aware Attention Network - мини-трансформер со своим вариантом атеншена, учится с нуля;
- Aesthetics Perceiving Network - экстрактор признаков в виде замороженного MobileNetV2. Активации с последних слоев фьюзятся и подаются в обучаемую голову.
Модель уверенно выбивает соту на TAD66k, AVA и FLICKR-AES в терминах SRCC с усредненными ответами респондентов. Код для FLICKR-AES не дают, остальное есть тут. Данные тоже дают.
Есть такая задача - оценивать эстетичность изображений. Называется она Image Aesthetics Assessment (IAA) и для нее уже много чего сделано. Есть более-менее известные датасеты, например:
- Aesthetic Visual Analysis (AVA) dataset (репо) - 250к картинок с кучей мета-данных и семантических меток для 60 категорий сцен. Явной разметки качества ассессорами нет;
- FLICKR-AES dataset (репо | статья | саплемент) - 40к фоток, есть разметка анотаторами.
Авторы статьи утверждают, что фотографы и прочие творческие люди оценивают стиль относительно тематики изображения (image -> theme -> style), то есть красивость для пейзажного и портретного фото - разные вещи. В то же время, существующие датасеты предоставляют разметку:
1. Минуя стадию разбиения на темы (image -> style);
2. Со слишком большой долей субьективности (мало разметчиков на каждую картинку).
Во-первых, в статье предлагается новый, большой датасет TAD66k, который содержит изображения из 7 “супер тем”: plants, animals, artifacts, colors, humans, landscapes and other, которые далее детализировали до 47 финальных “тем”. Каждую картинку оценивали примерно 1200 человек с прицелом на то чтобы сохранить общее распределение оценок близкое к равномерному. Это важно, потому что, например, в датасете AVA очень мало картинок с оценкой 1-2 или 9-10 по десятибальной шкале.
Во-вторых, авторы предлагают предлагают модель TUNet, состоящую из трех модулей:
- Theme understanding - предобучена на Places, заморожена;
- RGB-distribution-aware Attention Network - мини-трансформер со своим вариантом атеншена, учится с нуля;
- Aesthetics Perceiving Network - экстрактор признаков в виде замороженного MobileNetV2. Активации с последних слоев фьюзятся и подаются в обучаемую голову.
Модель уверенно выбивает соту на TAD66k, AVA и FLICKR-AES в терминах SRCC с усредненными ответами респондентов. Код для FLICKR-AES не дают, остальное есть тут. Данные тоже дают.
IC9600: A Benchmark Dataset for Automatic Image Complexity Assessment
Есть еще одна недооцененная задача - Image Complexiy (IC) Assessment. Под комплексностью понимается количество вариативности и деталей на изображении. Субъективно это ощущается как степень сложности описания увиденного. Оценить комплексность не просто потому что такие оценки крайне субъективны, а для покрытия множества возможных сцен нужно внушительное количество данных.
Видя всё это безобразие, авторы закатили рукава и предложили новый датасет IC9600. Он больше предыдущих и лучше размечен. Сами же изображения представляют 8 категорий: abstract, advertisement, architecture, object, painting, person, scene, and transportation.
В статье есть несколько любопытных деталей касательно процесса сбора и разметки датасета. Например, авторы не стали сами скрапить интернет, а просто надёргали картинок из AVA (abstract, architecture), MS-COCO (object), JenAesthetics (painting), Wider-Person (person) и других.
С разметкой заморочились: вместо того чтобы просто закидать задачу ресурсами с краудсорс платформы, авторы придумали тест, в котором потенциальном асессорам показывали простые картинки с абстрактными фигурами. Картинки были сделаны так что часть из них была строго сложнее других (больше фигур, более сложные фигуры и т.д.). Участники допускались к разметке данных после успешного прохождения теста. Отобранным 17 участникам не давали размечать картинки если они смотрели на них меньше 10 сек и всего они размечали не более 320 картинок в день.
Авторы также предлагают бейзлайн модель на своем датасете - ICNet. Она состоит из двух частей: первая предсказывает общий IC score, вторая - IC map. Интересной деталью является свой вариант attention, который лучше улавливает структурные отличия.
В конце статьи приводятся примеры того как решение других задач (Image Quality Assessment, Image Segmentation, Image Classification etc.) может быть улучшено с помощью IC assessment. Код есть, данные дают по отдельному запросу (инструкция там же).
Есть еще одна недооцененная задача - Image Complexiy (IC) Assessment. Под комплексностью понимается количество вариативности и деталей на изображении. Субъективно это ощущается как степень сложности описания увиденного. Оценить комплексность не просто потому что такие оценки крайне субъективны, а для покрытия множества возможных сцен нужно внушительное количество данных.
Видя всё это безобразие, авторы закатили рукава и предложили новый датасет IC9600. Он больше предыдущих и лучше размечен. Сами же изображения представляют 8 категорий: abstract, advertisement, architecture, object, painting, person, scene, and transportation.
В статье есть несколько любопытных деталей касательно процесса сбора и разметки датасета. Например, авторы не стали сами скрапить интернет, а просто надёргали картинок из AVA (abstract, architecture), MS-COCO (object), JenAesthetics (painting), Wider-Person (person) и других.
С разметкой заморочились: вместо того чтобы просто закидать задачу ресурсами с краудсорс платформы, авторы придумали тест, в котором потенциальном асессорам показывали простые картинки с абстрактными фигурами. Картинки были сделаны так что часть из них была строго сложнее других (больше фигур, более сложные фигуры и т.д.). Участники допускались к разметке данных после успешного прохождения теста. Отобранным 17 участникам не давали размечать картинки если они смотрели на них меньше 10 сек и всего они размечали не более 320 картинок в день.
Авторы также предлагают бейзлайн модель на своем датасете - ICNet. Она состоит из двух частей: первая предсказывает общий IC score, вторая - IC map. Интересной деталью является свой вариант attention, который лучше улавливает структурные отличия.
В конце статьи приводятся примеры того как решение других задач (Image Quality Assessment, Image Segmentation, Image Classification etc.) может быть улучшено с помощью IC assessment. Код есть, данные дают по отдельному запросу (инструкция там же).
👍2
Image Inpainting via Iteratively Decoupled Probabilistic Modeling
Мы часто видим диффузионки в задачах генерации изображений. При этом, задачи вроде inpainting и image enhancement (super rez, denoising) как будто отдельная область. На самом деле, в случае, когда закрашивать нужно большие регионы, задача мало чем отличается от условной текстовой генерации. Только в этом случае в виде условия выступают известные части изображения, которое надо восстановить.
Диффузионные модели уже применяли к задаче large hole inpainting (RePaint, SD, Palette). Все эти подходы страдают от общей болячки диффузионок - вычислительно сложного инференса. С другой стороны, GAN подходы, хоть и ушли на второй план, вычислительно более эффективны (StyleGAN). Однако ганам тяжело делать single-shot предсказания уровня диффузионок + они все еще могут генерить специфические артефакты.
Авторы придумали как взять лучшее из двух миров и предлагают процедуру итеративного закрашивания. Суть в обучении диффузионной модели, которая на шаге
Опуская детали, упрощенный алгоритм семплирования выглядит следующим образом:
1. Берём U-Net с StyleGAN декодером;
2. Берем картинку
3. Получаем оценку на шаге
4. Нормализуем
5. Используя
6. Семплируем пиксели, переходим на следующий шаг.
Добавляя в смесь лоссов вариант perceptual loss (необходимый компонент всех inpainting моделей), авторы обучаюся на Places2 и CelebA-HQ до получения FID ~ 1.7 (large mask❗️, Places2). Модель имеет всего 20% от параметров SD и работает в 10 раз быстрее. Код ждём тут.
Мы часто видим диффузионки в задачах генерации изображений. При этом, задачи вроде inpainting и image enhancement (super rez, denoising) как будто отдельная область. На самом деле, в случае, когда закрашивать нужно большие регионы, задача мало чем отличается от условной текстовой генерации. Только в этом случае в виде условия выступают известные части изображения, которое надо восстановить.
Диффузионные модели уже применяли к задаче large hole inpainting (RePaint, SD, Palette). Все эти подходы страдают от общей болячки диффузионок - вычислительно сложного инференса. С другой стороны, GAN подходы, хоть и ушли на второй план, вычислительно более эффективны (StyleGAN). Однако ганам тяжело делать single-shot предсказания уровня диффузионок + они все еще могут генерить специфические артефакты.
Авторы придумали как взять лучшее из двух миров и предлагают процедуру итеративного закрашивания. Суть в обучении диффузионной модели, которая на шаге
t предсказывает закрашенную картинку μ и карту уверенности σ2. При этом, на μ дополнительно накладывается adversarial loss, который добавляет супервижена обучению диффузионной модели. Опуская детали, упрощенный алгоритм семплирования выглядит следующим образом:
1. Берём U-Net с StyleGAN декодером;
2. Берем картинку
x, зашумляем для шага t;3. Получаем оценку на шаге
t-1 для параметров норм. распределения μ и σ2;4. Нормализуем
σ2 на [0, 1] -> uncertainty map u;5. Используя
u шага t, выбираем фиксированное число пикселей с самой низкой uncertainty;6. Семплируем пиксели, переходим на следующий шаг.
Добавляя в смесь лоссов вариант perceptual loss (необходимый компонент всех inpainting моделей), авторы обучаюся на Places2 и CelebA-HQ до получения FID ~ 1.7 (large mask❗️, Places2). Модель имеет всего 20% от параметров SD и работает в 10 раз быстрее. Код ждём тут.
ReVersion: Diffusion-Based Relation Inversion from Images
Мы уже разбирали работу по использованию текстовой инверсии для контроля над диффузионной генерацией. Суть её в выучивании некоторого “концепта”
Авторы работый заметили, что если объекты (“концепты”) так выучивать получается, то отношения между объектами - нет. Например вам хочется сгенерировать отношение рукопожатия
Как и в случае с выучиванием “концептов”, предлагается использовать текстовую инверсию, однако для текущего сценария требуется пара усложнений.
1. Preposition prior - слово должно быть предлогом(формулируется в виде контрастив лосса). Вводится поскольку в естественных языках отношения между объектами чаще всего выражаются предлогами (prepositions);
2. Relation-Focal Importance Sampling. Во время семплинга из шума, в первую очередь генерируются высокоуровневые компоненты изображения. На более поздних шагах (меньшие значения
Поскольку задача Relation Inversion новая, авторы предлагают свой датасет ReVersion Benchmark - набор заготовленных изображений с текстовыми описаниями, где подобраны вариативные объекты и отношения между ними. Помимо этого, проводят опрос пользователей для проверки реалистичности. Также есть ablation, показывающий важность обоих предложенных изменений. Код есть.
Мы уже разбирали работу по использованию текстовой инверсии для контроля над диффузионной генерацией. Суть её в выучивании некоторого “концепта”
S* - текстового представления объекта. “Концепт” может не являться реальным словом, главное чтоб позволял генерировать правильные объекты. Применяется это так: допустим вы выучили концепт дерева S* и теперь можете генерировать голубые деревья запросом: “An image of a blue `S*`”.Авторы работый заметили, что если объекты (“концепты”) так выучивать получается, то отношения между объектами - нет. Например вам хочется сгенерировать отношение рукопожатия
<R> между двумя объектами: “rabbit <R> child”. Как это сделать? Задачу назвали Relation Inversion.Как и в случае с выучиванием “концептов”, предлагается использовать текстовую инверсию, однако для текущего сценария требуется пара усложнений.
1. Preposition prior - слово должно быть предлогом(формулируется в виде контрастив лосса). Вводится поскольку в естественных языках отношения между объектами чаще всего выражаются предлогами (prepositions);
2. Relation-Focal Importance Sampling. Во время семплинга из шума, в первую очередь генерируются высокоуровневые компоненты изображения. На более поздних шагах (меньшие значения
t), проявляются детали. Обычно, во время обучения, t семплируется равномерно. Авторы предлагаюсь увеличить вероятность семплирования больших t, чтобы заставить модель лучше генерировать и понимать высокоуровневые компоненты такие как отношения между объектами. Поскольку задача Relation Inversion новая, авторы предлагают свой датасет ReVersion Benchmark - набор заготовленных изображений с текстовыми описаниями, где подобраны вариативные объекты и отношения между ними. Помимо этого, проводят опрос пользователей для проверки реалистичности. Также есть ablation, показывающий важность обоих предложенных изменений. Код есть.
🔥1
Fourier Diffusion Models: A Method to Control MTF and NPS in Score-Based Stochastic Image Generation
Denoising diffusion probabilistic models (DDPM) основаны на стохастическом процессе, в котором реальные изображения постепенно зашумляются добавлением Гауссовского шума. Модель учат приближать обратный процесс, начиная с, как правило, чистого шума.
Авторы предлагают Fourier Diffusion Models (FDM) - новый класс диффузионок с двумя основными свойствами:
1. Кронтролируемой Modulation Transfer Function (MDF) - point spread function в частотном (Фурье) пространстве;
2. Контролируемым Noise Power Spectrum (NPS) - Фурье от автокорреляции шума, важная характеристика в радиологических модальностях (КТ, рентген).
Мотивация: важная характеристика таких моделей - возможность моделировать переход от истинных (ground truth) изображений к наблюдаемым (measured) с определенными MDF и NPS вместо перехода в чистый шум. На практике это означает, следующее.
Допустим, вы хотите удалять какие-либо артефакты с КТ сканов, например шум. Сейчас для этого вы можете использовать DDPM как в статье Xia et. al, 2022:
— Берем скан с очень низким уровнем шума;
— Зашумляем до
— Оборачиваем процесс (расшумляем) с обуславливанием на низкодозную (реальную шумную) картинку.
Такая модель может придумать что-нибудь сверх того что есть у нас в условии. Это не допустимо в случае медицинских изображений.
Другой вариант - использовать FDM:
— Берем картинку с очень низким уровнем шума;
— Переводим её в наблюдаемую (реальную шумную) картинку;
— Оборачиваем процесс, без обуславливания на низкодозную картинку.
Вероятность придумывания падает, поскольку мы не уходим так далеко (в чистый шум) от интересующих нас изображений.
А где, собственно, Фурье? Формулировка FDM эквивалента DDPM в случае, если изображения переведены в частотное пространство. Таким образом, использование в явном виде MDF и NPS в скор функции эквивалентно обучению DDMP генерации Фурье коэффициентов.
Примеры на низкодозном КТ выглядят убедительно, кода нет.
Denoising diffusion probabilistic models (DDPM) основаны на стохастическом процессе, в котором реальные изображения постепенно зашумляются добавлением Гауссовского шума. Модель учат приближать обратный процесс, начиная с, как правило, чистого шума.
Авторы предлагают Fourier Diffusion Models (FDM) - новый класс диффузионок с двумя основными свойствами:
1. Кронтролируемой Modulation Transfer Function (MDF) - point spread function в частотном (Фурье) пространстве;
2. Контролируемым Noise Power Spectrum (NPS) - Фурье от автокорреляции шума, важная характеристика в радиологических модальностях (КТ, рентген).
Мотивация: важная характеристика таких моделей - возможность моделировать переход от истинных (ground truth) изображений к наблюдаемым (measured) с определенными MDF и NPS вместо перехода в чистый шум. На практике это означает, следующее.
Допустим, вы хотите удалять какие-либо артефакты с КТ сканов, например шум. Сейчас для этого вы можете использовать DDPM как в статье Xia et. al, 2022:
— Берем скан с очень низким уровнем шума;
— Зашумляем до
N(0, I);— Оборачиваем процесс (расшумляем) с обуславливанием на низкодозную (реальную шумную) картинку.
Такая модель может придумать что-нибудь сверх того что есть у нас в условии. Это не допустимо в случае медицинских изображений.
Другой вариант - использовать FDM:
— Берем картинку с очень низким уровнем шума;
— Переводим её в наблюдаемую (реальную шумную) картинку;
— Оборачиваем процесс, без обуславливания на низкодозную картинку.
Вероятность придумывания падает, поскольку мы не уходим так далеко (в чистый шум) от интересующих нас изображений.
А где, собственно, Фурье? Формулировка FDM эквивалента DDPM в случае, если изображения переведены в частотное пространство. Таким образом, использование в явном виде MDF и NPS в скор функции эквивалентно обучению DDMP генерации Фурье коэффициентов.
Примеры на низкодозном КТ выглядят убедительно, кода нет.
👍3
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