Найти в Дзене
Нота.

Проблемы формулировки и проектирования в сети глубокого изучения.

Для захвата гармонической и мелодичной структуры между нотами модель использует двухуровневую архитектуру LSTM RN с повторяющимися соединениями вдоль оси нот. Имея один модуль LSTM на оси времени и другой на оси заметок, модель берет на вооружение язык Дэниела Джонсона: "двуосную" конфигурацию. Ось нота LSTM получает в качестве входа конкатенцию конечного выхода оси нота LSTM для предыдущего окна ноты и активации последнего слоя оси времени LSTM для конкретной ноты. Результаты окончательных активаций LSTM по оси затем подаются в софтмаксовый слой для преобразования в вероятностный. Потеря соответствует ошибке перекрестной энтропии предсказаний на каждом шаге в сравнении с записью на каждом шаге времени. Поэтому каждая заметка имеет временную составляющую оси времени LSTM. Это позволяет понять временные связи для конкретной ноты и смоделировать совместное распределение нот на конкретном временном этапе. Присоединение информации из LSTM, сфокусированной на временном компоненте, и LST
Оглавление

Для захвата гармонической и мелодичной структуры между нотами модель использует двухуровневую архитектуру LSTM RN с повторяющимися соединениями вдоль оси нот. Имея один модуль LSTM на оси времени и другой на оси заметок, модель берет на вооружение язык Дэниела Джонсона: "двуосную" конфигурацию.

Ось нота LSTM получает в качестве входа конкатенцию конечного выхода оси нота LSTM для предыдущего окна ноты и активации последнего слоя оси времени LSTM для конкретной ноты.

Результаты окончательных активаций LSTM по оси затем подаются в софтмаксовый слой для преобразования в вероятностный. Потеря соответствует ошибке перекрестной энтропии предсказаний на каждом шаге в сравнении с записью на каждом шаге времени. Поэтому каждая заметка имеет временную составляющую оси времени LSTM.

Это позволяет понять временные связи для конкретной ноты и смоделировать совместное распределение нот на конкретном временном этапе.

Присоединение информации из LSTM, сфокусированной на временном компоненте, и LSTM, сфокусированной на нотном компоненте, позволяет фиксировать связи внутри нот и между ними для каждого временного шага. Используя этот подход к каждой ноте в последовательности, можно получить полное условное распределение для каждого шага.

Кроме того, еще одним ключевым элементом функциональности является встроенное в модель окно, которое скользит по последовательностям нот.

Эта архитектура позволяет модели изучать гармоническую и мелодичную структуру нот, учитывающую округлость тона. Выходя за рамки модели Дэниела Джонсона, представленная здесь модель спроектирована и реализована таким образом, чтобы быть гибкой, общей и использовать преимущества распараллеливания кода.

Главная цель заключалась в обеспечении гибкости при вводе данных пользователем.

Архитектура является общей: пользователь может задавать различные гиперпараметры, такие как количество слоев, размер скрытой единицы, длительность последовательности, временные шаги, размер пакета, метод оптимизации и скорость обучения.

Модель параметризована таким образом, что пользователи могут также задавать длину окна заметок, подаваемых в модель LSTM по оси ноты, и длительность временных шагов, подаваемых в LSTM по оси времени.

Размер окна и длительность временных шагов являются важными характеристиками, поскольку музыка сильно варьируется в зависимости от жанра и исполнителя.

Проектирование системы в целом позволяет пользователю адаптировать ее к своим конкретным потребностям.

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

Код был написан на высоком уровне, чтобы сделать все возможное в эффективном матричном формате, минимизируя использование циклов 'for'. Это позволяет повысить скорость в вычислительном времени.

Укрепление рамок обучения.

С обученной модифицированной би-осевой моделью, описанной выше (далее "Двуосная модель"), следующая часть процесса состоит в том, чтобы модель изучила концепции музыкальной теории. Для этого я следую модели Наташи Жак и др. RL тюнера.

МНТМ, обученный работе с данными (двухосная модель), ориентирует три сети в модели РЛ: Q-сеть и целевую Q-сеть в алгоритме DQN, и двухосную сеть.

Q-сеть инициализируется LSTM-моделью с архитектурой, идентичной двухосной модели. Двуосное вознаграждение является частью вознаграждения, используемого для тренировки модели, и фиксируется во время тренировки.

Для того чтобы отдать генерацию музыкальной последовательности в рамках RL, каждая последующая нота в последовательности или мелодии рассматривается как действие.

Состояние s - это предыдущая нота и внутреннее состояние ячеек LSTM как Q-сети, так и двухосного вознаграждения.

Q(a,s) можно рассчитать, инициализировав Q-сеть подходящим содержимым ячейки памяти, выполнив его один раз, используя предыдущую заметку, и оценив выходное значение для действия "a".

Следующее действие можно выбрать с помощью метода отбора проб Больцмана или эпсилоно-жидкой разведки.

Ключевым моментом является вопрос о том, можно ли использовать библиотеку RL для установления границ для обучающегося последовательности таким образом, чтобы создаваемые ею последовательности соответствовали желаемой, указанной структуре.

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

Эти музыкальные правила эвристичны: я не профессиональный музыкант и поэтому выбрал правила с тем, что я считал наиболее значимым.

Цель этих правил - направить модель в сторону более традиционной мелодичной композиции. Кодифицированные музыкальные правила являются достаточным дополнением к необходимой двухосной модели LSTM, которая учится непосредственно на данных.

ссылка на фото: https://pixabay.com/ru/illustrations/музыкальная-нота-музыка-1990141/
ссылка на фото: https://pixabay.com/ru/illustrations/музыкальная-нота-музыка-1990141/

Осуществление.

В этой части будет объяснен процесс обучения сети и создания новых музыкальных композиций. Эксперименты проводились на облачной платформе Google Cloud Platform, а в TensorFlow была проведена глубокая учебная реализация.

Источники материалов, которые помогали направлять процесс осуществления: Код Дэниела Джонсона. Для загрузки данных в соответствующий формат.

Сеть глубокого изучения.

Модель применяется к задаче прогнозирования полифонической музыки. Сеть обучена моделировать условное распределение вероятностей нот, сыгранных на данном временном шаге, на основе нот предыдущих временных шагов.

Выход сети может быть прочитан как временной шаг t, вероятность воспроизведения ноты во время шага t, обусловленная предварительным выбором нот.

Таким образом, модель максимизирует лог-вероятность каждой последовательности тренировок при условном распределении.

Заключение.

ссылка на фото: pixabay.com/ru/illustrations/геометрия-математика-куб-1023843/
ссылка на фото: pixabay.com/ru/illustrations/геометрия-математика-куб-1023843/

Ось времени LSTM зависит от выбранных заметок, а не от конкретного выхода слоев оси ноты.

Обоснование заключается в том, что все заметки на всех этапах известны, что позволяет ускорить процесс обучения.

Усиление времени достигается за счет обработки входа, а затем подачи предварительно обработанного входа по оси времени LSTM параллельно для всех заметок.

Затем LSTM-слой оси ноутбука рассчитывает вероятности на всех временных интервалах. Это обеспечивает значительное ускорение при использовании GPU для выполнения параллельных вычислений.

Теперь, когда распределение вероятностей изучено, выборка из этого распределения дает возможность генерировать новые последовательности.

Последовательности заранее не известны.

Сеть должна проектировать один раз в будущем шаг за шагом. Входные данные для каждого временного интервала используются для продвижения слоев временной оси LSTM по одному шагу за раз для составления заметки в следующем периоде.

Сначала необходимо отобрать образец во время создания системы распределения. Это нарисованное значение затем используется для ввода в следующую ноту.

Этот процесс повторяется для всех заметок, после чего модель переходит к следующему шагу.

Модель была протестирована на ряде произведений Баха, а также на классических фортепианных файлах. Входной сигнал был в виде MIDI-файлов.

Продолжение следует...

Благодарю за внимание!

Оставляю ссылку на предыдущую статью: https://zen.yandex.ru/profile/editor/id/5dc9a91568e68b209078723b/5df67ee178125e00ae85c981/edit