Известный AI-исследователь Янник Кильхер (Yannic Kilcher) представил необычный творческий проект: музыкальный клип, полностью созданный нейросетями на основе текста, сгенерированного из меток классов датасета ImageNet. В этом проекте автор объединил возможности моделей CLIP от OpenAI и BigGAN, чтобы продемонстрировать, как современные алгоритмы машинного обучения могут визуализировать абстрактные понятия и синхронизировать их с живым исполнением.
🎵 Идея и создание текста песни 0:01
Основой для проекта послужила песня, текст которой Янник Кильхер составил из названий категорий ImageNet — гигантского набора данных, используемого для обучения систем компьютерного зрения . По словам автора, такой выбор был обусловлен не только желанием поэкспериментировать, но и практическими соображениями:
- Авторское право: Использование собственных текстов и музыки позволяет избежать проблем с системой Content ID на YouTube .
- Смысловая нагрузка: Как утверждает Кильхер, текст песни «абсолютно ничего не значит» . Это набор случайных образов: от спальных мешков и гильотин до различных видов змей (королевская змея, виноградная змея и др.) .
- Творческий вызов: Автору пришлось приложить усилия, чтобы найти рифмы среди технических названий классов объектов .
🖼️ Визуализация через BigGAN и латентное пространство 3:51
Для генерации видеоряда использовалась модель BigGAN — генеративно-состязательная сеть, обученная создавать высококачественные изображения. Кильхер объясняет техническую суть процесса:
- Латентное пространство: Нейросеть генерирует изображение на основе точки (вектора), выбранной в так называемом латентном пространстве .
- Интерполяция (траверс): Если выбрать две точки в этом пространстве, можно плавно перемещаться от одной к другой .
- Создание видео: Последовательная склейка кадров при переходе между точками создает эффект морфинга — плавного превращения одного объекта в другой .
Для каждой строчки песни была подобрана соответствующая точка в латентном пространстве, а затем настроен переход между ними в такт музыке .
🧠 Связка CLIP и BigGAN: дифференцируемый пайплайн 4:58
Ключевой этап работы заключался в том, чтобы заставить нейросеть создавать изображения, точно соответствующие тексту песни. Для этого была использована модель CLIP от OpenAI .
- Роль CLIP: Эта модель умеет сопоставлять текст и изображение, выдавая числовой показатель того, насколько хорошо они подходят друг другу .
- Обратное распространение (Backpropagation): Кильхер подчеркивает, что весь пайплайн является дифференцируемым. Это позволяет передавать сигнал об ошибке от CLIP обратно через BigGAN к входному вектору .
- Процесс оптимизации: Система начинает со случайного шума, который постепенно (за сотни итераций) трансформируется в изображение, максимально «удовлетворяющее» модель CLIP для данной строки текста .
По мнению Кильхера, результаты не всегда реалистичны, но зачастую выглядят «очень круто» . В качестве примера он приводит визуализацию фразы «позвоночник как горизонтальная перекладина» и «лицо как поношенный коврик» .
🎸 Музыкальное оборудование и процесс записи 7:32
Помимо технической части с ИИ, Янник Кильхер сам исполнил песню, используя технику лайв-лупинга (создание многослойных композиций в реальном времени). В его арсенале:
- Инструмент: Электроакустическая гитара Little Martin .
- Процессоры и педали:
- Запись: Весь звук был записан на встроенный микрофон iPad, что автор называет не самым удачным решением .
Кильхер признается, что страдает от сильного страха перед камерой («stage fright»), из-за чего ему потребовалось около 20 дублей, чтобы записать финальный вариант .
🤝 Сообщество и открытый код 12:47
В завершение Янник Кильхер подчеркнул, что его проект — это результат работы многих исследователей. Он отметил вклад разработчиков CLIP и BigGAN, а также тех, кто адаптировал эти модели для творческих целей . Автор опубликовал исходный код проекта, чтобы любой желающий мог поэкспериментировать с генерацией собственных музыкальных видео .