Янник Кильхер: «С моей нейросетью все обезьяны становятся взаимозаменяемыми»

Yannic Kilcher 47,2 тыс. 18 мин 5 мин 05.05.2022
Главное

В новом видео Янник Кильхер (Yannic Kilcher) демонстрирует процесс создания «бесконечных» NFT из знаменитой коллекции Bored Ape Yacht Club с помощью технологий искусственного интеллекта. Автор пошагово разбирает сбор данных, обучение нейросети StyleGAN2-ADA и создание интерактивных инструментов, позволяющих любому желающему генерировать уникальных цифровых приматов.

🐒 Эпоха «взаимозаменяемых» токенов: концепция GAN-FT 0:00

Янник Кильхер (Yannic Kilcher) начинает с провокационного заявления: он создал нейросеть, способную генерировать бесконечное количество изображений обезьян, практически неотличимых от оригинальной коллекции Bored Ape Yacht Club (BAYC) . По мнению автора, эти «скучающие обезьяны» стали вершиной популярности NFT, и его цель — сделать их доступными для всех, иронично замечая, что теперь «всё стало взаимозаменяемым» (fungible) .

В рамках проекта, получившего название GAN-FT, Янник Кильхер (Yannic Kilcher) преследует несколько целей:

Автор признаёт, что он не первый, кто исследует эту тему. Он упоминает работы Натана Купера Джонса (Nathan Cooper Jones) и пользователя Serial Sucka в Twitter, которые ранее проводили глубокие исследования коллекции BAYC с помощью генеративно-состязательных сетей .

🧠 Как работают GAN: битва генератора и дискриминатора 2:08

Технология, лежащая в основе проекта, называется Generative Adversarial Network (GAN) или генеративно-состязательная сеть. Эта концепция была впервые представлена в 2014 году в статье Яна Гудфеллоу (Ian Goodfellow) и его коллег .

Принцип работы GAN строится на взаимодействии двух нейросетей:

  1. Генератор (Generator): Пытается создать фальшивые изображения, которые выглядят как настоящие .
  2. Дискриминатор (Discriminator): Пытается отличить фальшивые изображения, созданные генератором, от реальных снимков из обучающего набора данных .

В процессе обучения дискриминатор учится лучше распознавать подделки, а генератор — всё более искусно обманывать дискриминатор. В результате этого соперничества обе сети совершенствуются, пока генератор не начинает выдавать почти безупречные изображения . Янник Кильхер (Yannic Kilcher) отмечает, что прогресс в этой области за последние годы стал «безумным»: от размытых пятен в 2014 году до фотореалистичных лиц на сайтах вроде thispersondoesnotexist.com .

🕸️ Сбор данных: парсинг OpenSea и борьба с бесконечным скроллом 3:40

Для обучения нейросети необходим качественный набор данных. Янник Кильхер (Yannic Kilcher) решил собрать все 10 000 изображений из коллекции Bored Ape Yacht Club с маркетплейса OpenSea . Хотя у платформы есть API, автор утверждает, что предпочитает собирать данные напрямую с сайта, так как не доверяет сторонним интерфейсам .

Главным инструментом для сбора данных стал сервис Bright Data, который предоставляет инфраструктуру прокси-серверов и инструменты для автоматизации браузера. По словам Янника, OpenSea — один из самых сложных сайтов для парсинга из-за его динамической природы .

Основные сложности при сборе данных:

Скрипт Янника на Bright Data работал в два этапа: сначала определялось общее количество элементов в коллекции, а затем происходил переход по прямым ссылкам на каждую обезьяну для сохранения изображения, её атрибутов и цены последней сделки .

🛠️ Обучение модели StyleGAN2-ADA 8:00

Вместо того чтобы писать код с нуля, Янник Кильхер (Yannic Kilcher) использовал официальную реализацию архитектуры StyleGAN2-ADA от NVIDIA, доступную на GitHub .

Процесс обучения состоял из следующих шагов:

  1. Конвертация собранных изображений в формат набора данных с помощью инструментов NVIDIA.
  2. Запуск скрипта train.py .
  3. Мониторинг метрик, таких как потери (loss) генератора и дискриминатора, а также FID (Fréchet Inception Distance).

Янник Кильхер (Yannic Kilcher) отмечает, что обучение GAN часто напоминает «гадание на кофейной гуще», так как графики потерь редко дают чёткое понимание качества модели . Однако метрика FID оказалась полезной: чем она ниже, тем лучше качество.

В ходе обучения автор столкнулся с неудачами:

Янник Кильхер (Yannic Kilcher) предупреждает, что любая GAN рано или поздно «коллапсирует», если обучение длится слишком долго, поэтому важно вовремя сохранять контрольные точки (checkpoints) .

🎨 Интерактивные инструменты: Hugging Face и «What’s Your Ape» 11:39

Результаты работы были опубликованы в виде интерактивных веб-приложений. На платформе Hugging Face автор создал пространство, где любой может нажать кнопку и мгновенно получить уникальное изображение обезьяны . Кильхер подчёркивает, что каждое изображение генерируется в моменте и никогда не существовало ранее .

Особый интерес представляет приложение «What’s Your Ape» («Какая ты обезьяна?»). Оно работает следующим образом:

  1. Пользователь загружает своё фото.
  2. Нейросеть ищет в латентном пространстве GAN изображение обезьяны, максимально похожее на оригинал .
  3. Для поиска используется модель CLIP от OpenAI.

CLIP обучена на парах текст-изображение и понимает содержание картинки гораздо лучше классических сетей . С помощью метода обратного распространения ошибки (backpropagation) система подбирает параметры генератора так, чтобы выходное изображение в глазах CLIP соответствовало входному фото пользователя . По словам Янника, эта же технология лежит в основе современных систем генерации искусства, таких как DALL-E 2 .

📊 Возможности платформы Bright Data 15:14

В завершение видео Янник Кильхер (Yannic Kilcher) подробнее останавливается на возможностях спонсора ролика — Bright Data. Он отмечает, что созданный им парсер был «самым сложным и трудоёмким» способом использования платформы, в то время как для большинства задач существуют готовые решения .

Среди функций Bright Data автор выделяет:

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

💬 Цитаты

«С нейросетью мы будем богаты: вы получаете обезьяну, и вы получаете обезьяну... теперь всё взаимозаменяемо.»

Янник Кильхер 01:07

«Обучение GAN — это одна из тех вещей, где метрики похожи на гадание на кофейной гуще.»

Янник Кильхер 08:42

«Эта обезьяна создана в это мгновение. Такая же обезьяна никогда не создавалась раньше и не будет создана потом.»

Янник Кильхер 11:55
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
GAN
Генеративно-состязательная сеть, состоящая из генератора и дискриминатора, соревнующихся друг с другом.
FID (Fréchet Inception Distance)
Метрика для оценки качества изображений, созданных генеративной моделью.
Mode Collapse
Проблема при обучении GAN, когда генератор начинает выдавать ограниченный набор одинаковых или некорректных изображений.
CLIP
Нейросеть от OpenAI, которая связывает текстовые описания с визуальными образами.
Латентное пространство
Многомерное пространство скрытых представлений данных, в котором работает нейросеть.
📊 Цифры
🗓 Хронология
  1. 2014 Ян Гудфеллоу публикует статью о генеративно-состязательных сетях (GAN).
  2. 2021-2022 Пик популярности коллекции Bored Ape Yacht Club (BAYC).
  3. Март 2022 Янник Кильхер публикует проект GAN-FT.
⚖️ Другая сторона
Искусственный интеллект Yannic Kilcher StyleGAN2-ADA OpenAI CLIP Bright Data Bored Ape Yacht Club