Comments 6
Ваша система с ранжировщиком напоминает архитектуру GAN. Интересно, а можно ли здесь прикрутить GAN в чистом виде? Например, одна сеть создает музыку, а второй на вход приходит музыка, и она пытается классифицировать, человек ее сочинил или машина. И обе сети развиваются в гонке друг против друга. Одна пытается обмануть другую, а другая пытается найти более тонкие признаки, чтобы распознать обман.
На принципе GAN построены сетки, генерирующие фотографии людей с пугающе высокой правдоподобностью, что не каждый человек не всегда поймет, что перед ним «мираж».
Ещё один, бонусный, трек от Symformer'а: https://www.youtube.com/watch?v=vlJXS1XG3zE
Не сморели на AIVA?
У них интересные вещи получаются
https://www.youtube.com/watch?v=pgTQIXTqbXY
На AIVA смотрели, результаты у них действительно классные. Но насколько я понял, эта модель (или ансамбль моделей) генерирует небольшие отдельные партии, которые затем повторяются при сборке финального трека. И консистентность мелодии достигается как раз за счет принудительного повторения фрагментов. Наш подход отличается тем, что мы синтезируем трек одной моделью целиком за один "проход".
Раз уж обучение 2х этапное, почему не стали перформер у генерирующей модели учить выдавать latent space vector?
По моим прикидкам инференс будет "легче", если сначала репрезентацию такта генерить большой моделью, а потом уже превращать такт в токены для проигрывания (меньшей моделью).
SymFormer: как мы написали музыку с помощью трансформеров и вариационных автоэнкодеров