Concise Research
1.13K subscribers
244 photos
224 links
Исследования AI глазами исследователя
Автор: @snk4tr Сергей Кастрюлин
Download Telegram
A free energy principle for the brain

Классическая статья из области нейрофизиологии. Сформулированные в ней принципы лежат в основе многих современных работ из областей нейронаук и компьютерного зрения.

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

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

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

Интереснее обстоят дела с генеративной компонентой.
Во-первых, показано, что когнитивные реакции на основе ощущений имеют иерархическую структуру: мозг устроен так на всех уровнях, что позволяет минимизировать свободную энергию за счет уменьшения ошибок предсказания следующих событий. Ошибка в предсказании (aka удивление) = большая свободная энергия.
Во-вторых, зрительная и другие системы имеют генеративную компоненту, позволяющую предсказывать мир вокруг и снижая сенсорную нагрузку. И тут мы снова возвращаемся к механизму удивления: если сгенеренное отличается от реальности -> большая свободная энергия.

В качестве эксперимента, авторы используют fMRI для проверки гипотезы о том, что реакция на неожиданный стимул выше реакции на ожидаемый и показывают какие именно отделы мозга занимаются подавлением реакции на ошибки в предсказании.
👍2
Diffusion Models for Adversarial Purification

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

Существует два основных метода защиты.
Adversarial training изучает способы обучения нейросетей с целью устранения излишней чувствительности к мелким, потенциально опасным деталям.
Adversarial purification изучает методы защиты путем устранения потенциально вредоносных изменений во входных данных.

Авторы предлагают использовать диффузионный процесс для Adversarial purification. Перед тем как подавать потенциально опасное изображение на вход целевой модели (например классификатору), предлагается сначала зашумить его несколькими шагами диффузии, после чего обернуть процесс. В результате должно получиться изображение, визуально похожее на исходное, в котором убраны потенциально вредоносные мелкие детали.

В работе приводятся формальные доказательства обоснованности метода, а так же ablation на тему выбора наиболее важного параметра - глубины диффузии. Оказывается, что на практике оптимально иметь t* порядка 0.1 - 0.2. Такое зашумление уже дает хорошую защиту, но еще не приводит к потере семантически важных деталей. Страница проекта с кодом и объяснениями от авторов.
VCRNet: Visual Compensation Restoration Network for No-Reference Image Quality Assessment

В no-reference оценке качества изображений существует подход, вдохновленный работами из области нейрофизиологии о free energy principle. Суть в том, что органы чувств человека изначально получают довольно шумные данные. Например зрительная система сама по себе дает мозгу данные низкого разрешения. Далее из них генерируются качественные представления, которые мы и видим.

В подходах оценки качества, вдохновленных free energy principle, также предлагается на первом этапе генерировать хорошее изображение из плохого. После этого, качество оценивается как расстояние между исходной и новой, “хорошей” картинкой.

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

В этой работе авторы предлагают отказаться от ГАНов в пользу кастомной архитектуры, состоящей из двух частей. Первая часть представляет собой U-Net-подобный энкодер-декодер и занимается восстановлением “хорошего” изображения из исходного. Вторая часть - предобученный и замороженный EfficientNet-B0, который служит исключительно экстрактором признаков. Далее часто признаков из обеих сетей конкатенируются и подаются в полносвязную голову, которая и выдаёт финальную оценку. Функция потерь состоит из взвешенной суммы 1) L1 ошибки между референсным “чистым” и восстановленным изображением 2) L1 ошибки между референсной и полученной картами ошибок.

Не смотря на SOTA результат на большом наборе датасетов, стоит отметить, что перед валидацией авторы обучаются на части данных каждого из них в отдельности. При этом обобщаемость метрики остается под вопросом. Код и веса выложены.
AnoDDPM: Anomaly Detection with Denoising Diffusion Probabilistic Models using Simplex Noise

Диффузионные модели в ходе обучения неявным образом выучивают распределение данных. За счет этого они способны генерировать качественные примеры из распределения. При этом генерация не обязана начинаться с чистого шума. В статьях DiffPure и Label-Efficient Semantic Segmentation with Diffusion Models уже было показано, что расшумление частично зашумленных изображений может использоваться для противостояния адверсариал атакам и семантической сегментации.

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

Гипотеза проверяется на медицинских изображениях. Диффузионную модель обучают на МРТ мозга здоровых людей. Далее в модель подают сканы с опухолями и обнаруживают, что при достаточной глубине диффузии на выходе получаются изображения без опухолей. При этом, пописксельная разница между исходным и полученным изображениями хорошо коррелирует с сегментационной маской аномалии (опухоли).

Важно отметить, что используемый в работе медицинский датасет достаточно мал (~25k изображений для обучения), при этом аномалии очевидны и занимают большую площадь на изображении. Код есть.
👍2
Null-text Inversion for Editing Real Images using Guided Diffusion Models

Диффузионные модели, направляемые текстовым описанием, вроде DALL-E 2, Imagen, Stable Diffusion способны генерировать качественные изображения из шума. В то же время, при работе с этими моделями может не хватать контроля над деталями результатов генерации. Например, не очень понятно как изменять отдельные характеристики получаемых изображений такие как цвет волос или эмоции на лицах генерируемых людей. Модели не всегда достаточно чувствительны к таким подробностям в исходных текстовых описаниях.

В статье SDEdit предлагается частично зашумлять изображения, после чего “расшумлять” с использованием конкретизированного текстового описания. Подход работает, но приводит к потере деталей из исходного изображения.

В статьях Blended Latent Diffusion и Blended Diffusion for Text-driven Editing of Natural Images предлагается запросить у пользователя маску, которая бы выделяла изменяемый регион. Эти подходы сильно зависят от качества масок, получение которых может быть не удобно на практике.

Статьи Imagic и UniTune работают хорошо, но требуют дообучение модели Imagen.

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

Основной идеей статьи является введение метода Null-text Inversion, который эксплуатирует важное свойство classifier-free guidance, а именно использование двух текстовых описаний. Первое - основное, которому и должно соответствовать изображение. Второе называется null text и, как правило, представляет собой пустую строку. Идея в том, чтобы, используя текстовую инверсию, оптимизировать текстовое описание, соответствующее изображению. Теперь получается, что изначальная строка и результат оптимизации отражают одну и ту же информацию. Значит, если поменять какую-то деталь в изначальной строке и запустить семплирование, на выходе получится изображение, на котором изменится только часть ответственная за изменение в текстовом описании.

К существенным недостаткам метода можно отнести высокую вычислительную сложность. Код есть.
👍2
Domain Expansion of Image Generators

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

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

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

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

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

Авторы проводят эксперименты с архитектурой StyleGAN и показывают качество генерации на исходном и добавленном доменах сопоставимое с домен-специфичными генераторами. Сайт проекта, код обещают выложить.
👍2
Cold Diffusion: Inverting Arbitrary Image
Transforms Without Noise


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

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

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

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

Эксперименты по генерации, удалению размытия, инпейтингу и другим задачам показывают, что использование трансформаций отличных от шума для диффузии концептуально возможно. В то же время, значения FID заметно уступают DDIM + полностью отказаться от шума для генерации так и не получилось. Код есть.
👍2
MANIQA: Multi-dimension Attention Network for No-Reference Image Quality Assessment

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

Так продолжалось до 2020 года, пока не был предложен PIPAL датасет для оценки качества изображений. При его создании, авторы включили несколько типов нейросетевых искажений, которые сильно усложнили решение задачи оценки качества. Также датасет стал основным бенчмарком IQA NTIRE Challenge. В этом посте мы рассмотрим статью победителей 2022 года.

Статья архитектурная. Предлагается улучшать качество использованием 4 основных компонентов:
• “Ванильного” ViT для извлечения признаков. Признаки с 4 из 12 слоев конкатенируются и используются далее;
• Модифицированной версии self-attentoion блока. Он взвешивает карты признаков из ViT и неявно кодирует глобальный контекст;
• Комбинации swin transformer блока и свёртки. Свёртка добавляется для достижения трансляционной инвариантности;
• Процедуры взвешивания предсказываемого значения качества. Авторы утверждают, что именно этот компонент помогает бороться с переобучением на отдельно взятом датасете.

Поскольку в работе используется ViT, предобученный на ImageNet21k (224x224), для работы на изображениях с бо́льшим разрешением авторы предлагают делать 20 случайных кропов и затем усреднять результаты.

В статье также имеется ablation study, показывающий, что использование всех 4 компонент необходимо для достижения качества. Базовых подход с использованием одного только ViT на PIPAL val дает SRCC ~ 0.59, максимальный с использованием всех компонентов - SRCC ~ 0.69. Код есть.
👍1
Attentions Help CNNs See Better: Attention-based Hybrid Image Quality Assessment Network

Описанная выше траектория развития no-reference метрик схожа и для full-reference (FR). Появление PIPAL датасета позволило сравнивать подходы на более сложных данных, а организация IQA NTIRE Challenge - получать новые SOTA методы, как минимум, раз в год. Этот пост про победителей FR трека и их метрику AHIQ.

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

Другим важным компонентом архитектуры является использование deformable convolutions. Авторы замечают полезность этого типа сверток в задачах удаления размытия (deblurring) и сверх разрешения (super resolution). Это подталкивает их к мысли о том что они могут быть полезны и для задачи оценки качества изображений, в которой также необходимо обращать внимание на мелкие детали.

В целом, полученная архитектура выглядит как параллельное извлечение признаков из CNN и трансформера, после чего они комбинируются c помощью еще нескольких CNN блоков. В качестве CNN авторы используют ResNet, а в качестве трансформера - ViT. Обе модели предобучены на ImageNet, что заставляет случайно вырезать патч 224x224 из исходного изображения и работать на нём. Примечательно, что в отличие от победителей NR трека, для FR оценки качества используют признаки из первых слоев ViT, причем лучше работает архитектура с маленьким (8х8) размером патча.

Стоит отметить, что несмотря на SOTA результат на PIPAL val SRCC ~ 0.82, метод обобщается на другие датасеты (CSIQ, LIVE, TID2013) хуже чем некоторые другие метрики (PieAPP, DISTS, VIF). Официальная имплементация.
👍1
Image Quality Assessment using Synthetic Images

Выше уже обсуждался самый распространенный подход к решению задачи оценки качества изображений через обучение на mean opinion scores (MOS). Основным недостатком полученных алгоритмов является склонность к переобучению на, как правило, небольших датасетах. Альтернативные методы, основанные на использовании self-supervised претрейнов стали появляться недавно.

В этой статье авторы утилизируют менее распространенный способ получения метрик через contrastive learning без явного использования MOS. Более того, сами данные также предлагается получать искусственно. Для этого генерируются наборы геометрических фигур, которые далее “порятся” с использованием трансформаций из KADIS датасета. Также авторы попробовали обучиться на Danboru датасете для проверки важности наличия семантики на изображениях.

В качестве модели авторы взяли обычный ResNet50 с головой из двухслойного MLP, который обучали на кропах размером 256 на минимизацию контрастив лосса. В итоге получились модели с конкурентоспособным качеством по оценке на LIVE, CSIQ, TID2013 и KADID10k. Важно заметить, что на датасетах с реалистичными трансформациями вроде KonIQ и CLIVE предложенный подход все равно проигрывает HyperIQA.

Тем не менее, важность работы не столько в итоговом качестве метрики (реализацию и веса которой, кстати, так и не предоставили), сколько в осознании того что использование полностью искусственно сгенерированных данных, да еще и без человеческой разметки, может дать какой-то результат.
Evaluating the Stability of Deep Image Quality Assessment With Respect to Image Scaling

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

Авторы работы рашили проверить эту гипотезу для нескольких традиционных (PSNR, SSIM, MS-SSIM) и сравнительно новых нейросетевых (LPIPS, PieAPP, DISTS) метрик. Статья обзорная и нового метода не предлагает.

В своей работе авторы начинают с датасетов PieAPP, TID2013, KADID10k, PIPAL и CLIC. Изображения в каждом из датасетов масштабируются вниз с использованием билинейной интерполяции в соотношениях 8/9, 7/9, …, 1/9 от исходного разрешения. Для каждого масштаба проверяется корреляция значений метрик с mean opinion scores.

Несмотря на спорную постановку задачи, авторы приходят к интересному выводу. Оказывается, что для часто оптимальным масштабом для метрики является не исходный, а какой-то из уменьшенных. При этом, изменение масштаба в разной степени влияет на качество работы метрик. Наиболее стабильным оказывается алгоритм PieAPP.
Conformer and Blind Noisy Students for Improved Image Quality Assessment

Cтатья от еще одних топ перформеров IQA NTIRE challenge 2022. На этот раз, подход команды занявшей третье место в NR треке. Их статья также описывает их подход для получения топ-1 результата в FR треке в 2021 году. Но поскольку он сильно уступает первому месту 2022 года, здесь мы рассматривать его не будем.

Итак, авторы предлагают использовать тот факт, что FR метрики, в подавляющем большинстве случаев, работают лучше чем NR. При этом, на некоторых датасетах FR метрики показывают значения SRCC очень близкие к 1. Это означает, что было бы неплохо использовать их как учителей (teacher) в терминах подхода knowledge distillation. Однако не совсем ясно как это сделать в случае решения регрессионной задачи.

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

Данный подход позволяет далее использовать любой метод semi-supervised learning, но авторы этого делать не стали. Вместо этого они обучили модель на увеличенном датасете, что и так позволило получить достаточный прирост в качестве и показать в итоге SRCC ~ 0.7 на PIPAL. Код есть.
Implicit Neural Representations with Levels-of-Experts
NeurIPS 2022

Implicit Neural Representations (INR) - достаточно общий подход, позволяющий, в том числе, решать задачи компрессии данных, генерации и улучшения качества изображений. Важным свойством INR является инвариантность к размеру входных данных. По большому счету, не важно что выучивать: изображение из CIFAR или ImageNet при условно схожей "сложности" сигнала. В то же время, у используемых сетей есть некоторая ёмкость, они не могут инкапсулировать в себе бесконечное количество данных.

Ранее, в работе DeRF проиллюстрировали ограничения ёмкости MLP - наиболее часто используемой архитектуры для INR. При увеличении глубины и/или ширины сети, соотношение вычислительной сложности к ёмкости падает. Таким образом, простое увеличение размеров сетей с целью репрезентации более объемных данных имеет свои пределы. Ранее уже были предложены подходы вокруг идеи разбиения данных на блоки, но у них есть свои проблемы, наиболее выраженная из которых - отсутствие “глобального знания”. Это приводит к появлению выраженных артефактах на границах.

В этой статье авторы предлагают, в некотором смысле, иерархический подход. Вместо того чтобы разбивать данные на N фрагментов и обучать независимые INR на каждом из них, предлагается поддерживать сетку фрагментов внутри одной модели. При этом, каждый слой MLP отвечает своему “масштабу”. Например, первый слой видит полностью всю сетку (всё high-rez изображение), а второй - некоторую сетку, размеры ячеек в которой одинаковы. Интересно, что для каждой ячейки хранится своя копия весов, что и обеспечивает необходимую итоговую ёмкость.

Важной особенностью метода является то что он не привносит существенного количества дополнительных вычислений. При этом, он качественно работает на выучивании изображение высокого разрешения/видео, GAN генерации, генерации новых проекций. Код авторы не предоставили.
👍3
simple diffusion: End-to-end diffusion for high resolution images

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

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

1) Формула по которой можно рассчитать оптимальные параметры шума исходя из разрешения изображений.
Мотивация - high-rez картинки требуют своего расписания добавления шума (noise scheduling). Обычное косинусное расписание с сохранением дисперсии добавляет недостаточно шума, поскольку в high-rez картинках SNR выше.

2) Multi-scale функция потерь.
Мотивация - в high-rez картинках, высокочастотные детали вносят основной вклад в вычисление функции потерь из-за высокого SNR. Чтобы избежать дисбалланса, изображения интерполируют вниз несколько раз и вычисляют взвешенную сумму значений функции потерь при разных разрешениях.

3) Использование блоков трансформера вместо низкоразмерных свёрток U-Net.
Мотивация - низкоразмерные свёртки требуют низкой интенсивности вычислений, что приводит к не эффективной утилизации железа. Блоки 16х16 вычислительно эффективны и уже хорошо показали себя в других задачах зрения.

4) Добавление drop-out, но только на низких разрешениях.
Мотивация - создатели latent diffusion активно используют аугментации для регуляризации, а про drop-out в какой-то момент забыли. Вот и зря, он вообще-то помогает. Но, как показано экспериментально, лучше добавлять его туда где есть некоторая потенциальная избыточность. В данном случае это слои с картами признаков низкого разрешения (из-за п. 3).

Эксперименты показывают, что предложенные изменения позволяют генерировать изображения высокого разрешения SOTA качества по FID. При этом на каждое из них тратится всего ~0.5 сек. С нетерпением ждём код и веса.
👍3
FAST-VQA: Efficient End-to-end Video Quality Assessment with Fragment Sampling
ECCV 2022

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

Одной из основных проблем существующих метрик оценки качества видео (VQA) является их вычислительная сложность. В случае фрагментов высокого разрешения (>= 1080р), метрики становятся не практичными. Более того, часто для извлечения признаков используются модели предтренированные на ImageNet, что заставляет даунскейлить данные до 224х224, очевидно, теряя информацию. Разбиение на кропы тоже мало помогает, потому как масштаб объектов сильно отличен от исходного в ImageNet.

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

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

Инициализируется модель претрейном на Kinetics-400, обучается на LSVQ-train, тестируется на LSVQ-test, LSVQ-1080p, KoNViD-1k, LIVE-VQC. Метод показывает SOTA качества в терминах PLCC и SRCC при значительном сокращении FLOPs (~ в 6 раз). Аблейшены на метод получаения фрагментов и архитектуру на месте. Код есть.
👍2
Learning Customized Visual Models with Retrieval-Augmented Knowledge

Contrastive learning позволяет получать хорошие репрезентации без размеченных данных за счет доступности больших объемов текстов и картинок (CLIP). Огромные датасеты вроде LAION позволяют получать максимально общие модели. Далее они могут быть дообучены на конкретную задачу.

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

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

После этого к картиночному энкодеру добавляется несколько attention и полносвязных слоев, вся модель кроме них замораживается. Модель обучают отображать картинку и текст из каждой пары в одну точку пространства (ровно так же как обучается CLIP).

Метод стабильно улучшает результаты на широком круге задач, включая классификацию, детекцию, семантическую сегментацию. В статье имеется исчерпывающий ablation на тему дизайна процесса дообучения и выбора количества отфильтрованных данных.
Сайт проекта включает ссылку на код и дополнительные иллюстрации.
Extracting Training Data from Diffusion Models

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

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

Для нахождения заученных примеров:
1. Семплируют много картинок из модели;
2. Используют технику membership inference, адаптированную под конкретную задачу.

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

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

Предложенный метод выглядит как полезный инструмент аудита диффузионок, которые будут претендовать на продуктизацию. Кода нет.
Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture

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

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

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

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

Метод ожидаемо опережает MAE на классификации и приближается к SOTA подходами с подобранными аугментациями iBOT и DINO. При этом, новый подход более эффективный в терминах требуемых для обучения GPU часов. Есть неплохой ablation на тему выбора параметров маскирования во время обучения. Кода и весов нет.
🔥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 режиме за разумное время с приемлемым качеством, хоть и с ограничением на тип задач.