Prisma — приложение для оформления фотографий в стилистике определенных художников — стало одним из примеров резкой популярности на мировом рынке. Попутно «Призма» удостоилась как массе восхищенных похвал, так и ряду упреков: от вторичности разработки до краткосрочной популярности самого продукта. Алексей Моисеенков с начала и до сего дня — основной двигатель этого проекта. Далее — наш разговор с ним.

Бизнес-уроки


Ажиотаж прошел. Вы им правильно воспользовались? Может, есть обстоятельства, которые не позволили вам воспользоваться хайпом в достаточной мере?

Алексей Моисеенков: Секрета, как воспользоваться хайпом по максимуму, нет, но мы получили пользу в достаточной мере. Получили достаточно опыта. Наше использование хайпа было не в монетизации, а в опыте быстрого роста по всему миру. Одно из основных, что мы получили — опыт быстрой разработки и опыт оперативного общения с прессой.

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

Толчком к созданию «Призмы» стал выпускной проект моего студента в МФТИ Ильи Фролова, который сделал штуку в стиле Style Transfer. Были ещё похожие решения, уже работающие. Задача была реализовать на базе чужой идеи свою модель обработки и свои скорости обработки, а также наработать базу стилевых шаблонов. То есть алгоритм не open source, а основан на идее, которая лежит в open source и потом ускорена.

Можно было придумать что-то ещё поверх Призмы. Но ажиотаж на художественную обработку фото спал, и дальше стилизация будет жить уже внутри других продуктов — таких, как «маски».

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



Если бы такой рост выпал на долю уже большой компании, наверное, она бы запустила больше вариантов продукта. О продуктовых шагах, которые мы делали и которые можно было сделать, надо писать отдельную большую статью.

Факты из биографии Алексея


  • Начал программировать в 11 лет.
  • В 11 классе входил в топ-200 игроков России по World of Warcraft.
  • Первые деньги заработал в 8 классе — красил трафаретом майки на молодёжной бирже труда.
  • Первые деньги от программирования заработал на втором курсе института — написал и продал программу за 10 000 рублей.
  • Всегда учился на «отлично» и не прогулял ни одного урока.
  • До «Призмы» Алексей уже имел опыт продаж популярного продукта в магазине приложений Google Play — сотни тысяч скачиваний виджета, который позволял поставить на рабочий стол смайлик и подпись.
  • У «Призмы» изначально было 4 сооснователя.
  • Чтобы «Призма» начала вызывать интерес, её пришлось перенести на мобильники и ускорить в тысячу раз по сравнению с первоначальной десктопной версией, добившись скорости обработки на серверах в 10 секунд.
  • Реклама в TJournal дала первоначальный скачок в 100 тысяч скачиваний «Призмы», а реклама в американском Product Hunt — 5 млн скачиваний.
  • Сейчас Prisma Labs выпускает инструменты для портирования визуальных эффектов и компьютерного зрения на мобильные устройства, а также предоставляет возможность их тестирования на своей аудитории. Задача — зарабатывать на продаже этих услуг по $1 млн в месяц.
  • Активная пользовательская база Prisma Labs — 5-10 млн преимущественно американских пользователей.
  • Специализация Prisma Labs сейчас — перенос стилей (стартовый продукт), распознавание и отделение фона или сцены, распознавание и выделение объекта (сегментация), маски для фотографий лиц и распознавание эмоций.

Хорошо, а чему вы научились за этот год? Вы ведь до Призмы учили студентов МФТИ на курсе «Как сделать свой стартап». Какие изменения вы внесли бы сейчас в ваш курс и в слагаемые успеха стартапов?

Алексей: У меня не было одного рецепта успеха. Нет и сейчас. Я аккумулировал в том курсе свой опыт и мысли из книг других бизнес-авторов. Сейчас я бы внёс изменения, но изменения надо вносить по всему курсу. Выделять что то одно в успехе стартапа я и раньше не стал бы и, в частности, на своем опыте 2016-2017 тоже не смогу. Могу найти курс и выложить, если в комментариях к интервью кто-то его спросит.

Недавно мне мои бывшие студенты рассказали, что тогда мне не доверяли — у меня ведь не было своего стартапа. А теперь они эти лекции переслушивают!

Вы закончили с программированием из-за скуки. Вам нравится генерить идеи и видеть их воплощение. Теперь вместо новых идей пошла бизнес-рутина (нанимать людей, работать корпоративно, продумывать стратегию) — это не мешает поддерживать интерес к делу?

Алексей: Я не вижу в деловой текучке рутины. Программирование мне нравилось. Нравилось ощущение, что работает нечто, сделанное своими руками. Но надоело. Знаю, что могу закодить, могу продать, а повторяться уже не так интересно. В бизнесе, думаю, мне пока скучать не приходится и никогда не придется. Тут, в отличие от программирования, всё меняется быстро. Утром одни заботы, вечером другие.

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

Алексей: Тут поможет только лидер и его характер. Мотивация всегда держится на лидере. Не всегда успех, но всегда мотивация команды. «Призму» я ведь сам вообще не программировал. Я понял, что идея «Призмы» полетит, и убеждал свою команду её сделать. Лидер должен верить в идею. Понять кто лидер просто — у кого берут интервью, на том обычно и держится мотивация внутри компаний. У нас вот я даю интервью. Кстати и Mapoji — прошлый стартап нашей команды (правда ещё без Ильи) — затормозили не низкие показатели скачиваний, а просто это был сложный проект. Мы такой раскручивать не потянули. Любые социальные проекты и сети тяжелы на подъем. Сложен и любой проект с контентом.



Вы упомянули Snapchat. Я уже писал, что Эван Шпигель умело идет от хайпа к хайпу (исчезающие шпаргалки, секс-провокации, маски, дневные репортажи), выкатывая новую фишку для своего мессенджера каждый год, а Цукерберг без всяких новых фишек растёт на аудитории и рекламе. Какой путь вам ближе?

Алексей: Признак хайпового проекта – не итоговая популярность, а то, что все сразу вспоминают, как он быстро рос. Думаю, что, например, и Snapchat не взорвал рынок сразу. Кто помнит, сколько у него было установок в первые годы? Только специалисты. А хайповые проекты у всех в памяти сами по себе.

Сейчас мы делаем продукт для регулярного использования. Так что, скорее, путь Цукерберга. Но я кстати, не соглашусь с тезисом, что можно было сделать, как Snapchat, и идти от хайпа к хайпу. Во-первых, как я уже сказал, у нас не было времени. Во-вторых, Snapchat — это не хайп. Исчезающие репортажные новости («истории», как они называются в Snapchat) — это ежедневная потребность. Бред, которым вы делитесь с близкими друзьями, никому больше не интересен. И не надо его больше никому показывать. Это лишнее. Он важен только вашим друзьям. Да, вначале у них были исчезающие фотки, а не видео, но нынешние «истории» — это их логичное продолжение. Но по-моему, суть осталась всё та же. Исчезающие новости — это актуальность здесь и сейчас. Вы не грузите память и не заставляете разгребать информационные завалы потом. В некоторым смысле это способ избавиться от информационной перегрузки.

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

Как вы организуете свою работу и работу коллектива? Slack, понятно, что используете, но есть ли место методологии типа Agile или какой-то собственной?

Алексей: Методология — это идеал. Все консультанты пишут идеал, а любая компания просто стремится к нему, но никогда не достигает. Мы работаем по системе хаоса. И вообще не тратим время на процедуры. Бэклог есть, потому что он удобен, но проджект менеджмента у нас нет и проджект-менеджера отдельного тоже. Планируем в Trello. А реализуем всё, кому как удобно. Мне важно, чтобы была прозрачность понимания, кто что делает. Здесь мой опыт работы в больших компаниях сказывается. Там часто ход проекта непонятен. В коллективе из 25 человек увидеть картину не так сложно. Вот эту прозрачность процессов нам обеспечивает Trello.

Нейросети


Насколько вы компетентны в распознавалках и в нейросетях? Вы сами писали нейросеть? Как хорошо она распознавала?

Алексей: Лично сам я нейросети писал и пишу, но не очень сложные. На основе библиотек TensorFlow пишу. У меня диплом Политеха СПб по ранжированию в поиске, второй диплом по регрессионным моделям, то есть по классическому машинному обучению. Я, может быть, по распознавалкам не могу выступать техническим экспертом или устраиваться на работу, но писал. Ошибки распознавания были на уровне 20% для топ-1, для топ-5 было 10% ошибок. Последняя моя нейросеть написана полтора года назад.

В чем принципиальная разница в методологии обработки статичных изображений и динамического видео? В ваших программах оптимизация идет через скорость перебора при повторе операций или есть нетривиальный алгоритм?

Алексей: Стандартный подход — это воспринимать видео как набор кадров, то есть просто много-много фоток мелькающих подряд. Ещё можно использовать анализ взаимосвязей между кадрами. Примерно так работают алгоритмы любого сжатия или потокового видео. При анализе взаимосвязей можно не производить лишних действий по обработке каждого кадра. Но большинство нейросетей берут в обработку именно каждый кадр. У нас так же. Никакой магии, никаких алгоритмов анализа связей кадров между собой.

Согласны ли вы с тезисом, что мы до конца не понимаем, как работает нейросеть?

Алексей: Речь, скорее, не про понимание, а про сквозное отслеживание всех математических преобразований, которые дают результат на выходе. Мы не можем связать все пути преобразования признаков (в конкретном слое или «нейроне») с итоговым результатом. Но это отнюдь не отсутствие понимания. Просто мы физически не можем проанализировать каждое преобразование и описать процесс целиком. Именно из-за отсутствия ресурсов на описание такого количества операций мы и «не всё понимаем». Мы упускаем путь преобразования весов, тензоров и матриц по чисто техническим причинам, а не из-за какой то магии. Правда большинство архитектур нейросетей сделаны как раз по наитию. Методом проб и ошибок. Но это одна и та же причина – попробовать быстрее, чем проанализировать и понять.

Есть ли у вашей новой программы PrismaLabs.ai рейтинг и сертификация NIST? Они есть у российских компаний NtechLab или 3DiVi. Можно ли через этот рейтинг сравнить ваши алгоритмы?

Алексей: Я не понимаю, зачем нужно рейтинговаться. Думаю, это надо только для работы с госсектором. Мы пока с госсектором не работаем, просто никто не приходил пока оттуда. У нас всё хорошо и без госзаказчиков. Поэтому мы с другими и не сравниваем себя.

Сферой применения компьютерного зрения в секторе В2В вы называли идентификацию покупателей в магазинах. Другой ваш пример — распознавание автопилотами дорожных знаков. Где ещё можно ваше приложение применять?

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

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

Как скоро программа-распознавалка сможет определить летящую крылатую ракету? Или когда сможет следить за техникой безопасности в цеху?

Алексей: Я на военной кафедре как раз занимался ПВО и С-300. Но там не было таких задач, всё решалось через радиолокацию. Но тогда и технологий таких не было. Думаю, возможности уже есть, нету массовости применения. В ближайшей перспективе задачи решаемы. Это уже не творческие задачи, а чисто технические.

Что надо, чтобы наши программисты оставались в стране? Вы остались тут, потому что не программист, а уже, скорее, предприниматель?

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

Самого Алексея успех пока мало изменил. Алексей и сегодня живет в той же съемной квартире, что раньше. Так же, как и раньше, он продолжает вовсю играть в компьютерные игры. Часа по три в день играет в Hearthstone. Его BattleTag — darkolorin#2275.

Постскриптум


Алексей: Любое интервью — это искажение. Никому не интересна правда, любое СМИ подстраивается под читателя и насыщает историю вымыслом. История о том, что, например, два чувака сидели и делали стартап за компьютерами и всё, что им было надо — это компьютеры, никогда не будет популярной. Программа их, может, и будет популярной, но про её создание медиа всегда додумают что-то.

Комментарии (13)


  1. IvanBulb
    28.09.2017 17:11
    +2

    Prisma вроде как это DeepArt open source с GitHUB
    и не более того)

    просто тонкий клиент был вначале — использовал опен сорс
    затем портировали с питона на с++ — получилось запускаться на мобиле

    или в чем Призма?


  1. darkolorin
    28.09.2017 18:19
    +5

    Вы не правы. Алгоритм deepart имеет в себе не только проход вперёд сетке, но шаг обратно(избегаю терминов). И его ускорить ну никак не выйдет до той скорости которую мы достигли. Наша идея близка к идее fast style transfer от Johnson. Смысл был в том, что мы сделали предобученные модели для стилей и гоняли сетку только вперёд поэтому и вышло так быстро. Далее на мобиле запускать не так быстро, поэтому пришлось ещё более облегчать модель и писать движок на metal. В тот момент, когда мы его прошлым летом писали аналогов не было(ну я не нашёл, может и были). Примерно такая история. В целом это уже сто раз обсуждали и легко найти в интернете.


  1. terrakok
    28.09.2017 20:12

    Помню-помню я этот виджет "который позволял поставить на рабочий стол смайлик и подпись" :)
    А особенно его запуск со скамейки в ЦПКиО!


  1. graphican
    29.09.2017 00:18

    Fabby на мобильных вроде в декабре 2016 нейросети уже гоняли с выделением фона на живом видео. Может они родили индустрию нейросетей, а не Призма?


    1. Dark_Daiver
      29.09.2017 05:12

      del


    1. znsoft
      29.09.2017 07:18

      MSQRD раньше всех начал быстро работать на мобилах


      1. masai
        29.09.2017 09:10

        А там нейронные сети?


    1. darkolorin
      29.09.2017 14:28

      Про выделение фона речи не было. Мы его сделали примерно весной, впустили чуть позже. Мы запустили style transfer собственно говоря. Алгоритм тоже построен на нейросетях. Первый успешный запуск был в конце июля/начале августа. Релиз в сентябре кажется.
      Вклад fabby и других ребят не отрицаю. У них отличная команда.


      1. graphican
        29.09.2017 15:49

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


  1. IvanBulb
    29.09.2017 11:21

    MSQRD и Fabby везде OpenCV судя по дизаасемблеру и свои ХОРОШИЕ каскадные классификаторы)

    В ран-тайм упрощенные алгоритмы которые легко обмануть — а по кнопки ФОТО уже работает навороченная версия)


    1. graphican
      29.09.2017 15:45

      Какой дизассемблер? На GPU всё считается же, очевидно


      1. masai
        29.09.2017 17:00

        Как исполнение на GPU мешает дизассемблированию?


  1. krundetz
    29.09.2017 14:33

    Выложите пожалуйста упомянутый курс.