tgoop.com/savostyanov_dmitry/555
Last Update:
MusicLM
Сходил за вдохновением в соседнюю индустрию — генерацию музыки по тексту. Проблема там заключалась в том, что музыки в интернете много, а вот текстовых описаний самих мелодий — мало. Для хорошей модели нужны подробные описания музыкальных сэмплов длиной 10-30 секунд. Пример: A rising synth is playing an arpeggio with a lot of reverb. It is backed by pads, sub bass line and soft drums. This song is full of synth sounds creating a soothing and adventurous atmosphere. It may be playing at a festival during two songs for a buildup.
Второй момент: хотя в text-to-image уже доминировали диффузионные модели, в MusicLM авторы использовали авторегрессионный подход. То есть языковой модели на вход подаётся текст, а она заканчивает предложение музыкальными токенами, которые затем декодируются в мелодию.
Архитектура состояла из трёх компонентов, которые обучались по отдельности:
1. SoundStream — это RVQ (Residual Vector Quantization), по сути многослойный VQ-VAE, который позволяет преобразовать непрерывный поток музыки в набор токенов и обратно. В MusicLM он отвечает за акустические токены — детали мелодии в моменте, например, барабаны с заданным ритмом.
2. w2v-BERT — это MLM-модель, обученная на 4.5М часов речи на различных языках. Она отвечает за семантические токены — долгосрочное планирование мелодии, например, джаз, плавно переходящий в death metal.
3. MuLan — это CLIP для музыки. Модель выучила совместное латентное пространство для музыки и текста. Причём тренировали её на датасете из посредственных описаний. Это были скорее наборы тегов с жанром, инструментом и т. д., используемые для фильтрации в музыкальных приложениях, а не детальные описания мелодий.
MusicLM тренировался на Free Music Archive (FMA) с 280k часов музыки, вообще без текстовых описаний. Трюк в том, что conditioning происходит через MuLan. На этапе обучения используется музыкальный эмбеддинг, а на инференсе он подменяется текстовым.
Статья и примеры: https://google-research.github.io/seanet/musiclm/examples/
BY Дмитрий Савостьянов Вещает
Share with your friend now:
tgoop.com/savostyanov_dmitry/555