This media is not supported in your browser
VIEW IN TELEGRAM
ГАНы принесли фотореализм в GTA
На самом деле, ничего особенного, просто красивый и аккуратный стайл трансфер без артефактов, да ещё и консистентный по времени.
Такого результата удалось добиться за счёт использования дополнительной информации от движка игры. Они скармливают сетке не только кадры GTA V, но и промежуточные результаты рендеринга: depth map, semantic label map, информация о свойствах поверхностей и тд.
Похоже, через пару лет не нужны будут сложные алгоритмы трассировки лучей и тд, нейронки будут делать фотореалистичную nextgen графику.
Статья, GitHub (пока он пустой)
На самом деле, ничего особенного, просто красивый и аккуратный стайл трансфер без артефактов, да ещё и консистентный по времени.
Такого результата удалось добиться за счёт использования дополнительной информации от движка игры. Они скармливают сетке не только кадры GTA V, но и промежуточные результаты рендеринга: depth map, semantic label map, информация о свойствах поверхностей и тд.
Похоже, через пару лет не нужны будут сложные алгоритмы трассировки лучей и тд, нейронки будут делать фотореалистичную nextgen графику.
Статья, GitHub (пока он пустой)
This media is not supported in your browser
VIEW IN TELEGRAM
🔥Diffusion Models Beat GANs on Image Synthesis (OpenAI)
В очередной раз убеждаюсь, что эпоха ГАНов подходит к концу. Проблемы с «дырявым» распределением (статья) и нестабильностью обучения делают ГАНы всё менее привлекательными для исследователей. Появляются крутые генеративные методы, которые, скорее, ближе к автоэнкодерам, чем к состязательным сетям.
В этой статье OpenAI используют диффузионную модель для conditional и unconditional генерации изображений (новая SOTA на ImageNet). Качество картинок действительно поражает! Особенно, если сравнить с предыдущими работами (BigGAN).
Статья, GitHub
P.S. Как работают диффузионные модели я расскажу в следующем посте.
В очередной раз убеждаюсь, что эпоха ГАНов подходит к концу. Проблемы с «дырявым» распределением (статья) и нестабильностью обучения делают ГАНы всё менее привлекательными для исследователей. Появляются крутые генеративные методы, которые, скорее, ближе к автоэнкодерам, чем к состязательным сетям.
В этой статье OpenAI используют диффузионную модель для conditional и unconditional генерации изображений (новая SOTA на ImageNet). Качество картинок действительно поражает! Особенно, если сравнить с предыдущими работами (BigGAN).
Статья, GitHub
P.S. Как работают диффузионные модели я расскажу в следующем посте.
Diffusion models step-by-step:
В продолжение к предыдущему посту.
Обучение:
1. Берём картинку и добавляем гауссовый шум.
2. Учим модель по зашумлённой картинке восстанавливать ШУМ. Да, именно шум. То есть наша модель - это экстрактор шума из зашумлённой картинки. Здесь надо обратить внимание, что, если вычитать аутпут из инпута, то это будет работать как денойзинг.
3. Иногда добавляем мало шума, иногда много. Иногда так много, что картинка полностью теряется.
Генерация:
1. Берём рандомный шум.
2. Пропускаем его через модель и вычитаем из него же, то есть немного денойзим чистый шум.
3. Добавляем чуть-чуть нового шума.
4. Продолжаем денойзить и чуть-чуть зашумлять, пока не появится картинка.
P.S. Для того, чтобы убедиться, что это работает, пришлось самому на коленке запрогать эту штуку.
В продолжение к предыдущему посту.
Обучение:
1. Берём картинку и добавляем гауссовый шум.
2. Учим модель по зашумлённой картинке восстанавливать ШУМ. Да, именно шум. То есть наша модель - это экстрактор шума из зашумлённой картинки. Здесь надо обратить внимание, что, если вычитать аутпут из инпута, то это будет работать как денойзинг.
3. Иногда добавляем мало шума, иногда много. Иногда так много, что картинка полностью теряется.
Генерация:
1. Берём рандомный шум.
2. Пропускаем его через модель и вычитаем из него же, то есть немного денойзим чистый шум.
3. Добавляем чуть-чуть нового шума.
4. Продолжаем денойзить и чуть-чуть зашумлять, пока не появится картинка.
P.S. Для того, чтобы убедиться, что это работает, пришлось самому на коленке запрогать эту штуку.
Media is too big
VIEW IN TELEGRAM
Что будет, если обучить нейронку (StyleGAN-2) генеририть картинки под музыку? Будет очень красиво)
GitHub, модель
GitHub, модель
Text2image не стоит на месте!
Нашёл для вас целый набор ноутбуков (colab) для генерации картинок по тексту. Там всё сразу работает, нужно только вписать текст.
раз (VQGAN+CLIP),
два (FFT+CLIP),
три (bigGAN+CLIP)
Как это работает?
1. Берём случайный латентный вектор, генерим по нему картинку.
2. Итеративно оптимизируем вектор так, чтобы CLIP говорил, что картинка похожа на текстовое описание.
3. Не забываем про регуляризацию.
4. Готово :)
P.S. Текст в этом примере: "Overclocked nervous system" (разогнанная нервная система), ноутбук VQGAN+CLIP.
Нашёл для вас целый набор ноутбуков (colab) для генерации картинок по тексту. Там всё сразу работает, нужно только вписать текст.
раз (VQGAN+CLIP),
два (FFT+CLIP),
три (bigGAN+CLIP)
Как это работает?
1. Берём случайный латентный вектор, генерим по нему картинку.
2. Итеративно оптимизируем вектор так, чтобы CLIP говорил, что картинка похожа на текстовое описание.
3. Не забываем про регуляризацию.
4. Готово :)
P.S. Текст в этом примере: "Overclocked nervous system" (разогнанная нервная система), ноутбук VQGAN+CLIP.
Немножко ошибся в коде и получил такую красоту.
P.S. Кому интересно — это eigenface’ы, базис в пространстве человеческих лиц.
P.S. Кому интересно — это eigenface’ы, базис в пространстве человеческих лиц.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Facebook research выпустил PyTorchVideo
Это как
GitHub, туториал
P.S. Чтобы получить всю эту радость, надо всего лишь три раза прошептать:
Это как
torchvision, только для видео. Тут есть эффективные инструменты для загрузки/обработки данных а также предобученные модели, включая оптимизированные для смартфонов.
GitHub, туториал
P.S. Чтобы получить всю эту радость, надо всего лишь три раза прошептать:
pip install pytorchvideo
🔥Unsupervised Speech Recognition — как распознавать речь совсем без разметки
Это совместная статья от Google и Facebook, где для обучения используются два никак не связанных между собой датасета аудио и текста.
Step-by-step:
1. Заранее учим self-supervised wav2vec выдавать эмбеддинги для аудио (что-то типа берта для звука).
2. Разбиваем аудио на фрагменты и на каждой итерации кластеризуем их эмбеддинги (потом окажется, что один кластер - это одна фонема).
3. Учим GAN по этим кластерам генерировать хоть какой-то текст, пока дискриминатор учится отличать этот текст от реального.
5. Накладываем diversity-loss (максимизируем энтропию генератора).
6. Обнаруживаем, что GAN переводит речь в текст!
В итоге у них лучший результат на unsupervised бенчмарках и почти лучший на supervised.
Статья, GitHub
P.S. Так можно даже инопланетную речь научиться распознавать 👽
Это совместная статья от Google и Facebook, где для обучения используются два никак не связанных между собой датасета аудио и текста.
Step-by-step:
1. Заранее учим self-supervised wav2vec выдавать эмбеддинги для аудио (что-то типа берта для звука).
2. Разбиваем аудио на фрагменты и на каждой итерации кластеризуем их эмбеддинги (потом окажется, что один кластер - это одна фонема).
3. Учим GAN по этим кластерам генерировать хоть какой-то текст, пока дискриминатор учится отличать этот текст от реального.
5. Накладываем diversity-loss (максимизируем энтропию генератора).
6. Обнаруживаем, что GAN переводит речь в текст!
В итоге у них лучший результат на unsupervised бенчмарках и почти лучший на supervised.
Статья, GitHub
P.S. Так можно даже инопланетную речь научиться распознавать 👽
CogView: Mastering Text-to-Image Generation via Transformers
Генерация картинок по тексту от Alibaba. Почти то же самое, что и DALL·E (OpenAI), но лучше (new sota), компактнее (4B vs 12B параметров) и стабильнее. Ещё они запустили сайт с демо, но только на китайском 😒
Step-by-step:
1. Заранее учим VQ-VAE автоэнкодить картинки. Их латентное представление будет использоваться как визуальные токены.
2. Токенизируем текстовое описание и конкатенируем к нему визуальные токены (см. схему).
3. Учим трансформер (GPT) последовательно предсказывать эти токены.
4. Декодим визуальные токены в картинку с помощью декодер-части VQ-VAE.
Статья, демо, GitHub (пока пустой)
Генерация картинок по тексту от Alibaba. Почти то же самое, что и DALL·E (OpenAI), но лучше (new sota), компактнее (4B vs 12B параметров) и стабильнее. Ещё они запустили сайт с демо, но только на китайском 😒
Step-by-step:
1. Заранее учим VQ-VAE автоэнкодить картинки. Их латентное представление будет использоваться как визуальные токены.
2. Токенизируем текстовое описание и конкатенируем к нему визуальные токены (см. схему).
3. Учим трансформер (GPT) последовательно предсказывать эти токены.
4. Декодим визуальные токены в картинку с помощью декодер-части VQ-VAE.
Статья, демо, GitHub (пока пустой)
Вот так выглядит Бог искусственного интеллекта по мнению text2image модели CogView.
P.S. Если, конечно, гугл перевёл мой запрос правильно: «人工智能之神»
P.S. Если, конечно, гугл перевёл мой запрос правильно: «人工智能之神»
This media is not supported in your browser
VIEW IN TELEGRAM
Environments for self-driving tasks
Свежая библиотека для обучения нейронок вождению (и парковке). Тут всё предельно упрощено – надо научить машину ехать как можно быстрее, двигаться по своей полосе и, главное, не врезаться.
Авторы предоставили несколько бэйзлайн решений (в основном RL) и ноутбуки с примерами.
Статья, GitHub, colab.
Свежая библиотека для обучения нейронок вождению (и парковке). Тут всё предельно упрощено – надо научить машину ехать как можно быстрее, двигаться по своей полосе и, главное, не врезаться.
Авторы предоставили несколько бэйзлайн решений (в основном RL) и ноутбуки с примерами.
Статья, GitHub, colab.
A Survey of Data Augmentation Approaches for NLP
Аугментировать картинки — изи, но что же делать с текстом? Оказывается, можно много всего делать, и всё это описано в одной статье.
Основные способы аугментации:
1. Token-level: случайные перестановки, замена на синонимы, удаление рандомных и не рандомных слов.
2. Text-level: paraphrasing (GPT-2), backtranslation c помощью предобученных моделей, замена пропущенных слов с помощью masked-LM (см. картинку).
3. (самое интересное) Activation-level: aугментация внутри модели — зашумлять или смешивать эмбеддинги слов и по-всякому двигать внутренние репрезентации текста и этеншны.
Статья
Аугментировать картинки — изи, но что же делать с текстом? Оказывается, можно много всего делать, и всё это описано в одной статье.
Основные способы аугментации:
1. Token-level: случайные перестановки, замена на синонимы, удаление рандомных и не рандомных слов.
2. Text-level: paraphrasing (GPT-2), backtranslation c помощью предобученных моделей, замена пропущенных слов с помощью masked-LM (см. картинку).
3. (самое интересное) Activation-level: aугментация внутри модели — зашумлять или смешивать эмбеддинги слов и по-всякому двигать внутренние репрезентации текста и этеншны.
Статья
This media is not supported in your browser
VIEW IN TELEGRAM
TextStyleBrush
Facebook AI представили модель для генерации стилизованного текста по единственной референсной картинке.
Выглядит довольно круто. Теперь будет проще подделывать документы, но ни код ни модель пока не опубликовали 🤷♂️
Зато опубликовали размеченный датасет из 135К фотографий с разнообразными прикольными шрифтами.
Статья, блог, датасет
Facebook AI представили модель для генерации стилизованного текста по единственной референсной картинке.
Выглядит довольно круто. Теперь будет проще подделывать документы, но ни код ни модель пока не опубликовали 🤷♂️
Зато опубликовали размеченный датасет из 135К фотографий с разнообразными прикольными шрифтами.
Статья, блог, датасет
Как устроен TextStyleBrush?
Полный фреймворк состоит из 7(!) моделей:
1. Style (image) encoder
2. Content (text) encoder
3. Style mapping model
4. Stylized text generator (StyleGAN2)
5. Pretrained typeface classifier (классификатор шрифтов)
6. Pre-trained OCR (распознавание текста)
7. Discriminator
Модели 1-4 используются для инференса, 5-7 для лоссов.
Обучение здесь вполне типичное для стайл трансфера: учится ган на нескольких лоссах, главные из которых — reconstruction и cycle loss, которые учат модель перегонять текст из одного стиля в другой и обратно.
Также, здесь используются пара дополнительных лоссов на основе моделей 5-6, контролирующих качество сгенерированных текстов на картинке.
Полный фреймворк состоит из 7(!) моделей:
1. Style (image) encoder
2. Content (text) encoder
3. Style mapping model
4. Stylized text generator (StyleGAN2)
5. Pretrained typeface classifier (классификатор шрифтов)
6. Pre-trained OCR (распознавание текста)
7. Discriminator
Модели 1-4 используются для инференса, 5-7 для лоссов.
Обучение здесь вполне типичное для стайл трансфера: учится ган на нескольких лоссах, главные из которых — reconstruction и cycle loss, которые учат модель перегонять текст из одного стиля в другой и обратно.
Также, здесь используются пара дополнительных лоссов на основе моделей 5-6, контролирующих качество сгенерированных текстов на картинке.
This media is not supported in your browser
VIEW IN TELEGRAM
Alias-Free Generative Adversarial Networks (by NVIDIA)
Несмотря на translation-инвариантность конволюций, генеративные модели этим свойством не обладают, и текстуры «приклеиваются» к определённым пикселям. Например, при движении лица волосы будто бы остаются на месте.
Оказывается, это следствие алиасинга (aliasing) — кривого смешивания дискретных сигналов (в этом виновата теорема Найквиста). NVIDIA предлагает простой трюк, который исправляет этот дефект, делая сеть пространственно и вращательно эквивариантной, что позволяет двигаться по латентному пространству ГАНов более реалистично. Говорят, что это открывает им путь в мультипликацию и редактирование видео.
Вся суть aliasing-free модификации — куча правильных фильтров низких частот в нужных местах, которые гарантируют, что условие Найквиста не нарушится (высокие частоты будут не слишком высокими).
Статья, GitHub, блог
Несмотря на translation-инвариантность конволюций, генеративные модели этим свойством не обладают, и текстуры «приклеиваются» к определённым пикселям. Например, при движении лица волосы будто бы остаются на месте.
Оказывается, это следствие алиасинга (aliasing) — кривого смешивания дискретных сигналов (в этом виновата теорема Найквиста). NVIDIA предлагает простой трюк, который исправляет этот дефект, делая сеть пространственно и вращательно эквивариантной, что позволяет двигаться по латентному пространству ГАНов более реалистично. Говорят, что это открывает им путь в мультипликацию и редактирование видео.
Вся суть aliasing-free модификации — куча правильных фильтров низких частот в нужных местах, которые гарантируют, что условие Найквиста не нарушится (высокие частоты будут не слишком высокими).
Статья, GitHub, блог