Журнал / герои

Что было, что будет. Как предсказывать погоду и поведение человека

Ира Руденко о магистратуре в МФТИ, Яндекс.Погоде и автономных автомобилях.

Ира Руденко — выпускница магистратуры базовой кафедры Яндекса в МФТИ. Изначально она пришла в Яндекс.Погоду, а позже присоединилась к команде, работающей над автономными автомобилями. Всё это время Ира занимается предсказаниями, но использует для них не хрустальный шар и колоду карт, а искусственный интеллект.

Кафедра анализа данных в МФТИ — это базовая кафедра Яндекса в Физтех-школе прикладной математики и информатики. Студенты этой кафедры имеют возможность проходить курсы Школы анализа данных и заниматься научной работой под руководством сотрудников Яндекса.

Приближение будущего

Меня «подсадили» на олимпиадную математику, когда я училась в средней школе. Я занималась в кружке талантливого педагога, он собирал способных ребят со всего Кургана. Моя семья — юристы и гуманитарии, дома мне никто не мог помочь с задачами c кружка, поэтому я решала всё сама, вместе со сверстниками. Позже я пошла в профильный лицей, а потом и в МФТИ на базовую кафедру Яндекса.

Заниматься наукой сложно для любого человека. Выбирая вуз или место работы, я всегда шла туда, где есть интересные, умные люди: рядом с ними сложности не кажутся непреодолимыми. Я думаю, всегда есть смысл в том, чтобы пробовать, стремиться к тому, что интересно.

Когда меня спрашивают, кем я работаю, я отвечаю, что занимаюсь машинным обучением в Яндексе. Это у всех на слуху и понятно описывает мою профессию, к тому же почти любой человек когда-нибудь общался с Алисой, пользовался Face ID на телефоне или видел автономные автомобили Яндекса на улице.

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

Наша отрасль развивается очень быстро, это такая гонка: корпорации разрабатывают современные сервисы и технологии, стараются делать это всё быстрее и лучше. Каждый год проходят международные конференции KDD, NeurIPS, ICML, CVPR, ICCV, на них представляются новые работы, новые результаты, новые прорывы в технологиях. Для команды Яндекса очень важно ориентироваться во всём этом и применять новые знания в работе. Мы организуем семинары, читаем научные статьи, ищем интересные идеи, что-то сразу пробуем, пишем код для новых экспериментов и анализируем результаты, проверяем их на конкретных кейсах. Что-то мы разбираем на исторических данных, а что-то тестируется в реальных условиях: куча беспилотников ездят и проверяют наши разработки.

От облаков к пешеходам

Бакалавриат я закончила с проектом о предсказании осадков по данным геостационарных спутников. Главное в предсказании — это ясное понимание, что именно и для чего мы хотим спрогнозировать. Чем лучше поставлена задача, чем больше мы знаем про объект, чем четче понимаем, что именно и для чего надо предсказать, тем точнее наш прогноз.

Узнать, какая температура будет на улице в ближайшие дни, мы можем довольно точно. С осадками и движением облаков сложнее, но тоже возможно, прогноз на ближайшие пару часов точнее всего. Яндекс раньше использовал для этого только данные метеорадаров, а потом стал получать информацию еще и с геостационарных спутников. Метеорадар «видит» на 150–200 км, что для России не очень существенное расстояние, слишком уж «широка страна моя родная». А вот спутник имеет очень большую зону покрытия и дает гораздо больше информации, разве что с полюсов Земли данные не будут получены.

Для предсказания погоды на ближайшие 10–15 минут нам достаточно знать, что происходит за окном прямо сейчас. С предсказанием динамических объектов всё иначе: предсказать движения человека на тот же промежуток времени невероятно сложно. К счастью, нам это и не нужно, достаточно предсказания на десятки секунд.

Раскраска для беспилотника

В магистратуре я вплотную занялась предсказанием движения динамических объектов на дороге: пешеходов, автомобилей.

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

В работе над дипломом важна поддержка менторов, а в Яндексе они классные, это люди, у которых уже есть внедренные наработки и патенты. На внутренних семинарах компании можно обсудить статьи других специалистов и те идеи, которые уже реализованы.

Студенты базовой кафедры Яндекса не ограничены стандартными вычислительными мощностями и открытыми архивами данных. У нашей компании есть огромный архив данных о погоде, есть данные, которые изо дня в день собирает флот автономных автомобилей в разных городах и странах. Для решения можно и нужно задействовать распределенные вычислительные мощности Яндекса, вместо открытых датасетов с десятками тысяч примеров можно пользоваться реальными данными, которые содержат уже миллионы примеров, в том числе нетривиальные. Получается, что в дипломном проекте ты не просто демонстрируешь решение какой-то условной задачи, а используешь методы машинного обучения для решения реальных задач для реальных пользователей.

Умнее Колобка

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

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

​Беспилотный автомобиль Яндекса в Москве
​Беспилотный автомобиль Яндекса в Москве

Если вы видите на улице движущийся автономный транспорт, то не нужно относиться к нему по-особенному. Достаточно вести себя как обычно и соблюдать правила — так, как мы это делаем, когда рядом с нами едет обычный автомобиль. Машина, управляемая искусственным интеллектом, знает, что люди могут не придерживаться правил, но сама является очень дисциплинированным водителем. В зоне, где возможно неожиданное появление пешеходов, она ограничит скорость и сразу увидит, есть ли на дороге человек. Если этот человек двигается хаотично, то машина учтет это, остановится и подождет, когда он отойдет на безопасное расстояние. Так же она учтет велосипедиста или даже животное, например, лису. Если есть объект, поведение которого нам особенно сложно объяснить машине, то мы будем делать на нём упор, пока не разберемся полностью. Часто самые сложные кейсы — самые интересные и самые важные. Когда машина обучена базовым, простым вещам, для совершенствования ей нужно использовать всё более сложные системы, отрабатывать всё больше ситуаций.