Как мосметро использует машинное обучение для оценки загруженности вагонов
Чтобы предоставить актуальную информацию пассажиру, метро совместно с технологической компанией «МаксимаТелеком» и командой экспертов в сфере больших данных компании «Квант» ежесекундно анализирует тонну данных: количество подключенных к Wi-Fi гаджетов, тип вагонов, удаленность поезда от платформы, наличие пересадок, время суток, данные билетной системы и ряд других. Обо всем по порядку.
Анализ данных с точек Wi-Fi
Беспроводная сеть MT_FREE в московской подземке — часть крупнейшей публичной сети Wi-Fi в Европе. В 2013 году «МаксимаТелеком» предоставила пассажирам доступ в интернет в метро, заложив основу для развития многих городских сервисов. Сейчас сеть в московском метро насчитывает более 6 тыс. точек доступа, установленных в вагонах и перегонах. По своей архитектуре она не имеет аналогов и стала первой в мире беспроводной сетью, созданной в такой сложной локации.
Кажется, что самый простой способ подсчитать количество людей — собрать статистику о том, сколько гаджетов одновременно подключено к беспроводной сети в вагоне. Сетевая инфраструктура мосметро позволяет это делать.
Статистика подключений — важный показатель, но для точного замера этого недостаточно по двум причинам. Во-первых, в системе не видно смартфоны (а значит и пассажиров) с выключенным Wi-Fi. Во-вторых, количество подключений к сети сильно зависит от сезона, участка линии метро и даже погоды на улице. Со стартом учебы осенью в метро становится больше школьников и студентов с подключенными к сети устройствами. Но это не значит, что метро становится намного более загружено. Поэтому для реальной оценки используется машинное обучение.
Машинное обучение
Ключевую роль для оценки загруженности выполняет заранее обученный сложный математический алгоритм. Он умеет собирать и анализировать все ключевые факторы, а после выдает категорию загруженности каждого вагона в конкретном поезде: низкая, средняя, выше средней или высокая.
Чтобы понять как работает алгоритм машинного обучения, надо разобрать два ключевых понятия: обучение с учителем и дерево принятия решений.
Обучение с учителем
Это один из способов машинного обучения. При таком сценарии «учитель» (им выступает живой человек или группа людей) указывает машине, какие данные считать эталонными. В качестве исходных данных рассматривали выгрузку с проходов на турникетах билетной системы.
В метро первый этап обучения с учителем занял примерно 4 месяца. За это время тестировщики «МаксимаТелеком» и сотрудники метро физически спускались в подземку и выполняли нехитрую операцию — считали людей в разных поездах и вагонах, в разное время, на разных ветках и станциях. Таким образом сформировался эталонный датасет, на который ориентируется алгоритм. Собранные в ходе обучения данные могут изменяться в зависимости от внешних факторов (сезона, погоды, пандемии), поэтому процедура подсчета периодически повторяется. Полученная выборка и статистика о подключениях к Wi-Fi легли в основу работы сервиса.
Дерево принятия решений
Это один из способов анализа и обработки больших массивов данных. Грубо говоря, система работает по принципу «Если..., то...». Такой способ хорошо подходит для категоризации информации. В случае с метро категории — это уровни загруженности вагонов.
Для описания работы дерева решений можно вспомнить очень популярную несколько лет назад онлайн-игру «Акинатор». Это простой таймкиллер, который за несколько уточняющих вопросов с высокой точностью угадывает практически любого загаданного вами персонажа.
В случае с мониторингом загруженности вагонов алгоритм действует по схожему принципу. Исходя из основной задачи — определить загруженность вагона, — он обучается прогнозировать результаты измерений тестировщиков-«учителей», которые собирали эталонную выборку в метро. А потом накопленные знания может применить на новых данных.
Если сильно упрощать, то анализ выглядит так:
Повторим, это очень упрощенная схема, которая на деле выглядит не так линейно. Более того, процесс не ограничивается единственным деревом решений. Алгоритм постоянно проверяет сам себя, обращаясь к эталонным данным, каждый раз повышая точность вычислений. Это называется градиентный бустинг.
Оценка местоположения поезда в тоннеле
С мониторингом загруженности вагонов мы разобрались. Теперь нужно эту информацию быстро и корректно донести до пассажира. Для этого понадобится выяснить местоположение поезда, количество и последовательность всех вагонов, а пассажиру установить приложение «Метро Москвы».
Для точной оценки местоположения поезда используются данные с двух источников, которые дополняют друг друга, — данные о сетевом оборудовании, установленном в вагонах и перегонах, и рельсовые цепи. Давайте немного подробнее про оба источника.
Каждый поезд метро оборудован системой связи «поезд-тоннель», а в перегонах между платформами каждые 400-800 метров расположены стационарные базовые станции, к которым происходит подключение. Существует подробная карта установленного в тоннелях метро оборудования. В процессе движения базовые станции поезда и тоннелей обмениваются параметрами соединения. По этим показателям можно достаточно точно определить местоположение состава в тоннеле.
Приложение «Метро Москвы» показывает не просто загруженность всего поезда, но каждого отдельного вагона. Для этого специальный алгоритм «МаксимаТелеком» периодически считывает установленное в поезде сетевое оборудование, выстраивая карту состава. Зная расположение каждой точки доступа, можно точно сказать модель и последовательность вагонов и выдать эту информацию в режиме онлайн пассажиру.
Вторая система связана с рельсами. Помните тот самый звук «ту-дух, ту-дух», под который так приятно засыпать в поезде дальнего следования? Он есть и в метро — когда колеса состава наезжают на стык между рельсами. В этот момент стальные колеса замыкают рельсовую цепь, и сигнал о местоположении поезда отправляется в службу управления движением.
Обе системы дополняют друг друга, помогая определить время прибытия поезда с точностью до секунды. Так пассажир прямо на платформе в приложении «Метро Москвы» видит время до прибытия поезда и загруженность каждого его вагона.
Что дальше?
Москва — одна из первых столиц мира, которая научилась измерять загруженность вагонов метро в режиме онлайн. При этом точность замеров намного превышает имеющиеся на рынке транспортные приложения, потому что для определения загруженности вагона используются внутренние системы и данные метрополитена.
В мосметро планируют ещё улучшить систему мониторинга загруженности. Для этого начнут использовать камеры видеонаблюдения в вагонах, которые помогут собирать статистику с количеством пассажиров для доработки алгоритма машинного обучения. В перспективе сервис также планируется масштабировать на МЦК и МЦД.
Из-за специфики получаемых данных ни одно другое транспортное приложение не умеет оценивать загруженность вагонов с такой же точностью.