AI Для Всех
12.1K subscribers
1.03K photos
127 videos
10 files
1.31K links
Канал, в котором мы говорим про искусственный интеллект простыми словами

Главный редактор: @crimeacs

Авторы канала: @GingerSpacetail, @innovationitsme
Download Telegram
Оказывается что при аугментации надо было не одно изменение на картинку накидывать, а два.

Remarkably, we find that drawing multiple samples per image consistently enhances the test accuracy achieved for both small and large batch training, despite reducing the number of unique training examples in each mini-batch.

ArXiv

#Training #Augmentation
Крутой канал в целом, и хорошая заметка в частности

#SSL #images
[BYOL] Bootstrap your own latent: A new approach to self-supervised Learning
Jean-Bastien Grill, Florian Strub, Florent Altché, Corentin Tallec, Pierre H. Richemond, Elena Buchatskaya, Carl Doersch, Bernardo Avila Pires, Zhaohan Daniel Guo, Mohammad Gheshlaghi Azar, Bilal Piot, Koray Kavukcuoglu, Rémi Munos, Michal Valko
Статья: https://arxiv.org/abs/2006.07733
Код (на JAX и Haiku): https://github.com/deepmind/deepmind-research/tree/master/byol

Мы уже писали про разные интересные результаты в contrastive learning (CL), например, SimCLR (https://t.me/gonzo_ML/324), LoCo (https://t.me/gonzo_ML/342) или даже про применение этого подхода для работы с кодом (https://t.me/gonzo_ML/330). За последнее время появилось много новых интересных результатов, которые хочется разобрать. Но перед этим важно рассказать про некоторые вещи, ставшие уже классическими. BYOL от DeepMind и Imperial College как раз из таких.

Многие методы CL используют для обучения и позитивные и негативные примеры, и цель обучения — для позитивных примеров получить близкие репрезентации, а для пар позитивного и негативного — далёкие. BYOL интересен тем, что получает SoTA (на тот момент) без использования негативных пар. В этом смысле его, пожалуй, некорректно называть contrastive learning, а правильнее звать более широким термином self-supervised learning (SSL) .

Классические SSL методы часто строят фреймворк вокруг репрезентаций различных отображений одного и того же объекта (различные аугментированные представления [view] одной и той же картинки, например), и репрезентация одного представления должна быть способна предсказать репрезентацию другого представления того же самого изображения. Предсказание напрямую в пространстве репрезентаций может вести к коллапсу этих самых репрезентаций (например, к константе по всем представлениям), поэтому CL методы обходят это переформулированием проблемы предсказания проблемой разделения (discrimination) — по репрезентации аугментированного представления они учатся различать репрезентации других аугментированных представлений того же самого объекта от репрезентаций аугментированных представлений совсем других объектов (других картинок, например). Это спасает от коллапса репрезентаций.

В данной работе авторы задались вопросом, нужны ли эти негативные примеры для борьбы с коллапсом или можно обойтись без них.

BYOL использует две сети: онлайн (online) и целевую (target). Онлайн сеть состоит из трёх этапов: энкодер, проектор и предиктор. Целевая сеть имеет почти такую же архитектуру (нет предиктора), и свой набор весов. Между двумя сетями нет шаринга, но связь есть — веса целевой сети являются экспоненциальным скользящим средним весов онлайн сети.

Из интересного, авторы заметили, что целевая сеть может быть зафиксирована в рандомно инициализированном состоянии и онлайн сеть при обучении предсказывать её репрезентации даёт репрезентации сравнительно неплохого качества (18.8% top-1 acc на ImageNet, в то время как сама рандомная сеть лишь 1.4%, что кстати тоже многовато...). В этом в целом кроется суть метода: для некой целевой репрезентации мы можем, пытаясь её предсказать, выучить новую, потенциально улучшенную. А отсюда мы можем повторить процесс для новой репрезентации, итерируя процедуру и каждый раз делая целевой предыдущую онлайн репрезентацию. Такой вот собственно бутстрапинг.

BYOL генерирует два разных представления (v и v’) по исходной картинке (каждое со своими аугментациями, такими же как в SimCLR — случайный патч изображения + случайный горизонтальный флип + дисторсия цвета + гауссовское размытие + соляризация). Обе сети далее прогоняют это через свои энкодеры (ResNet-50 и больше/шире) и проекторы (MLP), онлайн сеть также прогоняет через предиктор (MLP), и здесь её цель — предсказать репрезентацию целевой сети.
Что получится если скрестить Style Transfer и NeRF? Довольно необычные результаты.

Project

#StyleTransfer #NovelViews
Построение карт глубины по одному монокулярному изображению - теперь в HD.

Project

#Depth #images
Не зон спамить, но я уже пару дней с этим трюком играюсь. Ещё работают хорошо специализированные рендеры. Например v-ray для архитектуры

#text2image #generative
Forwarded from Denis Sexy IT 🤖
Тут забавно оказалось – если в нейронку которая генерирует картинку из текстового запроса, в конце запроса дописать «unreal engine», то качество генерации сильно повысится 🌝 то есть буквально, ссылаясь в тексте на что-то у чего обычно офигенная графика, можно улучшить качество генерации.

Вот две картинки сгенерированные из текста с припиской в конце «unreal engine» – ангел воздуха и ангел воды можете сами попробовать в колабе тут
Новый оптимизатор от OpenAI.

В 2 раза быстрее чем Adam на ImageNet, в 2.5 раза быстрее на языковых задачах

ArXiv

#Training #optimizer
Говорят что круче всех на свете работают с табличными данными.

Twitter пост

Но код, что бы это проверить ещё не доступен.

#tabular
Интересный новый #GAN, который мы скоро наверняка увидим во всяких Snapchat (если им ещё кто-то пользуется) и тд и тп

Project

#StyleTransfer #GAN #generative
Идея проста как валенок: а что если применять контрастные методы в полностью supervised режиме. Естественно у гугла получается прям хорошо.

Блог-пост

#ContrastiveLearning #images
Новая реплика gpt-3. Работает лучше (или сравнимо) оригинала.

Colab
Online demo

#NLP #GPT #generative
Классная идея использовать генеративные сетки для репрезентативного обучения:

Project

Но подозреваю что тренировать этого монстра очень и очень сложно.

#ContrastiveLearning #generative #GAN
Сам такой хотел когда-то написать, но руки так и не дошли. Код который помогает расчитать размеры сверток

#CNN