Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич

В некоторых из экспериментов, произведённых авторами статьи, результирующий вектор мог преобразовываться таким образом, чтобы его среднее значение было равно нулю, а стандартное отклонение — единице. Понятно, что такое представление было крайне упрощённым (например, нельзя было использовать ноты длительностью менее ⅛ или композиции, содержащие партии нескольких инструментов), однако Экк и Шмидхубер стремились в первую очередь доказать жизнеспособность концепции. Обучающая выборка формировалась на основе набора из 4096 блюзовых композиций. Сама сеть была по нынешним меркам игрушечной — она содержала четыре LSTM-блока по две ячейки в каждом. Однако даже такая небольшая сеть смогла продемонстрировать способность «улавливать» глобальную структуру произведения.
В конце 2000-х было опубликовано ещё несколько работ, развивавших подход Экка и Шмидхубера [2947], [2948]. Впрочем, как случалось неоднократно с работами Шмидхубера и его учеников, их исследования несколько опередили время, поэтому до поры до времени оставались практически не замеченными другими исследователями. Взрывной рост интереса к глубоким нейронным сетям в 2010-е гг. привёл к новым, более масштабным исследованиям в области алгоритмической композиции. Двумя работами, которым удалось привлечь внимание широкой общественности, стали модели folk-RNN и Deep Bach. В основе обеих вновь лежали LSTM-сети.
Модель folk-RNN была представлена общественности в работе 2015 г. под названием «Стилистическое моделирование фолк-музыки при помощи рекуррентных нейронных сетей с блоками долгой краткосрочной памяти» (Folk Music Style Modelling by Recurrent Neural Networks with Long Short Term Memory Units) [2949]. Её авторами были Боб Штурм из Центра цифровой музыки Лондонского университета королевы Марии (Queen Mary University of London, QMUL), Жоао Сантос из Национального научно-исследовательского института (Institut national de la recherche scientifique, INRS) в Канаде и Ирина Коршунова из Гентского университета (Universiteit Gent, UGent) в Бельгии.
Авторы работы использовали обучающую выборку из почти 24 000 фолк-произведений с сайта thesession.org в ABC-формате, представляющем собой специализированный язык разметки мелодий (так называемых тюнов [tunes]) в фолк-музыке. Для обозначения нот используются буквы латинского алфавита: C, D, E, F, G, A, B (до, ре, ми, фа, соль, ля, си). Кроме этого, в записи могут присутствовать различные управляющие последовательности для кодирования специальных символов (текстов песен, надстрочных знаков, акцентов и т. д.), а также информационные поля, определяющие размер, темп, тональность, название композиции и так далее.
При подготовке данных исследователи отбросили лишние поля, оставив лишь тональность, размер, основную длительность нот и сами ноты. Представление мелодии было основано на словаре, содержавшем 134 токена (каждый токен был отдельным символом или сочетанием из нескольких символов, составляющих некоторое лексическое целое). Словарю соответствовал one-hot-вектор необходимой размерности. Архитектура модели содержала три скрытых слоя по 512 блоков LSTM в каждом и выходной слой на базе softmax.
Чтобы оценить качество созданных мелодий, Штурм и его коллеги предложили группе профессиональных музыкантов, специализирующихся на традиционной ирландской музыке, создать альбом, взяв за основу произвольные мелодии из набора, включавшего как обучающую выборку, так и 100 000 алгоритмически сгенерированных мелодий. В результате появился альбом, в котором более половины музыки было создано машиной. Штурм и его коллеги опубликовали альбом в интернете, чтобы получить отзывы и комментарии профессионалов и общественности. «Нам пришлось придумать историю происхождения альбома, чтобы избежать предвзятости, которая может возникнуть, если кто-то считает, что творческий продукт был создан компьютером, — вспоминал Штурм. — И вот теперь, когда у нас есть обзоры, мы раскрываем истинное происхождение альбома» [2950].
Создатели второй модели [2951], DeepBach, Гаэтан Хаджерес, Франсуа Паше и Фрэнк Нильсен, сделали шаг вперёд от простой LSTM-сети. Вместо одной сети они использовали сразу четыре: LSTM-сеть, которая обрабатывала контекст слева направо, LSTM-сеть, которая обрабатывала сеть справа налево, простая нерекуррентная сеть, предназначенная для рассмотрения одновременно звучащих нот, а также сеть, объединяющая выходы предыдущих трёх сетей. Впрочем, разумеется, это разделение носит условный характер — упомянутые четыре сети можно рассматривать как единое целое, большую сеть с комплексной архитектурой.
Обучающий набор данных DeepBach состоял из 352 хоралов Баха. Исследователи аугментировали эту выборку, используя перестановки исходных хоралов под различные музыкальные ключи, и получили в результате 2503 композиции, которые были разделены в соотношении 4 : 1 между обучающей и тестовыми выборками.
Поскольку нейронная сеть в DeepBach опирается при прогнозировании не только на моменты времени, предшествующие тому, для которого строится прогноз, но и на последующие, то привычный способ генерации последовательности «слева направо» в данном случае неприменим. Вместо него создатели DeepBach использовали алгоритм под названием «псевдогиббсовское семплирование» [Pseudo-Gibbs sampling]. Его суть сводится к тому, что сначала генерируется случайная последовательность нот, которая затем улучшается последовательными шагами, в ходе которых случайно выбранные ноты последовательности заменяются на ноты, прогнозируемые моделью.
Для того чтобы оценить качество созданных моделью произведений, авторы исследования привлекли группу, состоявшую из 1272 человек с различным уровнем музыкальных знаний: 365 человек были профессиональными музыкантами или обучались музыкальной композиции, 646 идентифицировали себя как любители музыки или музыканты и, наконец, 261 при заполнении анкеты указали, что редко слушают классическую музыку. Для оценки было отобрано 400 12-секундных отрывков музыкальных композиций. 100 из них были из произведений Баха, 100 были созданы при помощи DeepBach, и ещё по 100 композиций приходилось на две более простые генеративные модели (они были основаны на полносвязных нейронных сетях — в первой из них был один скрытый слой из 500 нейронов, во второй и вовсе не было скрытого слоя). Каждого из оценщиков попросили дать ответ на вопрос в отношении некоторых отрывков (судя по графику, двенадцати, хотя в статье это не указано): является ли данный отрывок произведением Баха или же он создан компьютером? Созданные моделью DeepBach отрывки набрали в среднем около 50% голосов, в то время как настоящий Бах получил в среднем чуть больше 75%. Средние результаты полносвязных сетей были существенно скромнее — около 20% и около 40%. При этом отдельные отрывки DeepBach набрали 75% голосов и выше (хотя по иронии судьбы самый лучший из созданных компьютером отрывков оказался творением полносвязной сети со скрытым слоем — он набрал почти 90% голосов оценщиков; впрочем, это было, по всей видимости, простым статистическим артефактом).
Неплохие результаты в области алгоритмической музыкальной композиции удалось получить и с применением генеративно-состязательных сетей. В том же 2016 г. шведский исследователь Олоф Морген опубликовал работу под названием «C-RNN-GAN: непрерывные рекуррентные нейронные сети с состязательным обучением» (C-RNN-GAN: Continuous recurrent neural networks with adversarial training) [2952], в которой представил на суд общественности модель под названием C-RNN-GAN, основанную на соревнующихся LSTM‑сетях. Модель, обученная на 3697 произведениях 160 композиторов, научилась генерировать весьма приличную полифоническую музыку (правда, автор исследования, в отличие от создателей DeepBach, не проводил масштабных экспериментов по оценке качества этих произведений, поэтому в данном случае это не более чем субъективная оценка).
Похожие книги на "Охота на электроовец. Большая книга искусственного интеллекта", Марков Сергей Николаевич
Марков Сергей Николаевич читать все книги автора по порядку
Марков Сергей Николаевич - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.