attention deficit
202 subscribers
8 photos
1 file
17 links
тема этого сезона: ads recommendation и recsys в целом

ситуативные разборы статей, случайные мемы и нерегулярный репост популярных каналов

by @ploshkin
Download Telegram
На старт

Итак, господин @vlivashkin преисполнился идеей устроить себе марафон по чтению и разбору статей вида: 1 день — 1 статья, и так 30 дней

У меня давно в планах стоти пункт «регулярно разбирать статьи», и я даже создал этот канал 3 года назад. Но до дела так и не дошло. Как гласит народная мудрость — завести канал ещё не значит читать статьи

Поэтому я вдохновился этой прекрасной идеей и тоже решил поучаствовать в марафоне
Внимание

Марафон — штука в первую очередь для меня самого. Я хочу погрузиться в определённую тему и хочу составить для себя много шпаргалок. Чтобы через год-два-десять не пришлось перечитвать статьи полностью, а достаточно было взглянуть на их краткие выжимки и основные идеи

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

А вот неочевидные для себя моменты и клёвые на мой взгляд идеи я буду пояснять так, чтобы будущий я смог легко понять, о чём речь. Так что если всё слишком понятно — листайте дальше 🌝

Пояснительная бригада почти всё
Марш

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

Мотивация проста и состоит из трёх частей:
1. Я почти 9 месяцев работаю над генерацией лиц при участии GAN’ов и осознал, что мне не хватает матчасти
2. Компьютерное зрение в целом — это моя любовь
3. Успехи VQGAN+CLIP и хайп вокруг сильно интригуют (ничего не понятно, но очень интересно)

Так что берём седловую точку и скачем к локальному оптимуму! 🐎
📄 Video-to-Video Synthesis [NeurIPS 2018]

Это основная статья про видео-дипфейки. В ней впервые предложен фреймворк для conditional video generation, когда для каждого кадра есть семантическая информация, например, карта сегментации, по которой генерируется реалистичное видео

Подробнее тут: https://teletype.in/@ploshkin/vid2vid
Слишком объёмный разбор получился, больше времени потратил на публикацию, чем на сам разбор. Причём в разы)

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

В общем, дальше посты будут поменьше
📄 Few-shot Video-to-Video Synthesis [NeurIPS 2019]

Статья-продолжение vid2vid. Здесь предлагается решение задачи «как сгенерировать видео из домена, которого не было в обучении». Главная идея — модуль, который на основе картинок-примеров генерирует веса для другого модуля — генерации картинок

Пересказ тут: https://teletype.in/@ploshkin/few-shot-vid2vid
📄 World-consistent Video-to-Video Synthesis [ECCV 2020]

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

Для этого при генерации кадр за кадром строится 3D point-cloud сцены, чтобы «помнить» состояние всех точек. Для нового кадра сцена проектируется на плоскость камеры, и получается guidance image, который служит ориентиром для цветов в новом кадре

Детали: https://teletype.in/@ploshkin/world-consistent-vid2vid
📄 pix2pixHD [CVPR 2018]

Развитие статьи pix2pix для conditional-генерации реалистичных картинок высокого разрешения. Эта работа послужила фундаментом и proof-of-concept для vid2vid-подходов.

Здесь предложены разные работающие хаки для стабилизации обучения GAN’ов:
* coarse-to-fine генератор
* разномасштабные дискриминаторы
* feature-matching лосс
* использование инстанс-сегментации

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

Подробные хайлайты: https://teletype.in/@ploshkin/pix2pixhd
Вообще я понял, что погорячился с идеей разбирать по статье каждый день. На посты у меня уходит по 2–3 часа (уже не 6 как в первый раз), но они помогают хорошо структурировать информацию и лучше запомнить

Поэтому, чтобы не страдало погружение, подробность постов и я сам, я решил постить раз в 2 дня — типа день на чтение, и день на написание

Но челлендж был 1 день — 1 статья и так 30 дней, так что формально если я таки разберу 30 статей, условия будут выполнены 🤡🤡🤡
📄 SPADE [CVPR 2019]

Новый подход в conditional-генерации картинок: оказывается, карты сегментации нельзя пропускать через нормализацию — теряется пространственная информация. Поэтому авторы предложили выбросить энкодер и прокидывать семантику через adaptive-денормализацию, причём так, чтобы у каждого пикселя были свои параметры преобразования. А эти параметры вычислять с помощью небольших fully-conv сетей.

Но самое главное: теперь есть настоящая демка! Там можно в реалтайме нарисовать карту сегментации для пейзажа, а сетка сгенерирует картинку:
http://nvidia-research-mingyuliu.com/gaugan

Люблю, когда можно наглядно посмотреть результат, а не только черрипикнутые картинки в статье 🌚

Press F to see details: https://teletype.in/@ploshkin/spade
📄 UNIT: Unsupervised Image-to-Image Translation Networks [NeurIPS 2017]

Продолжаем разбирать статьи из репозитория imaginaire

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

Для этого часто используется условие cycle-consistency (см. CycleGAN), но авторы пошли дальше и предложили shared-latent space, когда для двух соответствующих картинок латентные коды в некотором пространстве совпадают.

Что из этого вышло, можно посмотреть по ссылке: https://teletype.in/@ploshkin/unit
Небольшой тизер 🐆➡️🐈
📄 MUNIT: Multimodal Unsupervised Image-to-Image Translation [ECCV 2018]

Авторы работы добились мультимодальной генерации картинок между двумя доменами. Теперь не нужно обучать модель для каждой пары пород собак, т.к. порода — это просто стиль собаки 🐶

Для этого общее латентное пространство разделяется на 2: content и style, причём общим остаётся только content-пространство, а style-пространство своё у каждого домена. Сэмплируя стиль при генерации, авторы получают разные результаты.

Также в работе есть несколько теоретических результатов, наиболее важный из которых — доказательство, что cycle-consistency приводит к дельта-функциям распределения латентных кодов и как следствие к унимодальным результатам генерации.

10 эмбеддингов стиля из 10: https://teletype.in/@ploshkin/munit
Среда объявляется днём мемов в этом канале
attention deficit pinned «Среда объявляется днём мемов в этом канале»
Жду такое же письмо
У меня тут произошли разные случайные и не очень события, поэтому пришлось пару недель почилить без статей

Хайлайтом было то, что меня попросили выступить referee для кандидата в американский стартап. Интересный опыт, теперь я чуть лучше понимаю, что спрашивают на таких интервью, как надо к ним готовиться и кого самому выбирать в качестве referee. Стресс от общения тоже был, но я постарался и надеюсь, там всё сложится 🌚

А теперь к статьям 🌝
📄 StyleGAN: A Style-Based Generator Architecture for Generative Adversarial Networks [CVPR 2019]

Из
разбора вы узнаете:
🥑 Почему StyleGAN не переносит стиль
🥑 Как развязать пространство признаков
🥑 Что кроется за скрещиванием стилей
🥑 Как измерить длину пути между картинками
🍆 Как правильно обрезать генератор и не пострадать

Читайте, уже можно: https://teletype.in/@ploshkin/stylegan
как говорил классик, хороший камбек должен быть тщательно подготовлен