ТЕХНИКА  Я музыкальный автомат, мой голос - 300 киловатт

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

Компания Magenta, входящая в подразделение Google - Brain, опубликовала первую в мире мелодию, написанную искусственным интеллектом. А точнее, искусственной нейронной сетью, использующей алгоритмы платформы машинного обучения TensorFlow. Если объяснять "на пальцах", выглядело это так: программисты загрузили в нейросеть 5 нот, используя которые компьютер при помощи сложного анализа и нескольких предустановленных правил, сочинил примитивную мелодию на полторы минуты.
Прецедент в мире искусства, безусловно, важный (хотя и не первый). Звуки решили выяснить, как математика и статистика связаны с музыкой и как скоро композиторам придется осваивать языки программирования.

Искусственный интеллект и нейросети:

Тема искусственного интеллекта (AI) для обывателя – это пугалка из мира будущего, ассоциирующаяся с суперкомпьютером SkyNet из "Терминатора". Это, кстати, один из распространенных мифов, опровергаемых серьезными учеными – мол, AI способен развиться до уровня человеческого и даже обрести свое эго. Тогда и жди беды: машины сотрут нас с лица Земли – разумеется, ради нашей же (или собственной) безопасности. Говоря об этом, утописты чаще всего апеллируют к невозможности обучить машину эмпатии.
В науке все прозаичней. В широком смысле искусственный интеллект (согласно подходу автора этого определения Джона Маккарти) - это мощная вычислительная система, способная анализировать огромные массивы данных, находить корреляции и с помощью этих навыков решать сформулированные человеком задачи. Справедливости ради отметим, что создать полноценный ИИ ученым пока не удалось. Несмотря на то, что машины уже во многом преуспели – например, обыгрывают в го (логическая настольная игра) лучших профессионалов планеты и точнее людей определяют координаты местности по снимкам, о создании полноценного интеллекта – в человеческом понимании этого слова - речи пока не идет.

Как это работает?

Один из современных подходов к созданию ИИ – это формирование искусственных нейронных сетей, – компьютерных программ, способных к обучению и самообучению. Именно на таких сетях основана программа AlphaGo, обыгравшая в марте этого года Ли Седоля - корейского профессионала в игре го. Та же технология используется и в системах распознавания речи, и куче других статистических и аналитических программ.
Любая нейронная сеть требует обучения. В одном случае тренинг проводит человек, загружающий в сеть разнообразные примеры и правила, из которых машина понимает базовые принципы предмета, находит общности и различия, выводит зависимости между разнообразными типами информации. Другой вариант больше похож на игру "теплее-холоднее", когда машина сама генерирует множество результатов из различных сочетаний исходных данных, а после оценки оператором (так называемая система присуждения штрафов) отправляет более успешные варианты на "вход".
Представьте, что у вас есть задача сделать пюре из фруктов - но при этом в выжималке лежат помидоры, хлеб, апельсин, яйца, мясо и сливы. Вы должны сначала все это перемолоть, из получившегося месива убрать все "неплодовое", снова загрузить в блендер. И так несколько раз – пока в чаше не останутся перемолотые сливы и апельсин. Принцип тот же.

Но вернемся к музыке и первому варианту – обучению на примерах. Чтобы научить сеть сочинять музыку в стиле Баха, человек должен "скормить" ей достаточное количество инвенций, концертов и фуг композитора, чтобы машина сумела уловить музыкальные зависимости, существующие в данном стиле, и быть способной их имитировать. Именно по такому принципу работает программа Emily Howell, созданная профессором Дэвидом Коупом (David Cope) – специалистом университета Санта-Крус, изучающим тему ИИ с начала 80-х.

"Как и люди, машины могут быть творческими", - рассказывает Филипп Паскье (Philippe Pasquier), профессор школы искусств и технологий при канадском Simon Fraser University, - "они также нуждаются в знаниях о стилях различных художников или музыкантов. Человек-композитор не смог бы ничего сочинить, если бы никогда не слушал музыку. Машины работают похожим образом".

Алексей Архипенко, композитор, создатель генераторов музыки QGen2, NotesTyper, рассказывает: "Нейросеть пытается уловить зависимости, она ищет корреляции между входными и выходными данными, не зная правил. Правила она создает сама на основе разнообразного опыта – за счет загрузки тех или иных нейронов – у нее эти связи утолщаются, как в мозге. Если у Баха – в 80% случаев после "до" идет "ре", то она возьмет это за правило".

В качестве примера "обучающейся стилизации" послушайте "Оду радости" Бетховена, которую искусственный интеллект, созданный в Sony Computer Science Laboratory в Париже, переработал в нескольких стилях.

Одним из типов обучения может быть алгоритмизация – т.е. созданная человеком система правил и штрафов, которым должен соответствовать финальный материал, придуманный компьютером. Для генерации музыки таких типов правил может быть несколько - музыкальные правила строго письма или классической гармонии, вспомогательные технические правила (например, 6 одновременно звучащих нот превращаются в арпеджио), правила "допуска" - машине позволяется генерировать диссонанс, если одна из нот, его образующих, взята давно и громкость уже затухает. В некоторых алгоритмах более 1000 таких правил. Программа QGen2, например, работает по такой схеме:

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

Искусственная нейросеть может самостоятельно создавать правила – без участия человека. Это делают, так называемые, самообучающиеся нейросети. Суть такого самообучения заключается в нахождении и создании устойчивых связей между "нужными" нейронами. Когда машина, например, изучает партитуры Бетховена – ее аналитические процессы идут в сразу нескольких сотнях таких "клеток" (или больше). Те, в которых была получена полезная информация (например, характерные для этого композитора гармонические обороты) – запоминаются ("утолщаются"). В следующий раз, когда от сети потребуется генерировать что-то в стиле Бетховена, она обратится именно к этим нейронам. Эта идея, кстати, взята именно из "человеческой" модели, так как нейроны в нашем мозге, отвечающие за адаптацию организма в среде, образуют с "товарищами" более прочные синаптические связи и быстрее проводят сигналы.

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

Рассказывает Виктор Черненко, композитор, исполнитель, программист, автор собственных разработок в средах Max/MSP и Puse Date: "Вы можете подавать на вход звуковой "шум" - любой нелинейный сигнал, звуковой мусор, но если на выходе у ИНС есть простое правило из разряда "хочу гармоничную мелодию мажорного наклонения" - то сеть сможет сама реализовать этот запрос. Она делает тысячи вариантов из всевозможных сочетаний нот, высот тонов, соотношений между ними. Те, которые близки понятиям "гармоничность" и "мажорность", отправляет на вход, остальные отсекает. Происходит несколько таких "прочесов". Процесс обучения сети происходит во время этого feedback'а".

Современные нейросети удивительно производительны – как минимум, в 100 миллионов раз быстрее, чем человеческие нейроны. Но человеческий разум по-прежнему выигрывает за счет "многопоточности" - возможности всех нейронов (а их у нас каждый час образуется по 30 млн. новых) и около квадриллиона синапсов работать одновременно. Проще говоря, искусственные нейросети – это компьютер-одноядерник с большой тактовой частотой, а человеческий мозг – это уже Intel Core i7. Именно из-за того, что структура человеческой нейросети достаточно сложная, ученные до сих пор не мог полностью изучить и смоделировать "человеческие" интеллектуальные и творческих процессы.

Но как тогда происходит творчество в голове у машины?
Как и любой неживой организм, нейросеть оперирует цифровыми данными.

"Например, ей дают 3 такта музыки, которые описаны 100 числами – 20 из них описывают высоту нот, 20 длину, 20 динамику и т.д, - рассказывает Алексей Архипенко, - на выходе ей нужно выдать 1 такт, описанный 20 новыми числами - 4 числа высоты нот, 4 числа длины нот , 4 числа динамики и др. Когда сеть учат - ей дают эти 3 такта в комбинации с четвертыми, чтобы она находила корреляции между 100 первыми числами и 20-ю последующими".

Благодаря тому, что ИНС оперирует числами – она способна превращать в музыку, что угодно – начиная с портретов политических деятелей – как в японском сервисе IPSA Face Melody, заканчивая принципом передвижения муравьев - так называемым алгоритмом Particle Swarm Optimization, переведя который в ноты мы получим Swarm Music (роевую музыку). В каждом из этих случаев, главной проблемой становится описать с помощью чисел тот или иной стимульный материал. "Яркость, цвет, детализация картинки могут задавать любые параметры для написания музыки. Можно анализировать каждый пиксел, ведь пиксел RGB - это уже 3 числа. Так алгоритм может постепенно переводить картинку на язык нот", - объясняет Архипенко.

Впрочем, настоящая музыка не является результатом лишь точного математического просчета. Такую мысль в начале 90-х высказывал пионер темы искусственного интеллекта - Марвин Ли Мински (Marvin Lee Minsky) говоря: "Я бы хотел уметь читать мозг людей, когда они музицируют. Дело в том, что этот процесс гораздо сложнее и глубже того, как люди его описывают. Математическая логика до сих пор играет доминирующую роль в современной формализации, но она неспособна до конца объяснить наши эвристические знания, которые необходимы для построения искусственного интеллекта. Эта одна из главных проблем формализации процесса написания музыки".

Собственный подход, построенный на принципах соответствия, придумали музыкант и программист из Канады - Ханна Дэвис (Hannah Davis) и Саиф Мохаммад (Saif Mohammad). Они создали алгоритм, способный "конвертировать" содержание романа в музыкальное произведение. Программа разделяет текстовое содержание книги на 4 части – завязку, середину, кульминацию и финал и на основе каждого из кусочков генерирует музыкальные события. Анализ опирается на описание 8 типов эмоций - доверие, радость, печаль, страх, удивление, гнев и отвращение, которые "привязываются" к звуковысотной составляющей музыки. После этого созданные мелодии связываются в одну и создают естественную прогрессию – по образу и подобию литературного текста.

Где это реализовано?

В сети существует несколько экспериментальных разработок ИИ и нейросетей, создающих музыку. Одна из таких – программа Quasi Art. Программа генерирует причудливые психоделические оркестровые фактуры в реальном времени. Иной - более мелодичный алгоритм реализован в генераторе музыки QGen2, созданном Алексеем Архипенковым на основе классических музыкальных правил строгого письма.

Интересная разработка Wolfram Tones принадлежит компании Wolfram, известной благодаря своему продукту Wolfram Alpha – "Википедии на стероидах". Платформа Wolfram Tones позволяет генерировать музыку в 15 различных стилях, разнообразных тональностях, использую разнообразный состав инструментов и лады. Похожий принцип реализован в испанской разработке Iamus, созданной ученными из технопарка Малаги – испанского аналога Силиконовой долины. Отличительной особенностью этой разработки является алгоритм Melomics, построенный по принципу моделирования биологических процессов. Мелодия, создаваемая алгоритмом Iamus, постоянно претерпевает изменения, усложняется, как организм в процессе эволюции. Сгенерированные таким образом композиции уже исполнял Лондонский симфонический оркестр.

"Iamus самостоятельно генерирует куски музыки и затем постепенно усложняет их, проверяя "мутации" на соответствие установленным правилам. Таких правил больше тысячи, включая основы композиции и инструментовки. Например, Melomics знает, что ряд инструментов имеет ограничения во взятии аккордов, а в некоторых стилях не требуется много полифонических комбинаций. Всё это учитывается системой при генерации музыки. Сгенерированные кусочки, соответствующие своду правил, пропускаются алгоритмом дальше, где еще больше усложняются, связываются с другими и формируют отдельные фрагменты музыкального произведения", - описывает принцип алгоритма Melomics журналист и исследователь искусственного интеллекта Филипп Балл (Philip Ball)

Компьютерная музыка постепенно вторгается в сферу услуг. Так сервис Jukedeck предлагает своим пользователям выбрать жанр, длительность, темп и настроение для композиции и в течение 30 секунд генерирует уникальную мелодию. После скачивания все права на музыку переходят к пользователю (кроме возможности перепродажи третьим лицам), и он может использовать трек своему смотрению – например, в качестве подложки к своему видео на Youtube (как известно видеохостинг весьма щепетилен в вопросах нарушения копирайта и частенько выпиливает нелегальную музыку из роликов). Платная подписка для физических лиц стоит на Jukedeck 7 долларов, но первые 5 композиций можно скачать бесплатно.

Создатели сайта Brain.Fm специализируются на музыкальной терапии. Созданный ими алгоритм, опирается на данные неврологии о влиянии музыки на различные реакции в головном мозге. Эти композиции можно использовать для релаксации перед сном – сайт стримит компьютерную музыку, которая способствует уменьшению беспокойства, помогает справляться с расстройствами сна и повышает умственную работоспособность, утверждают разработчики.

27.07.2016, Карэн КАЗАКОВ (ЗВУКИ РУ)