Карпенко, Крыштапович, НИР 2019
- Разобраться с PyTorch
- Создать ffnn сеть 3214->6436, преобразующую барабанную партию в бас-партию
Не нужно пока что делать много нейронов в сетке :)
Задача 2 -- seq2seq Ключевые слова от Вани:
- reconstruction loss
- BLEU -- Believel Evaluation Understanding
- Perplexity, Entropy
- Final product -- paper: in English!
- Comparison of the
pix2pix
andseq2seq
Конференция 10.01.2020
Conditioning -- это добавление сети метаинформации посредством конкатенации к одномерному вектору. Неплохо было бы попробовать использоваеть conditioning на
- FCNN с автоэнкодером
- LSTM
В качестве энкодера -- LSTM, в качестве декодера -- FCNN. В качестве коднишнинга добавляется темп и инструмент (оба оригинальными числами). Кондишнинг добавляется сразу после выхода из LSTM, который генерирует по изображению 64x14, где 14 -- число инструментов, а 64 -- число временных отсечек, вектор размера 64.
Далее, оба параметра добавляются к вектору, получая вектор размера 1x66, который отправляется в декодер. Декодер спредставляет из себя FCNN из пяти слоёв, в третьем снова подмешивается информация о кондишнинге.
####Наблюдения:
- Нейронная сеть выдаёт по одной барабанной партии одну басовую партию. Следовательно, страдает разнообразие генерируемой музыки
- (следствие из 1) В датасете (скорее всего) имеются типичные ритмы, которым соответствуют абсолютно разные мелодии на разных инструментах. Это сильно сбивает с толку нейросеть. Как следствие, на уникальных ритмах нейросеть переобучается, а на типичных -- не понимает, какую мелодию сгенерировать
####Предложения:
- Придумать способ разделить пары (каким-то образом) в данной ситуации, возможно добавить жанр или ещё что..
- Разметить музыку тональностями -- это может упростить обучение нейросети
- Добавить случайность в латентное пространство