Concise Research
1.13K subscribers
242 photos
223 links
Исследования AI глазами исследователя
Автор: @snk4tr Сергей Кастрюлин
Download Telegram
Channel photo updated
DiffusionDet: Diffusion Model for Object Detection
Первая работа по диффузионкам для детекции.
Основная идея в том чтобы во время форварда брать истинные bounding boxes и "зашумлять их" (добавление случайных значений к координатам, ширине, высоте) до состояния рандомных. После этого сетка учится оборачивать процесс и предсказывать истинные bounding boxes по случайным. Количество якорей не фиксировано. Non-max supression делается после "расшумления”. SOTA на MS-COCO и LVIS.
Код тут.

Revisiting Neural Scaling Laws in Language and Vision
Существует задача предсказания того как будут масштабироваться нейросетевые модели при увеличении датасета и/или количества параметров. Для этого строятся специальные модели. Ранее они представляли собой степенные функции разного вида. Замечено, что такой функционал не способен покрыть часть наблюдаемых феноменов, например являение двойного спуска. В этой статьте предлагаются:
- Новый функционал;
- Датасет + набор моделей для проведения бенчмарков;
- Новый способ оценки;
По новому способу оценки, предложенный функционал - SOTA на новом же датасете.
Код и датасет для бенчмарков.

Broken Neural Scaling Laws
Работа связана с предыдущей. Предложен еще один функционал, решающий проблемы предыдущих. Наличие датасета и понятных бенчмарков позволило получить сильный прирост за счет более гибкого моделирования. Например с произвольным числом точек перегиба. Работа также интересна большим количеством графиков из разных доменов (CV, NLP, RL) для широкого класса моделей (трансформеры, СNN) и задач (классификация, диффузия для генерации).
Код тут.
👍4
Label-Efficient Semantic Segmentation with Diffusion Models

Первая работа по применению диффузионок к задачам отличным от генерации.

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

Фичи извлекаются из предобученной нейронки, комбинируются и подаются в голову, которую обучают на 20-50 изображениях. SOTA для few-shot instance сегментации на ряде датасетов. Код и веса есть.
🔥3
DiffusionInst: Diffusion Model for Instance Segmentation

Работа по диффузионкам для инстанс сегментации.
SOTA подходы вроде DETR могут формулироваться как noise-to-mask. Но сразу маски генерить не оптимально и поэтому заимствуют идею из работы CondInst, в которой предлагается сначала делать некоторые фильтры, из которых потом получать сегментационные маски.

Используя подходы выше, авторы адаптируют пайплайн из DiffusionDet. В исходном подходе зашумлялись, а потом “расшумлялись” только bounding boxes. Поверх этого предлагается делать то же самое с фильтрами, из которых потом генерируются маски.

Концептуально получается двухстадийный детектор со сложной схемой внутри. При этом увеличение АР на 1% даётся ценой 3х ❗️ замедления инференса. Код есть.
🔥2
Diffusion Models: A Comprehensive Survey of Methods and Applications

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

Авторы предлагают таксономию исследовательских направлений и краткие описания того что происходит в каждом из них. Для ряда методов также объяснена основная идея. В конце имеется секция с обсуждением перспективных тем дальнейших исследований.
👍3
Transformers as Meta-Learners for
Implicit Neural Representations


Цель INR - представить дискретизованные данные как непрерывную функцию, параметризованную оверфитнутой сеткой. Основное ограничение: 1 сэмпл = 1 сетка. Авторы предлагают использовать трансформеры как гипер-сеть, включающую в себя представление сразу множества данных. Учить гипер-сеть предлают с помощью известного градиентного meta-learning подхода MAML. В результате получаются качественные результаты на довольно больших датасетах вроде CELEBA и Imagenette. Код есть.
👍1
From data to functa: Your data point is a function and you can treat it like one

Functa - непрерывное представление изначально дискретных данных. Это то что получается при классическом решении задачи получения INR. Авторы предлагают создавать целые датасеты functa - functasets и обучать на них нейросети. Поверх собранных functasets все равно приходится использовать meta-learning. Побить текущие SOTA таким подходом не удается, но он дает свои преимущества: 1) Более хорошее масштабирование данных, 2) Устранение проблемы гетерогенности разрешений, 3) Это естественное представление для данных вроде NeRF. Код на (!) jax + haiku.
👍1
HYPE: A Benchmark for Human eYe Perceptual Evaluation of Generative Models

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

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

Во второй методике время не ограничено, оценивается только количество ошибок.

Есть форма для сабмита своих результатов. Судя по давности последних сабмитов, на практике ей особо не пользуются, но саму идею можно использовать для построения новых датасетов.
👍1🔥1
Pros and cons of GAN evaluation measures: New developments

Несмотря на фокус на ГАНах, этот (не совсем свежий) обзор можно применять ко всей области метрик для генеративного CV. Автор дает краткие описания подходов, в конце делится своим видением на существующие проблемы. Полезно тем кто хочет разобраться или упорядочить знания в теме. Много ссылок на репозитории с кодом.
Extreme Generative Image Compression by Learning Text Embedding from Diffusion Models

В text-to-image генерации из текстового запроса получается картинка. Задача textual inversion в том чтобы делать image-to-text. В данном случае, авторы предлагают переводить картинку в текст (а если точнее - текстовый эмбединг), хорошо отражающий то что находится на изображении.

Эмбединг хранится как сжатое представление до момента востребования. Когда снова нужна картинка, делается text-to-image генерация. Для получения консистентных результатов, авторы предлагают свой “compression guidance”, который мало чем отличается от classification guidance.

Результаты генерации отражают семантику но не дают 100% совпадения с исходным изображением. За то подход позволяет достигнуть сверх высокой комперессии (<0.1 bpp). Кода нет.
👍2
Diffusion models are autoencoders

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

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

В статье много отсылок к более ранним работам по автоэнкодерам.
👍1
Rethinking Vision Transformers for MobileNet Size and Speed

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

Авторы используют старый добрый NAS для поиска оптимальной архитектуры. Основной вклад в том что они подмечают и исправляют недостатки предыдущих ViT NAS работ. Например, они предлагают более гибкое пространство поиска, разрешающее non-uniformity на каждой стадии.

Итоговая модель EfficientFormerV2 бьет MobileNetV2 аж на 4% на ImageNet 1K при ~ той же скорости и количестве параметров. Код есть.
👍2
FlexiViT: One Model for All Patch Sizes

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

Авторы предлагают модель, которая учится на случайных размерах патчей. После этого, она может быть использована на патчах разного размера. Это значит, что можно контролировать баланс скорости/качества во время инференса в зависимости от целей. При этом показывается, что универсальная модель не уступает по качеству соответствующим моделям, натренированным на патчах фиксированного размера. Код и веса выложены.
👍2
Identifying Mislabeled Data using the Area Under the Margin Ranking

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

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

Авторы проводят сначала пробное обучение во время которого идентифицируют некорректную разметку с помощью предложенной метрики. После этого, некорректные примеры удаляются по порогу значения метрики и обучение повторяется, но с уже более высоким качеством. В результате заметно улучшается качество на CIFAR100, Tiny ImageNet и WebVision. Код есть.
👍4
SinDiffusion: Learning a Diffusion Model from a Single Natural Image

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

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

2. Ранее для этой задачи использовали модели с большим receptive field (RF). Это позволяет увеличить качество сгенерированных изображений ценой их низкой вариативности. Авторы SinDiffusion уменьшают RF без значимой потери в качестве, но с увеличением вариативности. Важно, что они обнаруживают минимальный RF, после которого изображения теряют структуру.

В результате получаются визуально приятные изображения на нескольких задачах. Сравнения, в основном, с ГАНами: качественные и количественные (SIFID, LPIPS). Код есть.
👍1🔥1
Shift-tolerant Perceptual Similarity Metric

Замечено, что существующие full-reference метрики предлагают, что оцениваемые изображения выровнены. Небольшие сдвиги приводят к большим изменениям значений метрик, что не желательно.

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

Основная часть посвящена анализу влияния архитектурных паттернов на чувствительность к сдвигам. Было проверено множество элементов, только часть из которых показали прибавку в качестве. Так, авторы установили, что для достижения цели нужно: уменьшить stride до 1, заменив способ уменьшения разрешении его на BlurPool, использовать reflect-padding вместо zero-padding, при этом межу max и mean лучше выбирать max.

В самой работе много результатов показывающих как влияние отдельных элементов, так и их комбинаций. В результате удается улучшить качество в случае маленьких сдвигов. Код есть.
Pragmatic Image Compression
for Human-in-the-Loop Decision-Making

NeurIPS’21 Procceedings

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

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

За счет альтернативной постановки задачи, авторам удается побить JPEG в 3-4 раза, что не удивительно, ведь картинки меняются до неузнаваемости. Также я бы отметил довольно интересный способ верификации действий пользователей. В приложении есть примеры вопросов, задаваемых респондентам и очевидно, что они задизайнены очень аккуратно. Код есть.
Zero-shot Blind Image Denoising via Implicit Neural Representations

Задача Implicit Neural Representations (INRs) заключается в получении модели, отображающей координаты изображения в значения яркости. Таким образом получается continuous представление дискретной картинки.

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

Это наблюдение предлагается использовать для задачи zero-shot денойзинга. Результат обучения SIREN с регуляризацией весов представляет собой качественный результат денойзинга без использования дополнительных данных. Кода нет, но реализация тривиальна.
👍2
Exploring CLIP for Assessing the Look and Feel of Images

Одной из известных стратегий в построении no-reference (NR) метрик оценки качества изображений (IQA) является использование предобученных моделей, способных извлекать богатые признаки.

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

У предложенного метода есть несколько существенных недостатков, часть которых адресуется в статье. Самый критический - неспособность модели адекватно реагировать на слишком технические описания вроде “Long exposure”, “Rule of thirds”, “Shallow DOF”.

Тем не менее, метод показывает достойное качество даже без дообучения на конретных NR IQA датасетах. Код есть.
An Image is Worth One Word: Personalizing
Text-to-Image Generation using Textual Inversion

Диффузионные модели, в целом, способны генерировать произвольные изображения из шума. Использование classification guidance помогает улучшить качество и направить процесс, получая объекты из целевого класса.

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

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

Концепт формируется в качестве псевдо-слова S∗, которое генерируется путём обращения диффузионного процесса для небольшого набора (3-5) изображений концепта. Для этого минимизируется лосс латентной диффузии, при в этом качестве текстового условия используют случайные текстовые промпты вида “A photo of S∗”. После того как концепт сформирован, его можно подавать в виде S∗ в любой новый текстовый промпт для генерации новых изображений.

Несмотря на высокое качество генерации, у подхода есть существенный недостаток - он крайне тяжеловесен. На изучение одного концепта может уходить от получаса времени. Код и данные на сайте проекта.
👍4
Image Quality Assessment: Unifying Structure and Texture Similarity

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

Это статья по метрике DISTS, основные положения которой следующие:
- Использовать VGG в качестве экстрактора признаков не плохо, нужно только заменить max pooling на L2 pooling потому что он лучше сохраняет информацию и не вносит артефакты;
- Если объединить пиксельное представление изображения с картами признаков из VGG конкатенацией каналов, можно получить лучшее из двух миров;
- Поканальные средние значения карт признаков — достаточно репрезентативные статистики для отражения текстуры изображений.

В статье даже доказывается лемма о том что метод оценки качества, основанный на взвешенной сумме значений статистик карт признаков нейросети, является метрикой в математическом смысле.

Сама же модель VGG обучается на комбинации датасетов KADID10k и DTD, что позволяет получить высокое значение SRCC на момент публикации на простых датасетах вроде LIVE и TID2013. Однако авторы не стали сравниваться, например, с уже существующим на тот момент PieAPP, который работает лучше как на простых датасетах вроде TID2013, так и на более сложном PIPAL. Реализацию метода можно найти в библиотеке piq.