«Рождение Венеры» Боттичелли с фильтром Vassily Kandinsky.

«Рождение Венеры» Боттичелли с фильтром Vassily Kandinsky.

Одиннадцатого июня в App Store появилось приложение Prisma, разработанное сотрудником Mail.ru Group Алексеем Моисеенковым. «Призма», называющая себя камерой на основе искусственного интеллекта (AI Camera), привлекла внимание пользователей по всему миру. Возможность снять селфи, а затем превратить его в полотно кисти Мунка (есть другие художники и фильтры) вдохновила миллионы владельцев айфонов. Еще большее число пользователей стали жаловаться на заполонивших ленту фейсбука и инстаграма Кандинских и Роев Лихтенштейнов. К раздражению прибавилось непонимание прорывной роли Prisma в информационных технологиях. Александр Амзин объясняет, почему это приложение – больше, чем просто новая игрушка для телефона.

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

Вы делаете снимок, выбираете фильтр. Prisma отправляет изображение на сервер, где его наскоро обрабатывает искусственная нейронная сеть и возвращает назад стилизованным под того или иного художника. Вы публикуете изображение и собираете лайки.

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

Что такое нейронная сеть?

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

Принципиальное отличие нейронной сети заключается в том, что она обучается, а не программируется. Традиционная программа должна предусмотреть все возможные ответы на все возможные вопросы. Нейронной сети можно скормить много образцов и в конце концов добиться чего-то похожего на выходе без предварительной формулировки правил. В Prisma, вероятнее всего, используются сверточные нейронные сети (convolutional neural network).

Игорь Николаев с фильтром Gothic

Как устроена сверточная нейронная сеть и зачем мне об этом знать?

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