Оказывается что при аугментации надо было не одно изменение на картинку накидывать, а два.
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
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
Forwarded from gonzo-обзоры ML статей
[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), и здесь её цель — предсказать репрезентацию целевой сети.
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), и здесь её цель — предсказать репрезентацию целевой сети.
GitHub
deepmind-research/byol at master · google-deepmind/deepmind-research
This repository contains implementations and illustrative code to accompany DeepMind publications - google-deepmind/deepmind-research
Что получится если скрестить Style Transfer и NeRF? Довольно необычные результаты.
Project
#StyleTransfer #NovelViews
Project
#StyleTransfer #NovelViews
hhsinping.github.io
Learning to Stylize Novel Views
Не зон спамить, но я уже пару дней с этим трюком играюсь. Ещё работают хорошо специализированные рендеры. Например v-ray для архитектуры
#text2image #generative
#text2image #generative
Forwarded from Denis Sexy IT 🤖
Тут забавно оказалось – если в нейронку которая генерирует картинку из текстового запроса, в конце запроса дописать «unreal engine», то качество генерации сильно повысится 🌝 то есть буквально, ссылаясь в тексте на что-то у чего обычно офигенная графика, можно улучшить качество генерации.
Вот две картинки сгенерированные из текста с припиской в конце «unreal engine» – ангел воздуха и ангел воды ✨ можете сами попробовать в колабе тут
Вот две картинки сгенерированные из текста с припиской в конце «unreal engine» – ангел воздуха и ангел воды ✨ можете сами попробовать в колабе тут
Новый оптимизатор от OpenAI.
В 2 раза быстрее чем Adam на ImageNet, в 2.5 раза быстрее на языковых задачах
ArXiv
#Training #optimizer
В 2 раза быстрее чем Adam на ImageNet, в 2.5 раза быстрее на языковых задачах
ArXiv
#Training #optimizer
Говорят что круче всех на свете работают с табличными данными.
Twitter пост
Но код, что бы это проверить ещё не доступен.
#tabular
Twitter пост
Но код, что бы это проверить ещё не доступен.
#tabular
Twitter
AK
SAINT: Improved Neural Networks for Tabular Data via Row Attention and Contrastive Pre-Training pdf: arxiv.org/pdf/2106.01342… abs: arxiv.org/abs/2106.01342 performs attention over both rows and columns, and it includes an enhanced embedding method
Интересный новый #GAN, который мы скоро наверняка увидим во всяких Snapchat (если им ещё кто-то пользуется) и тд и тп
Project
#StyleTransfer #GAN #generative
Project
#StyleTransfer #GAN #generative
Идея проста как валенок: а что если применять контрастные методы в полностью supervised режиме. Естественно у гугла получается прям хорошо.
Блог-пост
#ContrastiveLearning #images
Блог-пост
#ContrastiveLearning #images
blog.research.google
Extending Contrastive Learning to the Supervised Setting
Датасет гербарий - для автоматического распознавания и таксонофикации растений.
#ScientificML #datasets
#ScientificML #datasets
Paperswithcode
Papers with Code - Herbarium 2021 Half–Earth Dataset
The Herbarium Half-Earth dataset is a large and diverse dataset of herbarium specimens to date for automatic taxon recognition. The Herbarium 2021: Half-Earth Challenge dataset includes more than 2.5M images representing nearly 65,000 species from the Americas…
Классная идея использовать генеративные сетки для репрезентативного обучения:
Project
Но подозреваю что тренировать этого монстра очень и очень сложно.
#ContrastiveLearning #generative #GAN
Project
Но подозреваю что тренировать этого монстра очень и очень сложно.
#ContrastiveLearning #generative #GAN
Сам такой хотел когда-то написать, но руки так и не дошли. Код который помогает расчитать размеры сверток
#CNN
#CNN
Twitter
François Fleuret
I wrote a piece of code that, given an input and output tensor sizes and a depth, computes all the sequences of kernel sizes / strides that do it! No padding. I hate paddings. fleuret.org/git-extract/py… @PyTorch