эйай ньюз
77.4K subscribers
1.73K photos
890 videos
7 files
2.03K links
Культурно освещаю самые и не самые важные новости из мира AI, и облагораживаю их своим авторитетным профессиональным мнением.

Ex-Staff Research Scientist в Meta Generative AI. Сейчас CEO&Founder AI стартапа в Швейцарии.

Aвтор: @asanakoy

PR: @ssnowysnow
Download Telegram
Новый трюк: пропускаем градиент через сложные дискретные распределения и комбинаторные солверы
Ч.1

Наткнулся на обалденную статью с последнего нипса - Implicit Maximum Likelihood Estimation (I-MLE).

I-MLE позволяет включать дискретные комбинаторные алгоритмы оптимизации (например, алг. Дейкстры, солверы для целочисленного линейного программирования и др.), а также любые дискретные распределения вероятностей в стандартные архитектуры глубокого обучения и "пропускать"" градиент через них. На рисунке показана схема I-MLE. Пусть есть нейронка, отображающая некоторые входные данные во входные параметры дискретного комбинаторного алгоритма оптимизации или дискретного распределения вероятностей, изображенного в виде черного ящика. В forward проходе выполняется дискретный компонент, и его дискретный вывод передается в следующую нейронку. С помощью метода I-MLE можно оценивать градиенты относительно функции потерь, которые используются во время backward-pass для обновления параметров первой нейронной сети.

Ч.2 ниже
👍1
Новый трюк: как пропускать градиент через сложные дискретные распределения и комбинаторные солверы - Ч.2
>> Ч.1 тут

Заюзать это можно где угодно в вашей архитектуре.
Например, если вы хотите посчитать top-k в векторе, либо отсортировать все его компоненты, при этом пропуская градиент через эту операцию.

Дрогой пример с дивана: игра Dota2. По текущей сцене вы строите граф и находите в нем несколько кратчайших путей до целевой токи, далее вы обрабатываете этот путь другой нейронкой, которая выдает вам ожидаемый reward (вознаграждение) при выборе того или иного пути.

Красивый приятный код от авторов позволяет использовать I-MLE, обернув дискретный солвер всего в несколько строк (см. скрин, где недифференцируемый torch_solver() начинает пропускать градиенты после добавления одного декоратора).

За подробностями и занимательной математикой прошу в статью.

Тут еще видео от Яника с объяснениями.
Forwarded from Denis Sexy IT 🤖
В нейронках вроде ruDall-E меня впечатляет именно потенциал для применения — от окна в мир в условиях без интернета, до формирования гардероба, мебели, или создания быстрых прототипов для вдохновения.

Сейчас это все первые проблески, но вы сами видите какие потенциально красивые вещи генерируют AI-художники с помощью нейронок (CLIP, тот же ruDall-E и тп).

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

Вдохновляясь этим подходом, мне стало интересно где еще можно применить подобный подход – в мире существует достаточно много недописанных картин, и увы, уже никак не узнать как бы выглядело целостное произведение. Но можно, например, дообучить модель, картинами конкретного художника (и даже взять конкретный период в выборку), и уже эти картины использовать как вдохновление для «дорисовывания» картины.

За основу я взял известный портрет Джорджа Вашингтона 1796 года, который был недописан Гилберт Стюартом, но тем не менее, этот же портрет попал на все купюры в 1$. Указав где какие области картины я хотел бы «догенерировать», я получил не одну версию, а целых 24. Результат хоть и такой себе, но уже вполне применим как способ генерации потенциально возможных работ автора.

В общем, это крутое направление развитие нейронок, думая о котором я всегда улетаю куда-то на пару десятков лет в будущее, потому что все эти нейронные-текстовые-фотошопы только-только появляются.

🖼 Ну и бонус, в этом Colab можно дообучить ruDallE конкретной картинкой, получив что-то такое.
👍1
Команда из Сбера и Институт искусственного интеллекта AIRI заняла первое место в ИИ-конкурсе NetHack Challenge

NetHack Challenge - это конкурс по написанию нейросетей для консольной RPG игры NetHack. Цель челенджа - разработать ИИ, который сможет успешно пройти полную игру или набрать как можно более высокий балл. Эта игра считается одной из самых сложных в мире и используется для оценки прогресса в обучении ИИ, поскольку современные подходы пока достаточно плохо справляются с ней, в отличие от го, шахмат, Dota 2 или Starcraft, которые уже неплохо решаются нейронными сетями.

Трудность в том, что в NetHack слишком много возможностей̆ исхода событий и нет заранее известной стратегии, что максимально приближает её сценарий к условиям реального мира. Более того в игре нет четко заданных уровней - они случайно генерируются налету, что делает крайне маловероятным, что игрок когда-либо столкнется с одной и той же ситуацией более одного раза.

Учёным Сбера и AIRI удалось построить иерархию навыков, которыми должен обладать агент для игры в NetHack, на основе RL (Reinforcement Learning) и занять первое место! Reinforcement Learning — это метод обучения ИИ, на основе обратной связи от взаимодействия со средой, например, игрой, или реальным миром. Он использовался для победы ИИ в игре го (AlphaGo) и многих известных играх, например, StarCraft (AlphaStar), Dota 2 (OpenAI Five). Этот метод начинает активно применяться для задач управления роботами, торговли на бирже, управления логистикой и в множестве других областей.

Написать своего бота, чтобы поиграться с NetHack может любой желающий, на гитхабе выложен код энвайромента.
👍2
Forwarded from Denis Sexy IT 🤖
Media is too big
VIEW IN TELEGRAM
Только месяц назад Nvidia показала интерактивную демку (с ужасным UI), где можно генерировать правдоподобные пейзажи из текста, скетчей или карт сегментации, так тут же, в начале декабря, тоже Nvidia, показала подход из этой же серии, но который генерирует картинки настолько хорошо, что уделывает GauGan 2. Очередная демонстрация скорости устаревания алгоритмов 🌚

Правда, интерактивной демки пока нет, но код обещают скоро выложить.

Просто посмотрите видео – уверен такую механику в какой-то момент добавят в фотошоп.

Сайт проекта PoE-GAN, по ссылке больше примеров
This media is not supported in your browser
VIEW IN TELEGRAM
Анимируем детские рисунки с помощью AI
Meta AI

Meta AI выкатили прикольную демку, которая умеет оживлять и анимировать детские рисунки - от соломенного человечка до непонятных кракозябр.

Демка / Блогпост
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️Denoising diffusion GANs
NVIDIA

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

Скрестив диффузионные модели с ганами, они ускорили генерацию семплов при сохранении качества генерации и широкого охвата мод в тренировочном распределениии. Звучит многообещающе!

Кода пока нет, но скоро появится тут.

https://nvlabs.github.io/denoising-diffusion-gan/
This media is not supported in your browser
VIEW IN TELEGRAM
Пайплайн модели Denoising diffusion GAN из предыдущего поста.
Forwarded from Denis Sexy IT 🤖
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 О, наконец-то допилили StyleGAN чтобы можно было генерировать не просто 2D картинки, а прям 3D окружение.

Самое прикольное, что для обучения модели использовали те же самые данные, что и в обычных стайлганах, никаких датасетов с 3D-сканами не нужно, нужна просто куча консистентных картинок.

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

Вот тут сайт проекта где больше примеров:
https://matthew-a-chan.github.io/EG3D/

Кода пока нет, очень жду
Forwarded from тоже моушн
This media is not supported in your browser
VIEW IN TELEGRAM
свершилось! теперь Lucid Sonic Dreams и StyleGAN3 дружат в этом колабе. все очень доступно и просто - подаешь на вход музыку, выбираешь модель для генерации и на выходе получаешь музыкальное видео.
Смотрите, что есть: Бесплатный онлайн-учебник по ML от ШАДа

Школа Анализа Данных Яндекса сделала свой учебник по ML с интерктивными иллюстрациями. Пока там только базовые темы (Линейные модели, Метрические алгоритмы, Решающие деревья, Ансамбли, Градиентный бустинг, Оценка качества моделей), но он будет регулярно пополняться новыми главами.

В учебнике хорошо то, что он помогает сориентироваться в дебрях всей доступной информации о машинном обучении и систематизирует ее — можно не отвлекаться на бесконечный поиск в интернете. Особенно он будет полезен начинающим в ML.

Учебник
🔥Генерация изображений выходит на новый уровень: GLIDE

GLIDE - это закономерное развитие модели DALL-E от OpenAI. Только теперь вместо GAN-ов, архитектура GLIDE основана на diffusion denoising моделях, о которых у меня уже было несколько постов (тык1, тык2, тык3).

GLIDE умеет генерировать изображения как по текстовому описанию с нуля, так и дополнять существующие. Поразительно, как моделька подстраивается под стиль и освещение во входной картинке, когда нужно дорисовать новый объект.

Архитектура состоит из двух моделей, первая (3.5 млрд параметров) генерит 64×64 картинку по текстовой строке, а вторая (1.5 млрд параметров) берет входной текст и картинку 64×64 и апскейлит её до 256×256. Видимо, так было проще тренировать.

GLIDE, в отличие от DALL-E, не использует CLIP классификатор и не требует ре-ранкинга результатов для увеличения их схожести со входным текстом. И, конечно, GLIDE бьёт DALL-E на всех бенчмарках.

На GPU генерация 256x256 картинки занимает меньше минуты.

Arxiv >> Код на GitHub >> Колаб
Forwarded from ExMuffin
✍️ NeuralCorrector v.1.0 🦦

Вчера появилась новая нейронка GLIDE от OpenAI, которая помимо уже привычной генерации картинок из текстовых описаний умела дорисовывать объекты на изображение, которое мы подадим. Нужно просто маской указать где хочется добавить объект и все. Но требовать от пользователей заранее готовить картинку с этой маской мне не хотелось, поэтому я прямо в колаб добавил рисовалку, которой нужно будет закрашивать изменяемую область. Плюс встроенный переводчик для тех, кто привык писать запросы на родном языке. Ну и учитывая то, что на выходе мы получаем изображение 256х256, я добавил свежий алгоритм апскейла на диффьюзивных моделях. Инструмент очень сырой, поэтому если объект не добавится, нужно перезапустить блок с генерацией.

P.S. На фото «мужчина и пирог на столе»

https://colab.research.google.com/github/tg-bomze/collection-of-notebooks/blob/master/NeuralCorrector.ipynb
👍2
Forwarded from partially unsupervised
Еще на прошлой неделе закончился NeurIPS 2021, пора собрать в кучу хотя бы некоторые заметки оттуда.

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

Главный хайп в сфере компьютерного зрения - это трансформеры. ViT был очень перспективен, но несовершенен (сложно обучать, долгий инференс, неустойчивость к изменению размера входных картинок...), и лучшие академические умы бросились исправлять это несовершенство. Например:

CAPE: Encoding Relative Positions with Continuous Augmented Positional Embeddings представляет новый тип positional embeddings, которые улучшают сходимость, повышают точность и устойчивость к размеру входа. Работает для CV, NLP, ASR задач.

All Tokens Matter: Token Labeling for Training Better Vision Transformers добавляет новую задачу, похожую на weak/self-supervised semantic segmentation для улучшения сходимости.

Not All Images are Worth 16x16 Words: Dynamic Transformers for Efficient Image Recognition предлагает способ динамически находить требуемое количество входных патчей, что повышает эффективность (напомню, трансформерам свойственна сложность O(n²) от количества токенов на входе).

TokenLearner: What Can 8 Learned Tokens Do for Images and Videos? предлагает скомбинировать сверточную сеть и трансформер: сначала сверточным блоком учим малое количество токенов, дальше засовываем их в трансформер.

ResT: An Efficient Transformer for Visual Recognition - очередной подход, как прикрутить свертки для оптимизации ViT и исправить родовые травмы positional encoding.

XCiT: Cross-Covariance Image Transformers предложили cross-covariance attention - еще один способ привести трансформер к линейной сложности. Бонусом идут повышение точности, визуализируемость, устойчивость к изменению входного разрешения.

В следующем посте: дистилляция, self-supervision, metric learning.
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Нейронка строит анимируемые 3D модели по видео с телефона
Meta AI

Мои коллеги из Meta AI написали новую статью про метод, который позволяет очень просто перенести вашего питомца в виртуальную 3D вселенную. Нужно только несколько видео, где он играется.

Сайт проекта >> Статья >> Код выложат позже
А вот так примерно выглядит пайплайн.

Знаю, что тут нифига не понятно, поэтому читайте саму статью BANMo: Building Animatable 3D Neural Models from Many Casual Videos.
💥 SLIP = SimCLR + CLIP, встречайте претрейн от Facebook AI Research & UC Berkeley | Код + Веса

Уже никому не нужно рассказывать про CLIP. Ваша мама знает, что такое CLIP, Ваш сосед юзает его вприкуску с VQ-GAN, Ваших коллег уже тошнит от его упоминания. Вы сами стали CLIP’ом, и за год прибывания в общем пространстве для текстовых и визуальных репрезентаций, перестали обижаться на ругательство «Zero-Shot», доносящееся от мимолетных векторных прохожих.

Но теперь появился SLIP. Коктейль из SimCLR (CosSim между изображением и его аугментациями) + CLIP (CosSim между изображениями и текстами).

И что? Обойдёт ли SLIP CLIP по общественному резонансу? — Нет.. Нельзя войти в одну contrastive language image pretrain реку дважды. Но если в неё ещё и впадает self-supervision, то можно явно обогнать CLIP на ImageNet бенчмарке в Zero-Shot, Linear Probe и Finetune.

📰 paper 💻 code + веса
👍1