Как мосметро использует машинное обучение для оценки загруженности вагонов

В ноябре 2020 года в мобильном приложении «Метро Москвы» появилась функция оценки загруженности вагонов. Сервис позволяет пассажиру прямо на платформе перед прибытием поезда посмотреть, в какой вагон лучше всего садиться для комфортной поездки. Предлагаем разобраться, как работает технология и при чем здесь машинное обучение.
Как мосметро использует машинное обучение для оценки загруженности вагонов

Из-за специфики получаемых данных ни одно другое транспортное приложение не умеет оценивать загруженность вагонов с такой же точностью.

Чтобы предоставить актуальную информацию пассажиру, метро совместно с технологической компанией «МаксимаТелеком»‎ и командой экспертов в сфере больших данных компании «Квант»‎ ежесекундно анализирует тонну данных: количество подключенных к Wi-Fi гаджетов, тип вагонов, удаленность поезда от платформы, наличие пересадок, время суток, данные билетной системы и ряд других. Обо всем по порядку.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Анализ данных с точек Wi-Fi

Беспроводная сеть MT_FREE в московской подземке — часть крупнейшей публичной сети Wi-Fi в Европе. В 2013 году «МаксимаТелеком» предоставила пассажирам доступ в интернет в метро, заложив основу для развития многих городских сервисов. Сейчас сеть в московском метро насчитывает более 6 тыс. точек доступа, установленных в вагонах и перегонах. По своей архитектуре она не имеет аналогов и стала первой в мире беспроводной сетью, созданной в такой сложной локации.

Кажется, что самый простой способ подсчитать количество людей — собрать статистику о том, сколько гаджетов одновременно подключено к беспроводной сети в вагоне. Сетевая инфраструктура мосметро позволяет это делать.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Статистика подключений — важный показатель, но для точного замера этого недостаточно по двум причинам. Во-первых, в системе не видно смартфоны (а значит и пассажиров) с выключенным Wi-Fi. Во-вторых, количество подключений к сети сильно зависит от сезона, участка линии метро и даже погоды на улице. Со стартом учебы осенью в метро становится больше школьников и студентов с подключенными к сети устройствами. Но это не значит, что метро становится намного более загружено. Поэтому для реальной оценки используется машинное обучение.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Машинное обучение

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

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

Обучение с учителем

Это один из способов машинного обучения. При таком сценарии «учитель» (им выступает живой человек или группа людей) указывает машине, какие данные считать эталонными. В качестве исходных данных рассматривали выгрузку с проходов на турникетах билетной системы.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

В метро первый этап обучения с учителем занял примерно 4 месяца. За это время тестировщики «МаксимаТелеком»‎ и сотрудники метро физически спускались в подземку и выполняли нехитрую операцию — считали людей в разных поездах и вагонах, в разное время, на разных ветках и станциях. Таким образом сформировался эталонный датасет, на который ориентируется алгоритм. Собранные в ходе обучения данные могут изменяться в зависимости от внешних факторов (сезона, погоды, пандемии), поэтому процедура подсчета периодически повторяется.‎ Полученная выборка и статистика о подключениях к Wi-Fi легли в основу работы сервиса.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Дерево принятия решений

Это один из способов анализа и обработки больших массивов данных. Грубо говоря, система работает по принципу «Если..., то...»‎. Такой способ хорошо подходит для категоризации информации. В случае с метро категории — это уровни загруженности вагонов.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

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

Если сильно упрощать, то анализ выглядит так:

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Оценка местоположения поезда в тоннеле

С мониторингом загруженности вагонов мы разобрались. Теперь нужно эту информацию быстро и корректно донести до пассажира. Для этого понадобится выяснить местоположение поезда, количество и последовательность всех вагонов, а пассажиру установить приложение «Метро Москвы».‎

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Каждый поезд метро оборудован системой связи «поезд-тоннель»‎, а в перегонах между платформами каждые 400-800 метров расположены стационарные базовые станции, к которым происходит подключение. Существует подробная карта установленного в тоннелях метро оборудования. В процессе движения базовые станции поезда и тоннелей обмениваются параметрами соединения. По этим показателям можно достаточно точно определить местоположение состава в тоннеле.

Приложение «Метро Москвы»‎ показывает не просто загруженность всего поезда, но каждого отдельного вагона. Для этого специальный алгоритм «МаксимаТелеком»‎ периодически считывает установленное в поезде сетевое оборудование, выстраивая карту состава. Зная расположение каждой точки доступа, можно точно сказать модель и последовательность вагонов и выдать эту информацию в режиме онлайн пассажиру.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Вторая система связана с рельсами. Помните тот самый звук «ту-дух, ту-дух»‎, под который так приятно засыпать в поезде дальнего следования? Он есть и в метро — когда колеса состава наезжают на стык между рельсами. В этот момент стальные колеса замыкают рельсовую цепь, и сигнал о местоположении поезда отправляется в службу управления движением.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Обе системы дополняют друг друга, помогая определить время прибытия поезда с точностью до секунды. Так пассажир прямо на платформе в приложении «Метро Москвы» видит время до прибытия поезда и загруженность каждого его вагона.

Что дальше?

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

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