Aligning Model and Macaque Inferior Temporal Cortex Representations Improves Model-to-Human Behavioral Alignment and Adversarial Robustness
ICLR 2023 Oral
Разговоры о том что необходимо как-то заставить нейросетевые алгоритмы пародировать зрительную систему человека идут давно. Выше мы уже разбирали free-energy подход и работы, косвенно основывающиеся на нём. Сегодня перед нами удивительная статья об улучшении качества нейросетей путём использования прямых сигналов из мозга макак. Выглядит как новый шаг в (almost-)human-in-the-loop подходах.
Авторы взяли трёх приматов и вживили им в мозг несколько электродов. После этого им показали изображения из датасетов HVM и COCO, зафиксировали результаты мозговой активности. Далее, взяли предобученную на ImageNet CORNet-S модель и дообучили на с использованием данных об активности мозга как добавки к основной цели: кросс-энтропия для классификации изображений из HVM.
В качестве результатов, авторы показывают, что предложенный метод обучения:
1. Позволяет нейросети вести себя более похоже на человека. Это показывают с помощью метрики i2n, суть которой заключается в сопоставлении случаев когда модель и человек делают ошибки. Полностью одинаковый шаблон ошибок на специально подобранных задачах - максимальное значение метрики;
2. Увеличивает устойчивость к adversarial attacks. Для примера используют классическую white-box атаку projected gradient descent (PGD);
Также интересным выводом является то, что чем выше “похожесть” поведения сети на человека, тем выше устойчивость к adversarial attacks. Однако обратное не верно - бОльшая устойчивость к атакам не обязательно помогает мимикрировать под человека.
Неотвеченными остаются вопросы о том когда происходит насыщеные (scaling laws), можно ли добиться еще большей устойчивости (текущие результаты не очень большие) и как в целом строить процесс для выведения результатов на принципиально новый уровень.
ICLR 2023 Oral
Разговоры о том что необходимо как-то заставить нейросетевые алгоритмы пародировать зрительную систему человека идут давно. Выше мы уже разбирали free-energy подход и работы, косвенно основывающиеся на нём. Сегодня перед нами удивительная статья об улучшении качества нейросетей путём использования прямых сигналов из мозга макак. Выглядит как новый шаг в (almost-)human-in-the-loop подходах.
Авторы взяли трёх приматов и вживили им в мозг несколько электродов. После этого им показали изображения из датасетов HVM и COCO, зафиксировали результаты мозговой активности. Далее, взяли предобученную на ImageNet CORNet-S модель и дообучили на с использованием данных об активности мозга как добавки к основной цели: кросс-энтропия для классификации изображений из HVM.
В качестве результатов, авторы показывают, что предложенный метод обучения:
1. Позволяет нейросети вести себя более похоже на человека. Это показывают с помощью метрики i2n, суть которой заключается в сопоставлении случаев когда модель и человек делают ошибки. Полностью одинаковый шаблон ошибок на специально подобранных задачах - максимальное значение метрики;
2. Увеличивает устойчивость к adversarial attacks. Для примера используют классическую white-box атаку projected gradient descent (PGD);
Также интересным выводом является то, что чем выше “похожесть” поведения сети на человека, тем выше устойчивость к adversarial attacks. Однако обратное не верно - бОльшая устойчивость к атакам не обязательно помогает мимикрировать под человека.
Неотвеченными остаются вопросы о том когда происходит насыщеные (scaling laws), можно ли добиться еще большей устойчивости (текущие результаты не очень большие) и как в целом строить процесс для выведения результатов на принципиально новый уровень.
🔥2👍1
JNDMix: JND-Based Data Augmentation for No-reference Image Quality Assessment
Одной из главных проблем области image quality (IQ) assessment является недостаток данных: собирать данные для этой задачи дороже чем для других из-за необходимости получения нескольких десятков меток для одного изображения/пары изображений. Это приводит к тому, что модели, показывающие SOTA результаты, часто переобучены на популярные датасеты и плохо обобщаются на реальные данные.
Аугментация данные - один из наиболее простых и эффективных подходов для борьбы с переобучением. Однако, большинство методов аугментации (добавление шума, размытие, вырезание кропов) являются преобразованиями, напрямую влияющими на IQ и не могут использоваться в ходе обучения моделей.
Авторы статьи предлагают новый метод аугментации для улучшения обобщаемости IQ assessment моделей, основанный на добавлении совсем небольшого количества шума. Их гипотеза заключается в том, что если добавлять изменения (шум), не заметные для человека, можно не влиять на персептивное качество и, при этом, вносить разнообразие в данные.
Метод прост в реализации, но и полученные результаты не драматично улучшают качество. В экспериментах на метриках HyperIQA, DBCNN, MANIQA прирост в районе нескольких тысячных SCRR на LIVEC и KonIQ-10k. Результаты консистентны для всех выбранных бэкбоунов. Также показано, что метод даёт чуть больший прирост (малые сотые) качества в случае, если метриках обучается только на части данных. Кода нет.
Одной из главных проблем области image quality (IQ) assessment является недостаток данных: собирать данные для этой задачи дороже чем для других из-за необходимости получения нескольких десятков меток для одного изображения/пары изображений. Это приводит к тому, что модели, показывающие SOTA результаты, часто переобучены на популярные датасеты и плохо обобщаются на реальные данные.
Аугментация данные - один из наиболее простых и эффективных подходов для борьбы с переобучением. Однако, большинство методов аугментации (добавление шума, размытие, вырезание кропов) являются преобразованиями, напрямую влияющими на IQ и не могут использоваться в ходе обучения моделей.
Авторы статьи предлагают новый метод аугментации для улучшения обобщаемости IQ assessment моделей, основанный на добавлении совсем небольшого количества шума. Их гипотеза заключается в том, что если добавлять изменения (шум), не заметные для человека, можно не влиять на персептивное качество и, при этом, вносить разнообразие в данные.
Метод прост в реализации, но и полученные результаты не драматично улучшают качество. В экспериментах на метриках HyperIQA, DBCNN, MANIQA прирост в районе нескольких тысячных SCRR на LIVEC и KonIQ-10k. Результаты консистентны для всех выбранных бэкбоунов. Также показано, что метод даёт чуть больший прирост (малые сотые) качества в случае, если метриках обучается только на части данных. Кода нет.
The Role of ImageNet Classes in Fréchet Inception Distance
ICLR 2023
FID - самая популярная метрика оценки качества генерации, но её способность объективно отображать качество сомнительна, метрику не ругал только ленивый. В упрёк ей ставили чувствительность к количеству семплов в распределении, неспособность адекватно ранжировать модели в доменах отличных от ImageNet, низкую чувствительность к наличию отдельных плохих семплов и т.д.
С точки зрения дизайна FID:
1. Пространство признаков слишком большое (6М), признаки кодируют не только семантику, но и позиционную информацию. Возможность нахождения семантической близости в пространстве такой большой размерности сомнительна.
2. Признаки специализированы на ImageNet классификацию: во время обучения, экстрактору признаков позволено игнорировать информацию, не помогающую классифицировать ImageNet классы.
3. Признаки, используемые в FID, берутся с слишком глубоких слоев. Они очень близки к логитам ImageNet классов. Можно сказать, они почти являются ImageNet классами.
4. Известно, что ImageNet классификаторы часто переобучаются на текстуры, а не на формы объектов.
Авторы исследуют влияние ImageNet классов на метрику и анализируют то на какие характеристики изображения она обращает внимание. Предлагается хитрым образом использовать Grad-CAM:
- Семплируют 49999 из генератора;
- Считают FID на этих семплах;
- Семплируют еще одну картинку;
- Смотрят как признаки из новой картинки влияют на значение метрики с Grad-CAM;
Оказывается, что при оценке генерации лиц из FFHQ, модель, в основном, обращает внимание на части изображений, на которых лица отсутствуют.
Помимо визуализации, проводятся несколько численных экспериментов. Например показывается, что если учить модель воспроизводить Top-1 class histograms реальных данных, это увеличивает FID безотносительно качества изображений. Далее они придумывают “атаку”, основанную на отборе семплов, позволяющую получать более низкие значения FID без переобучения. По сути, это инструмент автоматического cherry-picking. Есть код.
ICLR 2023
FID - самая популярная метрика оценки качества генерации, но её способность объективно отображать качество сомнительна, метрику не ругал только ленивый. В упрёк ей ставили чувствительность к количеству семплов в распределении, неспособность адекватно ранжировать модели в доменах отличных от ImageNet, низкую чувствительность к наличию отдельных плохих семплов и т.д.
С точки зрения дизайна FID:
1. Пространство признаков слишком большое (6М), признаки кодируют не только семантику, но и позиционную информацию. Возможность нахождения семантической близости в пространстве такой большой размерности сомнительна.
2. Признаки специализированы на ImageNet классификацию: во время обучения, экстрактору признаков позволено игнорировать информацию, не помогающую классифицировать ImageNet классы.
3. Признаки, используемые в FID, берутся с слишком глубоких слоев. Они очень близки к логитам ImageNet классов. Можно сказать, они почти являются ImageNet классами.
4. Известно, что ImageNet классификаторы часто переобучаются на текстуры, а не на формы объектов.
Авторы исследуют влияние ImageNet классов на метрику и анализируют то на какие характеристики изображения она обращает внимание. Предлагается хитрым образом использовать Grad-CAM:
- Семплируют 49999 из генератора;
- Считают FID на этих семплах;
- Семплируют еще одну картинку;
- Смотрят как признаки из новой картинки влияют на значение метрики с Grad-CAM;
Оказывается, что при оценке генерации лиц из FFHQ, модель, в основном, обращает внимание на части изображений, на которых лица отсутствуют.
Помимо визуализации, проводятся несколько численных экспериментов. Например показывается, что если учить модель воспроизводить Top-1 class histograms реальных данных, это увеличивает FID безотносительно качества изображений. Далее они придумывают “атаку”, основанную на отборе семплов, позволяющую получать более низкие значения FID без переобучения. По сути, это инструмент автоматического cherry-picking. Есть код.
Composer: Creative and Controllable Image Synthesis with Composable Conditions
Одним из самых желанных свойств генеративных моделей - способность гранулярно контролировать свойства изображений. Выше мы уже разбирали работы, которые позволяют селективно модифицировать объекты на изображении и использовать виды guidance отличные от классификации например, сегментационные маски или текст (не путать с conditioning).
Эта работа еще дальше расширяет возможности контроля диффузионной генерации за счет комбинирования нескольких видов conditioning. Каждая итерация обучения разбивается на две фазы:
1. Decomposition - каждое изображение в батче разбирается на 8 представлений:
- Caption - тестовые CLIP эмбеды;
- Semantics and style - картиночные CLIP эмбеды;
- Color - CIELab histogram;
- Sketch - выход edge detection модели;
- Instances - инстанс сегментация YOLOv5;
- Depthmap - выходы depth модели;
- Intensity - grayscale версия картинки;
- Masking - случайное маскирование;
2. Composition - сеть обучают восстанавливать исходные изображения из их decomposed представлений:
- Global conditioning (caption, semantics/style, color) добавляются к эмбедингу
- Local conditioning (все остальное) переводится в то же пространство эмбедов что и
Основная диффузионка выдаёт 64x64, которые далее апсемплятся двумя unconditional моделями. Авторы также экспериментируют с использованием prior модели как в DALL-E 2 для отображения текстовых CLIP эмбедов в картиночные. Prior вводится как опциональный блок, при этом подтверждается вывод авторов DALL-E 2 о том что это увеличивает вариативность генерации.
Большое количество комбинаций на стадии composition делает обучение сложным, но вариативным. Cеть покрывает всё множество комбинаций, за счет чего научается восстанавливать изображения из ранее не встречавшихся комбинаций. С нетерпением ждём обещанный код тут.
Одним из самых желанных свойств генеративных моделей - способность гранулярно контролировать свойства изображений. Выше мы уже разбирали работы, которые позволяют селективно модифицировать объекты на изображении и использовать виды guidance отличные от классификации например, сегментационные маски или текст (не путать с conditioning).
Эта работа еще дальше расширяет возможности контроля диффузионной генерации за счет комбинирования нескольких видов conditioning. Каждая итерация обучения разбивается на две фазы:
1. Decomposition - каждое изображение в батче разбирается на 8 представлений:
- Caption - тестовые CLIP эмбеды;
- Semantics and style - картиночные CLIP эмбеды;
- Color - CIELab histogram;
- Sketch - выход edge detection модели;
- Instances - инстанс сегментация YOLOv5;
- Depthmap - выходы depth модели;
- Intensity - grayscale версия картинки;
- Masking - случайное маскирование;
2. Composition - сеть обучают восстанавливать исходные изображения из их decomposed представлений:
- Global conditioning (caption, semantics/style, color) добавляются к эмбедингу
t, часть из них также конкатенируется с текстовым эмбедом в cross-attention (как в GLIDE). - Local conditioning (все остальное) переводится в то же пространство эмбедов что и
x_t. Вектора складывают и конкатенируют с вектором x_t, после чего подают в U-Net. Основная диффузионка выдаёт 64x64, которые далее апсемплятся двумя unconditional моделями. Авторы также экспериментируют с использованием prior модели как в DALL-E 2 для отображения текстовых CLIP эмбедов в картиночные. Prior вводится как опциональный блок, при этом подтверждается вывод авторов DALL-E 2 о том что это увеличивает вариативность генерации.
Большое количество комбинаций на стадии composition делает обучение сложным, но вариативным. Cеть покрывает всё множество комбинаций, за счет чего научается восстанавливать изображения из ранее не встречавшихся комбинаций. С нетерпением ждём обещанный код тут.
🔥4
Diffusion Probabilistic Models for Graph-Structured Prediction
Диффузионные модели прочно закрепились в роли лидеров для задачи генерации и редактирования изобаражений. При этом, вопрос их полезности для работы с другими доменами все еще активно исследуется.
В данной статье рассматривается их применимость для задачи предсказания структуры графа. Без потери общности, рассматривается задача предсказания классов вершин графа.
Мотивация: утверждается, что существующие сегодня графовые нейросети (GNN) не способны улавливать зависимости между целевыми метками (классами). В то же время, “глобальный” процесс “зашумления-расшумления” может помочь уловить некоторые зависимости: например в гомогенных графах близкие вершины более вероятно относятся к одному классу. Таким образом, можно использовать менее глубокие GNN и, при этом, получать более качественные предсказания.
Авторы рассматривают две постановки:
1. Fully supervised (все вершины имеют метки классов). В этом случае метод мало чем отличается от диффузии для других доменов: множество меток
2. Semi-supervised (часть меток классов отсутствует). К supervised методу добавляется EM алгоритм: на стадии expectation делается оценка вариационного распределения пропущенных меток. На стадии maximization происходит обучение диффузионной модели с учетом полученной оценки.
Метод валидируется на задачах классификации и algorithmic reasoning. Eсть ablation, показывающий:
- Преимущество перехода на диффузию вместо увеличения глубины GNN;
- Преимущество детерменированного семплирования;
- Разумную вычислительную сложность.
Код есть.
Диффузионные модели прочно закрепились в роли лидеров для задачи генерации и редактирования изобаражений. При этом, вопрос их полезности для работы с другими доменами все еще активно исследуется.
В данной статье рассматривается их применимость для задачи предсказания структуры графа. Без потери общности, рассматривается задача предсказания классов вершин графа.
Мотивация: утверждается, что существующие сегодня графовые нейросети (GNN) не способны улавливать зависимости между целевыми метками (классами). В то же время, “глобальный” процесс “зашумления-расшумления” может помочь уловить некоторые зависимости: например в гомогенных графах близкие вершины более вероятно относятся к одному классу. Таким образом, можно использовать менее глубокие GNN и, при этом, получать более качественные предсказания.
Авторы рассматривают две постановки:
1. Fully supervised (все вершины имеют метки классов). В этом случае метод мало чем отличается от диффузии для других доменов: множество меток
y_0 зашумляется Гауссовским шумом с сохранением дисперсии и нелинейным (косинусным) scheduling до стандартного нормального y_T за T итераций. Модель обучают предсказывать матожидание шума на шаге t, используя L2 функцию потерь. Поскольку задача классификации требует детерменированных ответов, y_(t-1) получается из y_t усреднением p(y_(t-1)|y_t).2. Semi-supervised (часть меток классов отсутствует). К supervised методу добавляется EM алгоритм: на стадии expectation делается оценка вариационного распределения пропущенных меток. На стадии maximization происходит обучение диффузионной модели с учетом полученной оценки.
Метод валидируется на задачах классификации и algorithmic reasoning. Eсть ablation, показывающий:
- Преимущество перехода на диффузию вместо увеличения глубины GNN;
- Преимущество детерменированного семплирования;
- Разумную вычислительную сложность.
Код есть.
🔥1
MiDi: Mixed Graph and 3D Denoising Diffusion for Molecule Generation
Одним из основных применений графовых нейросетей (GNN) является решение задач с молекулярными данными: предсказание хим структур и их свойств. С практической точки зрения, интересны два вида организации: 2D связность атомов и 3D расположение атомов в пространстве. Первая характеристика, в основном, определяет физ-хим свойства молекулы, вторая - конформационное взаимодействие с белками и другими макромолекулами.
Существующие подходы предсказывают 2D и 3D характеристики по отдельности, что ограничивает их качество и применимость. В данной работе авторы предлагают диффузионки для одновременной генерации 2D и 3D структур, что крайне полезно для области drug discovery.
Главная мысль статьи заключается в том что можно одновременно учить/семплировать непрерывные (3D координаты) и дискретные (2D структура графа) данные:
- Непрерывное распределение, как и в других доменах, моделируется Гауссовским шумом, где в качестве среднего берется центр масс облака точек.
- Дискретное распределение моделируется с помощью подхода дискретной диффузии для графов, суть которого в том чтобы моделировать каждый переход между шагами
Таким образом, матрицы смежности, определяющие структуру графа молекулы “зашумляют-расшумляют” напрямую, тогда как свойства каждого атома и хим связи, представленные категориальными признаками, кодируют one-hot векторами.
Модель представляет собой трансформер, одновременно принимающий на вход все виды данных и комбинирующий их, в основном, с помощью self-attention блока. Важными свойствами молекул являются поворотная и трансляционная эквивариантность. С целью сохранения этих свойств, для 3D координат используется дополнительный MLP слой со своим лоссом.
Модель обучается миниминизировать взвешенную сумму нескольких компонентов лосса. В экспериментах показывает SOTA результат. Код есть.
Одним из основных применений графовых нейросетей (GNN) является решение задач с молекулярными данными: предсказание хим структур и их свойств. С практической точки зрения, интересны два вида организации: 2D связность атомов и 3D расположение атомов в пространстве. Первая характеристика, в основном, определяет физ-хим свойства молекулы, вторая - конформационное взаимодействие с белками и другими макромолекулами.
Существующие подходы предсказывают 2D и 3D характеристики по отдельности, что ограничивает их качество и применимость. В данной работе авторы предлагают диффузионки для одновременной генерации 2D и 3D структур, что крайне полезно для области drug discovery.
Главная мысль статьи заключается в том что можно одновременно учить/семплировать непрерывные (3D координаты) и дискретные (2D структура графа) данные:
- Непрерывное распределение, как и в других доменах, моделируется Гауссовским шумом, где в качестве среднего берется центр масс облака точек.
- Дискретное распределение моделируется с помощью подхода дискретной диффузии для графов, суть которого в том чтобы моделировать каждый переход между шагами
t и t-1 с помощью непрерывных матриц перехода Q. Таким образом, матрицы смежности, определяющие структуру графа молекулы “зашумляют-расшумляют” напрямую, тогда как свойства каждого атома и хим связи, представленные категориальными признаками, кодируют one-hot векторами.
Модель представляет собой трансформер, одновременно принимающий на вход все виды данных и комбинирующий их, в основном, с помощью self-attention блока. Важными свойствами молекул являются поворотная и трансляционная эквивариантность. С целью сохранения этих свойств, для 3D координат используется дополнительный MLP слой со своим лоссом.
Модель обучается миниминизировать взвешенную сумму нескольких компонентов лосса. В экспериментах показывает SOTA результат. Код есть.
👍2
Stop Oversampling for Class Imbalance Learning: A Critical Review
Дисбаланс классов - частая проблема при работе с реальными данными. Более того, такие задачи как детекция фрода подразумевают его по умолчанию.
Для борьбы с дисбаллансом классов предложен ряд подходов:
1. Сбор дополнительных данных семплов из недопредставленного класса (НК);
2. Изменение функции потерь с целью увеличения веса НК;
3. Оверсемплинг НК;
4. Андекрсеплинг мажоритарных классов (МК);
5. Любая комбинация предыдущих подходов.
Оверсепмлинг НК - один из наиболее часто используемых подходов. Авторы указывают на его проблемы:
- Поскольку сгенерированные примеры обычно делаются “похожими” на исходные (что не обязательно на практике), их использование приводит к переобучению;
- На практике, “похожие” примеры могут принадлежать к другому классу, что еще сильнее мешает применению обученных на них моделей;
В качестве подтверждения авторы проводят валидацию 72 методов на 3 датасетах следующим образом:
- Из исходных данных убирают часть МК;
- На оставшихся данных применяют метод оверсемплинга;
- Смотрят насколько новые семплы похожи на НК и МК по метрике Hassanat distance;
- Показывают, что все подходы либо генерят данные больше похожие на МК, либо что-то среднее между МК и НК.
Важно, что некоторые подходы ошибаются сравнительно мало и поэтому, если оверсемплинга не избежать, рекомендуется использовать их.
В целом, статья выглядит достаточно плотно и рекомендуется к более детальному ознакомлению тем кто интересуется проблемой борьбы с дисбалансом классов.
Дисбаланс классов - частая проблема при работе с реальными данными. Более того, такие задачи как детекция фрода подразумевают его по умолчанию.
Для борьбы с дисбаллансом классов предложен ряд подходов:
1. Сбор дополнительных данных семплов из недопредставленного класса (НК);
2. Изменение функции потерь с целью увеличения веса НК;
3. Оверсемплинг НК;
4. Андекрсеплинг мажоритарных классов (МК);
5. Любая комбинация предыдущих подходов.
Оверсепмлинг НК - один из наиболее часто используемых подходов. Авторы указывают на его проблемы:
- Поскольку сгенерированные примеры обычно делаются “похожими” на исходные (что не обязательно на практике), их использование приводит к переобучению;
- На практике, “похожие” примеры могут принадлежать к другому классу, что еще сильнее мешает применению обученных на них моделей;
В качестве подтверждения авторы проводят валидацию 72 методов на 3 датасетах следующим образом:
- Из исходных данных убирают часть МК;
- На оставшихся данных применяют метод оверсемплинга;
- Смотрят насколько новые семплы похожи на НК и МК по метрике Hassanat distance;
- Показывают, что все подходы либо генерят данные больше похожие на МК, либо что-то среднее между МК и НК.
Важно, что некоторые подходы ошибаются сравнительно мало и поэтому, если оверсемплинга не избежать, рекомендуется использовать их.
В целом, статья выглядит достаточно плотно и рекомендуется к более детальному ознакомлению тем кто интересуется проблемой борьбы с дисбалансом классов.
Consistency Models
Диффузионные модели могут показывать стабильно высокое качество генерации, при этом не страдать от ограничений других генеративных моделей: mode collapse для GANs, архитектурные ограничения для Normalizing Flows, VAEs, авторегрессионных моделей. При этом, у них есть свой недостаток - низкая скорость генерации из-за итеративного семплирования.
Ускорению семплирования без значительной потери качества посвящена больша́я часть публикаций в области. Наиболее распространены подходы с использованием:
1. Более быстрых методов численного решения диф. уравнений (например DDIM), которые все равно требуют > 10 итераций для семплирования;
2. Дистилляция, обычно в GAN.
Авторы работы предлагают новый класс моделей. Их характерное свойство - способность отображать объект с произвольного шага диффузии
Важно, что возвращаться в исходную точку один раз можно, но не обязательно. Можно чередовать операции семплирования и зашумления. Это позволяет улучшать качество за счет увеличения вычислительной сложности аналогично диффузионным моделям.
Consistency models (CM) либо дистиллируют существующую диффузионку (но без адверсариал лосса), либо конструируются с нуля:
1. Consistency distillation - генерим
2. Consistency training - оказывается, можно заменить диффузионку для оценки
Оба обучения видут к высокому качеству по меркам one-shot генерации. Как и диффузионные модели, CM могут из коробки делать image editing, inpainting и т.д. Код только неофициальный.
Диффузионные модели могут показывать стабильно высокое качество генерации, при этом не страдать от ограничений других генеративных моделей: mode collapse для GANs, архитектурные ограничения для Normalizing Flows, VAEs, авторегрессионных моделей. При этом, у них есть свой недостаток - низкая скорость генерации из-за итеративного семплирования.
Ускорению семплирования без значительной потери качества посвящена больша́я часть публикаций в области. Наиболее распространены подходы с использованием:
1. Более быстрых методов численного решения диф. уравнений (например DDIM), которые все равно требуют > 10 итераций для семплирования;
2. Дистилляция, обычно в GAN.
Авторы работы предлагают новый класс моделей. Их характерное свойство - способность отображать объект с произвольного шага диффузии
t обратно в исходный. При этом, отображение из одной и той же точки t всегда приводит к одному и тому же исходному изображению, из-за чего модель и называют consistent. Важно, что возвращаться в исходную точку один раз можно, но не обязательно. Можно чередовать операции семплирования и зашумления. Это позволяет улучшать качество за счет увеличения вычислительной сложности аналогично диффузионным моделям.
Consistency models (CM) либо дистиллируют существующую диффузионку (но без адверсариал лосса), либо конструируются с нуля:
1. Consistency distillation - генерим
x_(t+1) из x и Гауссовского шума на шаге t+1, восстанавливаем x̂_t предобученной диффузионкой, учим CM минимизировать расстояние d(x_(t+1), x̂_t);2. Consistency training - оказывается, можно заменить диффузионку для оценки
x̂_t на Монте-Карло оценку при достаточно большом N числе шагов диффузии.Оба обучения видут к высокому качеству по меркам one-shot генерации. Как и диффузионные модели, CM могут из коробки делать image editing, inpainting и т.д. Код только неофициальный.
👍2
Diffusion Models and Semi-Supervised Learners Benefit Mutually with Few Labels
Задача semi-supervised learning заключается в обучении модели на частично размеченных данных. Например для задачи классификации это выучивание распределения
Статья показывает, что совместное решение этих двух задач приводит к увеличению качества решения каждой из них. Для этого предлагается следующий алгоритм обучения моделей:
1. Берем датасет, в котором не все
2. Обучаем на парах
3. Размечаем с помощью классификатора изначально не размеченные
4. Обучаем class-conditional модель генерировать новые
5. Обучаем классификатор на исходном + дополнительно нагенерированном датасете.
В случае ранее предложенных подходов с обучением на
- Continuity Assumption (Smoothness): близкие друг к другу объекты, вероятно, относятся к одному классу;
- Cluster Assumption - объекты одного класса группируются в кластеры.
С дивана кажется, что в новом подходе не много смысла, потому что новой информации не добавляется и модели “гоняют” свои предикты по кругу. Это не совсем так, поскольку, в данном случае, генеративная модель получает доп. информацию от классификатора, а классификатор - от генеративной модели.
Используя только 1% меток каждого класса, авторы получают top-1 acc ~ 75.4 на ImageNet (ViT B/4) и FID-50k ~ 3.35 (U-ViT and MSN L/7). Кода нет.
Задача semi-supervised learning заключается в обучении модели на частично размеченных данных. Например для задачи классификации это выучивание распределения
p(label|image) в случае, когда не для всех image изначально известен label. Class-conditional генерация, в свою очередь, обратная задача: необходимо выучить p(image|label), но в данном случае может не хватать image при известных label. Статья показывает, что совместное решение этих двух задач приводит к увеличению качества решения каждой из них. Для этого предлагается следующий алгоритм обучения моделей:
1. Берем датасет, в котором не все
image имеют label.2. Обучаем на парах
image-label классификатор.3. Размечаем с помощью классификатора изначально не размеченные
image. Новую разметку назовем pseudo-label.4. Обучаем class-conditional модель генерировать новые
image для данных label и pseudo-label. Таким образом датасет увеличивается. 5. Обучаем классификатор на исходном + дополнительно нагенерированном датасете.
В случае ранее предложенных подходов с обучением на
pseudo-lagels, улучшение метрик может достигаться если выполняются:- Continuity Assumption (Smoothness): близкие друг к другу объекты, вероятно, относятся к одному классу;
- Cluster Assumption - объекты одного класса группируются в кластеры.
С дивана кажется, что в новом подходе не много смысла, потому что новой информации не добавляется и модели “гоняют” свои предикты по кругу. Это не совсем так, поскольку, в данном случае, генеративная модель получает доп. информацию от классификатора, а классификатор - от генеративной модели.
Используя только 1% меток каждого класса, авторы получают top-1 acc ~ 75.4 на ImageNet (ViT B/4) и FID-50k ~ 3.35 (U-ViT and MSN L/7). Кода нет.
👍1
Quality-aware Pre-trained Models for Blind Image Quality Assessment
CVPR 2023
Одна из основных проблем в оценке качества изображений без референсного пример (NR-IQA) - отсутствие датасетов достаточного размера. Наибольший доступный датасет FLIVE имеет всего ~40k картинок, уступая даже CIFAR-10 (60k). В области NR-IQA обычно борются с этой проблемой:
1. Использованием не специфичных к задачи IQA тушек (MANIQA);
2. Эксплуатацией свойств больших self-supervised learning (SSL) претренов (CLIP-IQA);
3. Обучением специфических для IQA SSL претренов (CONTRIQUE);
4. Добавлением особенных аугментаций. Они должны менять изображения, но не влиять на “качество”;
Концептуально, данная работа - комбинация подходов 3 и 4 + преложение нового метода SSL предобоучения. Суть в том, чтобы:
- Расширить множество аугментаций для увеличения вариативности данных;
- Предложить новый SSL лосс, более эффективно использующий доступную в задаче IQA информацию;
Основной инсайт статьи в том чтобы не просто разделять картинки с разным типом дисторшенов в разные классы (CONTRIQUE) - Quality-Aware Pretext Task (QPT). Помимо этого предлагается ввести две компоненты, отвечающие за “разность”: degradation based и content based. Таким образом, если взять два кропа из одной degraded картинки, то расстояние между этими патчами должно быть достаточно мало и, при этом, оно должно быть меньше чем расстояние каждого из этих патчей до:
- Любого патча из другой картинки;
- Любого патча из той же картинки, но с другим типом degradation.
Используя новый лосс и расширенный набор аугментаций авторам удается:
- Пробить SOTA в NR-IQA на всех основных датасетах;
- Улучшить качества топовых NR метрик, заменив в них тушки на свой претрен.
Кода и весов нет.
CVPR 2023
Одна из основных проблем в оценке качества изображений без референсного пример (NR-IQA) - отсутствие датасетов достаточного размера. Наибольший доступный датасет FLIVE имеет всего ~40k картинок, уступая даже CIFAR-10 (60k). В области NR-IQA обычно борются с этой проблемой:
1. Использованием не специфичных к задачи IQA тушек (MANIQA);
2. Эксплуатацией свойств больших self-supervised learning (SSL) претренов (CLIP-IQA);
3. Обучением специфических для IQA SSL претренов (CONTRIQUE);
4. Добавлением особенных аугментаций. Они должны менять изображения, но не влиять на “качество”;
Концептуально, данная работа - комбинация подходов 3 и 4 + преложение нового метода SSL предобоучения. Суть в том, чтобы:
- Расширить множество аугментаций для увеличения вариативности данных;
- Предложить новый SSL лосс, более эффективно использующий доступную в задаче IQA информацию;
Основной инсайт статьи в том чтобы не просто разделять картинки с разным типом дисторшенов в разные классы (CONTRIQUE) - Quality-Aware Pretext Task (QPT). Помимо этого предлагается ввести две компоненты, отвечающие за “разность”: degradation based и content based. Таким образом, если взять два кропа из одной degraded картинки, то расстояние между этими патчами должно быть достаточно мало и, при этом, оно должно быть меньше чем расстояние каждого из этих патчей до:
- Любого патча из другой картинки;
- Любого патча из той же картинки, но с другим типом degradation.
Используя новый лосс и расширенный набор аугментаций авторам удается:
- Пробить SOTA в NR-IQA на всех основных датасетах;
- Улучшить качества топовых NR метрик, заменив в них тушки на свой претрен.
Кода и весов нет.
👍1
Rethinking Image Aesthetics Assessment: Models, Datasets and Benchmarks
Есть такая задача - оценивать эстетичность изображений. Называется она Image Aesthetics Assessment (IAA) и для нее уже много чего сделано. Есть более-менее известные датасеты, например:
- Aesthetic Visual Analysis (AVA) dataset (репо) - 250к картинок с кучей мета-данных и семантических меток для 60 категорий сцен. Явной разметки качества ассессорами нет;
- FLICKR-AES dataset (репо | статья | саплемент) - 40к фоток, есть разметка анотаторами.
Авторы статьи утверждают, что фотографы и прочие творческие люди оценивают стиль относительно тематики изображения (image -> theme -> style), то есть красивость для пейзажного и портретного фото - разные вещи. В то же время, существующие датасеты предоставляют разметку:
1. Минуя стадию разбиения на темы (image -> style);
2. Со слишком большой долей субьективности (мало разметчиков на каждую картинку).
Во-первых, в статье предлагается новый, большой датасет TAD66k, который содержит изображения из 7 “супер тем”: plants, animals, artifacts, colors, humans, landscapes and other, которые далее детализировали до 47 финальных “тем”. Каждую картинку оценивали примерно 1200 человек с прицелом на то чтобы сохранить общее распределение оценок близкое к равномерному. Это важно, потому что, например, в датасете AVA очень мало картинок с оценкой 1-2 или 9-10 по десятибальной шкале.
Во-вторых, авторы предлагают предлагают модель TUNet, состоящую из трех модулей:
- Theme understanding - предобучена на Places, заморожена;
- RGB-distribution-aware Attention Network - мини-трансформер со своим вариантом атеншена, учится с нуля;
- Aesthetics Perceiving Network - экстрактор признаков в виде замороженного MobileNetV2. Активации с последних слоев фьюзятся и подаются в обучаемую голову.
Модель уверенно выбивает соту на TAD66k, AVA и FLICKR-AES в терминах SRCC с усредненными ответами респондентов. Код для FLICKR-AES не дают, остальное есть тут. Данные тоже дают.
Есть такая задача - оценивать эстетичность изображений. Называется она Image Aesthetics Assessment (IAA) и для нее уже много чего сделано. Есть более-менее известные датасеты, например:
- Aesthetic Visual Analysis (AVA) dataset (репо) - 250к картинок с кучей мета-данных и семантических меток для 60 категорий сцен. Явной разметки качества ассессорами нет;
- FLICKR-AES dataset (репо | статья | саплемент) - 40к фоток, есть разметка анотаторами.
Авторы статьи утверждают, что фотографы и прочие творческие люди оценивают стиль относительно тематики изображения (image -> theme -> style), то есть красивость для пейзажного и портретного фото - разные вещи. В то же время, существующие датасеты предоставляют разметку:
1. Минуя стадию разбиения на темы (image -> style);
2. Со слишком большой долей субьективности (мало разметчиков на каждую картинку).
Во-первых, в статье предлагается новый, большой датасет TAD66k, который содержит изображения из 7 “супер тем”: plants, animals, artifacts, colors, humans, landscapes and other, которые далее детализировали до 47 финальных “тем”. Каждую картинку оценивали примерно 1200 человек с прицелом на то чтобы сохранить общее распределение оценок близкое к равномерному. Это важно, потому что, например, в датасете AVA очень мало картинок с оценкой 1-2 или 9-10 по десятибальной шкале.
Во-вторых, авторы предлагают предлагают модель TUNet, состоящую из трех модулей:
- Theme understanding - предобучена на Places, заморожена;
- RGB-distribution-aware Attention Network - мини-трансформер со своим вариантом атеншена, учится с нуля;
- Aesthetics Perceiving Network - экстрактор признаков в виде замороженного MobileNetV2. Активации с последних слоев фьюзятся и подаются в обучаемую голову.
Модель уверенно выбивает соту на TAD66k, AVA и FLICKR-AES в терминах SRCC с усредненными ответами респондентов. Код для FLICKR-AES не дают, остальное есть тут. Данные тоже дают.
IC9600: A Benchmark Dataset for Automatic Image Complexity Assessment
Есть еще одна недооцененная задача - Image Complexiy (IC) Assessment. Под комплексностью понимается количество вариативности и деталей на изображении. Субъективно это ощущается как степень сложности описания увиденного. Оценить комплексность не просто потому что такие оценки крайне субъективны, а для покрытия множества возможных сцен нужно внушительное количество данных.
Видя всё это безобразие, авторы закатили рукава и предложили новый датасет IC9600. Он больше предыдущих и лучше размечен. Сами же изображения представляют 8 категорий: abstract, advertisement, architecture, object, painting, person, scene, and transportation.
В статье есть несколько любопытных деталей касательно процесса сбора и разметки датасета. Например, авторы не стали сами скрапить интернет, а просто надёргали картинок из AVA (abstract, architecture), MS-COCO (object), JenAesthetics (painting), Wider-Person (person) и других.
С разметкой заморочились: вместо того чтобы просто закидать задачу ресурсами с краудсорс платформы, авторы придумали тест, в котором потенциальном асессорам показывали простые картинки с абстрактными фигурами. Картинки были сделаны так что часть из них была строго сложнее других (больше фигур, более сложные фигуры и т.д.). Участники допускались к разметке данных после успешного прохождения теста. Отобранным 17 участникам не давали размечать картинки если они смотрели на них меньше 10 сек и всего они размечали не более 320 картинок в день.
Авторы также предлагают бейзлайн модель на своем датасете - ICNet. Она состоит из двух частей: первая предсказывает общий IC score, вторая - IC map. Интересной деталью является свой вариант attention, который лучше улавливает структурные отличия.
В конце статьи приводятся примеры того как решение других задач (Image Quality Assessment, Image Segmentation, Image Classification etc.) может быть улучшено с помощью IC assessment. Код есть, данные дают по отдельному запросу (инструкция там же).
Есть еще одна недооцененная задача - Image Complexiy (IC) Assessment. Под комплексностью понимается количество вариативности и деталей на изображении. Субъективно это ощущается как степень сложности описания увиденного. Оценить комплексность не просто потому что такие оценки крайне субъективны, а для покрытия множества возможных сцен нужно внушительное количество данных.
Видя всё это безобразие, авторы закатили рукава и предложили новый датасет IC9600. Он больше предыдущих и лучше размечен. Сами же изображения представляют 8 категорий: abstract, advertisement, architecture, object, painting, person, scene, and transportation.
В статье есть несколько любопытных деталей касательно процесса сбора и разметки датасета. Например, авторы не стали сами скрапить интернет, а просто надёргали картинок из AVA (abstract, architecture), MS-COCO (object), JenAesthetics (painting), Wider-Person (person) и других.
С разметкой заморочились: вместо того чтобы просто закидать задачу ресурсами с краудсорс платформы, авторы придумали тест, в котором потенциальном асессорам показывали простые картинки с абстрактными фигурами. Картинки были сделаны так что часть из них была строго сложнее других (больше фигур, более сложные фигуры и т.д.). Участники допускались к разметке данных после успешного прохождения теста. Отобранным 17 участникам не давали размечать картинки если они смотрели на них меньше 10 сек и всего они размечали не более 320 картинок в день.
Авторы также предлагают бейзлайн модель на своем датасете - ICNet. Она состоит из двух частей: первая предсказывает общий IC score, вторая - IC map. Интересной деталью является свой вариант attention, который лучше улавливает структурные отличия.
В конце статьи приводятся примеры того как решение других задач (Image Quality Assessment, Image Segmentation, Image Classification etc.) может быть улучшено с помощью IC assessment. Код есть, данные дают по отдельному запросу (инструкция там же).
👍2
Image Inpainting via Iteratively Decoupled Probabilistic Modeling
Мы часто видим диффузионки в задачах генерации изображений. При этом, задачи вроде inpainting и image enhancement (super rez, denoising) как будто отдельная область. На самом деле, в случае, когда закрашивать нужно большие регионы, задача мало чем отличается от условной текстовой генерации. Только в этом случае в виде условия выступают известные части изображения, которое надо восстановить.
Диффузионные модели уже применяли к задаче large hole inpainting (RePaint, SD, Palette). Все эти подходы страдают от общей болячки диффузионок - вычислительно сложного инференса. С другой стороны, GAN подходы, хоть и ушли на второй план, вычислительно более эффективны (StyleGAN). Однако ганам тяжело делать single-shot предсказания уровня диффузионок + они все еще могут генерить специфические артефакты.
Авторы придумали как взять лучшее из двух миров и предлагают процедуру итеративного закрашивания. Суть в обучении диффузионной модели, которая на шаге
Опуская детали, упрощенный алгоритм семплирования выглядит следующим образом:
1. Берём U-Net с StyleGAN декодером;
2. Берем картинку
3. Получаем оценку на шаге
4. Нормализуем
5. Используя
6. Семплируем пиксели, переходим на следующий шаг.
Добавляя в смесь лоссов вариант perceptual loss (необходимый компонент всех inpainting моделей), авторы обучаюся на Places2 и CelebA-HQ до получения FID ~ 1.7 (large mask❗️, Places2). Модель имеет всего 20% от параметров SD и работает в 10 раз быстрее. Код ждём тут.
Мы часто видим диффузионки в задачах генерации изображений. При этом, задачи вроде inpainting и image enhancement (super rez, denoising) как будто отдельная область. На самом деле, в случае, когда закрашивать нужно большие регионы, задача мало чем отличается от условной текстовой генерации. Только в этом случае в виде условия выступают известные части изображения, которое надо восстановить.
Диффузионные модели уже применяли к задаче large hole inpainting (RePaint, SD, Palette). Все эти подходы страдают от общей болячки диффузионок - вычислительно сложного инференса. С другой стороны, GAN подходы, хоть и ушли на второй план, вычислительно более эффективны (StyleGAN). Однако ганам тяжело делать single-shot предсказания уровня диффузионок + они все еще могут генерить специфические артефакты.
Авторы придумали как взять лучшее из двух миров и предлагают процедуру итеративного закрашивания. Суть в обучении диффузионной модели, которая на шаге
t предсказывает закрашенную картинку μ и карту уверенности σ2. При этом, на μ дополнительно накладывается adversarial loss, который добавляет супервижена обучению диффузионной модели. Опуская детали, упрощенный алгоритм семплирования выглядит следующим образом:
1. Берём U-Net с StyleGAN декодером;
2. Берем картинку
x, зашумляем для шага t;3. Получаем оценку на шаге
t-1 для параметров норм. распределения μ и σ2;4. Нормализуем
σ2 на [0, 1] -> uncertainty map u;5. Используя
u шага t, выбираем фиксированное число пикселей с самой низкой uncertainty;6. Семплируем пиксели, переходим на следующий шаг.
Добавляя в смесь лоссов вариант perceptual loss (необходимый компонент всех inpainting моделей), авторы обучаюся на Places2 и CelebA-HQ до получения FID ~ 1.7 (large mask❗️, Places2). Модель имеет всего 20% от параметров SD и работает в 10 раз быстрее. Код ждём тут.
ReVersion: Diffusion-Based Relation Inversion from Images
Мы уже разбирали работу по использованию текстовой инверсии для контроля над диффузионной генерацией. Суть её в выучивании некоторого “концепта”
Авторы работый заметили, что если объекты (“концепты”) так выучивать получается, то отношения между объектами - нет. Например вам хочется сгенерировать отношение рукопожатия
Как и в случае с выучиванием “концептов”, предлагается использовать текстовую инверсию, однако для текущего сценария требуется пара усложнений.
1. Preposition prior - слово должно быть предлогом(формулируется в виде контрастив лосса). Вводится поскольку в естественных языках отношения между объектами чаще всего выражаются предлогами (prepositions);
2. Relation-Focal Importance Sampling. Во время семплинга из шума, в первую очередь генерируются высокоуровневые компоненты изображения. На более поздних шагах (меньшие значения
Поскольку задача Relation Inversion новая, авторы предлагают свой датасет ReVersion Benchmark - набор заготовленных изображений с текстовыми описаниями, где подобраны вариативные объекты и отношения между ними. Помимо этого, проводят опрос пользователей для проверки реалистичности. Также есть ablation, показывающий важность обоих предложенных изменений. Код есть.
Мы уже разбирали работу по использованию текстовой инверсии для контроля над диффузионной генерацией. Суть её в выучивании некоторого “концепта”
S* - текстового представления объекта. “Концепт” может не являться реальным словом, главное чтоб позволял генерировать правильные объекты. Применяется это так: допустим вы выучили концепт дерева S* и теперь можете генерировать голубые деревья запросом: “An image of a blue `S*`”.Авторы работый заметили, что если объекты (“концепты”) так выучивать получается, то отношения между объектами - нет. Например вам хочется сгенерировать отношение рукопожатия
<R> между двумя объектами: “rabbit <R> child”. Как это сделать? Задачу назвали Relation Inversion.Как и в случае с выучиванием “концептов”, предлагается использовать текстовую инверсию, однако для текущего сценария требуется пара усложнений.
1. Preposition prior - слово должно быть предлогом(формулируется в виде контрастив лосса). Вводится поскольку в естественных языках отношения между объектами чаще всего выражаются предлогами (prepositions);
2. Relation-Focal Importance Sampling. Во время семплинга из шума, в первую очередь генерируются высокоуровневые компоненты изображения. На более поздних шагах (меньшие значения
t), проявляются детали. Обычно, во время обучения, t семплируется равномерно. Авторы предлагаюсь увеличить вероятность семплирования больших t, чтобы заставить модель лучше генерировать и понимать высокоуровневые компоненты такие как отношения между объектами. Поскольку задача Relation Inversion новая, авторы предлагают свой датасет ReVersion Benchmark - набор заготовленных изображений с текстовыми описаниями, где подобраны вариативные объекты и отношения между ними. Помимо этого, проводят опрос пользователей для проверки реалистичности. Также есть ablation, показывающий важность обоих предложенных изменений. Код есть.
🔥1
Fourier Diffusion Models: A Method to Control MTF and NPS in Score-Based Stochastic Image Generation
Denoising diffusion probabilistic models (DDPM) основаны на стохастическом процессе, в котором реальные изображения постепенно зашумляются добавлением Гауссовского шума. Модель учат приближать обратный процесс, начиная с, как правило, чистого шума.
Авторы предлагают Fourier Diffusion Models (FDM) - новый класс диффузионок с двумя основными свойствами:
1. Кронтролируемой Modulation Transfer Function (MDF) - point spread function в частотном (Фурье) пространстве;
2. Контролируемым Noise Power Spectrum (NPS) - Фурье от автокорреляции шума, важная характеристика в радиологических модальностях (КТ, рентген).
Мотивация: важная характеристика таких моделей - возможность моделировать переход от истинных (ground truth) изображений к наблюдаемым (measured) с определенными MDF и NPS вместо перехода в чистый шум. На практике это означает, следующее.
Допустим, вы хотите удалять какие-либо артефакты с КТ сканов, например шум. Сейчас для этого вы можете использовать DDPM как в статье Xia et. al, 2022:
— Берем скан с очень низким уровнем шума;
— Зашумляем до
— Оборачиваем процесс (расшумляем) с обуславливанием на низкодозную (реальную шумную) картинку.
Такая модель может придумать что-нибудь сверх того что есть у нас в условии. Это не допустимо в случае медицинских изображений.
Другой вариант - использовать FDM:
— Берем картинку с очень низким уровнем шума;
— Переводим её в наблюдаемую (реальную шумную) картинку;
— Оборачиваем процесс, без обуславливания на низкодозную картинку.
Вероятность придумывания падает, поскольку мы не уходим так далеко (в чистый шум) от интересующих нас изображений.
А где, собственно, Фурье? Формулировка FDM эквивалента DDPM в случае, если изображения переведены в частотное пространство. Таким образом, использование в явном виде MDF и NPS в скор функции эквивалентно обучению DDMP генерации Фурье коэффициентов.
Примеры на низкодозном КТ выглядят убедительно, кода нет.
Denoising diffusion probabilistic models (DDPM) основаны на стохастическом процессе, в котором реальные изображения постепенно зашумляются добавлением Гауссовского шума. Модель учат приближать обратный процесс, начиная с, как правило, чистого шума.
Авторы предлагают Fourier Diffusion Models (FDM) - новый класс диффузионок с двумя основными свойствами:
1. Кронтролируемой Modulation Transfer Function (MDF) - point spread function в частотном (Фурье) пространстве;
2. Контролируемым Noise Power Spectrum (NPS) - Фурье от автокорреляции шума, важная характеристика в радиологических модальностях (КТ, рентген).
Мотивация: важная характеристика таких моделей - возможность моделировать переход от истинных (ground truth) изображений к наблюдаемым (measured) с определенными MDF и NPS вместо перехода в чистый шум. На практике это означает, следующее.
Допустим, вы хотите удалять какие-либо артефакты с КТ сканов, например шум. Сейчас для этого вы можете использовать DDPM как в статье Xia et. al, 2022:
— Берем скан с очень низким уровнем шума;
— Зашумляем до
N(0, I);— Оборачиваем процесс (расшумляем) с обуславливанием на низкодозную (реальную шумную) картинку.
Такая модель может придумать что-нибудь сверх того что есть у нас в условии. Это не допустимо в случае медицинских изображений.
Другой вариант - использовать FDM:
— Берем картинку с очень низким уровнем шума;
— Переводим её в наблюдаемую (реальную шумную) картинку;
— Оборачиваем процесс, без обуславливания на низкодозную картинку.
Вероятность придумывания падает, поскольку мы не уходим так далеко (в чистый шум) от интересующих нас изображений.
А где, собственно, Фурье? Формулировка FDM эквивалента DDPM в случае, если изображения переведены в частотное пространство. Таким образом, использование в явном виде MDF и NPS в скор функции эквивалентно обучению DDMP генерации Фурье коэффициентов.
Примеры на низкодозном КТ выглядят убедительно, кода нет.
👍3
Universal perturbation attack on differentiable no-reference image-and video-quality metrics
Adversarial attack - атака на модель машинного обучения, заключающаяся изменении данных, подаваемых на вход модели с целью изменения ее ответов. При этом, часто возможно подобрать небольшие (незаметные человеку) изменения, приводящие к радикальному изменению ответов. Как правило, подбирать изменение для каждого примера вычислительно дорого.
Universal perturbation attack (UPA) - тип атаки, при которой, вместо индивидуальных изменений, подбирают универсальное. Это снижает вычислительную сложность.
Современные метрики оценки качества изображений практически исключительно нейросетевые, а значит тоже могут быть подвержены подобным атакам. Использоваться этот подход можно, например, для “накручивания” качества генеративных алгоритмов. Вопрос в том, насколько каждая из метрик устойчива к подобным махинациям.
Авторы берут несколько метрик оценки качества картинок и видео (PaQ-2-PiQ, Linearity, VSFA, MDTVSFA, KonCept512, SPAQ, Nima) и получают для каждой UPA на 10,000 картинок из COCO. Далее анализируется изменение качества в зависимости от силы UPA в терминах абсолютных значений добавок.
Очевидно, что большие (видимые глазу) добавки в большей степени ломают метрики. Однако, оказывается, что изменения происходят не в одинаковой степени. Авторы предлагают Stability Score - метрику устойчивости метрики👇 к UPA. Оказывается, что SPAQ, Nima и KonCept512 значительно более устойчивы чем, допустим, PaQ-2-PiQ, у которой совсем всё плохо.
На основании проведенного анализа авторы предлагают проверять новые метрики не только на их корреляцию с MOS, но и на устойчивость, предлагая Stability Score. Предложение не лишено смысла учитывая количество вопросов к SOTA (по MOS) метрикам. Код есть.
Adversarial attack - атака на модель машинного обучения, заключающаяся изменении данных, подаваемых на вход модели с целью изменения ее ответов. При этом, часто возможно подобрать небольшие (незаметные человеку) изменения, приводящие к радикальному изменению ответов. Как правило, подбирать изменение для каждого примера вычислительно дорого.
Universal perturbation attack (UPA) - тип атаки, при которой, вместо индивидуальных изменений, подбирают универсальное. Это снижает вычислительную сложность.
Современные метрики оценки качества изображений практически исключительно нейросетевые, а значит тоже могут быть подвержены подобным атакам. Использоваться этот подход можно, например, для “накручивания” качества генеративных алгоритмов. Вопрос в том, насколько каждая из метрик устойчива к подобным махинациям.
Авторы берут несколько метрик оценки качества картинок и видео (PaQ-2-PiQ, Linearity, VSFA, MDTVSFA, KonCept512, SPAQ, Nima) и получают для каждой UPA на 10,000 картинок из COCO. Далее анализируется изменение качества в зависимости от силы UPA в терминах абсолютных значений добавок.
Очевидно, что большие (видимые глазу) добавки в большей степени ломают метрики. Однако, оказывается, что изменения происходят не в одинаковой степени. Авторы предлагают Stability Score - метрику устойчивости метрики
На основании проведенного анализа авторы предлагают проверять новые метрики не только на их корреляцию с MOS, но и на устойчивость, предлагая Stability Score. Предложение не лишено смысла учитывая количество вопросов к SOTA (по MOS) метрикам. Код есть.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
A Survey on Retrieval-Augmented Text Generation
Retrieval-Augmented модели начали свой путь в NLP, где улучшили многие языковые задачи. Сегодня они также используются для мультимодального предобучения и ответов на вопросы, классификации изображений.
Суть метода заключается в переформулировки задачи обучения с учителем. Вместо классической задачи
Такая широкая постановка предполагает большую вариативность по тому как именно устраивать следующие компоненты системы:
1. Откуда извлекать релевантные данные?
— Тренировочная выборка;
— Внешние датасеты в том же формате, что и тренировочная выборка;
— Не размеченные корпусы данных.
2. Какие метрики релевантности использовать?
— Искать схожие примеры в исходном, “разреженном” представлении (токены в случае текстов);
— Кодировать данные в более семантически богатое, низкоразмерное (плотное) представление и искать в нём;
— Сделать отдельную модель, предсказывающую некий порог, по которому можно определить полезна ли будет “память” в конкретном случае.
3. Как интегрировать дополнительные данные?
— Аугментация: конкатенировать, смешивать или еще каким-то образом комбинировать с исходными данными;
— Добавлять новые данные в attention как “контекст”;
— Делать “умные” аугментации, например маскирование (skeleton extraction).
В статье приводится подробный обзор того как метод помогает задачам перевода, генерации ответов в диалогах и других задачах. Подход может быть полезен либо в задачах с большим количеством данных, когда даже большой модели трудно обобщиться, либо с большим дисбаллансом классов.
Retrieval-Augmented модели начали свой путь в NLP, где улучшили многие языковые задачи. Сегодня они также используются для мультимодального предобучения и ответов на вопросы, классификации изображений.
Суть метода заключается в переформулировки задачи обучения с учителем. Вместо классической задачи
y = f(x), в которой модель вынуждена обобщать в себе всю информацию о тренировочных парах ответ-признаки, предлагается формулировка y = f(x, z), где z = {<x’, y’>} - набор релевантных примеров, которые извлечены (retrieved) из обучающей выборки или другого релевантного датасета (“памяти”). Предполагается, что модель может работать лучше если получает дополнительные, связанные с исходными, данные на вход. Такая широкая постановка предполагает большую вариативность по тому как именно устраивать следующие компоненты системы:
1. Откуда извлекать релевантные данные?
— Тренировочная выборка;
— Внешние датасеты в том же формате, что и тренировочная выборка;
— Не размеченные корпусы данных.
2. Какие метрики релевантности использовать?
— Искать схожие примеры в исходном, “разреженном” представлении (токены в случае текстов);
— Кодировать данные в более семантически богатое, низкоразмерное (плотное) представление и искать в нём;
— Сделать отдельную модель, предсказывающую некий порог, по которому можно определить полезна ли будет “память” в конкретном случае.
3. Как интегрировать дополнительные данные?
— Аугментация: конкатенировать, смешивать или еще каким-то образом комбинировать с исходными данными;
— Добавлять новые данные в attention как “контекст”;
— Делать “умные” аугментации, например маскирование (skeleton extraction).
В статье приводится подробный обзор того как метод помогает задачам перевода, генерации ответов в диалогах и других задачах. Подход может быть полезен либо в задачах с большим количеством данных, когда даже большой модели трудно обобщиться, либо с большим дисбаллансом классов.
👍1🔥1
DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation
Подходы к контролю результатов генерации диффузионок, в основном, опираются на модификацию входа модели:
— Null-text Inversion - контент зашит в разницу двух строк во время семплинга с classifier-free guidance;
— SDEdit - изображение частично зашумляется, а потом расшумляется с измененным описанием;
— Blended Latent Diffusion и Blended Diffusion for Text-driven Editing of Natural Images используют сегментационные маски;
— В Zero-Shot Image-to-Image Translation выделяют концепт, генерируя большой набор строк, отличающихся одним словом (целевой объект), вместо масок используют карты attention;
— An Image is Worth One Word - используя текстовую инверсию, по 3-5 картинкам выучивают одно слово, являющееся отображением домена/объекта. Используют его в новых промптах для генерации;
— Customizing Pre-Trained Diffusion Models for Your Own Data - то же самое, но для целого датасета;
Альтернативой тюнингу данных является тюнинг самой модели. Работ в этом направлении мало, но авторы DreamBooth показывают, что и таким образом можно добиваться хороших результатов.
Суть метода заключается в коротком дообучении модели на 3-5 парах картинка-текст, где текст включает в себя пару
Выполняя даже короткий fine-tuning всегда есть риск забыть известное или убить вариативность. Чтобы избежать этого, авторы предлагают prior-preservation loss. Он отличается от стандартного L2 добавлением регуляризационного слагаемого, в котором считается L2 между текущей генерацией, и тем что сгенерировала бы не затюненная модель.
Результаты визуально приятные. Из очевидных минусов - модель обратно уже не вернуть. Оф кода для Imagen нет, но есть оф датасет и популярная кастомная имплеменатция с SD.
Подходы к контролю результатов генерации диффузионок, в основном, опираются на модификацию входа модели:
— Null-text Inversion - контент зашит в разницу двух строк во время семплинга с classifier-free guidance;
— SDEdit - изображение частично зашумляется, а потом расшумляется с измененным описанием;
— Blended Latent Diffusion и Blended Diffusion for Text-driven Editing of Natural Images используют сегментационные маски;
— В Zero-Shot Image-to-Image Translation выделяют концепт, генерируя большой набор строк, отличающихся одним словом (целевой объект), вместо масок используют карты attention;
— An Image is Worth One Word - используя текстовую инверсию, по 3-5 картинкам выучивают одно слово, являющееся отображением домена/объекта. Используют его в новых промптах для генерации;
— Customizing Pre-Trained Diffusion Models for Your Own Data - то же самое, но для целого датасета;
Альтернативой тюнингу данных является тюнинг самой модели. Работ в этом направлении мало, но авторы DreamBooth показывают, что и таким образом можно добиваться хороших результатов.
Суть метода заключается в коротком дообучении модели на 3-5 парах картинка-текст, где текст включает в себя пару
[identifier][class noun]. Это означает, что если хочется генерить свою собаку в новых окружениях, в качестве class noun нужно взять dog, а в качестве identifier - редко встречающееся слово, которое в процессе обучения будет ассоциировано с конкретной собакой.Выполняя даже короткий fine-tuning всегда есть риск забыть известное или убить вариативность. Чтобы избежать этого, авторы предлагают prior-preservation loss. Он отличается от стандартного L2 добавлением регуляризационного слагаемого, в котором считается L2 между текущей генерацией, и тем что сгенерировала бы не затюненная модель.
Результаты визуально приятные. Из очевидных минусов - модель обратно уже не вернуть. Оф кода для Imagen нет, но есть оф датасет и популярная кастомная имплеменатция с SD.
👍3
On the Importance of Noise Scheduling for
Diffusion Models
На тему выбора расписания шума (noise scheduling) уже опубликовано достаточно много работ. В первых статьях по диффузии использовали равномерное расписание, но это не всегда работало хорошо. В какой-то момент пришло осознание, что в таком случае зашумление происходит слишком быстро и было предлоежно косинусное (iDDPM) и сигмоидное расписания. Вариации косинусного наиболее часто используются сегодня. Например, в VDM предлагали вместе обучать модель и параметры расписания.
Альтернативой изменению функций расписания является масштабирование исходного изображения
Авторы предлагают комбинировать два предоженных выше подхода (подбор параметров расписания и масштабирование
Наибольший эффект от применения подхода наблюдается при работе напрямую с изображениями высокого разрешения. В этом плане работа напоминает simple diffusion, где также подчеркивалась важность подбора расписания для прямой генерации в high-rez из-за высокого соотношения сигнал-шум. Отличие в методе: в simple diffusion предлагалось параметризовать функцию расписания шума для достижения эффекта эквивалентного отдельному масштабированию
С практической точки зрения авторы всего лишь говорят о важности подбора noise scheduling при смене задачи/разрешения/датасета. Рекомендованных же значений нет, в каждом случае подбирать нужно самостоятельно. Код есть: две строчки прямо в статье💃
Diffusion Models
На тему выбора расписания шума (noise scheduling) уже опубликовано достаточно много работ. В первых статьях по диффузии использовали равномерное расписание, но это не всегда работало хорошо. В какой-то момент пришло осознание, что в таком случае зашумление происходит слишком быстро и было предлоежно косинусное (iDDPM) и сигмоидное расписания. Вариации косинусного наиболее часто используются сегодня. Например, в VDM предлагали вместе обучать модель и параметры расписания.
Альтернативой изменению функций расписания является масштабирование исходного изображения
x_0. Подход похож на изменение расписания, но приводит к другим результатам, особенно при малых t. Авторы предлагают комбинировать два предоженных выше подхода (подбор параметров расписания и масштабирование
x_0).Наибольший эффект от применения подхода наблюдается при работе напрямую с изображениями высокого разрешения. В этом плане работа напоминает simple diffusion, где также подчеркивалась важность подбора расписания для прямой генерации в high-rez из-за высокого соотношения сигнал-шум. Отличие в методе: в simple diffusion предлагалось параметризовать функцию расписания шума для достижения эффекта эквивалентного отдельному масштабированию
x_0.С практической точки зрения авторы всего лишь говорят о важности подбора noise scheduling при смене задачи/разрешения/датасета. Рекомендованных же значений нет, в каждом случае подбирать нужно самостоятельно. Код есть: две строчки прямо в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
Blind Image Quality Assessment via Vision-Language Correspondence: A Multitask Learning Perspective
CVPR2023
Мультимодальные (vision-language) модели продолжают проникать в различные ML/DL задачи. Для области оценки качества изображений мы уже разбирали работу CLIP-IQA, суть которой в использовании предобученного CLIP, промпт инжиниринга и CoOp тюнинга для решения задачи в zero-shot режиме. Моотивация использовать CLIP в ожидаемой высокой обобщаемости итоговой метрики из-за не специфического предобучения на большом наборе данных.
В этой работе авторы предлагают полноценно обучать CLIP:
— Сразу на нескольких датасетах;
— Используя сгенерированные специально под задачу текстовые описания;
— Несколько лоссов.
Особенность подхода в обучении модели для одновременного решения нескольких задач. В статье утверждается, что это главный ключ к обобщаемости метрики при увеличении максимального качества ее работы.
Авторы выделяют 9 типов сцен
1. IQA (Fidelity) Loss - FRank модель попарного ранжирования: заставляем нашу метрику ставить картинки по качеству в правильном порядке.
2 и 3. Scene Classification + Distortion Type Identification - опять fidelity (FRank) или softmax для многоклассовой классификации сцен и типов дисторшенов.
Некоторые гиперпараметры (batch size) зависят от датасета. Обучаются на LIVE, CSIQ, BID, LIVE Challenge, KonIQ-10k и KADID-10k. Полученная метрика LIQE показывает SOTA везде. Ablation показывает, что сопоставимого качества можно было бы добиться значительным упрощением системы. Код есть.
CVPR2023
Мультимодальные (vision-language) модели продолжают проникать в различные ML/DL задачи. Для области оценки качества изображений мы уже разбирали работу CLIP-IQA, суть которой в использовании предобученного CLIP, промпт инжиниринга и CoOp тюнинга для решения задачи в zero-shot режиме. Моотивация использовать CLIP в ожидаемой высокой обобщаемости итоговой метрики из-за не специфического предобучения на большом наборе данных.
В этой работе авторы предлагают полноценно обучать CLIP:
— Сразу на нескольких датасетах;
— Используя сгенерированные специально под задачу текстовые описания;
— Несколько лоссов.
Особенность подхода в обучении модели для одновременного решения нескольких задач. В статье утверждается, что это главный ключ к обобщаемости метрики при увеличении максимального качества ее работы.
Авторы выделяют 9 типов сцен
s (“animal”, “human” и т.д.), 11 типов дисторшенов d (JPEG, blur и т.д.) и 5 уровней качества c. Затем, генерится строка, описывающая фото вида: “a photo of a(n) {s} with {d} artifacts, which is of {c} quality”. Всего получается 5 × 9 × 11 = 495 строк, для каждой из которых считается текстовый CLIP эмбед. Также картиночный CLIP эмбед извлекается из каждого изображения в обучающей выборке и считается совместное распределение p(c,d,s|x). Дальше начинается дизайн лоссов:1. IQA (Fidelity) Loss - FRank модель попарного ранжирования: заставляем нашу метрику ставить картинки по качеству в правильном порядке.
2 и 3. Scene Classification + Distortion Type Identification - опять fidelity (FRank) или softmax для многоклассовой классификации сцен и типов дисторшенов.
Некоторые гиперпараметры (batch size) зависят от датасета. Обучаются на LIVE, CSIQ, BID, LIVE Challenge, KonIQ-10k и KADID-10k. Полученная метрика LIQE показывает SOTA везде. Ablation показывает, что сопоставимого качества можно было бы добиться значительным упрощением системы. Код есть.
🔥3👍1
Instance Selection for GANs
NeurIPS 2020
Еще в первой работе StyleGAN было замечено, что низкое качество генерации тесно связано с трудностью моделирования областей многообразия данных с низкой плотностью. Тогда же были предложены подходы для избегания таких видов данных: урезание скрытого пространства (truncation trick в BigGAN и StyleGAN) и отказ от семплирования потенциально проблемных мод (Rejection Sampling). Оба подхода работают с данными уже после обучения генеративной модели.
В этой работе авторы решают проблему с точки зрения фильтрации данных до обучения модели. Такой подход позволяет не тратить вычислительные ресурсы и ёмкость модели на проблемные моды, которые все равно будут отсеяны или плохо сгенерированы.
Суть подхода:
1. Берем картинки, переводим в пространство низкой размерности. Подойдут +- любые эмбединги, у авторов лучше всего сработали активации из InceptionV3;
2. Выбираем scoring function, с помощью которой будем определять плотность получившегося многообразия. В статье пробуют Гауссиану, Гауссиану поверх PPCA и KNN.
3. Считаем скор для каждого объекта в датасете используя выбранную scoring function;
4. Отсеиваем объекты со скором ниже порога. Порог - гиперпараметр, выбираем по вкусу.
В итоге, получается повысить качество генерации в терминах FID и IS, при этом понизить время обучения. Достается это ценой уменьшения разнообразия генерируемых примеров. Монотонный прирост наблюдается вплоть до удаления 70% тренировочных примеров (эксперименты на ImageNet-1k). Результаты для генерации 64х64, 128х128 и 256х256.
Важно, что такой анализ говорит не только о возможности конралировать балланс качества и разнообразия, но и о несовершенстве метрик. Предполагается, что они чувствительны к разнообразию генерации, но, в то же время, улучшаются в эксперименте, направленном на его уменьшение. Код есть.
NeurIPS 2020
Еще в первой работе StyleGAN было замечено, что низкое качество генерации тесно связано с трудностью моделирования областей многообразия данных с низкой плотностью. Тогда же были предложены подходы для избегания таких видов данных: урезание скрытого пространства (truncation trick в BigGAN и StyleGAN) и отказ от семплирования потенциально проблемных мод (Rejection Sampling). Оба подхода работают с данными уже после обучения генеративной модели.
В этой работе авторы решают проблему с точки зрения фильтрации данных до обучения модели. Такой подход позволяет не тратить вычислительные ресурсы и ёмкость модели на проблемные моды, которые все равно будут отсеяны или плохо сгенерированы.
Суть подхода:
1. Берем картинки, переводим в пространство низкой размерности. Подойдут +- любые эмбединги, у авторов лучше всего сработали активации из InceptionV3;
2. Выбираем scoring function, с помощью которой будем определять плотность получившегося многообразия. В статье пробуют Гауссиану, Гауссиану поверх PPCA и KNN.
3. Считаем скор для каждого объекта в датасете используя выбранную scoring function;
4. Отсеиваем объекты со скором ниже порога. Порог - гиперпараметр, выбираем по вкусу.
В итоге, получается повысить качество генерации в терминах FID и IS, при этом понизить время обучения. Достается это ценой уменьшения разнообразия генерируемых примеров. Монотонный прирост наблюдается вплоть до удаления 70% тренировочных примеров (эксперименты на ImageNet-1k). Результаты для генерации 64х64, 128х128 и 256х256.
Важно, что такой анализ говорит не только о возможности конралировать балланс качества и разнообразия, но и о несовершенстве метрик. Предполагается, что они чувствительны к разнообразию генерации, но, в то же время, улучшаются в эксперименте, направленном на его уменьшение. Код есть.
👍3