Машинное творчество. Автоматическое сочинение музыки. Александр Жиров, гр. 12222, ФИТ НГУ. Несколько слов о машинном творчестве Что такое машинное творчество? ● ● ● Машинное творчество — ИИ ∩ когнитивная психология ∩ искусство ∩ философия. Изучаемые вопросы: – Изучение человеческого творчества с точки зрения алгоритмизации. – Разработка программ, способных улучшать творчество человека. – Разработка программ, способных к творчестве на уровне человека. Основные области: литература, музыка, изобразительное искусство. Почему до сих пор нет творящих машин? ● ● ● ● Основная проблема — мы не знаем, как формализовать творчество. Как формально отличить творчество от «нетворчества»? Как определить, какая работа более творческая? Работы, порожденные машиной — это результат творчества машины или инженера, её создавшего? Проблема: творчество — понятие субъективное. Критерии творческой работы ● ● ● ● Результат работы нов и полезен (человеку или обществу в целом). Результат требует отказаться от идей или концепций, принятых ранее. Результат получен благодаря сильной мотивации и упорства. Результат получен благодаря прояснению и решению задачи, ранее казавшейся запутанной и не имевшей известных путей решения. Классификация творческих процессов ● ● Категории творчества: – P-creativity (psychological) – H-creativity (historical) – V-creativity (Visceral) Модели творчества: – Исследовательское и трансформационное творчество – Генерация и оценка – Комбинаторное творчество Области применения МТ ● Литература: сюжеты, метафоры и сравнения, аналогии, шутки, новые термины и слова, стихи. ● Музыка: композиция, аранжировка, исполнение. ● Изобразительное искусство: картины, коллажи. ● Творческое решение проблем. Музыка машин Основные этапы сочинения музыки ● Генерация «сырых» мелодий. – ● ● Генерация случайных мелодий по правилам. Построение основной мелодии на основе «сырых» отрывков: – конструирование длинных мелодий, – устранение диссонансов, – аранжировка. Гармонизация: – построение аккомпанемента, – дополнительные голоса. Подходы к построению мелодий ● ● ● ● Лингвистически-структурный — описание строгих грамматик допустимой структуры. Интерактивно-поведенческий — псевдослучайная генерация с обучением. Генеративно-процедурный — алгоритмическая генерация, алгоритм пишется человеком. Биологически-эмержентный — трансляция процессов в природных или биологических системах в последовательности нот. Генерация «сырых» мелодий Генерация «сырых» мелодий ● Выбор набора нот: – ● ● минорная/мажорная гамма, хроматический, пентатоника и т. д. Выбор источника нот: – цепи Маркова, – генераторы случайных чисел. Семплирование высоты и длительности нот из источника. Цепи Маркова ● ● ● Стохастический процесс, каждое следующее состояние которого зависит от нескольких предыдущих. Порядок цепи Маркова — количество предыдущих состояний, от которых зависит следующее. Инициализация: – Задание таблицы вероятностей P(a1, …, an → an+1). – Статистический анализ существующих композиций. ● +: хорошая локальная структура мелодии. ● +: подражание стилю композитора или жанру. ● –: при маленьких n отсутствует глобальная структура. ● –: при больших n существенные повторения оригинала. Цепи Маркова: пример Источник: The Markov Process as a Compositional Model: A Survey and Tutorial ГСЧ: Белый шум ● Равномерное распределение по высоте нот. ● Результат получается совершенно хаотичный. ГСЧ: Красный (броуновский) шум ● Распределение 1/f2, где f — высота ноты. ● Алгоритм: – Первая нота a1 выбирается случайно. – Генерируется смещение Δi из диапазона (-n, n). – ai+1 = ai + Δi. ● +: результат более музыкальный. ● –: последовательность слишком предсказуема. ГСЧ: Красный (броуновский) шум ГСЧ: Розовый шум ● ● ● Плотность 1/fα, α ≈ 1 Очень распространен в природе: шум в электронных лампах, нервные мембраны, солнечная активность, уровень разлива реки Нил. Ритм, высота мелодии, громкость в классической музыке подчиняются этому распределению. ● +: имеет как локальную, так и глобальную структуру, самоподобен. ● +: менее предсказуем ● ● –: не позволяет имитировать определенные жанры/стили композиторов (по ср. с цепями Маркова). Voss R. F., Clarke J. ’’1/f noise’’in music: Music from 1/f noise //The Journal of the Acoustical Society of America. – 1978. – Т. 63. – С. 258. ГСЧ: Розовый шум (пример) Построение мелодии из «сырых» материалов Построение мелодии из «сырых» материалов ● ● Задача: из сырых материалов построить мелодию, приятную для слуха человека. Основные подходы: – – – Эволюционный подход. Нейронные сети. «Контурный» подход. Мелодия: эволюционный подход ● ● ● ● Применение: развитие «сырых» фрагментов мелодий. Операторы скрещивания: смешивание фрагментов, склеивание, инверсия части фрагмента, обмен частями и т. д. Операторы мутации: изменение высоты ноты, дробление ноты, слияние нот, дублирование фрагмента и т. д. Оценка качества фрагмента: соответствие требованиям жанра/стиля, гармонии, длительности, разнообразия, структурированности, повторяемости, благозвучность для человека и т.д. Мелодия: эволюционный подход ● ● ● ● +: возможны очень интересные результаты. –: сложность задания функции оценки качества, неудачная функция приводит к плохому результату. Пример: GenJam — генератор джазовых импровизаций. http://igm.rit.edu/~jabics/GenJam.html (http://bit.ly/GenJam) Мелодия: нейронные сети ● Применение: построение мелодий с нуля, видоизменение мелодий. ● +: возможность подражания стилю композитора или жанру. ● +: не требует человеческого вмешательства. ● +: музыка может быть структурированной. ● –: требуется материал для обучения, обучение происходит медленно. ● –: сложность выбора параметров сети. ● Вариация на Requiem for a Dream: http://bit.ly/requiem_neural Оригинал: http://bit.ly/requiem_original Мелодия: контурный подход ● ● Adam Alpern: Techniques for Algorithmic Composition of Music, 1995. Применение: развитие, аранжировка простых мелодий. ● +: мелодия имеет локальную и глобальную структуру. ● –: требуется изначальная мелодия. Контурный подход: подготовка ● Вход: композиция-прототип. ● Построение контура: ● – Рассматриваются переходы между нотами. – S — та же нота, D — переход вниз, U — переход вверх. Построение общего и мета-контура. Контурный подход: генерация ● ● ● Каждая нота оригинальной мелодии берется как начальная нота фрагмента. Общий контур фрагмента должен совпадать с контуром исходной ноты. Новые фрагменты склеиваются воедино. Бонус: Как компьютеры слышат музыку? A Singular Christmas ● ● Эксперимент Брайана Уитмана: – Что делает песню рождественской? – Может ли компьютер отличить рождественскую песню от обычной? Методика: – Анализ звуковых характеристик большого массива рождественских песен. – Исключение статистически незначительных особенностей. A Singular Christmas ● Результат: альбом «A Singular Christmas», 2004. ● Страничка проекта: http://bit.ly/singular_christmas ● Послушайте, как звучат рождественские песни по мнению компьютера ;-) На закуску: Машины-литераторы и художники. Машины и литература. Литература: генерация текстов ● Лев Толстой, «Война и мир», т. 1. ● Цепи Маркова 1-го порядка: Так же, оживленные, разговор о действии чем по-русски, которым она растрепанная, ногами, зазнобил. Я сейчас пришлю, без руководителей. сказал Балашев. История и повторял весь в ту ж нет которую редкими наслаждение, плакала казалось, ужасно. ● И еще: http://referats.yandex.ru/ Литература: генерация шуток ● JAPE (Joke Analysis and Production Engine): – ● ● Q: What is the difference between leaves and a car? A: One you brush and rake, the other you rush and brake. HAHAcronym: – ACM (Association for Computing Machinery) — Association for Confusing Machinery – FBI (Federal Bureau of Investigation) — Fantastic Bureau of Intimidation – PDA (Personal Digital Assistant) — Penitential Demoniacal Assistant Зачем компьютеру шутить? Компьютер-художник AARON by Harold Cohen Meeting On Gauguin's Beach (1988) 1976 2003 AARON by Harold Cohen ● ● Имеет несколько стилей, способен полностью придумать объекты, композицию, сцену. История: – 1973: абстрактные рисунки. – 1980-е: камни, растения, люди. – 1990-е: сцены, цвета. – 2000-е: цветные абстрактные рисунки. ● Язык программирования: до 1990-х С, после — Lisp. ● http://www.kurzweilcyberart.com/ (http://bit.ly/aaron_art) Спасибо за внимание! Ваши вопросы? A tree Afghanistan collage The Painting Fool by Simon Colton The Dancing Salesman Problem The Painting Fool by Simon Colton ● Начало разработки — 2001. ● Появление The Painting Fool — 2006. ● Возможности: – Обработка цифровых изображений. – Симуляция физических аспектов рисования разными материалами. – Определение эмоций на лицах, создание определенного эмоционального фона. – Создание иллюстраций к тексту, поиск исходных материалов на Fickr. – Самостоятельное построение сцен с учетом ограничений. – ...