Concise Research
1.13K subscribers
242 photos
223 links
Исследования AI глазами исследователя
Автор: @snk4tr Сергей Кастрюлин
Download Telegram
VILA: Learning Image Aesthetics from User Comments
with Vision-Language Pretraining

CVPR 2023

Большинство модели Image Aesthetics Assessment (IAA) обучаются на mean opinion scores (MOS), что может ограничивать их качество, поскольку они вынуждены извлекать всю информацию об эстетичности из единственного предоставленного им скаляра.

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

Метрика основывается на разобранной выше модели CoCa. Обучение делится на три этапа:
1. CoCa обучают на подмножестве LAION-5B, получая модель общего назначения;
2. Модель дообучают на AVA-Captions, который состоит из изображений, сопровождаемых несколькими комментариями. Авторы берут случайный коммент к каждой картинки, получая таким образом пары для обучения.
3. Специализация модели на задачу IAA дообучением на MOS. Авторы избегают прямого дообучения всей модели по причине вычислительной неэффективности и потери обобщаемости.

Рассмотрим последнюю стадию отдельно. Простым и понятным подходом было бы обучить поверх полученных картиночных эмбедингов MLP “голову”. Вместо этого, авторы предлагают подход, концептуально схожий с работой CLIP-IQA. Выбираются два текстовых “якоря” (`good image` и `bad image`), относительное расстояние для которых и будет являться метрикой. Исходные эмбединги могут быть не достаточно чувствительны для такого использования, поэтому третья стадия обучения заключается в дообучении на MOS небольшого (0.1% всех весов) адаптера поверх картиночных эмбедов с помощью triplet ranking loss.

Полученная таких образом модель побеждает SOTA модели вроде TANet на AVA датасете в zero-shot режиме. В статье есть некоторый ablation на темы важности типов предобучения и метода получения адаптера. Код и веса модельки на JAX.
👍3
CLIP knows image aesthetics

Для чего только не применяли CLIP: классификация, сегментация и детекция объектов на изображениях, использование в качестве энкодера для текстового conditioning в дифуузионных моделях и даже оценка качества изображений. А вот для оценки эстетичности картинок CLIP еще не применяли, что и было исправлено авторами.

В статье исследуется три подхода к использованию “великого знания”, полученного засчет масштабного image-text предобучения. Подходы упорядочены по мере увеличения степени супервижена:
1. Prompting - пробуют максимизировать качество zero-shot классификации (эстетичная/не эстетичная картинка), подбирая тексты и их комбинации. Также показывают, что косинус угла между картинок и векторами подобранных эмбедингов коррелирует с MOS.
2. Linear probing - обучают линейную голову поверх замороженного CLIP как и в случае с задачей ImageNet/whatever классификации. Показывают, что:
— В такой постановке CLIP сильно лучше моделей предобученных на ImageNet
— Можно даже обогнать некоторые ImageNet модели, обучавшиеся на MOS эстетичности
3. Finetuning on AVA - показывают, что
— CLIP претрен более хорош для файнтюна чем ImageNet, поскольку позволяет сойтись быстрее и до более высокого качества
— Стартуя с CLIP претрена можно доучиться до уровня SOTA IAA/IQA моделей без дополнительных изощрений по части архитектуры и процедуры обучения. Так, например, удаётся немного обогнать обученную на AVA IQA модель MUSIQ.

В области IAA принято сравниваться с NIMA - не самой лучшей, но самой известной и широко используемой метрикой эстетичности. Так вот, побить NIMA удаётся только с помощью linear probing. Prompting подход интересен, но слабоват в терминах SRCC с MOS. Статье немного не хватает экспериментов и сравнений с другими, более сильными моделями, а также эвалов на альтернативных IAA датасетах. Код доступен.
🔥5🫡1
The Vendi Score: A Diversity Evaluation Metric for Machine Learning
TMLR 2023

В экологии (вот это начало 😂), одним из основных методов определения разнообразия задаётся экспонентой энтропии распределения наблюдаемых видов. В таком случае, если вся популяция будет состоять из одного вида, мы получим минимальное значение. Если же все особи будут принадлежать отдельному виду при равномерном распределении видов, значение разнообразия будет максимальным.

В машинном обучении, в основном, используется два вида метрик разнообразия:
— Оценивающие похожесть двух распределений (например, FID);
— Основанные на классификационной модельке, то есть подразумевающие маргинальное распределение какого-нибудь ImageNet в качестве референса (например, Inception Score).

Иногда нам хочется измерить разнообразие объектов в распределении не привязываясь к знанию о каком-то “идеальном” распределении, которе обычно неизвестно. Кстати, по этой причине мы не можем просто честно посчитать энтропию выборки.

Для решения проблемы, авторы предлагают метрику Vendi Score, - экспоненту энтропии собственных чисел матрицы значений ядер (матрица Грамма). Здесь ядро - это некоторая положительно определенная функция, а матрица грамма - матрица попарных значений этой функции для объектов выборки. В качестве примера, можно рассматривать RBF kernel, широко применяющееся в SVM. Альтернативная формулировка Vendi Score - эффективный ранг матрицы Грамма.

Понятно, что вычисление такой метрики будет затратно при работе с объектами большой размерности, например с изображениями. Поэтому предлагается считать её на эмбедингах. В результате, сложность падает до сопоставимой с FID.

Работа скорее теоретическая, однако есть эксперимент, показывающий возможность детектирования mode collapse в GAN. Есть подсчеты метрики для нескольких генеративных моделей на CIFAR-10, ImageNet 64x64, LSUN Cat & Bedroom 256×256, где результаты неплохо согласуются с Inception score, FID, PR. Код есть.
Please open Telegram to view this post
VIEW IN TELEGRAM
BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation

Еще одна, уже успевшая хорошо зарекомендовать себя, SSL image-text модель.

Мотивируют авторов наблюдения:
1. Encoder-only SSL модели (CLIP) трудно применить к генеративным задачам (image captioning), а encoder-decoder модели (SimVLM) - к дискриминативным (retrieval).
2. Учиться на шумных данных не эффективно, нужно придумать метод фильтрации больших массивов image-text данных.

В статье предлагаются решения соответствующих проблем:
1. Архитектурные изменения - взять картиночный и текстовый (№1) энкодеры и обучать с constrastive loss (как в CLIP). Добавить к ним еще два блока:
— Image-grounded text encoder (№2) - получает на вход текст и картиночный эмбед через cross-attention, выдаёт эмбед, который является совместным представлением картинки и текста;
— Image-grounded text decoder - получает на вход то же самое, но учится генерировать текст.
Все три текстовые части учатся с разными лоссами, но сильно шарят веса. Например, feed forward часть вообще везде одна и та же как и cross-attention блок, за чем исключением, что в первом энкодере он просто выключен.
2. Фильтрация данных:
— Обучить первую версию модели на “грязных” данных (LAION-2B);
— Нагенерить ей синтетических текстов к картинкам из датасета с “грязными” данными;
— Объединить обе эти части;
— Отфильтровать данные по качеству соответствия картинки тексту. Для этого нам пригодится энкодер №2, потому что он как раз этому и учился. В качестве альтернативы, можно использовать картиночный и текстовый (№1) энкодеры и вычислять похожесть как похожесть эмбедов картинки и текста.
— Обучить итоговый BLIP на отфильтрованных данных.

Код и модель выложены авторами в открытый доступ.
👍1
SAM-IQA: Can Segment Anything Boost Image Quality Assessment?

Segment Anything (SA) - сравнительно новая модель, претендующая на звание foundation в области комп. зрения. В отличие от разобранных выше SSL претренов, SA предобучали на вполне себе supervised дискриминативную задачу. Это может быть как плюсом (сегментацию можно получать не интерпретацией карт внимания, а напрямую), так и минусом (“заточенность” под конкретную supervised задачу).

Авторы работы проверяют применимость SA к, казалось бы, не релевантной для модельки задаче IQA. Во-первых, сама задача сегментации про то игнорирование частотных особенностей картинки и выделение семантики во что бы то ни стало. Во-вторых, SA обучали с аугментациями, цель которых - сделать модель еще менее чувствительной к чему-то не семантическому.

Тем не менее, авторы показывают, что если поверх SA фичей прикрутить голову и поучить на стандартных IQA датасетах, можно выбить SOTA качество. Что это значит? Вероятно, IQA датасеты, кроме PIPAL (на котором, кстати, авторы не замеряются), изжили себя. Огромное количество моделей способны получить SRCC близкое к единице, даже те, которые явно не должны быть на это способны.

В общем, новая IQA модель, сонаправленная с общими трендами области. Практическую ценность еще предстоит выяснить, а вот замеряться с ней в следующих работах прийдется. Кода нет, обещают тут.
👍4🤔1
Self-Consuming Generative Models Go MAD

Text2Image модели обучают на датасетах вроде LAION-5B, которые частично состоят из синтетических пар - результатов генераций моделей предыдущих поколений. Авторы задаются вопросами:
— Как наличие в датасетах синтетики влияет на качество обучаемых на них генеративных моделей?
— Что будет, если итеративно обучать каждое новое поколение моделей на датасетах, содержащих результаты предыдущих поколений?

Валидируется широкий класс моделей: диффузионки, GAN, Normalizing Flows в трёх постановках задачи:
1️⃣ Датасет полностью состоит из синтетики. Это моделирует ситуацию тюнинга модели на её лучших генерациях.
Результат: со временем, деградирует либо качество, либо вариативность генераций.
2️⃣ Датасет содержит не только синтетические (реальные) данные, но они каждый раз одинаковые.
Результат: это не помогает, только немного откладывает деградацию модели.
3️⃣ Датасет содержит не только синтетические (реальные) данные, при этом они каждый раз разные.
Результат: при достаточном количестве “свежих” данных, качество со временем не деградирует.

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

Все эксперименты проводились на FFHQ и MNIST, замеры качества с помощью FID и PR. Кода нет.
🤯31👍1🤔1
BLIP-2: Bootstrapping Language-Image Pre-training
with Frozen Image Encoders and Large Language Models


BLIP - хорошо зарекомендовавшая себя SSL модель, интересная тем, что сочетает в себе генеративную и дискриминативную компоненты. Вторая версия модели улучшает качество и уменьшает вычислительную стоимость. Делается это за счет новой архитектуры Q-former (1) и двухстадийного пайплайна обучения (2).

1. Основной трюк, позволяющий добиться хороших результатов - своего рода дистилляция предобученных больших картиночных и текстовых моделей. Q-former представляет собой мостик между “замороженными” ViT и OPT/FlanT5. Внутри Q-former два трансформера: первый обрабатывает картиночные эмбединги, второй - текстовые. Как и в первой версии BLIP, трансформеры имеют общий self-attention блок, который маскируется в случае, если нужно работать с одним типом данных.

2. Обучают Q-former в две стадии:
— Vision and Language pretraining: два лосса обучают модель сопоставлять картинку и текст (contrastive learning, matching), третий - генерировать текст на основе картинки. В этой стадии участвует только замороженная картиночная модель, в том время как внутри Q-former обучаются обе (картиночная, текстовая) части.
— Vision-to-Language Generative Learning - полученная на предыдущей стадии модель теперь рассматривается как цельный черный ящик, выходы которого подаются в замороженную LLM. Поскольку авторы экспериментируют в двумя типами LLM, есть вариации на тему того как устроить эту стадию. Для decoder-based LLMs, выход Q-former используется как condition для обучения с LLM лоссом. Для encoder-decoder моделей, строку разбивают на две. Первую часть подают в энкодер, вторую учатся предсказывать при условии первой.

Что осталось от первой версии? Используются те же данные + сохранена концепция discriminative + generative обучения/использования. Обучение по-прежнему строится на чем-то вроде дистилляции, где искусственного учителя теперь заменяют хорошие, большие претрены. А самое прекрасное - код и веса есть в открытом доступе.
🔥2👍1
Regression-free Blind Image Quality Assessment

Большинство IQA моделей решают регрессионную задачу, обучаясь на MOS. Основная проблема - датасеты маленькие, а задача сложная. Из-за этого, SOTA модели переобученны на очень узкое распределение и совершенно не применимы в не академических условиях.

Ранее уже предпринимались попытки уйти от регрессионной парадигмы получения метрики. Например, CLIP-IQA использует prompt engineering для переиспользования качественных признаков модели CLIP. CLIP-IQA не показывает SOTA качества, за то хорошо обобщается на широкий круг задач.

Авторы работы предлагают еще один непараметрический метод IQA. Их подход основан на двух наблюдениях:
— Изображения одинаковым контентом, но разными дисторшенами скорее имеют разное качество
— Изображения с одинаковыми дисторшенами, но разным контентом скорее имеют разное качество

Гипотеза авторов: если у картинок совпадет контент и дисторшены, то у них должны быть одинаковые MOS. Для проверки предлагается модель, состоящая из двух частей Semantic Classification (SC) и Distortion Classification (DC) модулей:
— SC - VGG16 предобученная на ImageNet, из которой извлекается вектор признаков сразу перед классификационной головой.
— DC - модуль, напоминающий CONTRIQUE. Берётся датасет KADIS-700k не содержащий MOS, но содержащий мета-информацию о типе и силе дисторшенов. DC модуль обучают на нём с кросс-энтропией.

Располагая SC и DC модулями, авторы применяют kNN для поиска ближайших примеров из обучающей выборки. Близость определяется как косинус угла между векторами картинок в датасете и картинки пришедшей на вход алгоритму. Далее значения MOS для k ближайших соседей усредняются для получения ответа. MOS соседей можно взвешивать, поскольку замечено, что семантика важнее типа дисторшена.

В статье есть хороший ablation на значения k, используемую метрику расстояния и цветовые пространства, но критически не хватает cross-dataset эвала, ведь главным бонусом ухода от прямой регрессии должна быть обобщаемость. Кода нет.
Exposing flaws of generative model evaluation metrics and their unfair treatment of diffusion models

Сегодня существует несколько признанных метрик оценки качества картиночных генераций. Самые популярные - FID, KID, IS, PR. Только ленивый не ругал каждую из них за ограниченность и не способность высоко коррелировать с человеческим пониманием качества.

Авторы статьи системно исследуют проблему метрик.
— Для начала, генерируют большое количество изображений моделями разных семейств (GAN, Norm Flow, Diffusion, VAE) на данных из нескольких датасетов (ImageNet, FFHQ, CIFAR, LSUN-Bedroom).
— Затем, размечают картинки на предмет их реалистичности на основе метода из статьи HYPE: респондентам случайным образом показываются реальные и сгенерированные изображения, предлагается угадать реальные ли они. Доля ошибок (fool rate) используется как метрика качества.
— Далее, берутся несколько популярных метрик (FID, KID, IS, PR). Все они устроены как экстрактор эмбедингов + вычислитель некоторой дистанции между наборами эмбедингов из двух сравниваемых распределений. Обычно, в качестве экстрактора используют InceptionNet. Авторы пробуют подставлять альтернативные SSL тушки: CLIP, MAE, DINOv2, SimCLRv2, SwAV.
— Оценивают корреляцию между fool rate и значениями метрик для всего набора моделей.

Основной практический вывод статьи - метрики вроде FID/KID сами по себе не плохи. Проблема в InceptionNet, имеющей слишком узкое распределение. Помимо этого, с помощью вариации Vendi Score показано, что FID/KID могут хорошо детектировать изменение разнообразия генераций, если будут использованы с хорошим экстрактором эмбедов. В качестве такого экстрактора предлагается DINOv2 ViT-L/14, при использовании которого метрики наиболее хорошо согласуются с человеческими оценками. Код и данные выложены.
👍4
How to Scale Your EMA

В наших руках редкий зверь - статья от Apple, да еще и по scaling laws. Конкретнее, про то как масштабировать exponential moving average (EMA) - популярный подход увеличения обобщаемости и избегания локальных минимумов. EMA - взвешенное среднее весов модели. Как понятно из названия метода, взвешивание экспоненциальное, а значит есть параметр, который отвечает за то насколько быстро будет уменьшаться важность ранее полученных вариантов весов. Статья про то как выбирать этот параметр в зависимости от размера батча во время обучения.

В статье есть два важных с практической точки зрения допущения:
1. Исходный анализ исключительно с SGD
2. Learning rate масштабируют относительно batch size линейно (есть альтернативные варианты)

Из принятых выше допущений аналитически следует, что EMA должен масштабироваться относительно размера батча экспоненциально, что называют EMA scaling rule.
Экспериментальная часть посвящена:
— Подтверждению сказанного для SGD
— Иллюстрации того, что (хоть и без пруфов) для адаптивных алгоритмов (RMSProp, Adam) зависимость такая же

Авторы рассматривают несколько задач:
— Supervised классификация (картинки, распознавание аудио)
— Semi-supervised speech recognition via pseudo-labeling
— Self-supervised image representation learning. Конкретнее - постановка, когда EMA модель рассматривается в виде учителя как в BLIP/BYOL

Во всех задачах EMA scaling rule как минимум не вредит, чаще улучшает результаты. Кода нет.
🔥3👍1
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). Также очень не хватает анализа оптимальной доли синтетики в зависимости от размера датасета. Кода нет.
👍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. Собираем датасет пар {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 на параметры метода. В общем, добротная статья с кодом и детальными саплементами для интересующихся.
👍2
EVA: An Explainable Visual Aesthetics Dataset

В задаче 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. Представленный в нем датасет и метрики отличаются, но общие выводы схожи со сделанными в статье.
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). Кода нет.
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+. Авторы также показывают, что их механизм гайденса позволяет регулировать балланс между резкостью и артефактностью генераций, что полезно. Код есть.
👍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 за счет механизма маскирования токенов. Кода нет.
🔥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к пар). Код, веса, метадата выложены.
🔥1
Improving Image Generation with Better Captions

Недавние тех репорты про диффузионные модели от 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 - более сложный бенчмарк, на котором обнаруживаются проблемы синтетических описаний.
Код/данные ожидаются тут.
👍3🔥1