Improving Multimodal Datasets with Image Captioning
С появлением больших открытых датасетов для обучения мультимодальных моделей, встал вопрос о влиянии качества этих данных на результат работы моделей. DataComp предлагает фиксировать DL части и экспериментировать с методами фильтрации данных. В результате удаётся уверенно побить SOTA результаты, уменьшив вычислительную сложность.
Фильтрация подразумевает удаление данных, не прошедших по некоторому порогу. Так, предложенный в DataComp baseline удаляет от 60% до 90% всех данных. Побочным эффектом является уменьшение вариативности, что плохо сказывается на обобщаемости.
Авторы говорят: давайте не выкидывать данные, не прошедшие в обучающую выборку по качеству текстов или текстово-картиночной релевантности, потому что картинки могут быть ок. Предлагается заменять “плохие” тексты синтетическими и следить за тем как это влияет на качество в downstream задачах: куче бенчмарков из DataComp, включая zero-shot классификацию и retrieval.
В статье системно разбираются основные вопросы, связанные с моделями и данными:
— Какую модель генерации синтетики брать? Оказывается, что брать наиболее сильную по CIDEr score (стандартная метрика качества image captioning) не всегда оптимально. Обычный CLIP score лучше коррелирует с итоговым качеством
— Как лучше сочетать органику и синтетику? Оптимальная доля синтетики для среднего датасета (128М пар) находится в районе 70%. Прямого анализа зависимости доли от количества данных я не нашел, но в саплементах есть косвенный анализ, показывающий, что вариативность синтетики может накладывать ограничение на оптимальную долю в больших датасетах
— Почему синтетика полезна, но не идеальна? В ней меньше шума и она более “визуальна” (см. text visualness), но менее разнообразна
Важно, что все эти выводы сделаны по довольно ограниченному набору моделей (BLIP, BLIP-2, OpenCLIP-CoCa). Также очень не хватает анализа оптимальной доли синтетики в зависимости от размера датасета. Кода нет.
С появлением больших открытых датасетов для обучения мультимодальных моделей, встал вопрос о влиянии качества этих данных на результат работы моделей. DataComp предлагает фиксировать DL части и экспериментировать с методами фильтрации данных. В результате удаётся уверенно побить SOTA результаты, уменьшив вычислительную сложность.
Фильтрация подразумевает удаление данных, не прошедших по некоторому порогу. Так, предложенный в DataComp baseline удаляет от 60% до 90% всех данных. Побочным эффектом является уменьшение вариативности, что плохо сказывается на обобщаемости.
Авторы говорят: давайте не выкидывать данные, не прошедшие в обучающую выборку по качеству текстов или текстово-картиночной релевантности, потому что картинки могут быть ок. Предлагается заменять “плохие” тексты синтетическими и следить за тем как это влияет на качество в downstream задачах: куче бенчмарков из DataComp, включая zero-shot классификацию и retrieval.
В статье системно разбираются основные вопросы, связанные с моделями и данными:
— Какую модель генерации синтетики брать? Оказывается, что брать наиболее сильную по CIDEr score (стандартная метрика качества image captioning) не всегда оптимально. Обычный CLIP score лучше коррелирует с итоговым качеством
— Как лучше сочетать органику и синтетику? Оптимальная доля синтетики для среднего датасета (128М пар) находится в районе 70%. Прямого анализа зависимости доли от количества данных я не нашел, но в саплементах есть косвенный анализ, показывающий, что вариативность синтетики может накладывать ограничение на оптимальную долю в больших датасетах
— Почему синтетика полезна, но не идеальна? В ней меньше шума и она более “визуальна” (см. text visualness), но менее разнообразна
Важно, что все эти выводы сделаны по довольно ограниченному набору моделей (BLIP, BLIP-2, OpenCLIP-CoCa). Также очень не хватает анализа оптимальной доли синтетики в зависимости от размера датасета. Кода нет.
👍4
DreamTeacher: Pretraining Image Backbones with Deep Generative Models
Self-supervised learning (SSL) модели часто используются как экстракторы признаков или бэкбоуны для решения дискриминативных задач. Они чаще всего основаны на contrastive loss (CLIP, BLIP, MoCo) и masked image modeling (MAE, SimMIM). Генеративные модели, в частности GAN, рассматривались как вариант SSL обучения, но не получили широкого распространения. Отдельные работы показывали, что генеративные модели, в частности диффузионки, могут быть хорошими претренами для сегментации и классификации, но универсального способа их использования предложено не было.
Авторы предлагают способ получения универсальных претренов с помощью дистилляции генеративных моделей:
1. Собираем датасет пар
— Просто генерируем картинки моделью;
— Энкодим картинку в латентное пространство.
2. Дистиллируем. Авторы утверждают, что CNN для этой задачи лучше трансформеров, а конкретно их выбор падает на архитектуру Feature Pyramid Network (FPN). Обучается она на комбинацию MSE и Attention
Transfer (AT) лоссов для приближения фичей студента и генеративного учителя.
В случае наличия разметки в данных, авторы предлагают методику task-specific дообучения с использованием этих меток. Для этого используется отдельный feature interpreter модуль, который помимо описанной выше комбинации лоссов минимизирует какой-то supervised objective, например кросс-энропию.
В экспериментальной части авторы всячески доказывают, что предлагаемая модель во всём лучше ImageNet1k претренов и предложенных ранее GAN-based методов на бенчмарках вроде COCO, ADE20K, и BDD100K. Код и веса не выложены.
Self-supervised learning (SSL) модели часто используются как экстракторы признаков или бэкбоуны для решения дискриминативных задач. Они чаще всего основаны на contrastive loss (CLIP, BLIP, MoCo) и masked image modeling (MAE, SimMIM). Генеративные модели, в частности GAN, рассматривались как вариант SSL обучения, но не получили широкого распространения. Отдельные работы показывали, что генеративные модели, в частности диффузионки, могут быть хорошими претренами для сегментации и классификации, но универсального способа их использования предложено не было.
Авторы предлагают способ получения универсальных претренов с помощью дистилляции генеративных моделей:
1. Собираем датасет пар
{x, f}
, где x
- картинка, f
- карты признаков. Для этого семплируем данные из генеративки двумя способами, по пути собирая признаки с промежуточных слоев генератора:— Просто генерируем картинки моделью;
— Энкодим картинку в латентное пространство.
2. Дистиллируем. Авторы утверждают, что CNN для этой задачи лучше трансформеров, а конкретно их выбор падает на архитектуру Feature Pyramid Network (FPN). Обучается она на комбинацию MSE и Attention
Transfer (AT) лоссов для приближения фичей студента и генеративного учителя.
В случае наличия разметки в данных, авторы предлагают методику task-specific дообучения с использованием этих меток. Для этого используется отдельный feature interpreter модуль, который помимо описанной выше комбинации лоссов минимизирует какой-то supervised objective, например кросс-энропию.
В экспериментальной части авторы всячески доказывают, что предлагаемая модель во всём лучше ImageNet1k претренов и предложенных ранее GAN-based методов на бенчмарках вроде COCO, ADE20K, и BDD100K. Код и веса не выложены.
👍3
From Sparse to Soft Mixtures of Experts
Научиться моделировать очень широкое и сложное распределение бывает не просто. Mixture of Experts (MoE) - один из подходов для решения этой проблемы, пришедший к нам из 90-х. Суть его в том, чтобы обучать набор экспертных моделей, каждая из которых специализируется на узкой части исходного распределения. Помимо этого, обучают модель-роутер, решающую какому эксперту давать тот или иной, приходящий на вход пример. Метод, когда каждый эксперт отвечает строго за свой поддомен и на выходе используется только его предсказание называют Sparse MoE.
Естественным расширением такого подхода было бы использование некоторой выученной комбинации ответов экспертов. Проблема в том, что так делать пробовали и это работает не сильно лучше базового подхода.
Авторы предлагают подход Soft MoE, заключающийся в замене роутера на двухстадийную процедуру комбинирования и взвешивания:
1. Берём входные токены и комбинируем их с per-slot learnable parameters. Эта часть делает своё взвешивание входных токенов для каждой экспертной модели. По сути, уже а этом этапе определяется то на какую часть входной последовательности должен смотреть каждый эксперт
2. Пропускаем полученные комбинации через модели-эксперты, получаем их выходы
3. Взвешиваем выходы экспертов с помощью той же матрицы из п. 1. Так мы узнаем относительный вес, который должен дать каждый эксперт в предсказании каждого токена.
4. Комбинируем взвешенные выходы, возвращаем ответ.
Основными бонусами предложенного подхода являются полная дифференцируемость, удобство масштабирования на сотни и тысячи экспертов, приемлемая вычислительная сложность. Минусы - не понятно как нормально использовать в автогрегрессионных моделях + требуется много памяти в случае использования нескольких комбинаций весов для каждого эксперта.
Эксперименты на классификации картинок, есть ablation на параметры метода. В общем, добротная статья с кодом и детальными саплементами для интересующихся.
Научиться моделировать очень широкое и сложное распределение бывает не просто. Mixture of Experts (MoE) - один из подходов для решения этой проблемы, пришедший к нам из 90-х. Суть его в том, чтобы обучать набор экспертных моделей, каждая из которых специализируется на узкой части исходного распределения. Помимо этого, обучают модель-роутер, решающую какому эксперту давать тот или иной, приходящий на вход пример. Метод, когда каждый эксперт отвечает строго за свой поддомен и на выходе используется только его предсказание называют Sparse MoE.
Естественным расширением такого подхода было бы использование некоторой выученной комбинации ответов экспертов. Проблема в том, что так делать пробовали и это работает не сильно лучше базового подхода.
Авторы предлагают подход Soft MoE, заключающийся в замене роутера на двухстадийную процедуру комбинирования и взвешивания:
1. Берём входные токены и комбинируем их с per-slot learnable parameters. Эта часть делает своё взвешивание входных токенов для каждой экспертной модели. По сути, уже а этом этапе определяется то на какую часть входной последовательности должен смотреть каждый эксперт
2. Пропускаем полученные комбинации через модели-эксперты, получаем их выходы
3. Взвешиваем выходы экспертов с помощью той же матрицы из п. 1. Так мы узнаем относительный вес, который должен дать каждый эксперт в предсказании каждого токена.
4. Комбинируем взвешенные выходы, возвращаем ответ.
Основными бонусами предложенного подхода являются полная дифференцируемость, удобство масштабирования на сотни и тысячи экспертов, приемлемая вычислительная сложность. Минусы - не понятно как нормально использовать в автогрегрессионных моделях + требуется много памяти в случае использования нескольких комбинаций весов для каждого эксперта.
Эксперименты на классификации картинок, есть ablation на параметры метода. В общем, добротная статья с кодом и детальными саплементами для интересующихся.
👍2
EVA: An Explainable Visual Aesthetics Dataset
В задаче Image Aesthetic Assessment (IAA) источником знания об эстетичности изображений является набор усредненных оценок респондентов. При этом, полученные значения не всегда легко интерпретировать, ведь понятие эстетичности трудно формализуемо и крайне субъективно.
Авторы предлагают датасет EVA, представляющий собой доразметку части наиболее крупного IAA датасета - AVA. Основной задачей было получение очень подробной разметки каждого изображения, учитывая также характеристики респондентов (пол, возраст, использование очков и даже наличие цветовой слепоты). Сами же картинки оценивали аж по 10 признакам, включая довольно очевидные, сравнительно объективные (баланс цвета и яркости, композиция), так и очень субъективные, поведенческие (“насколько тяжело оценить эстетичность?”, “что вносит основной вклад?”).
Поскольку исходный AVA - довольно старый датасет, не все картинки из него плохие по чисто эстетическим причинам. Некоторые сняты на оборудование с не очень хорошими характеристиками. Авторы отфильтровали норм картинки и разметили сколько смогли. В итоге получился пул в 4070 изображения с, в среднем, 33 оценками на каждое.
Вообще, статья полезна по нескольким причинам:
— Теперь есть такой датасет и его можно пользовать для получения более качественных/интерпретируемых IAA моделей. Например, недавно вышла статья, показывающая, что multi-target обучение на EVA, хоть и не сильно, но улучшает качество моделей.
— Есть набор критериев влияющих на эстетичность. Он наверняка не идеален, но он есть.
— Есть инфа про разметчиков, можно анализировать то как разные люди воспринимают изображения.
Надо отметить, что в AADB тоже есть информация помимо MOS, но у этого датасета свои проблемы. Сам датасет можно найти тут.
В задаче Image Aesthetic Assessment (IAA) источником знания об эстетичности изображений является набор усредненных оценок респондентов. При этом, полученные значения не всегда легко интерпретировать, ведь понятие эстетичности трудно формализуемо и крайне субъективно.
Авторы предлагают датасет EVA, представляющий собой доразметку части наиболее крупного IAA датасета - AVA. Основной задачей было получение очень подробной разметки каждого изображения, учитывая также характеристики респондентов (пол, возраст, использование очков и даже наличие цветовой слепоты). Сами же картинки оценивали аж по 10 признакам, включая довольно очевидные, сравнительно объективные (баланс цвета и яркости, композиция), так и очень субъективные, поведенческие (“насколько тяжело оценить эстетичность?”, “что вносит основной вклад?”).
Поскольку исходный AVA - довольно старый датасет, не все картинки из него плохие по чисто эстетическим причинам. Некоторые сняты на оборудование с не очень хорошими характеристиками. Авторы отфильтровали норм картинки и разметили сколько смогли. В итоге получился пул в 4070 изображения с, в среднем, 33 оценками на каждое.
Вообще, статья полезна по нескольким причинам:
— Теперь есть такой датасет и его можно пользовать для получения более качественных/интерпретируемых IAA моделей. Например, недавно вышла статья, показывающая, что multi-target обучение на EVA, хоть и не сильно, но улучшает качество моделей.
— Есть набор критериев влияющих на эстетичность. Он наверняка не идеален, но он есть.
— Есть инфа про разметчиков, можно анализировать то как разные люди воспринимают изображения.
Надо отметить, что в AADB тоже есть информация помимо MOS, но у этого датасета свои проблемы. Сам датасет можно найти тут.
Towards Universal Image Embeddings:
A Large-Scale Dataset and Challenge for Generic Image Representations
SSL модели вроде CLIP часто называют foundation models из-за того что их эмбединги не привязаны к одной задаче и могут быть много где использованы как бейзлайн или хорошая инициализация. На самом же деле, получение универсальных эмбедингов - отдельная задача. Работа посвящена наведению порядка в области и получению, отсутствующего на момент выхода статьи, бенчмарка.
Предлагается решать задачу многоклассовой классификации на смеси датасетов из 8 доменов: еда, машины, онлайн и ретейл продукты, одежда, искусство, достопримечательности и natural world (что бы это ни значило). Авторы комбинируют уже существующие датасеты по темам, предлагают train-val-test сплиты, процедуру препроцессинга и метрики. Всего итоговый датасет содержит 349k уникальных классов.
Оценивается качество получаемых эмбедингов с помощью Recall@1, эквивалентной поиску ближайшего соседа. Если класс найденого объекта совпадает с целевым - успех. Авторы предлагают отказаться от традиционно использующейся mean average precision, поскольку она мало релевантна практике.
В качестве модели предлагается обучать ViT-B/16 в двух сетапах:
— Join classifier - кросс-энтропия считается по одному большому вектору классов;
— Separate classifier - вектора классов разделены.
В качестве бейзлайнов используют CLIP и DINOv2, а также рассматривается вариант файнтюна этих моделей.
Результаты ожидаемые - лучше всего показывает себя Round Robin семплирование данных, а универсальная модель работает, в среднем, лучше специализированных. Код обещают, датасеты на сайте проекта.
Также год назад авторы организовали соревнование на Kaggle. Представленный в нем датасет и метрики отличаются, но общие выводы схожи со сделанными в статье.
A Large-Scale Dataset and Challenge for Generic Image Representations
SSL модели вроде CLIP часто называют foundation models из-за того что их эмбединги не привязаны к одной задаче и могут быть много где использованы как бейзлайн или хорошая инициализация. На самом же деле, получение универсальных эмбедингов - отдельная задача. Работа посвящена наведению порядка в области и получению, отсутствующего на момент выхода статьи, бенчмарка.
Предлагается решать задачу многоклассовой классификации на смеси датасетов из 8 доменов: еда, машины, онлайн и ретейл продукты, одежда, искусство, достопримечательности и natural world (что бы это ни значило). Авторы комбинируют уже существующие датасеты по темам, предлагают train-val-test сплиты, процедуру препроцессинга и метрики. Всего итоговый датасет содержит 349k уникальных классов.
Оценивается качество получаемых эмбедингов с помощью Recall@1, эквивалентной поиску ближайшего соседа. Если класс найденого объекта совпадает с целевым - успех. Авторы предлагают отказаться от традиционно использующейся mean average precision, поскольку она мало релевантна практике.
В качестве модели предлагается обучать ViT-B/16 в двух сетапах:
— Join classifier - кросс-энтропия считается по одному большому вектору классов;
— Separate classifier - вектора классов разделены.
В качестве бейзлайнов используют CLIP и DINOv2, а также рассматривается вариант файнтюна этих моделей.
Результаты ожидаемые - лучше всего показывает себя Round Robin семплирование данных, а универсальная модель работает, в среднем, лучше специализированных. Код обещают, датасеты на сайте проекта.
Также год назад авторы организовали соревнование на Kaggle. Представленный в нем датасет и метрики отличаются, но общие выводы схожи со сделанными в статье.
❤2🔥1
Fine-tuning can cripple your foundation model; preserving features may be the solution
Проблема concept forgetting мешает в народном хозяйстве получению безупречных файнтюнов CLIP-like моделей на произвольных задачах. Только мы начали показывать ему конкретные примеры как он уже успевает забыть про всё то великое разнообразие концептов, которое успел увидеть в ходе обучения. При этом, обычная L2 регуляризация весов (также известная как L2SP) не помогает.
Авторы предлагают метод регуляризации L2 distance in feature space (LDIFS) и показывают, что добавлять её нужно не только на последние слои, а на +- всю модель.
Вспомним, что основными способами оценки качества SSL моделей является классификация через:
— Близость картиночных эмбедингов с автосгенерированными из классов текстовыми эмбедингами;
— Linear probing - обучение логрега поверх картиночных фичей.
В статье предлагается оценивать степень забывания по ухудшению качества классификации двумя описанными методами на 9 разных датасетах. По этой метрике LDIFS сравнивают с FLYP, FLYP-CE и L2SP - предыдущими наработками, использовавшими L2 регуляризацию и contrastive loss для уменьшения забывания.
Из бейзлайнов, L2 регуляризация приводит к наименьшему забыванию, поскольку сохраняет близкие к исходным веса. Однако, авторы замечают, что существует множество комбинаций весов с близкими L2 расстояниями, такие что будут давать совершенно разные карты признаков. Так они приходят к идее непосредственной регуляризации признаков, эффективность которой подтверждается экспериментами.
Интересно, что даже если делать цепочку из двух файнтюнингов, предложенный метод позволяет сохранять обобщаемость исходной модели.
Нужно отметить, что все результаты получены только для одного конкретного претрена (OpenAI) одной конкретной модели (CLIP). Кода нет.
Проблема concept forgetting мешает в народном хозяйстве получению безупречных файнтюнов CLIP-like моделей на произвольных задачах. Только мы начали показывать ему конкретные примеры как он уже успевает забыть про всё то великое разнообразие концептов, которое успел увидеть в ходе обучения. При этом, обычная L2 регуляризация весов (также известная как L2SP) не помогает.
Авторы предлагают метод регуляризации L2 distance in feature space (LDIFS) и показывают, что добавлять её нужно не только на последние слои, а на +- всю модель.
Вспомним, что основными способами оценки качества SSL моделей является классификация через:
— Близость картиночных эмбедингов с автосгенерированными из классов текстовыми эмбедингами;
— Linear probing - обучение логрега поверх картиночных фичей.
В статье предлагается оценивать степень забывания по ухудшению качества классификации двумя описанными методами на 9 разных датасетах. По этой метрике LDIFS сравнивают с FLYP, FLYP-CE и L2SP - предыдущими наработками, использовавшими L2 регуляризацию и contrastive loss для уменьшения забывания.
Из бейзлайнов, L2 регуляризация приводит к наименьшему забыванию, поскольку сохраняет близкие к исходным веса. Однако, авторы замечают, что существует множество комбинаций весов с близкими L2 расстояниями, такие что будут давать совершенно разные карты признаков. Так они приходят к идее непосредственной регуляризации признаков, эффективность которой подтверждается экспериментами.
Интересно, что даже если делать цепочку из двух файнтюнингов, предложенный метод позволяет сохранять обобщаемость исходной модели.
Нужно отметить, что все результаты получены только для одного конкретного претрена (OpenAI) одной конкретной модели (CLIP). Кода нет.
❤1👍1
DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior
Задача Blind Image Restoration (BIR) решает проблему восстановления качества изображений, испорченных относительно некоторых идеальных произвольным набором деградаций и их комбинаций. В задачу BIR входят Super Resolution, Denoising, Deblurring и другие подходы улучшения качества изображений. Обычно, каждая задача решается специализированной моделью.
В этой работе, авторы предлагают общий подход, призванный решить задачу BIR в общем виде за счет двухстадийного пайплайна:
1. Restoration Module - слегка модифицированная версия SwinIR, обученная на L2 лосс в self-supervised манере на удаление артефактов: blur, resize, noise и их комбинаций.
2. LAControNet - предобученная модель Stable Diffusion (SD), к которой добавили Parallel Block - модуль отвечающий за процессинг картиночного кондишена. Он представляет собой дополнительный энкодер, инициализируемый весами энкодера SD. При этом, Parallel Block получает на вход конкатинацию шума и картинки из Restoration Module. Результатом работы энкодера в Parallel Block является латентный код размерности равной размерности кода в SD, благодаря чему возможно сложить его выходы с выходом денойзера SD в декодере.
Авторы оставляют денойзер SD замороженным, при этом отдельно обучают Restoration Module и Parallel Block. Важным элементом является предлагаемый Latent Image Guidance: подход вдохновленный, но отличающийся от ControlNet. Предлагается дополнительный лосс в виде L2 расстояния между значением гайденса латентного представления SD и оценкой “чистого” (без шума) латента. Аблейшен показывает, что такой механизм позволяет избегать цветовых искажений, встречающихся при использовании ControlNet.
В экспериментальной части авторы сравниваются только с GAN-based моделями, игнорируя работы вроде SR3+. Авторы также показывают, что их механизм гайденса позволяет регулировать балланс между резкостью и артефактностью генераций, что полезно. Код есть.
Задача Blind Image Restoration (BIR) решает проблему восстановления качества изображений, испорченных относительно некоторых идеальных произвольным набором деградаций и их комбинаций. В задачу BIR входят Super Resolution, Denoising, Deblurring и другие подходы улучшения качества изображений. Обычно, каждая задача решается специализированной моделью.
В этой работе, авторы предлагают общий подход, призванный решить задачу BIR в общем виде за счет двухстадийного пайплайна:
1. Restoration Module - слегка модифицированная версия SwinIR, обученная на L2 лосс в self-supervised манере на удаление артефактов: blur, resize, noise и их комбинаций.
2. LAControNet - предобученная модель Stable Diffusion (SD), к которой добавили Parallel Block - модуль отвечающий за процессинг картиночного кондишена. Он представляет собой дополнительный энкодер, инициализируемый весами энкодера SD. При этом, Parallel Block получает на вход конкатинацию шума и картинки из Restoration Module. Результатом работы энкодера в Parallel Block является латентный код размерности равной размерности кода в SD, благодаря чему возможно сложить его выходы с выходом денойзера SD в декодере.
Авторы оставляют денойзер SD замороженным, при этом отдельно обучают Restoration Module и Parallel Block. Важным элементом является предлагаемый Latent Image Guidance: подход вдохновленный, но отличающийся от ControlNet. Предлагается дополнительный лосс в виде L2 расстояния между значением гайденса латентного представления SD и оценкой “чистого” (без шума) латента. Аблейшен показывает, что такой механизм позволяет избегать цветовых искажений, встречающихся при использовании ControlNet.
В экспериментальной части авторы сравниваются только с GAN-based моделями, игнорируя работы вроде SR3+. Авторы также показывают, что их механизм гайденса позволяет регулировать балланс между резкостью и артефактностью генераций, что полезно. Код есть.
👍3
Muse: Text-To-Image Generation via Masked Generative Transformers
ICML’23
Диффузионные модели сегодня безоговорочно возглавляют топ image-to-text генеративных моделей и на практике реализованы в куче систем генерации изображений. Тем не менее, параллельные подходы продолжают развиваться и показывают интересные результаты. В этой статье мы разберем подход с использованием Masked Modeling как альтернативы пиксельной и латентной диффузии.
Модель состоит из трёх блоков:
1. Предобученная LLM, в данном случае T5-XXL. Авторы продолжают дело Imagen и топят за большие текстовые энкодеры для лучшего понимания промта.
2. Базовая модель masked transformer с VQGAN токенизатором. Дискретная природа латентного пространства такого трансформера позволяет:
— Строить обучение как задачу предсказания маскированного токена: исходная картинка токенизируется, часть токенов маскируется dummy токеном [MASK], а затем спешивается cross-attention’ом с токенами промта
— Использовать обычную кросс-энтропию в качестве лосса
3. Super Resolution модель, которая апсемплит латент базовой модели, за счет чего итоговое разрешение повышают до 512. Архитектура аналогична базовой модели.
Помимо прочего, авторы используют несколько трюков для улучшения качества:
- Classifier-free guidance
- Варьируют во время обучения количество маскируемых токенов
- Файнтюнят VQGAN декодер
- Используют Interative Parallel Decoding во время инференса.
Последний компонент основан на предположении о независимости выходных токенов, что позволяет значительно оптимизировать вычисления по сравнению с базовым авторегрессионным подходом.
Модели размером от 600М до 3В обучали на Imagen датасете из 460М пар картинка-текст. Лучшая имеет SOTA FID/CLIP score (на момент публикации) и выглядит предпочтительнее чем Imagen и DALL-E 2. Преимуществом модели также является возможность естественным образом выполнять image editing за счет механизма маскирования токенов. Кода нет.
ICML’23
Диффузионные модели сегодня безоговорочно возглавляют топ image-to-text генеративных моделей и на практике реализованы в куче систем генерации изображений. Тем не менее, параллельные подходы продолжают развиваться и показывают интересные результаты. В этой статье мы разберем подход с использованием Masked Modeling как альтернативы пиксельной и латентной диффузии.
Модель состоит из трёх блоков:
1. Предобученная LLM, в данном случае T5-XXL. Авторы продолжают дело Imagen и топят за большие текстовые энкодеры для лучшего понимания промта.
2. Базовая модель masked transformer с VQGAN токенизатором. Дискретная природа латентного пространства такого трансформера позволяет:
— Строить обучение как задачу предсказания маскированного токена: исходная картинка токенизируется, часть токенов маскируется dummy токеном [MASK], а затем спешивается cross-attention’ом с токенами промта
— Использовать обычную кросс-энтропию в качестве лосса
3. Super Resolution модель, которая апсемплит латент базовой модели, за счет чего итоговое разрешение повышают до 512. Архитектура аналогична базовой модели.
Помимо прочего, авторы используют несколько трюков для улучшения качества:
- Classifier-free guidance
- Варьируют во время обучения количество маскируемых токенов
- Файнтюнят VQGAN декодер
- Используют Interative Parallel Decoding во время инференса.
Последний компонент основан на предположении о независимости выходных токенов, что позволяет значительно оптимизировать вычисления по сравнению с базовым авторегрессионным подходом.
Модели размером от 600М до 3В обучали на Imagen датасете из 460М пар картинка-текст. Лучшая имеет SOTA FID/CLIP score (на момент публикации) и выглядит предпочтительнее чем Imagen и DALL-E 2. Преимуществом модели также является возможность естественным образом выполнять image editing за счет механизма маскирования токенов. Кода нет.
🔥1
Demystifying CLIP Data
Мультимодальные (картинка/текст) модели, полученные с помощью self-supervised learning (SSL) такие как CoCa, DINO (v1, v2), CLIP и др. используются для задач фильтрации данных, поиска, zero-shot классификации/сегментации. В недавней работе DataComp было показано, что ключевым фактором фактором получения качественных SSL моделей является правильная подготовка данных, преимущественно за счет фильтрации “грязных” данных, распаршенных из интернета.
В этой работе авторы продолжают изучение данных и ставят своей целью воспроизвести закрытый пайплайн подготовки датасета для обучения CLIP. Нужно это для лучшего понимания влияния различных факторов на качество и для его последующей максимизации.
Пайплайн состоит из нескольких стадий:
1. Подготовка metadata - набора концептов, определяющего состав датасета. Получается парсингом часто встречающихся в Википедии слов.
2. Substring matching: первая стадия фильтрации смеси открытых датасетов, наибольший из которых - Common Crawl. Пара текст-картинка проходит фильтр если текст содержит концепт в качестве подстроки.
3. Inverted indexing - каждому концепту ставится в соответствие список найденых текстов. Интересно, что для многих концептов (114к/500к) не находится ни одного текста, а основу (94%) составляют тесты для всего 16к основных концептов. Такой дисбаланс - мотивация для следующего шага.
4. Перебалансировка: для распространенных концептов (>20к текстов) семлируют 20к пар.
5. Семплирование: концепты семлпируются равновероятно, при этом каждая пара семплируется с верояностью, обратно пропорциональной размеру подвыборке концепта. Это позволяет сохранить баланс при использовании разнообразия внутри больших концептных групп.
В итоге, авторы чуть перестарались и не просто повторили, но и превзошли исходный CLIP на 0.7-2.1% в терминах zero-shot на ImageNet в зависимости от размера модели. В аблейшене показали оптимальность магического размера группы концептов (20к пар). Код, веса, метадата выложены.
Мультимодальные (картинка/текст) модели, полученные с помощью self-supervised learning (SSL) такие как CoCa, DINO (v1, v2), CLIP и др. используются для задач фильтрации данных, поиска, zero-shot классификации/сегментации. В недавней работе DataComp было показано, что ключевым фактором фактором получения качественных SSL моделей является правильная подготовка данных, преимущественно за счет фильтрации “грязных” данных, распаршенных из интернета.
В этой работе авторы продолжают изучение данных и ставят своей целью воспроизвести закрытый пайплайн подготовки датасета для обучения CLIP. Нужно это для лучшего понимания влияния различных факторов на качество и для его последующей максимизации.
Пайплайн состоит из нескольких стадий:
1. Подготовка metadata - набора концептов, определяющего состав датасета. Получается парсингом часто встречающихся в Википедии слов.
2. Substring matching: первая стадия фильтрации смеси открытых датасетов, наибольший из которых - Common Crawl. Пара текст-картинка проходит фильтр если текст содержит концепт в качестве подстроки.
3. Inverted indexing - каждому концепту ставится в соответствие список найденых текстов. Интересно, что для многих концептов (114к/500к) не находится ни одного текста, а основу (94%) составляют тесты для всего 16к основных концептов. Такой дисбаланс - мотивация для следующего шага.
4. Перебалансировка: для распространенных концептов (>20к текстов) семлируют 20к пар.
5. Семплирование: концепты семлпируются равновероятно, при этом каждая пара семплируется с верояностью, обратно пропорциональной размеру подвыборке концепта. Это позволяет сохранить баланс при использовании разнообразия внутри больших концептных групп.
В итоге, авторы чуть перестарались и не просто повторили, но и превзошли исходный CLIP на 0.7-2.1% в терминах zero-shot на ImageNet в зависимости от размера модели. В аблейшене показали оптимальность магического размера группы концептов (20к пар). Код, веса, метадата выложены.
🔥1
Improving Image Generation with Better Captions
Недавние тех репорты про диффузионные модели от Meta и Huawei фокусируются на подготовке данных как ключевом шаге для получения качественных генеративных text-to-image моделей. Эта работа по также ставит данные во главу угла, фокусируясь на качестве текстов в парах текст-картинка. Более высокого качества текстов предлагается достигать за счет использования синтетики, а итоговая диффузионка рассматривается скорее как бенчмарк системы создания описаний.
Основным новшеством является языковая модель, которая учится предсказывать следующий токен в последовательности при условии предыдущих
1. Обучение генерации коротких описаний, содержащих только основные объекты и их свойства;
2. Дообучение на генерацию длинных, описательных текстов.
Полученной языковой моделью генерят синтетику, однако использование исключительно синтетических текстов может привести к переобучению на конкретные паттерны такие как использование заглавных букв и различных форм артиклей. Поэтому предлагается подмешивать к естественным описаниям только определенное количество синтетики. Заметим, что это согласуется с аналогичным выводом про обучение CLIP из недавней статьи Improving Multimodal Datasets with Image Captioning.
Авторы делают небольшой аблейшен про то как замешивать данные и приходят к тому, что 95% синтетики - то что надо согласно CLIP score, а также качеству итоговой модели DALL-E 3, протестированной на DrawBench, T2I-CompBench и собственном side-by-side эвале на 3 критерия. По доброй традиции веса не выложены, кода тоже нет.
Недавние тех репорты про диффузионные модели от Meta и Huawei фокусируются на подготовке данных как ключевом шаге для получения качественных генеративных text-to-image моделей. Эта работа по также ставит данные во главу угла, фокусируясь на качестве текстов в парах текст-картинка. Более высокого качества текстов предлагается достигать за счет использования синтетики, а итоговая диффузионка рассматривается скорее как бенчмарк системы создания описаний.
Основным новшеством является языковая модель, которая учится предсказывать следующий токен в последовательности при условии предыдущих
k
токенов и CLIP эмбединга картинки. Технические детали модели не раскрываются, однако указывается, что модель учили в две стадии: 1. Обучение генерации коротких описаний, содержащих только основные объекты и их свойства;
2. Дообучение на генерацию длинных, описательных текстов.
Полученной языковой моделью генерят синтетику, однако использование исключительно синтетических текстов может привести к переобучению на конкретные паттерны такие как использование заглавных букв и различных форм артиклей. Поэтому предлагается подмешивать к естественным описаниям только определенное количество синтетики. Заметим, что это согласуется с аналогичным выводом про обучение CLIP из недавней статьи Improving Multimodal Datasets with Image Captioning.
Авторы делают небольшой аблейшен про то как замешивать данные и приходят к тому, что 95% синтетики - то что надо согласно CLIP score, а также качеству итоговой модели DALL-E 3, протестированной на DrawBench, T2I-CompBench и собственном side-by-side эвале на 3 критерия. По доброй традиции веса не выложены, кода тоже нет.
🔥4
CAPSFUSION: Rethinking Image-Text Data at Scale
Большие мультимодальные модели, как правило, состоят из большого текстового и картиночного энкодеров и, за счет обучения на крупных датасетах, показывают SOTA результаты.
Много данных - важный ингридиент успеха. При этом, если скрапить пары текст-картинка из интернета, тексты, в среднем, получаются плохие. Тренд последних месяцев - использовать синтетические кепшены, генерируемые BLIP/BLIP-2. В недавней статье DALL-E 3 максимальное качество было получено заменой до 95% текстов на синтетику.
Авторы статьи утверждают, что у такого кодхода есть побочные эффекты. Они заключаются в потере знаний о людях, местах и событиях реального мира. Также синтетические тексты, с среднем, более грамматически правильные и более простые чем те что пишут люди. Ранее эти эффекты не замечали из-за использования простых бенчмарков вроде COCO Caption.
Предлагается использовать LLM для комбинирования синтетических и органических описаний. Результат становится менее ошибочным и более обогащенным описательной информацией по сравнению с органикой, при этом все еще содержащим детали об устройстве реального мира, которых не хватает синтетике.
Для подготовки данных использовуют LLaMA-2 13B зафайнтюненную на задачу комбинирования промтов. Для дообучения используют триплеты: органическое и синтетическое описание + выход ChatGPT для задачи комбинирования промтов. В статье показано, что подобная дистилляция на 1М триплетов приводит к качеству сопоставимому с ChatGPT.
Для валидации метода, авторы переразмечают LAION-COCO с помощью BLIP и своей модели, после чего обучают LMM с замороженными LLaMA-2-7B текстовым и EVA-01-CLIP-g картиночным энкодером и обучаемым Emu мультимодальным адаптером.
Метод валидируют на наборе стандартных для задачи captioning бенчмарков где наблюдается рост качества в терминах CIDEr. Также вместо COCO Caption предлагается использовать SEED-bench - более сложный бенчмарк, на котором обнаруживаются проблемы синтетических описаний.
Код/данные ожидаются тут.
Большие мультимодальные модели, как правило, состоят из большого текстового и картиночного энкодеров и, за счет обучения на крупных датасетах, показывают SOTA результаты.
Много данных - важный ингридиент успеха. При этом, если скрапить пары текст-картинка из интернета, тексты, в среднем, получаются плохие. Тренд последних месяцев - использовать синтетические кепшены, генерируемые BLIP/BLIP-2. В недавней статье DALL-E 3 максимальное качество было получено заменой до 95% текстов на синтетику.
Авторы статьи утверждают, что у такого кодхода есть побочные эффекты. Они заключаются в потере знаний о людях, местах и событиях реального мира. Также синтетические тексты, с среднем, более грамматически правильные и более простые чем те что пишут люди. Ранее эти эффекты не замечали из-за использования простых бенчмарков вроде COCO Caption.
Предлагается использовать LLM для комбинирования синтетических и органических описаний. Результат становится менее ошибочным и более обогащенным описательной информацией по сравнению с органикой, при этом все еще содержащим детали об устройстве реального мира, которых не хватает синтетике.
Для подготовки данных использовуют LLaMA-2 13B зафайнтюненную на задачу комбинирования промтов. Для дообучения используют триплеты: органическое и синтетическое описание + выход ChatGPT для задачи комбинирования промтов. В статье показано, что подобная дистилляция на 1М триплетов приводит к качеству сопоставимому с ChatGPT.
Для валидации метода, авторы переразмечают LAION-COCO с помощью BLIP и своей модели, после чего обучают LMM с замороженными LLaMA-2-7B текстовым и EVA-01-CLIP-g картиночным энкодером и обучаемым Emu мультимодальным адаптером.
Метод валидируют на наборе стандартных для задачи captioning бенчмарков где наблюдается рост качества в терминах CIDEr. Также вместо COCO Caption предлагается использовать SEED-bench - более сложный бенчмарк, на котором обнаруживаются проблемы синтетических описаний.
Код/данные ожидаются тут.
👍3🔥1
Scaling up GANs for Text-to-Image Synthesis
Диффузионные модели полностью захватили область text-to-image генерации. Сравнения с GAN во всех диффузионных статьях показывают разгромную победу диффузии по метрикам и визуальному качеству. При этом, авторы как бы упускают важный факт: с эпохи популярности GAN вычислительные мощности сильно выросли, а модели отмасштабировали на порядки в терминах числа параметров.
Эта статья посвящена модели GigaGAN, ставящей своей целью обучить GAN сравнимый с диффузией по числу параметров и оценить качество с учетом более эффективной генерации за один forward pass.
Сначала авторы пробуют напрямую увеличить число параметров в StyleGAN2 и замечают, что это не приводит к улучшению FID/CLIP. После этого, предлагается здоровенная пачка улучшений архитектуры, лосса и процедуры обучения. Эффект каждого изменения аблейтится, показывается его польза.
Важным элементом системы GigaGAN является каскадная схема генерации, аналогично предложенным ранее для диффузии. Модель состоит из основного генератора картинок 64х64, после которого идёт х8 GAN апскейлер. Авторы очень хвалят свою super resolution модель, которая, судя по картинкам в статье, действительно умеет в чёткие детали. Также авторы утверждают, что эта модель может быть использована как последняя стадия каскадной диффузионной генерации без проблем с обобщаемостью на новый домен.
Основной генератор GigaGAN учили на смеси датасетов LAION2B-en и COYO-700M, а модель 128 -> 1024 на проприетарном Adobe датасете. Все text-image пары предварительно пофильтровали по CLIP Score, aethetic score и разрешению.
В результате получили модель, показывающую SOTA по метрикам, но уступающую по качеству топовой диффузии. Тем не менее, работа показывает, что парадигма GAN не так плоха и может быть конкурентна при большем внимании научного сообщества. Кода нет.
Диффузионные модели полностью захватили область text-to-image генерации. Сравнения с GAN во всех диффузионных статьях показывают разгромную победу диффузии по метрикам и визуальному качеству. При этом, авторы как бы упускают важный факт: с эпохи популярности GAN вычислительные мощности сильно выросли, а модели отмасштабировали на порядки в терминах числа параметров.
Эта статья посвящена модели GigaGAN, ставящей своей целью обучить GAN сравнимый с диффузией по числу параметров и оценить качество с учетом более эффективной генерации за один forward pass.
Сначала авторы пробуют напрямую увеличить число параметров в StyleGAN2 и замечают, что это не приводит к улучшению FID/CLIP. После этого, предлагается здоровенная пачка улучшений архитектуры, лосса и процедуры обучения. Эффект каждого изменения аблейтится, показывается его польза.
Важным элементом системы GigaGAN является каскадная схема генерации, аналогично предложенным ранее для диффузии. Модель состоит из основного генератора картинок 64х64, после которого идёт х8 GAN апскейлер. Авторы очень хвалят свою super resolution модель, которая, судя по картинкам в статье, действительно умеет в чёткие детали. Также авторы утверждают, что эта модель может быть использована как последняя стадия каскадной диффузионной генерации без проблем с обобщаемостью на новый домен.
Основной генератор GigaGAN учили на смеси датасетов LAION2B-en и COYO-700M, а модель 128 -> 1024 на проприетарном Adobe датасете. Все text-image пары предварительно пофильтровали по CLIP Score, aethetic score и разрешению.
В результате получили модель, показывающую SOTA по метрикам, но уступающую по качеству топовой диффузии. Тем не менее, работа показывает, что парадигма GAN не так плоха и может быть конкурентна при большем внимании научного сообщества. Кода нет.
👍2🔥1
LSDIR: A Large Scale Dataset for Image Restoration
Успехи генеративных картиночных моделей во многом связаны с публикацией больших датасетов вроде LAION, YFCC100M, COYO-700M. В то же время, в задачах восстановления изображений (денойзинг, декомпрессия, сверхразрешение) все еще используют крошечные датасеты, опубликованные 5-10 лет назад, самые популярные из которых DIV2k и Flickr2k. В них 800 и 2,650 2k картинок соответственно и на них держется весь, в том числе диффузионный ресерч в этой области 🥴
Авторы предлагают новый датасет, состоящий из 85k идеальных с точки зрения IQA картинок. Все они выкачаны с сайта www.flickr.com через API и имеют разрешение > 4k. Для сохренения разнообразия, в запросах варьировали теги вроде тех что использовали для сбора Flick2k датасета и ImageNet классов.
В процессе заметили, что два самых распространенных типа артефактов - это блюр и шум. Для их оценки использовали:
- Лапласиан картинки отражает наличие высокочастотных компонент. Слишком низкий скор означает блюрность, а как слишком высокий может получиться из-за шума. Эмпирически был подобран диапазон значений, дающий картинки без этих дисторшенов.
- Фильтр Cобеля может использоваться для определения количества краёв и границ. Маленькое их количество означает наличие больших, не информативных областей. Картинки разбивали на пачти и считали среди них количество "плоских". Если их доля составляла больше половины - такие изображения удаляли.
После этого, использовали два раунда бинарной (low/high quality) ручной разметки. В первом раунде размечали быстро и "грязно", убирая 70% картинок. Во втором раунде набор картинок доуточняли, получая финальный "идеальный" набор.
В качестве финального шага выполняли даунсемплинг картинок с целью удаления высокочастотных артефактов. Выбор лучшего downsampling factor определяли эспериментально, обучая super rez модельки. Лучшие результаты получились для x4 сетапа.
В конце авторы демонстрируют как сильно улучшается качество baseline моделей за счет датасета. Кстати, скачать его можно тут.
Успехи генеративных картиночных моделей во многом связаны с публикацией больших датасетов вроде LAION, YFCC100M, COYO-700M. В то же время, в задачах восстановления изображений (денойзинг, декомпрессия, сверхразрешение) все еще используют крошечные датасеты, опубликованные 5-10 лет назад, самые популярные из которых DIV2k и Flickr2k. В них 800 и 2,650 2k картинок соответственно и на них держется весь, в том числе диффузионный ресерч в этой области 🥴
Авторы предлагают новый датасет, состоящий из 85k идеальных с точки зрения IQA картинок. Все они выкачаны с сайта www.flickr.com через API и имеют разрешение > 4k. Для сохренения разнообразия, в запросах варьировали теги вроде тех что использовали для сбора Flick2k датасета и ImageNet классов.
В процессе заметили, что два самых распространенных типа артефактов - это блюр и шум. Для их оценки использовали:
- Лапласиан картинки отражает наличие высокочастотных компонент. Слишком низкий скор означает блюрность, а как слишком высокий может получиться из-за шума. Эмпирически был подобран диапазон значений, дающий картинки без этих дисторшенов.
- Фильтр Cобеля может использоваться для определения количества краёв и границ. Маленькое их количество означает наличие больших, не информативных областей. Картинки разбивали на пачти и считали среди них количество "плоских". Если их доля составляла больше половины - такие изображения удаляли.
После этого, использовали два раунда бинарной (low/high quality) ручной разметки. В первом раунде размечали быстро и "грязно", убирая 70% картинок. Во втором раунде набор картинок доуточняли, получая финальный "идеальный" набор.
В качестве финального шага выполняли даунсемплинг картинок с целью удаления высокочастотных артефактов. Выбор лучшего downsampling factor определяли эспериментально, обучая super rez модельки. Лучшие результаты получились для x4 сетапа.
В конце авторы демонстрируют как сильно улучшается качество baseline моделей за счет датасета. Кстати, скачать его можно тут.
ResShift: Efficient Diffusion Model for Image Super-resolution by Residual Shifting
NeurIPS'23 Spotlight
Одним из наиболее популярных сегодня фреймворков диффузионного Super Resolution (SR) является генерация high resolution (HR) картинки из шума, кондишенясь на low resolution (LR) изображение. Подход был предложен в SR3, после чего применен и популяризирован Imagen.
Авторы работы заметили, что SR3 подход не эффективен потому что:
- Не понятно зачем нам стартовать с шума, если можно учить переход от LR к HR
- Исходный процесс стохастический, тогда как для SR не нужна высокая вариативность генераций, достаточно одного хорошего семпла
- В исходной DDPM постановке требуется несколько сотен шагов семплирования для получения качественных результатов
В статье предлагается переформулировка диффузионного процесса на переход LR -> HR. Для формулирования самого перехода по прежнему используется Гауссовский шум, однако теперь его параметры зависят значений попиксельной разницы между интерполированной LR и HR картинками. Интересно, что такая постановка позволяет выполнять SR в пространстве VQVAE эмбедов, то есть обучать каскадную латентную диффузию💃
Модель обучают на кропах 64(LR)->256(HR) оборачивать бикубик на ImageNet в Real-ESRGAN постановке (SR in the Wild), отказываясь от классических эвалов вроде Set14 и Urban100. Сравниваются с несколькими GAN моделями и LDM, но используя одинаковое, то есть малое количество шагов семплирования. SR-специфичные диффузионки в сравнении отсутствуют. Для оценки качества, помимо классических PSNR и SSIM используют CLIP-IQA и MUSIQ.
Модель получается лучшей по соотношению компьют/качество поверх естественных и синтетических изображений, хотя синтетических примеров не много. Код/веса есть.
NeurIPS'23 Spotlight
Одним из наиболее популярных сегодня фреймворков диффузионного Super Resolution (SR) является генерация high resolution (HR) картинки из шума, кондишенясь на low resolution (LR) изображение. Подход был предложен в SR3, после чего применен и популяризирован Imagen.
Авторы работы заметили, что SR3 подход не эффективен потому что:
- Не понятно зачем нам стартовать с шума, если можно учить переход от LR к HR
- Исходный процесс стохастический, тогда как для SR не нужна высокая вариативность генераций, достаточно одного хорошего семпла
- В исходной DDPM постановке требуется несколько сотен шагов семплирования для получения качественных результатов
В статье предлагается переформулировка диффузионного процесса на переход LR -> HR. Для формулирования самого перехода по прежнему используется Гауссовский шум, однако теперь его параметры зависят значений попиксельной разницы между интерполированной LR и HR картинками. Интересно, что такая постановка позволяет выполнять SR в пространстве VQVAE эмбедов, то есть обучать каскадную латентную диффузию
Модель обучают на кропах 64(LR)->256(HR) оборачивать бикубик на ImageNet в Real-ESRGAN постановке (SR in the Wild), отказываясь от классических эвалов вроде Set14 и Urban100. Сравниваются с несколькими GAN моделями и LDM, но используя одинаковое, то есть малое количество шагов семплирования. SR-специфичные диффузионки в сравнении отсутствуют. Для оценки качества, помимо классических PSNR и SSIM используют CLIP-IQA и MUSIQ.
Модель получается лучшей по соотношению компьют/качество поверх естественных и синтетических изображений, хотя синтетических примеров не много. Код/веса есть.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Swift Parameter-free Attention Network for Efficient Super-Resolution
Есть такая задача - делать максимально быстрые модели сверхразрешения (SR), способные быстро работать в условиях ограниченного вычислительного бюджета. При этом, важно не только уменьшить количество FLOPs, требующихся на обработку каждого изображения, но добиться фактического ускорения на целевых девайсах (обычно, мобильных устройствах).
Механизм внимания (attention) представляет собой набор выучиваемых в ходе обучения модели матриц, взвешивающих наиболее важные признаки, приходящие из предыдущих слоёв сети. Важным свойством является глобальность: для сверточных моделей attention позволяет скомбинировать информацию из произвольных частей изображения. Это может быть полезно для задач, требующих глобального контекста, например классификации и сегментации.
Перед нами архитектурная статья, авторы которой понимают важность attention’a, но не готовы платить за это компьютом. Далее следует нехитрая логическая цепочка:
- SR модели должны фокусироваться на локальной информации (текстуры, края/углы)
- Известно, что первые свёртки и так в какой-то степени выучивают эту информацию
- Выучивают, значит активации, отвечающие за это больше чем какие-то другие
- Давайте подберем такую функцию, которая будет усиливать этот эффект и постави её как функцию активации после некоторых сверточных слоев
- К функции предъявим несколько дополнительных требований, например чтоб она была чётной (чтоб не терять инфу из отрицательных активаций)
Помимо своего attention, модель состоит из последовательности свёрток, информация из которых аддитивно стакается в конце и замешивается PixelShuffle слоем. В результате получается SOTA в терминах PSNR/SSIM на in-domain SR (обучение на DIV2k, инференс на set5, bsd100,urban100). Работает модель порядка 50мс на 1080Ti, эвал согласно протоколу из статьи RLFN. Визуально чери пики выглядят неплохо, код и веса есть.
Есть такая задача - делать максимально быстрые модели сверхразрешения (SR), способные быстро работать в условиях ограниченного вычислительного бюджета. При этом, важно не только уменьшить количество FLOPs, требующихся на обработку каждого изображения, но добиться фактического ускорения на целевых девайсах (обычно, мобильных устройствах).
Механизм внимания (attention) представляет собой набор выучиваемых в ходе обучения модели матриц, взвешивающих наиболее важные признаки, приходящие из предыдущих слоёв сети. Важным свойством является глобальность: для сверточных моделей attention позволяет скомбинировать информацию из произвольных частей изображения. Это может быть полезно для задач, требующих глобального контекста, например классификации и сегментации.
Перед нами архитектурная статья, авторы которой понимают важность attention’a, но не готовы платить за это компьютом. Далее следует нехитрая логическая цепочка:
- SR модели должны фокусироваться на локальной информации (текстуры, края/углы)
- Известно, что первые свёртки и так в какой-то степени выучивают эту информацию
- Выучивают, значит активации, отвечающие за это больше чем какие-то другие
- Давайте подберем такую функцию, которая будет усиливать этот эффект и постави её как функцию активации после некоторых сверточных слоев
- К функции предъявим несколько дополнительных требований, например чтоб она была чётной (чтоб не терять инфу из отрицательных активаций)
Помимо своего attention, модель состоит из последовательности свёрток, информация из которых аддитивно стакается в конце и замешивается PixelShuffle слоем. В результате получается SOTA в терминах PSNR/SSIM на in-domain SR (обучение на DIV2k, инференс на set5, bsd100,urban100). Работает модель порядка 50мс на 1080Ti, эвал согласно протоколу из статьи RLFN. Визуально чери пики выглядят неплохо, код и веса есть.
🔥4
SinSR: Diffusion-Based Image Super-Resolution in a Single Step
Главной проблемой диффузионных моделей является высокая вычислительная сложность, особенно на инференсе. Это связано с необходимостью делать несколько шагов семплирования для получения финального изображения. Один из наиболее стабильно работающих подходов для решения этой проблемы - дистилляция по шагам. За последнее время вышло несколько статей [1, 2, 3], успешно применяющих этот подход в text-to-image генерации.
Эта статья посвящена дистилляции диффузионного супер реза в одношаговую модель. Такая возможность появилась благодаря подходу ResShift со следующими свойствами:
- Переформулируется диффузионный процесс;. Теперь
- Благодаря переформулировке, упрощается выучивание отображения из
- Существует детерминированное отображение из
Последний пункт достаточно важен и авторы показывают как переформулировать предложенную диффузию на не Марковскую постановку (DDIM).
Всё вместе позволяет учить модель-студента с лоссом, состоящим из:
- “Классической” компоненты - MSE между выходами учителя и ученика
- “Регуляризация” с использованием реальной high-rez (HR) картинки - MSE между предсказанием учителя и HR картинкой
- Компоненты, напрямую предсказывающей HR картинку (тоже по MSE)
Есть интересная экспериментальная находка: учить напрямую отображение
- Прогрессивная дистилляция не только бесполезна, но и вредит из-за накопления ошибки
- Результаты одношагового студента иногда превосходят учителя
Метод проверяли как поверх реальных, так и синтетических картинок, полученных из валидации ImageNet методом из ResShift. Картинки выглядят хорошо, количественно прогресс замеряли с помощью CLIP-IQA и MUSIQ. Код ожидается тут.
Главной проблемой диффузионных моделей является высокая вычислительная сложность, особенно на инференсе. Это связано с необходимостью делать несколько шагов семплирования для получения финального изображения. Один из наиболее стабильно работающих подходов для решения этой проблемы - дистилляция по шагам. За последнее время вышло несколько статей [1, 2, 3], успешно применяющих этот подход в text-to-image генерации.
Эта статья посвящена дистилляции диффузионного супер реза в одношаговую модель. Такая возможность появилась благодаря подходу ResShift со следующими свойствами:
- Переформулируется диффузионный процесс;. Теперь
x_T
- это low resolution картинка с добавленным шумом- Благодаря переформулировке, упрощается выучивание отображения из
x_T
в x̂_0
поскольку они более “близки” чем нормальный шум и картинка- Существует детерминированное отображение из
x_T
в x̂_0
, что упрощает (ускоряет) семплированиеПоследний пункт достаточно важен и авторы показывают как переформулировать предложенную диффузию на не Марковскую постановку (DDIM).
Всё вместе позволяет учить модель-студента с лоссом, состоящим из:
- “Классической” компоненты - MSE между выходами учителя и ученика
- “Регуляризация” с использованием реальной high-rez (HR) картинки - MSE между предсказанием учителя и HR картинкой
- Компоненты, напрямую предсказывающей HR картинку (тоже по MSE)
Есть интересная экспериментальная находка: учить напрямую отображение
x_T
в x̂_0
оказывается проще чем денойзить x_t
, из-за чего:- Прогрессивная дистилляция не только бесполезна, но и вредит из-за накопления ошибки
- Результаты одношагового студента иногда превосходят учителя
Метод проверяли как поверх реальных, так и синтетических картинок, полученных из валидации ImageNet методом из ResShift. Картинки выглядят хорошо, количественно прогресс замеряли с помощью CLIP-IQA и MUSIQ. Код ожидается тут.
👍6
Scaling Laws of Synthetic Images for Model Training ... for Now
В предыдущих работах уже обсуждалось влияние качества и количества синтетических текстовых данных на обучение мультимодальных моделей. Например, DALL-E 3 учили преимущественно на синтетических кепшенах, также исследуются способы комбинирования синтетики и органики.
Авторы этой работы добрались до картинок и задались вопросом: как масштабируется качество классификационных и CLIP-like моделей при обучении на чистой синтетике?
Для ответа на этот вопрос берут три модели (SD, Imagen, Muse) и генерируют ImageNet классы с различным guidance scale, используя несколько тестовых темплейтов. Таким образом авторы создают 54 ImageNet-like датасета (1.3М), изображения в которых отвечают критериям:
- Recognizabiliy - хорошо классифицируются предобученной ViT-B сеточкой;
- Diversity - высокое стандартное отклонение в пространстве признаков для изображений внутри каждого класса. Такая метрика лучше коррелирует с качеством обученных на этих данных моделей чем FID/LPIPS.
Авторы оценивают качество по:
- Скорости изменения лосса в процессе обучения (больше-лучше);
- Качеству на val подмножестве ImageNet после обучения на датасете размера ImageNet;
В статье много графиков и наблюдений, вот некоторые из них:
- Как и для других Scaling Laws, рост качества модели при увеличении датасета подчиняется степенному закону, однако только в диапазоне до 4М картинок. После этого рост качества замедляется;
- Реальные картинки все еще лучше масштабируются;
- Каждый из наборов параметров семплирования (text template, guidance scale) имеет свои преимущества, рассмотренные модели примерно равны;
- Обучение на синтетике полезно для применения в out-of-distribution сценариях. Чем выше сдвиг распределения между train и test, тем ближе по качеству оказываются синтетика и органика;
- В contrastive learning (CLIP) сетапе насыщение наступает позже (32М), однако чистая синтетика все равно хуже органики. Оптимально смешивать, тогда можно получить буст качества.
Веса и код выложены.
В предыдущих работах уже обсуждалось влияние качества и количества синтетических текстовых данных на обучение мультимодальных моделей. Например, DALL-E 3 учили преимущественно на синтетических кепшенах, также исследуются способы комбинирования синтетики и органики.
Авторы этой работы добрались до картинок и задались вопросом: как масштабируется качество классификационных и CLIP-like моделей при обучении на чистой синтетике?
Для ответа на этот вопрос берут три модели (SD, Imagen, Muse) и генерируют ImageNet классы с различным guidance scale, используя несколько тестовых темплейтов. Таким образом авторы создают 54 ImageNet-like датасета (1.3М), изображения в которых отвечают критериям:
- Recognizabiliy - хорошо классифицируются предобученной ViT-B сеточкой;
- Diversity - высокое стандартное отклонение в пространстве признаков для изображений внутри каждого класса. Такая метрика лучше коррелирует с качеством обученных на этих данных моделей чем FID/LPIPS.
Авторы оценивают качество по:
- Скорости изменения лосса в процессе обучения (больше-лучше);
- Качеству на val подмножестве ImageNet после обучения на датасете размера ImageNet;
В статье много графиков и наблюдений, вот некоторые из них:
- Как и для других Scaling Laws, рост качества модели при увеличении датасета подчиняется степенному закону, однако только в диапазоне до 4М картинок. После этого рост качества замедляется;
- Реальные картинки все еще лучше масштабируются;
- Каждый из наборов параметров семплирования (text template, guidance scale) имеет свои преимущества, рассмотренные модели примерно равны;
- Обучение на синтетике полезно для применения в out-of-distribution сценариях. Чем выше сдвиг распределения между train и test, тем ближе по качеству оказываются синтетика и органика;
- В contrastive learning (CLIP) сетапе насыщение наступает позже (32М), однако чистая синтетика все равно хуже органики. Оптимально смешивать, тогда можно получить буст качества.
Веса и код выложены.
👍5
Rethinking FID: Towards a Better Evaluation Metric for Image Generation
Fréchet Inception Distance (FID), наряду с CLIP score, наиболее распространенная метрика определения близости распределений. Благодаря своей простоте и раннему появлению, метрика стала стандартом оценки качества генеративных моделей.
Начиная со вскоре вышедшей Kernel Inception Distance (KID) и до сегодняшнего дня, только ленивый не пнул FID за:
- Представление активаций изображений в распределениях в качестве гауссиан. Аргумент: а вдруг там другое распределение, откуда мы знаем
- Использование модели InceptionNet в качестве экстрактора признаков со всеми вытекающими: bias на ImageNet, устаревшая архитектура => не оптимальные фичи и т.д.
Авторы предлагают использовать MMD distance (как предлагалось в KID > 5 лет назад) на CLIP фичах (тоже предлагалось многократно). Изменение типа расстояния позволяет убрать странное предположение о природе распределения, изменение типа признаков - bias в сторону ImageNet + повысить общую экспрессивность. Метрику назвали CMMD. Авторы очень надеятся, что эта вытеснит морально устаревший FID с его очевидными проблемами.
Внимания заслуживает методология проведения human evaluation, поскольку у нее есть риск повлиять на следующие работы в области:
- Берутся семплы из двух вариантов модели MUSE, вычисляется FID и CMMD
- Пары изображений из семплов оцениваются side-by-side сравнением
- Доля побед моделей сравнивается с относительными значениями метрик
В таком сетапе CMMD чаще согласуется с мнением асессоров. Более того, для получения консистентных результатов CMMD требует меньше генераций, что делает метрику вычислительно эффективней.
Кода нет, что не лучшая тактика вытеснения доминирующей метрики.
Fréchet Inception Distance (FID), наряду с CLIP score, наиболее распространенная метрика определения близости распределений. Благодаря своей простоте и раннему появлению, метрика стала стандартом оценки качества генеративных моделей.
Начиная со вскоре вышедшей Kernel Inception Distance (KID) и до сегодняшнего дня, только ленивый не пнул FID за:
- Представление активаций изображений в распределениях в качестве гауссиан. Аргумент: а вдруг там другое распределение, откуда мы знаем
- Использование модели InceptionNet в качестве экстрактора признаков со всеми вытекающими: bias на ImageNet, устаревшая архитектура => не оптимальные фичи и т.д.
Авторы предлагают использовать MMD distance (как предлагалось в KID > 5 лет назад) на CLIP фичах (тоже предлагалось многократно). Изменение типа расстояния позволяет убрать странное предположение о природе распределения, изменение типа признаков - bias в сторону ImageNet + повысить общую экспрессивность. Метрику назвали CMMD. Авторы очень надеятся, что эта вытеснит морально устаревший FID с его очевидными проблемами.
Внимания заслуживает методология проведения human evaluation, поскольку у нее есть риск повлиять на следующие работы в области:
- Берутся семплы из двух вариантов модели MUSE, вычисляется FID и CMMD
- Пары изображений из семплов оцениваются side-by-side сравнением
- Доля побед моделей сравнивается с относительными значениями метрик
В таком сетапе CMMD чаще согласуется с мнением асессоров. Более того, для получения консистентных результатов CMMD требует меньше генераций, что делает метрику вычислительно эффективней.
Кода нет, что не лучшая тактика вытеснения доминирующей метрики.
👍9
You Only Need One Step: Fast Super-Resolution with Stable Diffusion via Scale Distillation
Диффузионки считаются SOTA в области Image Super Resolution благодаря результатам SR3, SR3+, ResShift/SinSR. Даже высокая вычислительная сложность, вызванная многошаговым инференсом, уже не является проблемой (адресовано в SinSR). Поэтому основной задачей становится максимизация качества при сохранения одношагового инференса.
Важно, что перечисленные выше подходы работают в парадигме пиксельной диффузии: модель учится генерить картинку из шума напрямую, обуславливаясь на изображение низкого разрешения.
Авторы предлагают подход, основанный на трёх основных идеях:
- Латентная диффузия (aka LD/SD)
- Прогрессивное (по масштабу) обучение (aka Progressive Growing of GANs, Matryoshka)
- Дистилляция teacher -> student
Суть метода метода заключается в последовательном увеличении масштаба апскейла (x2, x4, x8) в парадигме латентной диффузии, где таргетами для обучения всех вариантов кроме первого являются выходы ранее обученных моделей:
1. Берем предобученный VAE, инитим денойзер с нуля
2. Учим денойзер на простую задачу x2 апскейла (например, 256 -> 512). Получаем хорошую модель потому что задача простая
3. Копируем веса, называем эту копию студентом, начинаем учить на х4 апскейл (128 -> 512), используя в качестве таргетов предсказания модели со 2 стадии. Получаем хорошую модель потому что у нас более простое (чем исходно) отображение
4. Продолжаем процедуру если требуется
На практике, для достижения максимального качества, авторы рекомендуют в конце заморозить денойзер и потюнить VAE. Без этого заиметь хорошую одношаговую модель не получится.
Все эксперименты проводятся к сетапе SR in the Wild с обучением на маленьких академических датасетах и эвалами на RealSR/DRealSR для х4/х8 (с упором на х8) апскейл факторов, сравниваются со StableSR и ванильной LDM.
Метод выглядит рабочим, очень не хватает сравнений с SinSR. Кода нет.
Диффузионки считаются SOTA в области Image Super Resolution благодаря результатам SR3, SR3+, ResShift/SinSR. Даже высокая вычислительная сложность, вызванная многошаговым инференсом, уже не является проблемой (адресовано в SinSR). Поэтому основной задачей становится максимизация качества при сохранения одношагового инференса.
Важно, что перечисленные выше подходы работают в парадигме пиксельной диффузии: модель учится генерить картинку из шума напрямую, обуславливаясь на изображение низкого разрешения.
Авторы предлагают подход, основанный на трёх основных идеях:
- Латентная диффузия (aka LD/SD)
- Прогрессивное (по масштабу) обучение (aka Progressive Growing of GANs, Matryoshka)
- Дистилляция teacher -> student
Суть метода метода заключается в последовательном увеличении масштаба апскейла (x2, x4, x8) в парадигме латентной диффузии, где таргетами для обучения всех вариантов кроме первого являются выходы ранее обученных моделей:
1. Берем предобученный VAE, инитим денойзер с нуля
2. Учим денойзер на простую задачу x2 апскейла (например, 256 -> 512). Получаем хорошую модель потому что задача простая
3. Копируем веса, называем эту копию студентом, начинаем учить на х4 апскейл (128 -> 512), используя в качестве таргетов предсказания модели со 2 стадии. Получаем хорошую модель потому что у нас более простое (чем исходно) отображение
4. Продолжаем процедуру если требуется
На практике, для достижения максимального качества, авторы рекомендуют в конце заморозить денойзер и потюнить VAE. Без этого заиметь хорошую одношаговую модель не получится.
Все эксперименты проводятся к сетапе SR in the Wild с обучением на маленьких академических датасетах и эвалами на RealSR/DRealSR для х4/х8 (с упором на х8) апскейл факторов, сравниваются со StableSR и ванильной LDM.
Метод выглядит рабочим, очень не хватает сравнений с SinSR. Кода нет.
👍6❤1
Scalable Diffusion Models with Transformers
Уже не новая, но довольно важная статья, представляющая архитектуру Diffusion Image Transformer (DiT). DiT лег в основу нескольких современных моделей, например семейства PIXART. Цель авторов - показать, что диффузионные модели своим качеством не обязаны архитектуре UNet. Сверточную сеть можно заменить на трансформер, как минимум, без просадки в качестве. В то же время, трансформеры хорошо масштабируются, что упрощает увеличение качества за счет накидывания параметров.
За основу берется архитектура ViT, после чего в проводятся эксперименты с тем как добавлять необходимые для диффузии параметры времени
Поэкспериментировав с наивной конкатинацией
- Добавлении параметра scaling (α), применяемого перед residual connection внутри DiT блока (см. схему)
- Инициализации последней свертки в каждом блоке нулями
Основу работы составляют эксперименты, направленные на поиск оптимальной архитектуры по баллансу компьют на обучении/инференсе vs качество. Интересным наблюдением, например, является то, что более жирные модели быстрее учатся, но есть для достижения одного и того же качества вычислительно выгоднее учить большие модели. А еще, в общем случае, недостаток компьюта на обучении не особо получается компенсировать компьютом на инференсе (увеличение числа шагов семплирования).
В результате авторы получают SOTA на момент публикации (по FID на ImageNet256) при меньшем количестве FLOPs чем у конкурентов.
Интересно, что с тех пор юнеты тоже отмасштабировали. Так, авторы SDXL пробовали DiT в качестве основного денойзера, но не увидели “immediate benefit”. Код есть.
Уже не новая, но довольно важная статья, представляющая архитектуру Diffusion Image Transformer (DiT). DiT лег в основу нескольких современных моделей, например семейства PIXART. Цель авторов - показать, что диффузионные модели своим качеством не обязаны архитектуре UNet. Сверточную сеть можно заменить на трансформер, как минимум, без просадки в качестве. В то же время, трансформеры хорошо масштабируются, что упрощает увеличение качества за счет накидывания параметров.
За основу берется архитектура ViT, после чего в проводятся эксперименты с тем как добавлять необходимые для диффузии параметры времени
t
и class condition c
. Поэкспериментировав с наивной конкатинацией
t
и c
к картиночным токенам и добавлением cross-attention блоков, авторы приходят к идее модифицировать Adaptive Layer Norm (adaLN) блок из ганов и диффузионных юнетов. Их модификация adaLN-Zero заключается в:- Добавлении параметра scaling (α), применяемого перед residual connection внутри DiT блока (см. схему)
- Инициализации последней свертки в каждом блоке нулями
Основу работы составляют эксперименты, направленные на поиск оптимальной архитектуры по баллансу компьют на обучении/инференсе vs качество. Интересным наблюдением, например, является то, что более жирные модели быстрее учатся, но есть для достижения одного и того же качества вычислительно выгоднее учить большие модели. А еще, в общем случае, недостаток компьюта на обучении не особо получается компенсировать компьютом на инференсе (увеличение числа шагов семплирования).
В результате авторы получают SOTA на момент публикации (по FID на ImageNet256) при меньшем количестве FLOPs чем у конкурентов.
Интересно, что с тех пор юнеты тоже отмасштабировали. Так, авторы SDXL пробовали DiT в качестве основного денойзера, но не увидели “immediate benefit”. Код есть.
👍8