Concise Research
1.13K subscribers
242 photos
223 links
Исследования AI глазами исследователя
Автор: @snk4tr Сергей Кастрюлин
Download Telegram
Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture

Одна из тех статей, которая заставляет сказать “подождите, разве это еще не сделано?”. Эта работа - один из шагов на пути Towards Autonomous Machine Intelligence Лекуна.

Современные SSL подходы делятся на генеративные и, так называемые, invariance-based. Если с первыми +- все понятно, то главной инвариантной вторых является предположение о сохранении семантики сущности (изображения, теста) после проведения некоторых аугментаций. Далее эти методы заставляют модель отображать несколько видов изображения в одну точку пространства эмбедингов. Проблемы кроются в необходимости выбора множества аугментаций и низкой информативности пиксельного представления.

Для получения максимально семантически богатых представлений, авторы предлагают архитектуру I-JEPA. Идея заключается в предсказании пропущенной информации (например вырезанного кропа) в некотором пространстве признаков. Картинки в это пространство переводят с помощью специального энкодера. Также подчеркивается важность предсказания нескольких блоков вместо одного.

Концептуально, подход напоминает генеративную модель (конкретнее - MAE), в которой context encoder, target encoder и predictor реализованы через ViT. Однако отличие в том то происходит не генерация, а предсказание (L2 loss) и не в пиксельном, а в признаковом пространстве. Важно, что веса context encoder и predictor обучают напрямую бэкпропом, в то время как веса target encoder получают экспоненциальным усреднением параметров context encoder.

Метод ожидаемо опережает MAE на классификации и приближается к SOTA подходами с подобранными аугментациями iBOT и DINO. При этом, новый подход более эффективный в терминах требуемых для обучения GPU часов. Есть неплохой ablation на тему выбора параметров маскирования во время обучения. Кода и весов нет.
🔥1
Zero-shot Image-to-Image Translation

Проблемой диффузионных моделей остается необходимость подбирать текстовые описания для генерации изображений с желаемым контентом. Вместе с этим, невозможно селективно редактировать части изображений с помощью текстовых описаний. Как правило, вместе с редактируемым предметом или его свойством, видоизменяется что-то еще.

Авторы предлагают подход pix2pix-zero, не требующий дообучения и специального дизайна текстовых описаний. На практике, находят два трюка, совместное использование которых позволяет получать селективную image-to-image генерацию используя (почти) любые имеющиеся диффузионные модели.

Первый трюк позволяет изменять ровно то что хочется. Например у вас есть картинка кошки и хочется получить ровно то же самое, но с собакой. Для этого:
1. Берутся исходный (cat) и желаемый (dog) токены;
2. Генерируется большое количество случайных предложений с каждым из токенов, получают две группы предложений;
3. Вычисляется направление CLIP эмбединга между двумя группами.
Оказывается, что выбирать направление таким образом намного эффективнее чем просто подавать токен dog во время генерации.

Второй трюк позволяет менять ровно там где хочется. Например на той же картинке с котом вы можете хотеть поменять кота на собаку и не менять ни окружение вокруг, ни цвет животного, ни его размер и т.д. Достигается это эксплуатацией свойства cross-attention карт выделять объекты на картинке соотвествующие текстовому описанию. Метод называли cross-attention-guidance.

Также авторы добавляют два незначительных изменения, положительно влияющих на качество и скорость генерации.
- Замечают, что DDIM сэмплер делает шум “менее Гауссовским”, что ухудшает качество редактирования картинок. Лечат добавлением регуляризации.
- Делают дистилляюцию в Co-Mod-GAN на сгенерированных картинках.

Картинки выглядят сочно. По цифрам показано улучшение по сравнению с prompt-to-prompt и бейзлайном DDIM с подстановкой слов, но только на выбранных парах токенов. Кода пока нет, но ожидается тут.
Palette: Image-to-Image Diffusion Models

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

Эта статья - одна из первых по применению диффузии к image-to-image задачам помимо сверх разрешения, а именно: inpainting, outpainting, colorization, JPEG uncompression.

Предложенный подход максимально прост: берем “хорошую” картинку y, зашумляем ее - ŷ, тренируем модель f восстанавливать y при условии x (“плохая” картинка). Учится это дело с в виде U-Net c global self-attention, разрешением 256х256 и L2 лоссом. Вместо класса, модель обуславливают на x простой конкатенацией с оценкой на y.

Модель обучают как отдельно для каждой из 4 задач без какой-либо кастомизации архитектуры или способа обучения под каждый из них, так и в multi-task режиме. Интересно, что, например, для колоризации авторы не обнаружили преимуществ использования цветовых пространств YCbCr и LAB. Обучение на RGB картинках дало ровно такие же результаты.

Помимо метода, авторы предлагают свой протокол оценки качества работы image-to-image моделей: добавляют свой аналог ctest10k для inpainting и outpainting - places10k, предлагают использовать Inception Score, FID, Classification Accuracy (top-1) с помощью ResNet-50 и Perceptual Distance (L1 между картами признаков InceptionNet) для оценки качества. Также они опрашивают людей и оценивают точность их предсказаний того какая из картинок реальная, а какая - сгенерированная, после чего измеряют fool rate.

Результаты показывают, что предложенный подход заметно выигрывает по сравнению с unconditional моделями в обоих (multi-task, task-specific) режимах. Есть только неофициальная имплементация.
Denoising Diffusion Restoration Models
NeurIPS 2022

Более свежая статья на тему применения диффузии к обратным задачам. На этот раз речь пойдет про алгоритм семплирования из предобученных на генерацию моделей, позволяющий получать восстановленные изображения в unsupervised режиме. Метод работает только для линейных преобразований (deblurring, inpainting, colorization etc.).

Авторы предлагают использовать learned priors вместо supervised learning для решения линейной обратной задачи:

(1) y = Hx + z, где x - сигнал, который требуется восстановить.

В данной постановке нам известны y - наблюдаемые измерения и ограничение на H - матрицы линейных преобразований.
Заметим, что:

(2) p(x|y) = p(x)p(y|x), где p(x) выражается нашей предобученной диффузионкой, а p(y|x) определено в выражении (1).

В случае, если нам требуется только восстановить x при заданной H, это может быть сделано семплированием из p(x|y), однако, это вычислительно не эффективно. Альтернативным подходом, рассмотренным выше, может быть supervised обучение, но тогда множество решаемых обратных задач будет ограничено вариативностью обучающей выборки.

В итоге, для увеличения скорости без потери общности предлагается вариация DDIM семплинга p(x|y). Главной особенностью метода, за счет которого достигается ускорение, является семплирование в спектральном пространстве матрицы H (ее раскладывают с помощью SVD). Детальные выкладки приведены в статье. Я также рекомендую ознакомиться с записью недавнего семинара от одного из авторов, где приведен более наглядный разбор с примерами.

С практической точки зрения, для применения метода вам необходима предобученная модель и знание о том какой тип артефактов присутствует на изображении. Официальная имплементация использует guided-diffusion. Важно, что эта работа показала возможность решать обратные задачи в unsupervised режиме за разумное время с приемлемым качеством, хоть и с ограничением на тип задач.
Image Quality Assessment using Contrastive Learning

Одной из главных проблем области IQA является отсутствие больших датасетов с mean opinion scores (MOS) разметкой по причине высокой трудозатратности ее получения. Поэтому дизайн многих IQA подходов начинается с предобученных на больших датасетах моделей. Далее они дообучаются на датасетах с MOS разметкой для получения максимального качества. Это часто приводит к переобучению и, как следствие, плохой обобщаемости на новые изображения и типы дисторшенов.

В данной работе авторы предлагают подход CONTRastive Image QUality Evaluator (CONTRIQUE) - self-supervised обученную метрику, для получения которой не использовались MOS.

Суть метода заключается в проведении self-supervised обучения на кропах из датасета KADIS700k, при этом модель учится предсказывать тип и силу артефактов на изображении. В качестве аугментаций используются операции, сохраняющие качество: переводы в другие цветовые пространства (LAB, HSV, Grayscale), горизонтальные флипы и local Mean-Subtraction (показано, что это позволяет выделять стат отклонения, связанные с дисторшенами).

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

В качестве основы метрики авторы предлагают использовать ResNet-50, которую можно заменить на любую другую CNN архитектуру. Поверх нее обучается ridge regression, отображающая признаки в значения качества. Метрика может быть обучена как для FR, так и для NR задачи без значительных изменений архитектуры.

Таким образом, авторам удается получить SOTA (на момент публикации) NR и FR метрики. Надо отметить, что FR метрика все же не тестируется на PIPAL - самом сложном датасете. Тем не менее, SRCC ~ 0.93 на KADID10k (FR) и SRCC ~ 0.89 на KonIQ (NR) смотрятся солидно. Код и веса есть.
👍2
PeRFception: Perception using Radiance Fields
NeurIPS 2022

Преимущественно, датасетная статья, показывающая полезность Neural Radiance Fields (NeRF) представлений как исходного формата представления 3D и некоторых 2D данных. У NeRF представлений есть множество преимуществ по сравнению с “явными” представлениями (воксели, облака точек): более гладкая геометрия, компрессия данных, возможность генерации новых проекций.

Несмотря на все преимущества, NeRF не использовались как исходный формат для классификации и сегментации по причине отсутствия датасета. В этой статье предлагается код и результат генерации NeRF из наборов изображений. Авторы используют Plenoxels в качестве формата представления данных. Получают производные CO3D и ScanNet датасетов.

Для не вовлеченных в тему создания датасетов наиболее интересной будет часть про обучение моделей поверх полученных представлений. В качестве бэйзлайнов к статье прилагаются результаты обучения около 10 вариантов резнетов на задачах 3D классификации, 2D и 3D сегментации.

В зависимости от выбора набора признаков для обучения, удается выбить Acc@1 ~ 0.78, Acc@5 ~ 0.95 на PeRFception-CO3D. На PeRFception-ScanNet (3D сегментация) удается показать mIoU ~ 69 и mAcc ~ 0.78. Визуально, представленные карты сегментации выглядят вполне разумно. Код и доп. информация доступны на сайте проекта.
1🔥1
Hierarchical Text-Conditional Image Generation with CLIP Latents
DALL-E 2

В начале прошлого года стоял вопрос text2img генерации вариативных изображений, визуально не отличимых от реальных. Существовавшие на тот момент DALL-E и GLIDE не давали желаемого эффекта. Эта статья решала проблему разнообразия при сохранении качества.

В работе, в основном, ссылаются на GLIDE как на одну из топовых предшествующих моделей, которая, в свою очередь, улучшает результаты DALL-E первой версии. История развития такова, что DALL-E обуславливается на CLIP эмбединг, тогда как в статье GLIDE показали, что classifier-free guidance без использования CLIP эмбедингов дает более хорошее качество. Авторам DALL-E 2 такой вывод не понравился и они сделали следующий шаг для улучшения CLIP-обусловленной генерации.

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

Мотивация подхода заключается в предоставлении декодеру более “четкого гайденса”. Не смотря на то что в пространстве CLIP минимизируется расстояние между изображением и его корректным описанием, каждому изображению может соответствовать множество корректных описаний. Если же сразу использовать картиночный эмбединг, неоднозначность исчезает.

Другим важным элементом является каскадная генерация изображений. Исходный декодер выдает картинки 64х64, из которых далее получаются 1024х1024 в две стадии: 64 -> 256 -> 1024. Оба 4х апсемплера - диффузионные модели, обученные отдельно. Этот подход мы также видим в работе Imagen.

Авторы активно сравниваются с GLIDE и DALL-E, показывая преимущество нового подхода. Несмотря на сопоставимое качество, подход с картиночными эмбедами дает бОльшую вариативность генерации.
👍1
Universal Guidance for Diffusion Models

Для улучшения качества генерации диффузионками используются два основных механизма:
1. Conditioning - моделям добавляют дополнительный вход, например класс целевого изображения (classifier-free guidance) или его текстовое описание (GLIDE). В ходе обучения минимизируется расстояние между условием и результатом генерации.
2. Guidance - модели остаются неизменными, модифицируется семплирование. Например, в Guided Diffusion используются градиенты классификатора. Взять уже готовый классификатор не получится потому что он обучен на изображениях без шума. Приходится обучать специальную noise-aware модель.

DDPM семплирование имеет Марковскую постановку: каждый шаг зависит только от предыдущего, шумного (p(x_t-1 | x_t)). Авторы замечают, что часто используемый для ускорения семплирования DDIM на каждом шаге делает оценку на x_0 (запишем как z_0), которая обуславливает следующий шаг (p(x_t-1 | x_t, z_0)). Таким образом, на каждом шаге нам доступна бесшумная картинка, на которой могут быть применены не специфические модели. Такой подход назвали Forward Universal Guidance.

У такого подхода есть минус - модель начинает приоритизировать реалистичность изображения над соответствием текстовому описанию. Изменение guidance scale не помогает. Вместо этого предлагается искать (градиентным спуском) такое изменение z_0, которое приведет к наибольшему соответствию промпту. Подход назвали Backward Universal Guidance.

В качестве финального штриха авторы добавляют немного шума, по масштабу соответствующего данному шагу t. Интуитивно, такая добавка должна позволить модели лучше исследовать многообразие данных и найти точку баланса между соответствием тексту и качеством.

Авторы экспериментируют с Guided Diffusion и Stable Diffusion, показывая, что сегментация, распознавание лиц и текст (CLIP) могут быть успешно использованы в качестве guidance. Из минусов - бОльшая вычислительная сложность по сравнению с conditional генерацией и появление дополнительных параметров. Код есть.
🔥1
Applicability limitations of differentiable full-reference image-quality

Метрики оценки качества (IQA) используются для измерения эффективности алгоритмов обработки изображений, в том числе их сжатия. Оптимальные значения метрик должны означать, что сжатие не приводит к видимой человеком потере качества. Улучшение значений метрик является целью специалистов в области разработки таких алгоритмов, поскольку это показывает преимущество их подхода.

Авторы статьи показывают, что поведение широко используемых современных обучаемых метрик оценки качества таких как DISTS, LPIPS, HaarPSI, VIF и PieAPP может манипулироваться с помощью добавления небольшой модели в пайплайн сжатия изображений. Цель работы - показать, что значениями этих метрик можно легко манипулировать без заметных глазу изменений изображений.

Предложенный авторами экспериментальных подход напоминает adversarial attacks, за тем исключением, что вместо добавки к изображению используется дополнительная сеть, обученная модифицировать изображение в сторону увеличения целевой метрики. Предложенный в статье миниатюрный ResNet с всего ~30k параметров может быть встроен в алгоритм сжатия без существенной потери производительности.

В качестве эксперимента, авторы проводят опрос ассессоров о том какое из изображений выглядит более предпочтительно. Показывают, что предложенная нейросетевая добавка увеличивает значения метрик, при этом ухудшает качество с точки зрения человеческого восприятия. В частности, прирост в качестве удается получить для большинства (80-100% в зависимости от метрики) из 1500 сжатых изображений.

Еще один интересный результат касается переносимости “хаков” между метриками. Оказывается, что, например добавка для PieAPP соизмеримо увеличивает качество LPIPS и наоборот, в то время как DISTS оказывается достаточно устойчивым к добавке для LPIPS. Кода нет.
🔥1
Reconstructing Training Data with Informed Adversaries

Можно ли, имея доступ к обученной (не генеративной) модельке, сгенерировать примеры на которых она обучалась? Оказывается, что можно, но, пока что, только в постановке informed adversary - ситуации, когда атакующий имеет все тренировочные примеры, кроме одного.

Для выпуклых моделей, таких как логистическая регрессия, существует аналитическое решение. Для более общего случая (сверточные нейросети), авторы предлагают обучать реконструктор. Модель принимает на вход веса атакуемой модели и выдает картинки из датасета для обучения. Несмотря на довольно нереалистичную постановку задачи, статья приводит нас к нескольким практически полезным выводам:

1. Доступ ко всем семплам кроме одного не обязателен. На примере MNIST (59k примеров) достаточно ~1k примеров для получения качественных реконструкций;
2. Похожий результат наблюдается, если отсутствующие примеры вне тренировочного распределения (обучаемся на CIFAR-10, тестируем на примерах из CIFAR-100);
3. Размер атакуемой сети мало влияет на успешность атаки (помним, что эксперименты только на CIFAR и MNIST);
4. Модели с ReLU атаковать сложнее чем с другими активациями. Вероятно, это связано с разреженными градиентами - около 60% активаций не обновляются.
5. Сопоставимое качество можно получить и в black box постановке: сама модель не известна, имеется доступ только к логитам;
6. Обучение с differential privacy помогает избегать этого типа атак.

В статье есть очень много нюансов и пояснений для интересующихся областью. Также подход может быть использован для изучения свойств моделей помимо их уязвимости к подобным типам атак. Код есть.
👍2
Aligning Model and Macaque Inferior Temporal Cortex Representations Improves Model-to-Human Behavioral Alignment and Adversarial Robustness
ICLR 2023 Oral

Разговоры о том что необходимо как-то заставить нейросетевые алгоритмы пародировать зрительную систему человека идут давно. Выше мы уже разбирали free-energy подход и работы, косвенно основывающиеся на нём. Сегодня перед нами удивительная статья об улучшении качества нейросетей путём использования прямых сигналов из мозга макак. Выглядит как новый шаг в (almost-)human-in-the-loop подходах.

Авторы взяли трёх приматов и вживили им в мозг несколько электродов. После этого им показали изображения из датасетов HVM и COCO, зафиксировали результаты мозговой активности. Далее, взяли предобученную на ImageNet CORNet-S модель и дообучили на с использованием данных об активности мозга как добавки к основной цели: кросс-энтропия для классификации изображений из HVM.

В качестве результатов, авторы показывают, что предложенный метод обучения:
1. Позволяет нейросети вести себя более похоже на человека. Это показывают с помощью метрики i2n, суть которой заключается в сопоставлении случаев когда модель и человек делают ошибки. Полностью одинаковый шаблон ошибок на специально подобранных задачах - максимальное значение метрики;
2. Увеличивает устойчивость к adversarial attacks. Для примера используют классическую white-box атаку projected gradient descent (PGD);

Также интересным выводом является то, что чем выше “похожесть” поведения сети на человека, тем выше устойчивость к adversarial attacks. Однако обратное не верно - бОльшая устойчивость к атакам не обязательно помогает мимикрировать под человека.

Неотвеченными остаются вопросы о том когда происходит насыщеные (scaling laws), можно ли добиться еще большей устойчивости (текущие результаты не очень большие) и как в целом строить процесс для выведения результатов на принципиально новый уровень.
🔥2👍1
JNDMix: JND-Based Data Augmentation for No-reference Image Quality Assessment

Одной из главных проблем области image quality (IQ) assessment является недостаток данных: собирать данные для этой задачи дороже чем для других из-за необходимости получения нескольких десятков меток для одного изображения/пары изображений. Это приводит к тому, что модели, показывающие SOTA результаты, часто переобучены на популярные датасеты и плохо обобщаются на реальные данные.

Аугментация данные - один из наиболее простых и эффективных подходов для борьбы с переобучением. Однако, большинство методов аугментации (добавление шума, размытие, вырезание кропов) являются преобразованиями, напрямую влияющими на IQ и не могут использоваться в ходе обучения моделей.

Авторы статьи предлагают новый метод аугментации для улучшения обобщаемости IQ assessment моделей, основанный на добавлении совсем небольшого количества шума. Их гипотеза заключается в том, что если добавлять изменения (шум), не заметные для человека, можно не влиять на персептивное качество и, при этом, вносить разнообразие в данные.

Метод прост в реализации, но и полученные результаты не драматично улучшают качество. В экспериментах на метриках HyperIQA, DBCNN, MANIQA прирост в районе нескольких тысячных SCRR на LIVEC и KonIQ-10k. Результаты консистентны для всех выбранных бэкбоунов. Также показано, что метод даёт чуть больший прирост (малые сотые) качества в случае, если метриках обучается только на части данных. Кода нет.
The Role of ImageNet Classes in Fréchet Inception Distance
ICLR 2023

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

С точки зрения дизайна FID:
1. Пространство признаков слишком большое (), признаки кодируют не только семантику, но и позиционную информацию. Возможность нахождения семантической близости в пространстве такой большой размерности сомнительна.
2. Признаки специализированы на ImageNet классификацию: во время обучения, экстрактору признаков позволено игнорировать информацию, не помогающую классифицировать ImageNet классы.
3. Признаки, используемые в FID, берутся с слишком глубоких слоев. Они очень близки к логитам ImageNet классов. Можно сказать, они почти являются ImageNet классами.
4. Известно, что ImageNet классификаторы часто переобучаются на текстуры, а не на формы объектов.

Авторы исследуют влияние ImageNet классов на метрику и анализируют то на какие характеристики изображения она обращает внимание. Предлагается хитрым образом использовать Grad-CAM:
- Семплируют 49999 из генератора;
- Считают FID на этих семплах;
- Семплируют еще одну картинку;
- Смотрят как признаки из новой картинки влияют на значение метрики с Grad-CAM;

Оказывается, что при оценке генерации лиц из FFHQ, модель, в основном, обращает внимание на части изображений, на которых лица отсутствуют.

Помимо визуализации, проводятся несколько численных экспериментов. Например показывается, что если учить модель воспроизводить Top-1 class histograms реальных данных, это увеличивает FID безотносительно качества изображений. Далее они придумывают “атаку”, основанную на отборе семплов, позволяющую получать более низкие значения FID без переобучения. По сути, это инструмент автоматического cherry-picking. Есть код.
Composer: Creative and Controllable Image Synthesis with Composable Conditions

Одним из самых желанных свойств генеративных моделей - способность гранулярно контролировать свойства изображений. Выше мы уже разбирали работы, которые позволяют селективно модифицировать объекты на изображении и использовать виды guidance отличные от классификации например, сегментационные маски или текст (не путать с conditioning).

Эта работа еще дальше расширяет возможности контроля диффузионной генерации за счет комбинирования нескольких видов conditioning. Каждая итерация обучения разбивается на две фазы:
1. Decomposition - каждое изображение в батче разбирается на 8 представлений:
- Caption - тестовые CLIP эмбеды;
- Semantics and style - картиночные CLIP эмбеды;
- Color - CIELab histogram;
- Sketch - выход edge detection модели;
- Instances - инстанс сегментация YOLOv5;
- Depthmap - выходы depth модели;
- Intensity - grayscale версия картинки;
- Masking - случайное маскирование;
2. Composition - сеть обучают восстанавливать исходные изображения из их decomposed представлений:
- Global conditioning (caption, semantics/style, color) добавляются к эмбедингу t, часть из них также конкатенируется с текстовым эмбедом в cross-attention (как в GLIDE).
- Local conditioning (все остальное) переводится в то же пространство эмбедов что и x_t. Вектора складывают и конкатенируют с вектором x_t, после чего подают в U-Net.

Основная диффузионка выдаёт 64x64, которые далее апсемплятся двумя unconditional моделями. Авторы также экспериментируют с использованием prior модели как в DALL-E 2 для отображения текстовых CLIP эмбедов в картиночные. Prior вводится как опциональный блок, при этом подтверждается вывод авторов DALL-E 2 о том что это увеличивает вариативность генерации.

Большое количество комбинаций на стадии composition делает обучение сложным, но вариативным. Cеть покрывает всё множество комбинаций, за счет чего научается восстанавливать изображения из ранее не встречавшихся комбинаций. С нетерпением ждём обещанный код тут.
🔥4
Diffusion Probabilistic Models for Graph-Structured Prediction

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

В данной статье рассматривается их применимость для задачи предсказания структуры графа. Без потери общности, рассматривается задача предсказания классов вершин графа.

Мотивация: утверждается, что существующие сегодня графовые нейросети (GNN) не способны улавливать зависимости между целевыми метками (классами). В то же время, “глобальный” процесс “зашумления-расшумления” может помочь уловить некоторые зависимости: например в гомогенных графах близкие вершины более вероятно относятся к одному классу. Таким образом, можно использовать менее глубокие GNN и, при этом, получать более качественные предсказания.

Авторы рассматривают две постановки:
1. Fully supervised (все вершины имеют метки классов). В этом случае метод мало чем отличается от диффузии для других доменов: множество меток y_0 зашумляется Гауссовским шумом с сохранением дисперсии и нелинейным (косинусным) scheduling до стандартного нормального y_T за T итераций. Модель обучают предсказывать матожидание шума на шаге t, используя L2 функцию потерь. Поскольку задача классификации требует детерменированных ответов, y_(t-1) получается из y_t усреднением p(y_(t-1)|y_t).
2. Semi-supervised (часть меток классов отсутствует). К supervised методу добавляется EM алгоритм: на стадии expectation делается оценка вариационного распределения пропущенных меток. На стадии maximization происходит обучение диффузионной модели с учетом полученной оценки.

Метод валидируется на задачах классификации и algorithmic reasoning. Eсть ablation, показывающий:
- Преимущество перехода на диффузию вместо увеличения глубины GNN;
- Преимущество детерменированного семплирования;
- Разумную вычислительную сложность.
Код есть.
🔥1
MiDi: Mixed Graph and 3D Denoising Diffusion for Molecule Generation

Одним из основных применений графовых нейросетей (GNN) является решение задач с молекулярными данными: предсказание хим структур и их свойств. С практической точки зрения, интересны два вида организации: 2D связность атомов и 3D расположение атомов в пространстве. Первая характеристика, в основном, определяет физ-хим свойства молекулы, вторая - конформационное взаимодействие с белками и другими макромолекулами.

Существующие подходы предсказывают 2D и 3D характеристики по отдельности, что ограничивает их качество и применимость. В данной работе авторы предлагают диффузионки для одновременной генерации 2D и 3D структур, что крайне полезно для области drug discovery.

Главная мысль статьи заключается в том что можно одновременно учить/семплировать непрерывные (3D координаты) и дискретные (2D структура графа) данные:
- Непрерывное распределение, как и в других доменах, моделируется Гауссовским шумом, где в качестве среднего берется центр масс облака точек.
- Дискретное распределение моделируется с помощью подхода дискретной диффузии для графов, суть которого в том чтобы моделировать каждый переход между шагами t и t-1 с помощью непрерывных матриц перехода Q.

Таким образом, матрицы смежности, определяющие структуру графа молекулы “зашумляют-расшумляют” напрямую, тогда как свойства каждого атома и хим связи, представленные категориальными признаками, кодируют one-hot векторами.

Модель представляет собой трансформер, одновременно принимающий на вход все виды данных и комбинирующий их, в основном, с помощью self-attention блока. Важными свойствами молекул являются поворотная и трансляционная эквивариантность. С целью сохранения этих свойств, для 3D координат используется дополнительный MLP слой со своим лоссом.

Модель обучается миниминизировать взвешенную сумму нескольких компонентов лосса. В экспериментах показывает SOTA результат. Код есть.
👍2
Stop Oversampling for Class Imbalance Learning: A Critical Review

Дисбаланс классов - частая проблема при работе с реальными данными. Более того, такие задачи как детекция фрода подразумевают его по умолчанию.

Для борьбы с дисбаллансом классов предложен ряд подходов:
1. Сбор дополнительных данных семплов из недопредставленного класса (НК);
2. Изменение функции потерь с целью увеличения веса НК;
3. Оверсемплинг НК;
4. Андекрсеплинг мажоритарных классов (МК);
5. Любая комбинация предыдущих подходов.

Оверсепмлинг НК - один из наиболее часто используемых подходов. Авторы указывают на его проблемы:
- Поскольку сгенерированные примеры обычно делаются “похожими” на исходные (что не обязательно на практике), их использование приводит к переобучению;
- На практике, “похожие” примеры могут принадлежать к другому классу, что еще сильнее мешает применению обученных на них моделей;

В качестве подтверждения авторы проводят валидацию 72 методов на 3 датасетах следующим образом:
- Из исходных данных убирают часть МК;
- На оставшихся данных применяют метод оверсемплинга;
- Смотрят насколько новые семплы похожи на НК и МК по метрике Hassanat distance;
- Показывают, что все подходы либо генерят данные больше похожие на МК, либо что-то среднее между МК и НК.

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

В целом, статья выглядит достаточно плотно и рекомендуется к более детальному ознакомлению тем кто интересуется проблемой борьбы с дисбалансом классов.
Consistency Models

Диффузионные модели могут показывать стабильно высокое качество генерации, при этом не страдать от ограничений других генеративных моделей: mode collapse для GANs, архитектурные ограничения для Normalizing Flows, VAEs, авторегрессионных моделей. При этом, у них есть свой недостаток - низкая скорость генерации из-за итеративного семплирования.

Ускорению семплирования без значительной потери качества посвящена больша́я часть публикаций в области. Наиболее распространены подходы с использованием:
1. Более быстрых методов численного решения диф. уравнений (например DDIM), которые все равно требуют > 10 итераций для семплирования;
2. Дистилляция, обычно в GAN.

Авторы работы предлагают новый класс моделей. Их характерное свойство - способность отображать объект с произвольного шага диффузии t обратно в исходный. При этом, отображение из одной и той же точки t всегда приводит к одному и тому же исходному изображению, из-за чего модель и называют consistent.

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

Consistency models (CM) либо дистиллируют существующую диффузионку (но без адверсариал лосса), либо конструируются с нуля:
1. Consistency distillation - генерим x_(t+1) из x и Гауссовского шума на шаге t+1, восстанавливаем x̂_t предобученной диффузионкой, учим CM минимизировать расстояние d(x_(t+1), x̂_t);
2. Consistency training - оказывается, можно заменить диффузионку для оценки x̂_t на Монте-Карло оценку при достаточно большом N числе шагов диффузии.

Оба обучения видут к высокому качеству по меркам one-shot генерации. Как и диффузионные модели, CM могут из коробки делать image editing, inpainting и т.д. Код только неофициальный.
👍2
Diffusion Models and Semi-Supervised Learners Benefit Mutually with Few Labels

Задача semi-supervised learning заключается в обучении модели на частично размеченных данных. Например для задачи классификации это выучивание распределения p(label|image) в случае, когда не для всех image изначально известен label. Class-conditional генерация, в свою очередь, обратная задача: необходимо выучить p(image|label), но в данном случае может не хватать image при известных label.

Статья показывает, что совместное решение этих двух задач приводит к увеличению качества решения каждой из них. Для этого предлагается следующий алгоритм обучения моделей:
1. Берем датасет, в котором не все image имеют label.
2. Обучаем на парах image-label классификатор.
3. Размечаем с помощью классификатора изначально не размеченные image. Новую разметку назовем pseudo-label.
4. Обучаем class-conditional модель генерировать новые image для данных label и pseudo-label. Таким образом датасет увеличивается.
5. Обучаем классификатор на исходном + дополнительно нагенерированном датасете.

В случае ранее предложенных подходов с обучением на pseudo-lagels, улучшение метрик может достигаться если выполняются:
- Continuity Assumption (Smoothness): близкие друг к другу объекты, вероятно, относятся к одному классу;
- Cluster Assumption - объекты одного класса группируются в кластеры.

С дивана кажется, что в новом подходе не много смысла, потому что новой информации не добавляется и модели “гоняют” свои предикты по кругу. Это не совсем так, поскольку, в данном случае, генеративная модель получает доп. информацию от классификатора, а классификатор - от генеративной модели.

Используя только 1% меток каждого класса, авторы получают top-1 acc ~ 75.4 на ImageNet (ViT B/4) и FID-50k ~ 3.35 (U-ViT and MSN L/7). Кода нет.
👍1
Quality-aware Pre-trained Models for Blind Image Quality Assessment
CVPR 2023

Одна из основных проблем в оценке качества изображений без референсного пример (NR-IQA) - отсутствие датасетов достаточного размера. Наибольший доступный датасет FLIVE имеет всего ~40k картинок, уступая даже CIFAR-10 (60k). В области NR-IQA обычно борются с этой проблемой:
1. Использованием не специфичных к задачи IQA тушек (MANIQA);
2. Эксплуатацией свойств больших self-supervised learning (SSL) претренов (CLIP-IQA);
3. Обучением специфических для IQA SSL претренов (CONTRIQUE);
4. Добавлением особенных аугментаций. Они должны менять изображения, но не влиять на “качество”;

Концептуально, данная работа - комбинация подходов 3 и 4 + преложение нового метода SSL предобоучения. Суть в том, чтобы:
- Расширить множество аугментаций для увеличения вариативности данных;
- Предложить новый SSL лосс, более эффективно использующий доступную в задаче IQA информацию;

Основной инсайт статьи в том чтобы не просто разделять картинки с разным типом дисторшенов в разные классы (CONTRIQUE) - Quality-Aware Pretext Task (QPT). Помимо этого предлагается ввести две компоненты, отвечающие за “разность”: degradation based и content based. Таким образом, если взять два кропа из одной degraded картинки, то расстояние между этими патчами должно быть достаточно мало и, при этом, оно должно быть меньше чем расстояние каждого из этих патчей до:
- Любого патча из другой картинки;
- Любого патча из той же картинки, но с другим типом degradation.

Используя новый лосс и расширенный набор аугментаций авторам удается:
- Пробить SOTA в NR-IQA на всех основных датасетах;
- Улучшить качества топовых NR метрик, заменив в них тушки на свой претрен.
Кода и весов нет.
👍1
Rethinking Image Aesthetics Assessment: Models, Datasets and Benchmarks

Есть такая задача - оценивать эстетичность изображений. Называется она Image Aesthetics Assessment (IAA) и для нее уже много чего сделано. Есть более-менее известные датасеты, например:
- Aesthetic Visual Analysis (AVA) dataset (репо) - 250к картинок с кучей мета-данных и семантических меток для 60 категорий сцен. Явной разметки качества ассессорами нет;
- FLICKR-AES dataset (репо | статья | саплемент) - 40к фоток, есть разметка анотаторами.

Авторы статьи утверждают, что фотографы и прочие творческие люди оценивают стиль относительно тематики изображения (image -> theme -> style), то есть красивость для пейзажного и портретного фото - разные вещи. В то же время, существующие датасеты предоставляют разметку:
1. Минуя стадию разбиения на темы (image -> style);
2. Со слишком большой долей субьективности (мало разметчиков на каждую картинку).

Во-первых, в статье предлагается новый, большой датасет TAD66k, который содержит изображения из 7 “супер тем”: plants, animals, artifacts, colors, humans, landscapes and other, которые далее детализировали до 47 финальных “тем”. Каждую картинку оценивали примерно 1200 человек с прицелом на то чтобы сохранить общее распределение оценок близкое к равномерному. Это важно, потому что, например, в датасете AVA очень мало картинок с оценкой 1-2 или 9-10 по десятибальной шкале.

Во-вторых, авторы предлагают предлагают модель TUNet, состоящую из трех модулей:
- Theme understanding - предобучена на Places, заморожена;
- RGB-distribution-aware Attention Network - мини-трансформер со своим вариантом атеншена, учится с нуля;
- Aesthetics Perceiving Network - экстрактор признаков в виде замороженного MobileNetV2. Активации с последних слоев фьюзятся и подаются в обучаемую голову.

Модель уверенно выбивает соту на TAD66k, AVA и FLICKR-AES в терминах SRCC с усредненными ответами респондентов. Код для FLICKR-AES не дают, остальное есть тут. Данные тоже дают.