Тип работы:
Предмет:
Язык работы:


Добавление признаков композиций в функцию потерь модели MusicTransformer для настраиваемой генерации музыки

Работа №126716

Тип работы

Бакалаврская работа

Предмет

нейронные сети

Объем работы25
Год сдачи2023
Стоимость4800 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
13
Не подходит работа?

Узнай цену на написание


Глава 1. Введение 3
1.1. MusicTransformer 3
1.1.1 Self-Attention в Transformer 3
1.1.2 Relative Position Representations 4
1.1.3 Представление композиций 6
Глава 2. Обзор литературы 7
Глава 3. Основная часть 9
3.1. Постановка задачи 9
3.2. Подбор дифференцируемого алгоритма подсчёта признака 10
3.2.1 Подход с предобученным предсказателем признака 10
3.2.2 Подход с модификацией оригинальной модели 11
3.3. Динамика 12
3.3.1 Разметка динамики 13
3.3.2 Подход с предобученным предсказателем динамики 14
3.3.3 Анализ обученной модели 16
3.3.4 Подход с модификацией исходной модели 18
3.4. Гармония 19
3.4.1 Разметка гармонии 19
3.4.2 Подход с предобученным предсказателем гармонии 20
3.4.3 Подход с модификацией исходной модели 21
3.4.4 Анализ обученных моделей 21
Заключение 23
Список литературы 23

Генерация музыки - задача, целью которой является получение звуко­вой последовательности, которая бы звучала складно, гармонично; которая бы могла быть охарактеризована человеком как музыка. Настраиваемое со­здание музыки отсылает к генерации, позволяющей менять параметры созда­ваемой музыки, такие как настроение, жанр и т.д.
Задачу генерации музыки можно рассматривать как частный случай задачи порождения последовательностей в машинном обучении. Широкое распространение здесь получили нейросетевые подходы, которые продолжа­ют исследоваться и совершенствоваться дальше. Одним из путей их развития в контексте музыки может служить привнесение доменных знаний о музы­ке в модель; в данной работе будет рассмотрено привнесение таких знаний посредством добавления признаков композиций в модель через её функцию потерь. Подробнее об этом будет сказано в основной части.
Далее представлен обзор на модель MusicTransformer [1], генерирую­щую музыку и которая была выбрана базовой в экспериментах.
1.1 MusicTransformer
MusicTransformer [1] - это авторегрессионая модель генерации музыки, использующая в основе архитектуру Transformer [2] (вернее, её часть декоди­ровщик1).
1.1.1 Self-Attention в Transformer
В классическом Transformer [2] используется так называемый механизм самовнимания (Self-Attention), который архитектурно устроен так.
На вход слоя самовнимания подаётся последовательность из n веще­ственнозначных векторов размерности D X = (x1,..., xn) G RnxD, xi G RD. Из матрицы X линейным преобразованием при помощи обучаемых матриц WQ ,WK, Wv G RDXD получаются матрицы запросов Q = XWQ, ключей K = XWK, значений V = XWv. Каждая из трёх полученных матриц раз­мера n х D разделяется на H подматриц размера n х Dh,h = 1,... ,H, где Dh = H, обозначим их {Qh}h=i, {Kh}h=i, {И}^.
Далее для каждой «головы» h = 1,..., H считается следующее:
Zh = Attention(Qh, Kh, Vh) = Softmax (%=Л Vh, (1)
Dh
где для матрицы A G Rlxm Softmax(A) - матрица, элементы которой определяются следующим образом: Softmax(A)[i][j]2 = ^m^eXpr^j.
Затем матрицы {Zh}h=1 конкатенируются, порождая матрицу Z размера n х D. К Z при помощи обучаемой матрицы WO применяется линейное преобразование ZWO, формирующее выход слоя самовнимания.
1.1.2 Relative Position Representations
В обычном Transformer [2] за информацию о позициях отвечает слой Positional Encoding, который добавляет к скрытым представлениям2 3 входной последовательности функцию, зависящую от позиции векторов.
Авторы MusicTransformer [1] предложили использовать информацию о том, что насколько далеки векторы в смысле последовательности, в которой они находятся, поскольку для моделирования музыкальной последователь­ности могут быть важны относительные взаимоотношения между позициями нот, нежели их абсолютное значение.
Такой подход рассматривался ранее в статье «Self-Attention with Relative Position Representations» [3]; там в качестве такой информации использовали обучаемую матрицу эмбеддингов Er размера H х n х Dh, где для каждой головы хранятся эмбеддинги расстояний r = iq — jk между «запросом» в позиции iq и «ключом» в позиции jk. Эмбеддинги упорядочены в порядке возрастания r от — (n — 1) до 0. В оригинальной статье [3] из тензора Er для каждой «головы» h = 1,..., H получался промежуточный тензор Rh размера n х n х Dh, элементы которого вычисляются следующим образом:
„ Er[Е][п - 1 - (i - j)], 0 < i - j < n - 1,
Rh[i][j ] = <
|0 G RDh, иначе,
для Vi, j = 0,... ,n - 1. После чего вычисляется матрица Shel следующим образом:
Shel [i][j ] = где <•, -) обозначает обычное скалярное произведение векторов из RDh. Мат­рица Shel содержит в себе информацию о влиянии позиций векторов из мат­рицы «ключей» Kh на «запросы» из матрицы Qh. Она же и используется в качестве аддитивной добавки в числителе Softmax в формуле 1:
Zh = AttentionWithRPR(Qh, Kh, Vh) = Softmax
Помимо использования относительных позиционных представлений в порождающей музыку модели авторы работы [1] предложили усовершенство­вать алгоритм вычисления {Srhel}H=i, который в описанной выше вариации требует O(n2D) дополнительной памяти для хранения тензоров {Rh}H=1, что неподъёмно для больших п, что, в свою очередь, является обычным делом для кодирования музыкальных композиций, о котором будет сказано позднее. Усовершенствование уменьшает потребление памяти до O(nD) и состоит в следующем.
Вместо использования промежуточного тензора Rh предлагается на­прямую умножать матрицу «запросов» Qh на матрицу эмбеддингов Er [h]T, производя матрицу Bh размера п х п. Эта матрица также как и Srhel содер­жит информацию о влиянии позиций векторов из матрицы «ключей» Kh на «запросы» из матрицы Qh, только её элементы необходимо правильно вырав­нять. Для этого Bh дополняется справа столбцом из нулей, её размер теперь п х (п + 1). Затем над ней производится операция Reshape(Bh,п + 1, п), кото­рая для произвольной матрицы A G Rkxl и для row_num, col_num G N таких, что верно row_num • col_num = k • l описывается так:
Reshape(A, row_num, col_num)[i][j] = Flatten(A)[i • col_num + j], где i = 0,..., row_num — 1, j = 0,..., col_num — 1, а операция Flatten(A) - вытягивание матрицы A в вектор-строку посредством последовательного конкатенирования её строк. Для получения матрицы Srhel необходимо взять последние n строк.
1.1.3 Представление композиций
Первоначально Transformer [2] - модель, работающая с текстовыми по­следовательностями, для которых естественно разбиение на дискретные сег- менты4 (отдельные буквы, отдельные слова, части слов). Таким образом, для переноса модели в музыкальную область необходимо использовать способ дискретного представления композиций; авторы MusicTransformer [1] пред­ложили применить переработанную кодировку из работы «This Time with Feeling: Learning Expressive Musical Performance» [4]. Авторы последней ста­тьи адаптировали цифровой формат представления композиций MIDI, содер­жащий информацию об использующихся инструментах, нажатых клавишах, силе нажатия, темпе и пр. Музыкальная композиция в кодировке работы [4] представляется как последовательность событий из словаря 413 следующих событий:
1. 128 событий NOTE-ON, обозначающих начало проигрывания ноты с одной из 128-и высот звука в представлении MIDI.
2. 128 событий NOTE-OFF, обозначающих конец проигрывания ранее сыг­ранной ноты с одной из 128-и высот звука в представлении MIDI.
3. 125 событий TIME-SHIFT, обозначающих паузу длиной от 8 миллисе­кунд до 1 секунды.
4. 32 события VELOCITY, обозначающих силу нажатия на ноты, которые будут сыграны далее (до следующего события VELOCITY).
Авторы MusicTransformer [1] изменили приведённый выше словарь: в нём 125 событий TIME-SHIFT, где между двумя соседними событиями раз­ница в паузе в 8 миллисекунд, заменили на 100 событий TIME-SHIFT, обо­значающих паузу длиной от 10 миллисекунд до 1 секунды, разница между соседними событиями - 10 миллисекунд.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы был рассмотрен метод настраиваемой генера­ции музыки через добавление в функцию потерь модели отклонения значения признака от сгенерированной композиции. Были сформулированы два подхо­да его реализации: первый состоит в использовании предобученного пред­сказателя признака, второй - в модификации исходной модели для пред­сказания признака. Оба подхода были протестированы на примере модели MusicTransformer [1].
В рамках экспериментов были рассмотрены два признака композиций: динамика и гармония. Для каждого из них была собрана разметка на компози­циях, в случае динамики был дополнительно придуман и реализован алгоритм разметки. Для каждого признака были протестированы оба подхода.
Для динамики в рамках первого метода удалось обучить модель, для которой было экспериментально установлено следование данному признаку. Обусловливание на динамику получилось логичным и музыкальным: малые её значения порождают тихие, спокойные части, пиковые значения в динамике - согласованные с остальной композицией кульминационные моменты.
Предполагается, что рассмотренные подходы можно успешно приме­нить и к другим признакам композиций и обобщить для текстовых моделей и признаков текстов.


[1] Cheng-Zhi Anna Huang, Ashish Vaswani, Jakob Uszkoreit, Ian Simon, Curtis Hawthorne, Noam Shazeer, Andrew M. Dai, Matthew D. Hoffman, Monica Dinculescu, and Douglas Eck. «Music Transformer: Generating music with long-term structure». In International Conference on Learning Representations, 2019.
[2] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. «Attention Is All You Need». In Advances in Neural Information Processing Systems, 2017.
[3] Peter Shaw, Jakob Uszkoreit, and Ashish Vaswani. «Self-attention with Relative Position Representations». In Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, volume 2, 2018.
[4] Sageev Oore, Ian Simon, Sander Dieleman, Douglas Eck, and Karen Simonyan. «This Time with Feeling: Learning Expressive Musical Performance». arXiv preprint arXiv:1808.03715, 2018.
[5] Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, and Ilya Sutskever. «Jukebox: A Generative Model for Music». arXiv:2005.00341, 2020.
[6] Ali Razavi, Aaron van den Oord, and Oriol Vinyals. «Generating Diverse High-Fidelity Images with VQ-VAE-2». In Advances in Neural Information Processing Systems, pp. 14837- 14847, 2019.
[7] Aaron van den Oord, Oriol Vinyals, and Koray Kavukcuoglu. «Neural Discrete Representation Learning». In Neural Information Processing Systems, 2017.
[8] Ziyu Wang, Dingsu Wang, Yixiao Zhang, and Gus Xia. «Learning Interpretable Representation for Controllable Polyphonic Music Generation». In International Society for Music Information Retrieval, pp. 662-669, 2020.
[9] Diederik P. Kingma, and Max Welling. «Auto-Encoding Variational Bayes». arXiv preprint arXiv:1312.6114, 2013.
[10] Ziyu Wang, Yiyi Zhang, Yixiao Zhang, Junyan Jiang, Ruihan Yang, Junbo Zhao, and Gus Xia. «PIANOTREE VAE: Structured Representation Learning for Polyphonic Music». In Proceedings of 21st International Conference on Music Information Retrieval, 2020.
[11] Shangzhe Di, Zeren Jiang, Si Liu, Zhaokai Wang, Leyan Zhu, Zexin He, Hongming Liu, and Shuicheng Yan. «Video Background Music Generation with Controllable Music Transformer». In Proceedings of the ACM International Conference on Multimedia, 2021.
[12] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David WardeFarley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. «Generative adversarial nets». In Advances in Neural Information Processing Systems 27, pp. 2672-2680, 2014.
[13] Curtis Hawthorne, Andriy Stasyuk, Adam Roberts, Ian Simon, Cheng- Zhi Anna Huang, Sander Dieleman, Erich Elsen, Jesse Engel, and Douglas Eck. «Enabling Factorized Piano Music Modeling and Generation with the MAESTRO Dataset». In International Conference on Learning Representations, 2019.
[14] Lucas N. Ferreira, Levi H. S. Lelis, and Jim Whitehead. «Computer- Generated Music for Tabletop Role-Playing Games». In Proceedings of the 16th annual AAAI conference on Artificial Intelligence and Interactive Digital Entertainment, 2020.
[15] Qiuqiang Kong, Bochen Li, Jitong Chen, and Yuxuan Wang. «GiantMIDI- Piano: A large-scale MIDI dataset for classical piano music». arXiv preprint arXiv:2010.07061, 2020.
...


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ