Искусство ИИ взрывается, музыка может быть следующей.

Трансформеры произвели революцию в обработке естественного языка. Однако в последние месяцы мы увидели, как искусственный интеллект применяется к искусству и созданию изображений. Несколько дней назад Microsoft анонсировала Museformer, модель для создания музыки.

Музыку можно представить в виде организованной и дискретной последовательности токенов (ведь музыка состоит из ряда звуков в последовательности). Было показано, что преобразователи эффективны при генерации текста, и, другими словами, можно сказать, что преобразователи не делают ничего, кроме как генерируют последовательность текста. Успех Трансформера заключается в том, что механизм самовнимания позволяет улавливать в тексте длинные зависимости. Чтобы смоделировать музыку, нам нужно иметь возможность зафиксировать длинные зависимости и корреляцию между различными частями музыкальной последовательности. Это закладывает основу для использования трансформатора для создания музыки.

Конечно, это не так просто:

  • Моделирование длинных последовательностей: музыкальные последовательности очень длинные (особенно при наличии нескольких инструментов). Это проблема, потому что механизм внимания имеет квадратичную сложность, и поэтому вычислительные затраты становятся экспоненциально выше.
  • Моделирование музыкальной структуры: музыка имеет свою уникальную структуру, есть определенные шаблоны, которые повторяются и могут иметь вариации. Эти паттерны иногда повторяются на больших расстояниях в последовательности, что усложняет ее.

Это не первая попытка обработки длинных последовательностей с помощью преобразователей. В основном используются два подхода:

  • Локальная фокусировка, как в случае с Transformer XL и Longformer, где основное внимание уделяется только части входной последовательности, а остальное отбрасывается. В случае музыки сохраненная последовательность может не содержать важной части музыкальной структуры.
  • глобальная аппроксимация, используемая Linear Transformer при сжатии последовательности, хотя это сжатие снижает сложность, оно не фиксирует корреляцию между различными частями музыкальной последовательности.

Понимание этой статьи и то, что, хотя эти два подхода неадекватны, можно взять лучшее из них. Действительно, не все части музыкальной последовательности важны (и эта информация распределяется неравномерно). Так что нам нужно защищать и фокусироваться на этих частях, а при создании музыки мы сосредотачиваемся на важных повторениях. Остальные, менее важные отрывки можно приблизить. Таким образом, идея состоит в том, чтобы сосредоточиться на важных частях, но уменьшить сложность и объем вычислительных вычислений.

Этот механизм реализуется на практике с помощью механизма, называемого мелкозернистым и крупнозернистым вниманием (FC-Attention), который заменяет классический модуль само-внимания:

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

Другими словами, есть два шага: суммирование и агрегирование. Первый шаг уменьшает сложность и создает своего рода «суммарный токен» для части последовательности, а затем информация впоследствии агрегируется (как и в классическом внимании, это позволяет контекстуализировать информацию):

Основная идея FC-Attention заключается в том, что вместо прямого внимания ко всем лексемам, вызывающим квадратичную сложность, лексема конкретного такта напрямую занимается только теми тактами, связанными со структурой, которые необходимы для создания структурированной музыки (мелкозернистой структуры). внимание), а для других баров токен обращает внимание только на их итоговые токены для получения концентрированной информации (крупнозернистое внимание). Для этого мы сначала суммируем локальную информацию каждого бара на этапе суммирования, а затем объединяем детализированную и грубую информацию на этапе агрегирования.

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

Они применили один и тот же подход к анализу разных стилей и обнаружили, что некоторые закономерности повторяются в разных жанрах и стилях:

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

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

Авторы использовали для обучения модели набор данных Lakh MIDI (LMD), содержащий мультиинструментальную музыку в формате MIDI (всего было использовано около тридцати тысяч песен или 1700 часов песен, содержащих несколько инструментов). .

Модель включает 4 слоя со скрытым размером 512, 8 головок внимания и слой прямой связи размером 2048. Для его оценки в дополнение к использованию ошибок недоумения и сходства они пригласили 10 человек (в том числе семерых с музыкальным образованием) для оценки 100 случайно сгенерированных музыкальных произведений. Людей нужно было оценивать по нескольким критериям: музыкальность (приятная и интересная ли пьеса), краткосрочная структура, долгосрочная структура и в целом.

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

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

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

Здесь вы можете прослушать некоторые из созданных музыкальных примеров:



Кроме того, Museformer является частью более крупного проекта Microsoft. проект под названием Muzic (репозиторий GitHub здесь).

Проект направлен на то, чтобы понять музыку (узнать, найти, транскрибировать), а затем создать ее позже. В репозитории уже есть несколько проектов, которые также можно протестировать.

Microsoft не единственная, кто занимается проектами, посвященными музыке. Фактически, несколько дней назад Google также выпустила собственную модель, которая может продолжать песню или речь между людьми. Произойдет ли то, что случилось с искусством ИИ, с музыкой? Что вы думаете?

Если вам было интересно:

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

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



Или не стесняйтесь проверить некоторые из моих других статей на Medium: