Генерация изображений с помощью StyleGAN+CLIP

#paper



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



Сегодня мы расскажем о том, как с помощью CLIP можно заставить сеть для генерации изображений StyleGAN генерировать картинки из нового домена. Пример работы такого подхода на изображении выше: на нем везде лица людей, но из разных доменов: есть лицо-зомби, лицо-монализа, лицо-белый-ходок и т.д.



Итак, как это работает:

Пусть у нас есть обычный обученный StyleGAN, который умеет генерировать обычные лица людей. Создадим две копии этого стайлгана: StyleGAN-v1 и StyleGAN-v2. Одну будем обучать (пусть это будет StyleGAN-v2), а вторую заморозим.



Выберем домен, который мы хотим научиться генерировать. Пусть это будет "зомби". Обратимся к CLIP: попросим у него эмбеддинги для слов "лицо" и "зомби". Далее будем учить StyleGAN-v2 так, чтобы разница между эмбеддингом, выдаваемым StyleGAN-v2 и StyleGAN-v1 на одинаковый вход была ровно такой же, как разница между эмбеддингами слов "зомби" и "лицо". То есть, разница между картинками "лица-зомби" и просто лица будет в том же, в чем разница между словами "зомби" и "лицо".

Обучая таким образом StyleGAN-v2, мы получим, что он будет выдавать лица, но уже с оттенком "зомбоватости".



Схема архитектуры представлена на этой картинке. Идея очень простая) Но работает круто.

Полный текст статьи читайте тут.

А мы обещаем, что скоро еще расскажем вам о суперкрутых подходах к генерации изображений с помощью CLIP😉