Нет ничего более постоянного, чем непредвиденное (Поль Валери)

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

Специалист по Computer Science Алексей Незнанов о появлении генеративных моделей, обработке музыки нейросетью и искусственных языках.
Когда речь заходит об анализе данных и связанных с ним понятиях, в первую очередь появляется терминологическая проблема. Предположим, что анализ данных — это общее название области. Интеллектуальный анализ данных — то, что мы можем назвать сверхстатистикой (включая выявление знаний), а майнинг (калька с английского mining) — преобразование исходных данных во что-то более пригодное для анализа. Но что из этого связано с принятием решений?

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

Можно ли научить машину думать?

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

Другое важное открытие было сделано еще в 2015 году. Оно не очень известно, так как довольно сложно для понимания непрофессионалом. Речь идет о появлении нейромашин Тьюринга: к нейросети добавляется обычная память с нормальной структурой данных, или, наоборот, к обычной программе добавляется pattern matching (буквально «сопоставление с образцом») по нейросети. И это все становится не просто двумя разрозненными компонентами программы, а единым целым. Получается очень интересная вещь, которая меняет свойства обучения нейронных сетей.


Интересно, что машинное обучение стало трактоваться шире, чем раньше. Изначально под ним понималось обучение с учителем и без, задачи классификации и так далее. Но развитие глубоких нейронных сетей и сверточных нейронных сетей привело к тому, что появились генеративные модели (GAN — генеративно-состязательная сеть) — это еще один очевидный непосвященному прорыв, который на границе 2017–2018 годов позволил тысячам людей увлечься созданием фейкового видео и породил новый термин deepfake.

Одним из достижений генеративных моделей стало то, что они научились делать фейковые объекты, которые невозможно отличить от реальных: этого не могут сделать ни люди, ни машины. Вспомнить, например, один из опытов, продемонстрированных на конференции, когда было показано видео с Бараком Обамой SIGGRAPH 2017 года, речь которого сгенерировала нейросеть, и ее было невозможно классическими методами отличить от настоящего выступления. А возможности стилизации арт-объектов — это же прорыв в искусстве!

Искусственный интеллект в мире постправды

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

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

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

Голосовой помощник от Amazon
Узкие специализированные системы основаны либо на особых онтологиях, либо на бизнес-правилах, и если цель системы — повышать эффективность бизнеса, то ее нельзя сбить с толку и научить ругаться матом, например. А универсальная система к этому очень уязвима. Поэтому их нужно онтологически контролировать и параллельно наращивать и объединять существующие онтологии. Либо вернуться к идее, что нейронная сеть — аналог мозга, и развивать ее до такого уровня, когда на основе генеративных моделей можно будет производить синтез, а на основе стандартных ИНС — анализ. Этим сейчас очень активно занимаются, но результаты будут не раньше чем через 5–10 лет. Хотя и тут возможны неожиданности: конечно, такого быстрого успеха генеративных моделей, как в 2017 году, никто не ожидал.

Новые возможности в синтезе и обработке цифровых артефактов

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

Если все это объединить, получатся более-менее универсальные системы резкого улучшения качества изображений.

Еще одной интересной подобластью является стилизация изображений: натренировав генеративную нейросеть на картинах Ван Гога, любое другое изображение с ее помощью можно перевести в такой же стиль и даже обозначать процент стилизации. Имея набор стилей, можно делать из них фазовые пространства, брать в них необходимую точку, все смешивать и получать что-то совершенно невероятное. Для картинок это делать уже научились. Сейчас пытаются написать аналогичные алгоритмы для музыки.


Скоро подобные методы можно будет применять и к видео. Они уже используются для форматов на основе mpeg-6, пока не очень распространенного. В чем тут главная идея? В контейнер включается не только видеопоток, аудиопоток, субтитры и так далее. Есть наборы объектов, сцена, то есть разные потоки, идущие в разные места экрана, и объекты, которыми мы управляем (а могут быть те, которыми управляет компьютер), а также статические сцены. Все это создает единую картину. На этой основе в общую систему очень хорошо ложатся все методы, связанные с генеративными моделями. Они довольно сложные и медленные с вычислительной точки зрения, но и компьютеры становятся все мощнее.

Как обмануть искусственный интеллект?

Остается серьезная проблема того, что все эти программы можно обмануть, то есть предъявить им такие стили и объекты, по которым они будут производить ошибку. Можно вспомнить пример с макияжем для обмана системы распознавания лиц. Это относится к проблеме переобучения: ИНС может быть натренирована настолько хорошо, что будет работать стопроцентно качественно на тестовой выборке, но на реальных данных будет постоянно ошибаться. С этим очень тяжело бороться.

Команда из MIT делала очень интересные примеры того, как можно обмануть нейросеть: заставить ее перенести изображение из одного класса в другой, изменив всего несколько пикселей. Человек бы этого и не заметил, но алгоритм оказывается чувствителен к таким изменениям. Это происходит именно из-за переобучения.

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

Новые профессии в анализе данных

Все, что люди делают в рамках машинного обучения, за прошедшие годы успело поменять название. Например, три или четыре года назад должность и профессию data engineer (инженер данных) никто активно не использовал, а сейчас это очень популярное направление. Data scientist (специалист по анализу данных), как правило, анализирует, а data engineer (инженер данных) поддерживает workflow, то есть процессы обработки данных, сервера, базы данных и прочее. Эти две профессии очень четко разделились, и невероятно сложно заниматься одновременно и тем и другим, потому что это почти полярные знания, которые нужно применять по-разному: в первом случае аналитика, а во втором — синтез. Различаются данные, различаются, в конце концов, знания человека. Поэтому сегодня приходится переделывать все компетентностные карты.

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

Компьютер-композитор

В последние годы произошло два очень важных события. В 2016 году в NLP (natural language processing) был достигнут уровень качества распознавания голоса, равный человеческому. Голосовой набор работает сегодня вполне достойно. Чаще всего ошибки в распознавании речи у программы происходят там, где и человек не может правильно расслышать.

Еще одно важное событие, скорее внутриматематическое: появилась нейросеть, которая может генерировать музыку в стиле какого-либо композитора, например Скрябина. Особенно важно здесь, что людям это нравится. Не обладая сильным искусственным интеллектом, компьютер теперь может создавать художественные произведения не хуже человека. Философы говорили, что это невозможно. Математики их посрамили. На это потребовалось 10 лет непрерывной работы.

Компьютер, конечно, не понимает, какая музыка хорошая, а какая плохая, но создает произведение, которое человеку очень нравится. Ему не объясняли на математическом уровне понятие гармонии. В сфере онтологий и хорошо интерпретируемых методов, например, очень важно подробно объяснить понятие, но, как оказалось, чтобы компьютер сочинил новую музыку, ему не нужно ничего объяснять. Никакого сольфеджио, никакой МХК, а просто набор генеративных моделей и подбор параметров.

В связи с этим устарели все программы вроде Band-in-a-box, которые делали аранжировки по-старому. Сейчас создается новое поколение аналогичных программ, которые смогут сделать любую стилизацию и аранжировку. И с точки зрения того, что генеративные модели выдают результат, который нельзя распознать как фейк, это очень интересно. Анализ данных в таких случаях почти всегда влечет за собой сразу синтез, не дожидаясь какого-либо решения. И этот синтез дополняет выводы, которые были сделаны в результате анализа.

В чем отличие между музыкой, обработанной при помощи традиционной программы для аранжировки, и музыкой, стилизованной при помощи нейросети? Сможет ли заметить качественную разницу пользователь? Программы аранжировки включают в себя профиль исполнителей, знания о том, как это делать, и прочее. Нейросети же все это не нужно. Насколько лучше будет результат — зависит от задачи. Но в областях, где нужно творчество, нейронная сеть, вероятно, проявит себя лучше просто потому, что она учитывает больше параметров. Вычислительными мощностями мы компенсируем все то, что хотели от знания. А в областях, где нужно объяснение, это не работает, и тут нужен онтологический контроль.

Музыка, сочиненная искусственным интеллектом
Искусственные языки и онтологии

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

Новые искусственные языки при помощи онтологий четко моделируют базис. На Gellish написали в 2016 году знаменитую в узких кругах книгу — van Renssen A. Taxonomic Dictionary of Relations, в ней порядка пяти тысяч семантических отношений. Кроме того, это компонентный язык: в нем есть компонент формального голландского, английского, и есть наращивание предметной области, которое идет за счет слияния онтологий, поэтому не возникает противоречий, какие мы видим в эсперанто или других искусственных языках.

Новый этап в создании языков обычно ассоциируется с книжкой Дилэни «Вавилон-17» — это идея создания полностью формальных языков, у которых слово, термин, обозначающий понятие, полностью включает в себя семантику этого понятия. Это голубая мечта, но маловероятно, что ее удастся достигнуть. В таком языке не было бы многозначности, омонимов, на нем можно было бы сказать ровно то, что имеешь в виду. Хотя художественная сторона, конечно, страдала бы. Кроме того, в разных прикладных областях у нас разные тезаурусы, и одно и то же понятие в разных прикладных областях может называть по-разному, и, когда их сливают в онтологии, появляются синонимы. Но синонимы контекстно зависимые. 

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

Еще одна область, связанная с обработкой языка и майнингом данных, — sentiment analysis, анализ тональности высказывания. Хороший пример сложных для такого анализа высказываний — «теплый прием» и «теплое пиво». Теплый прием — это хорошо, а вот теплое пиво — не очень. Такие слова тоже оказываются контекстно зависимыми.