Machine Learning: State of the art
В 2015 году в мир искусства вошло новое слово: «инцепционизм» (inceptionism). Машины научились перерисовывать картины, а уже в 2016 Prisma скачали миллионы людей. Сегодня мы поговорим об искусстве, машинном обучении и искусственном интеллекте с Иваном Ямщиковым, автором нашумевшей «Нейронной Обороны».
Знакомьтесь: Иван Ямщиков. Получил PhD по прикладной математике в Бранденбургском Технологическом университете (Котбус, Германия). На данный момент — научный сотрудник Института Макса Планка (Лейпциг, Германия) и аналитик/консультант Яндекса.
— Neurona, Нейронная оборона и Пианола — как началось столь серьезное увлечение творческим ИИ? В какой момент Вы решили действительно всерьез заниматься этой темой?
Иван Ямщиков: Я бы не стал называть это серьезным увлечением творческим искусственным интеллектом. Просто однажды Алексей Тихонов поделился своими идеями по нейро-поэту, и летом 2016 мы вместе решили записать альбом «Нейронной обороны». С тех пор стало понятно, что область существенно шире, и сейчас я занимаюсь темой искусственного интеллекта на постоянной основе.
Это невероятно интересная тема и именно сейчас она находится в движении: в истории ИИ было несколько «зим», периодов разочарования от неоправданных и завышенных ожиданий; сейчас уже третий период чрезвычайного интереса к ИИ и, возможно, что мы скоро вновь столкнемся со схожей проблемой. Несмотря на это, есть действительно качественный скачок в работе многих систем: машинный перевод, системы агрегации, автономные системы.
— Идея совместить матмодели и музыку/живопись не нова, но почему подход выстрелил именно сейчас?
Иван Ямщиков: Это, пожалуй, одна из моих любимых тем: когда в 90-е годы вы играли в шутеры, вы неосознанно помогали развитию ИИ.
Видеокарты (GPU) апргейдились для развития графических интерфейсов и игр, но в какой-то момент люди разобрались, что их можно использовать для параллельных вычислений, появилась CUDA. Изначально, в научной сфере в гидрогазодинамике, где ряд моделей можно хорошо обсчитывать на графической карте, подобный расчет на CPU вышел бы в несколько раз дороже. А через несколько лет выяснилось, что нейронные сети тоже отлично параллелизуются и обучаются с использованием графических карт. И этот бум развития научных вычислений позволил создавать нейронные сети таких размеров, которые раньше были недоступны.
Определенную роль также сыграли облачные вычисления: сейчас даже не обязательно покупать GPU, его можно взять в аренду; таким же образом можно арендовать нужное количество CPU. Это снизило порог вхождения, а в технологиях всегда так: когда порог ниже — результаты появляются существенно быстрее.
Что касается живописи, ключевая статья здесь — Neural Artistic Style, написанная исследователями из Тюбингена. В результате экспериментов выяснилось, что на одном из слоев нейронной сети собрались признаки, отвечающие за стиль (как нарисовано), а на другом — за семантику (что находится — содержание). Из этой статьи родилось известное приложение Prisma.
А мы решили заниматься музыкой, потому что любим литературу и поэзию. А Егора Летова выбрали, потому что любим его и нам хотелось попробовать сымитировать его стиль. В общем, это исключительно эстетические предпочтения.
В целом, работа с музыкой куда более прагматичная, чем с текстом: когда ты работаешь со словарем, то в основе его лежит one-hot encoding (все слова нумеруются, и i-ое слово — это вектор, где на i-ой позиции стоит 1, а не всех остальных — 0). После обработки набора документов получается пространство очень большой размерности. Далее размерность искусственно снижается с помощью ряда методов, например, word2vec (https://ru.wikipedia.org/wiki/Word2vec; https://habrahabr.ru/post/249215/).
Так или иначе, мы говорим о пространстве размерности в несколько сотен, а не трех- или четырехмерном. Обычно с пространством такой размерности тяжело работать: одни области имеют высокую плотность данных, а другие, наоборот, слишком разреженные — структура получатся очень сложной. А если мы говорим о музыке и берем ноты, то каждая нота — это комбинация октавы и ноты; 12 нот (с диезами/бемолями) в октаве и 4–5 октав. И с этой точки зрения у этого пространства куда более низкая размерность.
А если подходить к мелодии в целом, можно отмасштабировать данные так, что пространство параметров будет плотным: будет мало лакун. Когда мы экспериментировали с нейросетями для разных типов данных, мы обнаружили, что указанное свойство музыки позволяет лучше и быстрее понимать, работает вообще обучаемая модель или нет, так что это было прагматичным решением.
— С чего лучше всего начать техническому человеку знакомство с творческим ИИ, есть по этой теме хорошие ресурсы, курсы, лекции?
Иван Ямщиков: Будем есть слона по частям. Первое, нейронные сети != искусственный интеллект. С другой стороны, НС — одна из самых популярных тем, и по ней доступно достаточно много материалов. По ИИ и машинному обучению курсы и материалы тоже есть. Перечислим основные, русскоязычные: совместный курс Вышки и Яндекса, курс Воронцова по машинному обучению, курс Ветрова по байесовым методам, курс Лемпицкого по глубокому обучению, англоязычные: курсы на Udacity (в том числе и по TensorFlow), на Coursera.
Курсов по творческому ИИ как таковому еще нет — сама тема лежит на пересечении науки и искусства; и большинство вопросов тут, на стыке, открытые.
Что действительно рекомендую посмотреть и на что потратить время — так это на курсы по машинному обучению (cм. выше), в том числе и глубокому.
— Многие говорят, что современные методы машинного обучения всего лишь копируют куски из уже созданных произведений и комбинируют их согласно найденным канонам, было ли что-то такое, что действительно удивило Вас в произведениях, созданных ИИ?
Иван Ямщиков: В целом это, конечно, разумная и оправданная критика, но у меня на нее есть два контраргумента: технический и философский.
Начнем с технического. Раньше мы не умели и этого —, а теперь научились. И то, что мы сейчас можем технически создать такие штуки — уже прорыв. Может быть, не с точки зрения искусствоведения, но с чисто технической — точно.
С философской стороны: постмодернист делает то же самое. И если мы живем в эпоху постмодернизма, то фактически любой автор в некотором смысле копирует, имитирует или вдохновляется опытом. И в целом, если рассмотреть проблему обучения (конечно, не для всего есть полностью формализованный мат. аппарат), то это преобразование потока информации в знания. А знания — это отфильтрованная, организованная и ранжированная определенным образом информация. И если посмотреть глубже, то в основе любого обучения, в том числе и человеческого, лежит опыт, скомбинированный и преобразованный. И кажется, что получилось что-то новое, но в реальности оно вытекает из комбинации опыта, полученного ранее.
Что касается удививших вещей. У меня есть любимая строчка из Нейроны (Neurona): «The God who«s always welcome to Iraq» (Бог, которому всегда рады в Ираке) — совершенно неожиданная строчка.
Есть в психологии такой термин: апофения — способность находить закономерности там, где их нет. В этом смысле творчество машин сейчас, конечно, апеллирует к апофении: чем сильнее в человеке это свойство, тем интереснее ему машинное творчество.
— Продолжая предыдущий вопрос: в матче AlphaGo vs. Le Sedol AlphaGo сыграла на 5-ой линии — ход, который бы ни один человек не сделал (что вызвало бурю в ГО сообществе) — какие есть примеры в созданных произведениях чего-то явно не присущего человеческому стилю?
Иван Ямщиков: Человеку доступен огромный массив данных: тактильные и вкусовые ощущения, запахи, и многие другие. И это огромный опыт, доступный человеку, в некотором смысле определяет сознание. У машин такого объема нет и, соответственно, их бытие куда менее разнообразное и интересное, чем у человека. Как результат тексты, написанные машиной, радикально отличаются от написанных человеком.
Фундаментальные вопросы здесь: поняли ли мы принцип, по-которому человек создает тексты. И тут в научном сообществе нет однозначного и четкого ответа. Задача о генерации дискретных последовательностей, будь то текст или музыка, — это открытый вопрос, на самой границе научного знания, и над ним бьются сейчас разные люди по всему миру.
— Ряд технических экспертов называет одной из проблем оценки работы творческого ИИ отсутствие объективных критериев качества работы:, а как вообще люди оценивают качество сгенерированной музыки и нарисованных с помощью нейросетей картин?
Иван Ямщиков: Мне очень нравится этот вопрос, и если у вас есть идеи — приходите, вместе напишем статью. Я не шучу.
Сейчас рабочий критерий проверки качества основан на коллективной оценке людьми. Нейронную оборону прослушали 400 тысяч человек в первую неделю, и на основе распределения оценок и комментариев можно оценить, сильно ли это понравилось людям и насколько похожим это получилось.
Если говорить подробнее, то технически можно рассмотреть два случая: обучение с учителем и без. В первом случае у нас есть ответы — размеченные людьми или проверенные ранее, на которые алгоритм пытается ориентироваться, а во втором их нет. Если ответы есть, то для каждой конкретной задачи можно ввести некоторую метрику похожести на ответ и объективно измерить, что же получилось. А если их нет, то совершенно неочевидно, как такую метрику вводить.
— Чрезвычайно интересно, как именно были сгенерированы тексты Нейронной обороны? Можно ли интуитивно рассказать о мат. аппарате генератора?
Иван Ямщиков: Сотрудник Яндекса Юрий Зеленков разработал ряд поэтических эвристик, оценивающих ритм и рифму в русском языке. Мы использовали комбинацию этих эвристик и LSTM-сеть (Long Short Term Memory: https://habrahabr.ru/company/wunderfund/blog/331310/), которая прочитала массив русской поэзии: ей подавалась пара <стихи, автор>, причем в массиве данных была вся русская поэззия, которую мы могли найти, то есть условно от Пушкина и до наших дней, включая русский рок и эстраду. Однако даже этого количества данных было недостаточно, и мы давали машине читать каждый текст в случайном порядке — так, чтобы каждое стихотворение было прочитано раз 10. Это позволило существенно увеличить объем данных и значительно повысило качество.
Дальше на вход подаем автора и говорим: «Давай как этот автор». И мы подали на вход Егора Летова. Подробнее я расскажу об этом на конференции SmartData 2017, где раскрою много деталей.
Когда мы генерировали английские тексты для Neurona, поэтические эвристики уже не использовали. Леша Тихонов предложил включить в латентное пространство признаков, которое формируется внутри нейросети, фонетику слов, и алгоритм сам «понял», что можно рифмовать и как.
— ИИ уже играет в покер и ГО, перерисовывает картины и видео, пишет музыку и стихи: что же дальше? Какая следующая непокоренная вершина для творческого ИИ?
Иван Ямщиков: Уже есть и короткометражка, снятая по сюжету, созданному RNN. К сожалению, она довольно посредственная. Люди пока еще не умеют «объяснять» нейросети концепцию сюжета.
А вот с точки красивых приложений все ограничивается фантазией автора. Сейчас мне кажется наиболее перспективной возможность интерактива с сетью, то есть создания объектов, взаимодействующих со зрителем/слушателем.
В некотором смысле компьютерные игры — искусство будущего. Находясь в игре, ты проживаешь историю по-разному, т.е. опыт индивидуален. Подобная интерактивность в искусстве — это следующий шаг.
Например, когда ты слушаешь музыку, а она звучит как живой концерт и с певцом/группой/музыкой можно взаимодействовать. Простой пример: Яндекс.Музыка или Spotify могут подстраивать ритм и музыку под настроение или специально подбирать треки для, к примеру, занятия спортом.
Если вспомнить живые фотографии от Apple — это, по сути, несколько вариантов кадра. Соответственно, можно предположить, что когда музыкант будет записывать альбом, он в некоторым смысле запишет несколько версий или вариаций композиции в некоторых границах. И тогда трек сможет подстраиваться под настроение слушателя, ориентируясь на какие-то внешние данные. Аналогия здесь довольно простая — если сесть с друзьями и исполнить песню под гитару, то в зависимости от настроения одна и та же песня выйдет по-разному, но это будет одна и та же песня. Я уверен, что что-то похожее можно уже сейчас реализовать технологически и в музыке.
— Сейчас одна из самых популярных тем для обсуждения — это работа в паре машина + человек, такие игры проводятся на шахматных и ГО турнирах. Есть ли какие-то интересные примеры работы в паре человек + машина в искусстве?
Иван Ямщиков: В целом, это уже происходит: человек уже создает музыку на компьютере. Периодически обсуждаю эту тему с, так скажем, скептиками, которые обеспокоены тем, что роботы заменят людей, и рисуют апокалиптические сценарии. Я пытаюсь всех успокоить и привожу вот такой аргумент. Обычно мы создаем машину, чтобы делать то, что мы делаем плохо. Когда нужно создать машину, которая хорошо копает землю, мы создаем не огромного человека с лопатой, а экскаватор, который копает землю куда лучше, чем этот огромный человек.
Есть такая когнитивная ловушка: когда мы говорим про искусственный интеллект, мы думаем, что он будет похож на человеческий — то есть как наш, только больше!
К примеру, когда в начале XIX века фантасты пытались придумать будущее, в нем был гигантский дирижабль, а не самолет. В целом, человек легко предугадывает количественные изменения, но с трудом может представить себе качественные. Несложно вообразить, что все будет быстрее, дешевле, больше (меньше)… А вот скачки технологий предугадываются плохо. И мне кажется, что то же самое происходит сейчас с искусственным интеллектом.
Но качественный (а не только количественный) прорыв уже сейчас происходит в приложениях и работах, связанных с понимаем того, что же человек хочет: что ищет, собирается купить. А на базе генерации текстов мы сможем сделать принципиально иные методы коммуникации с человеком. Человек сможет использовать новые инструменты по мере их появления. Например, у программиста появятся умные помощники написания кода, для художника это может быть система по подбору красок, а для композитора — система, дающая вдохновение и помогающая правильно передать эмоции в произведении.
Если темы машинного обучения вам близки так же, как и нам, хотим обратить ваше внимание на ряд ключевых докладов на грядущей конференции SmartData 2017, которая пройдет 21 октября в Санкт-Петербурге:
- Рекомендательные системы: от матричных разложений к глубинному обучению в поточном режиме (Михаил Камалов, Epam Systems)
- Глубокое обучение, вероятностное программирование и метавычисления: точка пересечения (Алексей Потапов, ИТМО)
- Автоматический поиск контактной информации в интернете (Александр Сибиряков, Scrapinghub)
- Прикладное машинное обучение в электронной коммерции: сценарии и архитектуры пилотов и боевых проектов (Александр Сербул, 1С-Битрикс)
- Deep Learning: Распознавание сцен и достопримечательностей на изображениях (Андрей Бояров, Mail.ru)