«Мы анализируем, где какой «винтик» барахлит и как его подменить, чтобы получился более эффективный подход»
Недавно в Москве вручили научную премию Яндекса им. Ильи Сегаловича, учрежденную для поддержки молодых исследователей из России, Беларуси и Казахстана в области компьютерных наук. В этом году награду получили три вышкинца, среди которых Александр Гришин, аспирант департамента больших данных и информационного поиска факультета компьютерных наук. Он рассказал нам о своих исследованиях, о сложностях научной карьеры и о том, почему он не ожидал присуждения премии Сегаловича.
О Вышке и научной работе
Научной работой я начал заниматься еще в бакалавриате МФТИ: на 3-4 курсе это был анализ данных с секвенаторов с помощью машинного обучения, то есть, по сути, анализ последовательностей нуклеотидов ДНК — тогда я учился на факультете биологической и медицинской физики. В тот момент процесс шел тяжеловато, потому что, во-первых, с точки зрения машинного обучения я был новичок — нас этому не учили. Во-вторых, у меня было недостаточно знаний в области биологии. Мне было интересно заниматься этой темой, но я чувствовал, что мне не хватает hard skills.
Во время этой работы я понял, что техническая часть была для меня все-таки интереснее биологической. Я стал искать, где бы меня смогли научить необходимому инструментарию. Так я оказался в Вышке на программе «Науки о данных» и в ШАДе. Сначала в магистратуре был год непрерывной учебы, и было не до исследований. Потом я познакомился с Дмитрием Петровичем Ветровым, и с тех пор, можно сказать, мы рука об руку занимаемся наукой.
Ожидаемо, что мой путь в научной группе Дмитрия Петровича начался с биологических вопросов — я попал в компанию Insilico Medicine, где люди занимались синтезом лекарственных средств. Тогда мы с моим куратором Даниилом Полыковским работали над задачей предсказания свойств молекул. Ее решение является одной из частей системы, которая могла бы генерировать лекарственные молекулы с заданными свойствами.
Решение сложной задачи надо начинать с задачи попроще, поэтому сначала мы старались ответить на вопрос, обладает ли молекула какими-то конкретными свойствами или нет. Метод, который получился в результате, мы так и не опубликовали, так как примерно в это время вышли две очень похожие по содержанию статьи. Авторы этих статей делали примерно то же самое, что и мы, но лучше. Таким образом, мы узнали, что занимались хорошей идеей и актуальным направлением, но недостаточно быстро.
После этого я начал искать себе новое научное направление, и так совпало, что у Павла Швечикова, с которым я был заинтересован поработать, как раз появилось для меня время. Я хотел заняться новой темой, и ею стало обучение с подкреплением. С Павлом мы несколько лет проработали вместе, и наша команда выступила с oral workshop на NeurIPS и написала статью на ICML.
Наша группа не специализируется на обучении с подкреплением (reinforcement learning), поэтому нам иногда не хватало экспертизы. Однако это проблема не только нашей группы — в принципе мало людей, которые бы занимались этим на серьезном академическом уровне, поэтому мы решили попробовать организовать команду по этой теме. На индустриальном же уровне эта тема всегда была привлекательна, но никогда не была распространена.
Об исследовании, получившем премию
Концептуально мы занимаемся довольно простыми вещами: мы не решаем конкретные задачи, а разрабатываем достаточно общие алгоритмы. У нас академический подход — мы смотрим, какие более эффективные алгоритмы обучения с подкреплением для очень широких пластов задач можно было бы разработать. Изучаем то, что есть сейчас, как оно работает, и ищем потенциальные проблемы. Грубо говоря, мы анализируем, где какой «винтик» барахлит и как бы его подменить, чтобы получился более эффективный подход.
Если говорить о нашей статье, которую отметили на премии Сегаловича, то она посвящена следующему вопросу: в обучении с подкреплением есть проблема переоценки последствий своих действий (overestimation). Мы совершаем некоторые действия и задаемся вопросом, приведет ли это к хорошим или плохим последствиям. Раньше для борьбы с переоценкой действий был грубый инструментарий — занижение, или искусственное придавливание — а мы разработали более гибкий инструмент для того, чтобы таких переоценок не происходило, и кроме того, он достиг очень хороших результатов. Работу наградили и в Самсунге, что удивительно, потому что, казалось бы, компанию должны интересовать более практические результаты, а у нас скорее академическое изыскание: наша работа позволяет применять обучение с подкреплением более эффективно.
Можно ли сказать, что в обучении с подкреплением есть классические задачи? Скорее, да — это задачи, на которых пробуют и сравниваются алгоритмы. Например, игры от Atari, где агент видит картинку, очередной кадр игры, и совершает некоторое действие — управление агентом. Эти игры достаточно разнообразны как визуально, так и с точки зрения механики.
Мы же тестировали свои алгоритмы на так называемых локомоторных задачах. Это набор задач в физическом симуляторе, где моделируются роботы разного вида, от очень простых, с парой сочленений, до достаточно сложных, например, похожих на человека. Перед агентом стоит следующая задача: с сенсоров ему приходит сигнал с информацией о том, где какая конечность находится, как она повернута, какая у нее скорость. Каждые 15 мс агент прикладывает определенные усилия, и положение тела меняется. Тогда ему надо приложить какие-то новые усилия, чтобы выполнить задачу — например, бежать как можно быстрее и не упасть.
В обучении с подкреплением мы работаем с состояниями — это то, что видит агент, с действиями — что агент делает исходя из состояний, и с наградами, которые приходят за совершение правильных действий или их последовательности. Прелесть в том, что нам до некоторой степени неважно, какова структура этих состояний, откуда они приходят, как они выглядят, меняются — алгоритмы обучения универсальны, а задача всегда одинаковая: обучить оптимальную политику, то есть ту, которая наберет наибольшую награду. Что такое награда — скорость передвижения робота, эффективность распределения в электросети, клик пользователя, заработок на бирже — с точки зрения теории это непринципиально. Мы обучаем роботов бегать методами (точнее, они обучаются сами), которыми мы бы распределяли нагрузку по электросетям с АЭС или предлагали рекламу пользователям. Из-за своей универсальности можно сказать, что в какой-то мере обучение с подкреплением претендует на захват мира.
О премии Яндекса и хобби
Когда я узнал о вручении премии, это было очень радостно с нескольких точек зрения. Во-первых, не так часто в академической работе есть внешняя мотивация и внешняя оценка твоих действий. Как часто принимают статьи? В произвольный день у тебя скорее не принимают статью, чем принимают, это редкость. Премия — происшествие того же рода, и оно повышает «боевой дух». К тому же немаловажно то, что у премии есть серьезная финансовая часть, что дают вычислительные ресурсы в том числе на Яндекс.Толоке, поездку на конференцию — в этом плане все очень круто и удобно.
Во-вторых, я был очень рад получить премию от Яндекса, так как был склонен недооценивать свои шансы из-за относительно небольшого количества публикаций, и это стало для меня приятной неожиданностью. Но, видимо, здесь пошли по другому пути, принимая во внимание то, что этот конкретный исследователь может провести интересную и полезную работу. Если задаваться именно таким вопросом, то можно прийти к другим результатам относительно оценки количества публикаций.
Также было очень радостно поделиться с Дмитрием Петровичем — так уж получилось, что он на премию из-за формальных требований он претендовать не может, но я уверен, что его участие могло бы быть очень успешным; и с друзьями — даже если они не разбираются в науке, они могут понять, что получить премию — это круто, и порадоваться за тебя.
Почти параллельно с премией был первый концерт нашего ансамбля, состоящего из шести виолончелистов и пианиста. У нас достаточно широкий репертуар, чтобы каждый нашел себе что-то интересное: мы играем все, от вальсов Шостаковича до темы из «Игры престолов». Это тоже важная и приятная для меня история.