Александр Савсуненко шесть лет занимается созданием интеллектуальных систем, два из которых — в качестве старшего научного сотрудника Университета штата Нью-Йорк в Стоуни-Брук. Он разрабатывал интеллектуальные системы для анализа ДНК, работы с изображениями, маркетинга.
Сейчас Александр руководит AI Lab в Skylum Software, где занимается графическими редакторами на базе нейросетей. Мы спросили, какими из созданных сервисов он особенно гордится и зачем использовать нейросети в A/B-тестировании.
Александр, расскажите о своей научной работе в Университете штата Нью-Йорк в Стоуни-Брук. Какие проекты вы там вели и были ли они связаны с искусственным интеллектом или Machine Learning?
Нет, они не были непосредственно связаны с ИИ и машинным обучением. Я занимался исследованием новых материалов на основе графена. Мы разрабатывали новый материал для 3D-печати, который бы проводил электричество. Тогда с помощью принтера с двумя соплами можно было бы печатать и корпус, и электронную разводку платы за один раз. Материал мы в итоге создали, и сейчас он продается.
После у вас был интересный проект в области машинного обучения — Let’s Enhance, сервис по улучшению качества фото. Расскажите, как удалось научить машину восстанавливать сжатые изображения?
Мы взяли изображения в хорошем качестве, получили из них сжатые и шумные и затем тренировали нейросеть, чтобы она научилась восстанавливать картинку в хорошем качестве. После обучения на таких парах нейросеть смогла самостоятельно повышать качество изображений: убирать пикселизацию, артефакты сжатия и другие дефекты.
Источник фото
Что в этом проекте было самым сложным?
Думаю, поддерживать эту систему в produсtion. Когда вышли статьи в TechCrunch, Mashable о нашем сервисе, к нам полилось очень много трафика, и за сутки мы обработали около 200 тысяч изображений. Пришлось поработать над тем, чтобы наши серверы все это выдержали.
В прошлом году вышла версия Let’s Enhance 2.0. Что нового было в ней реализовано?
Мы изменили методику тренировки, loss-функцию, архитектуру сети. Если вы стремитесь повысить качество продукта, эти аспекты можно менять бесконечно.
Какова сегодня аудитория сервиса? Удалось ли его монетизировать?
Я ушел из Let’s Enhance.io почти год назад. Уже после этого, в июле 2018 года, стартап прошел в программу Techstars London и получил инвестиции от акселератора. Проект монетизировался практически сразу и вышел в прибыль.
В каких ИИ-разработках вы принимали участие? Какими из них особенно гордитесь?
У меня с коллегами был проект Titanovo по нутригенетике, который анализировал ДНК. Мы с помощью машинного обучения учились предсказывать физиологические маркеры и предрасположенности на основе полногеномного анализа и чипового генотипирования. Собирали данные из научных статей, статистику, формировали датасеты, учили модели, на их основе формулировали рекомендации для людей и предсказания об их здоровье в будущем — все это было построено на нечеткой логике, разных классификаторах. Сейчас появилось много проектов с использованием ИИ и ML по нутригенетике, по спортгенетике. Но мы были в числе первых. Материалы по этим разработкам можно найти в моем блоге на Medium.
Я экспериментировал с динамическими оптимизациями лендинг-страниц для маркетинговых команд, переложив теорию многоруких бандитов на нейросети. Делал скрипты с машинным обучением для оптимизации закупок трафика. И работа с изображениями, которую я веду сейчас, также связана с искусственным интеллектом. И я тоже ею горжусь.
Сейчас вы работаете над сервисами редактирования изображений. Каковы здесь функции нейросети?
В первую очередь распознавание образов. Самую большую роль ИИ играет в программе Photolemur от Skylum Software: благодаря машинному зрению эта программа может улучшать фотографии в один клик.
Как это происходит?
Загружаем фотографию, и сервис автоматически ее улучшает — нужно только сохранить. Никаких всплывающих окон, ползунков и режимов.
Для этого в первую очередь программе надо распознать тип изображения: портрет, ландшафт, городской пейзаж. А еще людей на снимке, здания и другие объекты, время суток, время года (если фото сделано на улице). Потом нужно произвести сегментацию изображения, выделить соответствующие зоны. В портрете, например, выделяются отдельные части лица: глаза, уши, ноздри и другие.
Потом все это нужно улучшить, и здесь искусственный интеллект уже не применяется. Снимок улучшается по зашитым алгоритмам, следуя тому, как обрабатывают такие снимки фотографы. Например, кожу сгладить, для неба увеличить контраст, белки глаз сделать светлее. Но это все вторично. А в первую очередь нужно сегментировать изображение.
Какие базы данных и алгоритмы использовались для обучения системы?
Говоря о фреймворке для разработки нейросетей, я предпочитаю MXNet — достаточно экзотический выбор на сегодня, но постепенно набирающий популярность. Главное преимущество — скорость вычислений и гибридный режим переключения между императивным и символьным режимами программирования нейросетей, это удобно. А вот названия датасетов и алгоритмов я не могу вам сказать, это коммерческая тайна проекта.
С какими трудностями вы столкнулись при создании интеллектуального графического редактора?
Технология еще не доросла, нейросети часто допускают ошибки: в распознавании образов и особенно в сегментации, когда речь идет о сложном изображении. Поэтому приходилось анализировать результаты и править с помощью традиционных методов и стандартных алгоритмов. Пока невозможно построить систему, которая бы от начала до конца делала все исключительно с помощью нейросети. Ну и, конечно, при работе на конечном устройстве пользователя нужно учитывать сложность сети — вычисления на CPU достаточно медленные, CUDA-enabled GPU есть не у всех, а OpenCL недостаточно хорошо поддерживается.
Какое изображение берется за идеальный вариант?
Над этим работает наша команда Quality Assurance, которая уделяет особое внимание финальному качеству изображений. Поскольку и наши фоторедакторы, и камеры постоянно меняются, то невозможно зафиксировать некий идеальный вариант, ведь он постоянно меняется.
Какова аудитория этих продуктов? Удается ли «переманивать» пользователей Adobe?
Наш флагманский продукт Luminar — это новая альтернатива Adobe Lightroom. За счет маленькой и сплоченной команды удается внедрять новые технологии в продукт значительно быстрее и постоянно привлекать новых пользователей. Luminar отлично подходит как начинающим, так и профессиональным фотографам, поскольку совмещает в себе инструменты для редактирования в один клик и полный набор функций для более детальной работы с фото.
Интерфейс Luminar. В статье идет сравнение работы в Luminar и Photoshop
А вот Photolemur — уникальный и достаточно молодой продукт, ему чуть больше года. Его целевая аудитория — люди, которые не хотят разбираться во всех слайдерах и кнопках Photoshop, а просто хотят, чтобы их фотографии из отпуска быстро стали красивыми. Нам удалось найти свою аудиторию: продажи идут и продуктом активно пользуются.
Вы также занимаетесь проектами, которые развивают нейронные сети для оптимизации целевых страниц. Расскажите подробнее об этой работе.
Это классическая задача, когда нужно провести A/B-тестирование лендинг-страницы. Если генерировать отдельные страницы для всех возможных элементарных вариантов, их может получиться миллионы версий. И чтобы получить статистически значимый результат при классическом подходе, нужно провести попарное A/B-тестирование всех этих вариантов. Для этого требуется невероятное количество трафика. Такое масштабное тестирование могут себе позволить компании только с очень крупными ресурсами, Amazon, например.
А если небольшая компания хочет проверить много вариантов, то можно делать A/B-тестирование с помощью нейросетей, работающих на обучении с подкреплением. Тогда, по сути, заполнение страницы элементами отдают в руки нейросети и назначают ей в качестве задачи повышение конверсии страницы. В таком варианте работы нейросеть крутится на сервере и обучается параллельно с тем, как идет трафик. И в итоге гораздо быстрее находит оптимальный вариант лендинга.
Если еще немного усложнить, то ИИ научится показывать версии лендинг-страниц, которые персонализированы для конкретного пользователя. Потому что мы сообщаем еще и дополнительную информацию: браузер, время суток, операционная система. Соответственно, пользователь видит страницу, которую ему демонстрирует нейросеть, и трафика при таком методе нужно привлекать значительно меньше. Конечно, идеальное попадание не гарантировано, зато страница гораздо быстрее даст хорошие показатели.
Сейчас Александр руководит AI Lab в Skylum Software, где занимается графическими редакторами на базе нейросетей. Мы спросили, какими из созданных сервисов он особенно гордится и зачем использовать нейросети в A/B-тестировании.
Александр, расскажите о своей научной работе в Университете штата Нью-Йорк в Стоуни-Брук. Какие проекты вы там вели и были ли они связаны с искусственным интеллектом или Machine Learning?
Нет, они не были непосредственно связаны с ИИ и машинным обучением. Я занимался исследованием новых материалов на основе графена. Мы разрабатывали новый материал для 3D-печати, который бы проводил электричество. Тогда с помощью принтера с двумя соплами можно было бы печатать и корпус, и электронную разводку платы за один раз. Материал мы в итоге создали, и сейчас он продается.
После у вас был интересный проект в области машинного обучения — Let’s Enhance, сервис по улучшению качества фото. Расскажите, как удалось научить машину восстанавливать сжатые изображения?
Мы взяли изображения в хорошем качестве, получили из них сжатые и шумные и затем тренировали нейросеть, чтобы она научилась восстанавливать картинку в хорошем качестве. После обучения на таких парах нейросеть смогла самостоятельно повышать качество изображений: убирать пикселизацию, артефакты сжатия и другие дефекты.
Источник фото
Что в этом проекте было самым сложным?
Думаю, поддерживать эту систему в produсtion. Когда вышли статьи в TechCrunch, Mashable о нашем сервисе, к нам полилось очень много трафика, и за сутки мы обработали около 200 тысяч изображений. Пришлось поработать над тем, чтобы наши серверы все это выдержали.
В прошлом году вышла версия Let’s Enhance 2.0. Что нового было в ней реализовано?
Мы изменили методику тренировки, loss-функцию, архитектуру сети. Если вы стремитесь повысить качество продукта, эти аспекты можно менять бесконечно.
Какова сегодня аудитория сервиса? Удалось ли его монетизировать?
Я ушел из Let’s Enhance.io почти год назад. Уже после этого, в июле 2018 года, стартап прошел в программу Techstars London и получил инвестиции от акселератора. Проект монетизировался практически сразу и вышел в прибыль.
В каких ИИ-разработках вы принимали участие? Какими из них особенно гордитесь?
У меня с коллегами был проект Titanovo по нутригенетике, который анализировал ДНК. Мы с помощью машинного обучения учились предсказывать физиологические маркеры и предрасположенности на основе полногеномного анализа и чипового генотипирования. Собирали данные из научных статей, статистику, формировали датасеты, учили модели, на их основе формулировали рекомендации для людей и предсказания об их здоровье в будущем — все это было построено на нечеткой логике, разных классификаторах. Сейчас появилось много проектов с использованием ИИ и ML по нутригенетике, по спортгенетике. Но мы были в числе первых. Материалы по этим разработкам можно найти в моем блоге на Medium.
Я экспериментировал с динамическими оптимизациями лендинг-страниц для маркетинговых команд, переложив теорию многоруких бандитов на нейросети. Делал скрипты с машинным обучением для оптимизации закупок трафика. И работа с изображениями, которую я веду сейчас, также связана с искусственным интеллектом. И я тоже ею горжусь.
Сейчас вы работаете над сервисами редактирования изображений. Каковы здесь функции нейросети?
В первую очередь распознавание образов. Самую большую роль ИИ играет в программе Photolemur от Skylum Software: благодаря машинному зрению эта программа может улучшать фотографии в один клик.
Как это происходит?
Загружаем фотографию, и сервис автоматически ее улучшает — нужно только сохранить. Никаких всплывающих окон, ползунков и режимов.
Для этого в первую очередь программе надо распознать тип изображения: портрет, ландшафт, городской пейзаж. А еще людей на снимке, здания и другие объекты, время суток, время года (если фото сделано на улице). Потом нужно произвести сегментацию изображения, выделить соответствующие зоны. В портрете, например, выделяются отдельные части лица: глаза, уши, ноздри и другие.
Потом все это нужно улучшить, и здесь искусственный интеллект уже не применяется. Снимок улучшается по зашитым алгоритмам, следуя тому, как обрабатывают такие снимки фотографы. Например, кожу сгладить, для неба увеличить контраст, белки глаз сделать светлее. Но это все вторично. А в первую очередь нужно сегментировать изображение.
Какие базы данных и алгоритмы использовались для обучения системы?
Говоря о фреймворке для разработки нейросетей, я предпочитаю MXNet — достаточно экзотический выбор на сегодня, но постепенно набирающий популярность. Главное преимущество — скорость вычислений и гибридный режим переключения между императивным и символьным режимами программирования нейросетей, это удобно. А вот названия датасетов и алгоритмов я не могу вам сказать, это коммерческая тайна проекта.
С какими трудностями вы столкнулись при создании интеллектуального графического редактора?
Технология еще не доросла, нейросети часто допускают ошибки: в распознавании образов и особенно в сегментации, когда речь идет о сложном изображении. Поэтому приходилось анализировать результаты и править с помощью традиционных методов и стандартных алгоритмов. Пока невозможно построить систему, которая бы от начала до конца делала все исключительно с помощью нейросети. Ну и, конечно, при работе на конечном устройстве пользователя нужно учитывать сложность сети — вычисления на CPU достаточно медленные, CUDA-enabled GPU есть не у всех, а OpenCL недостаточно хорошо поддерживается.
Какое изображение берется за идеальный вариант?
Над этим работает наша команда Quality Assurance, которая уделяет особое внимание финальному качеству изображений. Поскольку и наши фоторедакторы, и камеры постоянно меняются, то невозможно зафиксировать некий идеальный вариант, ведь он постоянно меняется.
Какова аудитория этих продуктов? Удается ли «переманивать» пользователей Adobe?
Наш флагманский продукт Luminar — это новая альтернатива Adobe Lightroom. За счет маленькой и сплоченной команды удается внедрять новые технологии в продукт значительно быстрее и постоянно привлекать новых пользователей. Luminar отлично подходит как начинающим, так и профессиональным фотографам, поскольку совмещает в себе инструменты для редактирования в один клик и полный набор функций для более детальной работы с фото.
Интерфейс Luminar. В статье идет сравнение работы в Luminar и Photoshop
А вот Photolemur — уникальный и достаточно молодой продукт, ему чуть больше года. Его целевая аудитория — люди, которые не хотят разбираться во всех слайдерах и кнопках Photoshop, а просто хотят, чтобы их фотографии из отпуска быстро стали красивыми. Нам удалось найти свою аудиторию: продажи идут и продуктом активно пользуются.
Вы также занимаетесь проектами, которые развивают нейронные сети для оптимизации целевых страниц. Расскажите подробнее об этой работе.
Это классическая задача, когда нужно провести A/B-тестирование лендинг-страницы. Если генерировать отдельные страницы для всех возможных элементарных вариантов, их может получиться миллионы версий. И чтобы получить статистически значимый результат при классическом подходе, нужно провести попарное A/B-тестирование всех этих вариантов. Для этого требуется невероятное количество трафика. Такое масштабное тестирование могут себе позволить компании только с очень крупными ресурсами, Amazon, например.
А если небольшая компания хочет проверить много вариантов, то можно делать A/B-тестирование с помощью нейросетей, работающих на обучении с подкреплением. Тогда, по сути, заполнение страницы элементами отдают в руки нейросети и назначают ей в качестве задачи повышение конверсии страницы. В таком варианте работы нейросеть крутится на сервере и обучается параллельно с тем, как идет трафик. И в итоге гораздо быстрее находит оптимальный вариант лендинга.
Если еще немного усложнить, то ИИ научится показывать версии лендинг-страниц, которые персонализированы для конкретного пользователя. Потому что мы сообщаем еще и дополнительную информацию: браузер, время суток, операционная система. Соответственно, пользователь видит страницу, которую ему демонстрирует нейросеть, и трафика при таком методе нужно привлекать значительно меньше. Конечно, идеальное попадание не гарантировано, зато страница гораздо быстрее даст хорошие показатели.
Об использовании нейросетей для визуального контента и оптимизации лендингов Александр расскажет 14 ноября на AI Conference Kyiv. Список остальных спикеров и программу мероприятия смотрите на официальном сайте.