В новом видео Янник Кильхер (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 строится на взаимодействии двух нейросетей:
- Генератор (Generator): Пытается создать фальшивые изображения, которые выглядят как настоящие .
- Дискриминатор (Discriminator): Пытается отличить фальшивые изображения, созданные генератором, от реальных снимков из обучающего набора данных .
В процессе обучения дискриминатор учится лучше распознавать подделки, а генератор — всё более искусно обманывать дискриминатор. В результате этого соперничества обе сети совершенствуются, пока генератор не начинает выдавать почти безупречные изображения . Янник Кильхер (Yannic Kilcher) отмечает, что прогресс в этой области за последние годы стал «безумным»: от размытых пятен в 2014 году до фотореалистичных лиц на сайтах вроде thispersondoesnotexist.com .
🕸️ Сбор данных: парсинг OpenSea и борьба с бесконечным скроллом 3:40
Для обучения нейросети необходим качественный набор данных. Янник Кильхер (Yannic Kilcher) решил собрать все 10 000 изображений из коллекции Bored Ape Yacht Club с маркетплейса OpenSea . Хотя у платформы есть API, автор утверждает, что предпочитает собирать данные напрямую с сайта, так как не доверяет сторонним интерфейсам .
Главным инструментом для сбора данных стал сервис Bright Data, который предоставляет инфраструктуру прокси-серверов и инструменты для автоматизации браузера. По словам Янника, OpenSea — один из самых сложных сайтов для парсинга из-за его динамической природы .
Основные сложности при сборе данных:
- Динамическая загрузка: Элементы подгружаются индивидуально после загрузки страницы.
- Бесконечный скролл (Infinite Scroll): Новые изображения появляются только при прокрутке вниз, заменяя «заглушки» .
- Структура URL: Автор обнаружил, что изображения пронумерованы от 0 до 9999, что позволило итерировать запросы .
Скрипт Янника на Bright Data работал в два этапа: сначала определялось общее количество элементов в коллекции, а затем происходил переход по прямым ссылкам на каждую обезьяну для сохранения изображения, её атрибутов и цены последней сделки .
🛠️ Обучение модели StyleGAN2-ADA 8:00
Вместо того чтобы писать код с нуля, Янник Кильхер (Yannic Kilcher) использовал официальную реализацию архитектуры StyleGAN2-ADA от NVIDIA, доступную на GitHub .
Процесс обучения состоял из следующих шагов:
- Конвертация собранных изображений в формат набора данных с помощью инструментов NVIDIA.
- Запуск скрипта
train.py. - Мониторинг метрик, таких как потери (loss) генератора и дискриминатора, а также FID (Fréchet Inception Distance).
Янник Кильхер (Yannic Kilcher) отмечает, что обучение GAN часто напоминает «гадание на кофейной гуще», так как графики потерь редко дают чёткое понимание качества модели . Однако метрика FID оказалась полезной: чем она ниже, тем лучше качество.
В ходе обучения автор столкнулся с неудачами:
- Первый запуск: Модель испытала «коллапс» (mode collapse). Изображения начали отображаться повёрнутыми набок без видимой причины .
- Второй запуск: После корректировки гиперпараметров модель показала отличные результаты. Значение FID упало почти до нуля .
Янник Кильхер (Yannic Kilcher) предупреждает, что любая GAN рано или поздно «коллапсирует», если обучение длится слишком долго, поэтому важно вовремя сохранять контрольные точки (checkpoints) .
🎨 Интерактивные инструменты: Hugging Face и «What’s Your Ape» 11:39
Результаты работы были опубликованы в виде интерактивных веб-приложений. На платформе Hugging Face автор создал пространство, где любой может нажать кнопку и мгновенно получить уникальное изображение обезьяны . Кильхер подчёркивает, что каждое изображение генерируется в моменте и никогда не существовало ранее .
Особый интерес представляет приложение «What’s Your Ape» («Какая ты обезьяна?»). Оно работает следующим образом:
- Пользователь загружает своё фото.
- Нейросеть ищет в латентном пространстве GAN изображение обезьяны, максимально похожее на оригинал .
- Для поиска используется модель CLIP от OpenAI.
CLIP обучена на парах текст-изображение и понимает содержание картинки гораздо лучше классических сетей . С помощью метода обратного распространения ошибки (backpropagation) система подбирает параметры генератора так, чтобы выходное изображение в глазах CLIP соответствовало входному фото пользователя . По словам Янника, эта же технология лежит в основе современных систем генерации искусства, таких как DALL-E 2 .
📊 Возможности платформы Bright Data 15:14
В завершение видео Янник Кильхер (Yannic Kilcher) подробнее останавливается на возможностях спонсора ролика — Bright Data. Он отмечает, что созданный им парсер был «самым сложным и трудоёмким» способом использования платформы, в то время как для большинства задач существуют готовые решения .
Среди функций Bright Data автор выделяет:
- Pre-defined Collectors: Готовые скрипты для сбора данных из Instagram (например, по хештегу #aiart), Amazon, eBay, Airbnb и LinkedIn .
- Готовые датасеты: Доступ к уже собранным базам данных, таким как реестр из 50 миллионов компаний в LinkedIn .
- Сценарии использования: Верификация рекламы (просмотр объявлений глазами целевой аудитории из разных регионов), мониторинг цен конкурентов в e-commerce и поиск локаций для бизнеса .
Янник считает, что автоматизированный сбор публичных данных в масштабе — это «невероятно мощный инструмент» для любого современного проекта .