Результаты за 2018 год
В рамках 1-го этапа была проанализирована практическая возможность применения современных алгоритмов машинного обучения.
В процессе проектирования моделей машинного обучения были сформированы следующие информативные признаки их для их обучения:
time_in_seconds – время в секундах сначала суток;
weekday – день недели, значение в интервале от нуля до 6;
x_previous, y_previous – координаты пользователя в предыдущий замер;
time_difference – разница во времени между 2 соседними замерами местонахождения пользователя;
user_id – идентификатор пользователя, местоположение которого необходимо определить.
Первыми были протестированы дерево решений и случайные лес. Значение среднеквадратичной ошибки составило 6 м и 0,7 м соответственно.
Далее был протестирован подход, основанный на глубоком обучении с подкреплением. В качестве аппроксиматора у агента использовалось рекуррентная нейронная сеть. В результате были получены противоречивые результаты: наблюдалось увеличение значения вознаграждения, при этом увеличивалась и величина штрафов. Для выяснения причин такого поведения требуются дополнительные исследования.
В завершение была протестирована рекуррентная нейронная сеть с LSTM-блоками. Значение среднеквадратичный ошибки составило около 0,04 м что является на данный момент лучшим результатом. Разработанную архитектуру модели планируется использовать в качестве базовой при реализации сервиса проактивной локализации пользователей и модернизировать если потребуется после тестирования протокола системы
Результаты за 2019 год
Второй этап проекта был посвящен разработке цифровой платформы интеллектуального пространства, в рамках которой предполагалась реализация сервиса проактивной локализации и навигации пользователей с использованием разработанной на предыдущем этапе глубокой рекуррентной нейронной сети на основе LSTM-блоков. Интеграция в цифровую платформу сервиса проактивной локализации и навигации позволяет осуществлять прогнозирование местоположения пользователя через некоторый промежуток времени на основе данных о его текущем местоположении. Предоставление соответствующих данных другим пользовательским сервисам, развернутым на такой цифровой платформе, обеспечивает использование полученных прогнозных данных с целью: предварительной подготовки персонифицированного контента, а также отображения контента и развертывания интерактивных интерфейсов на устройствах, расположенных в предполагаемых местах будущего нахождения пользователя. В процессе исполнения работ по проекту был сформирован и апробирован подход к проектированию цифровых платформ, реализующих персонифицированное обслуживание пользователей в режиме реального времени, за счет интеграции сервиса проактивной локализации и навигации пользователей. В основе предложенного подхода лежит использование принципов микросервисной архитектуры и концепции сервисной шины данных, что обеспечивает распределенное управление отдельными узлами системы и ее высокую отказоустойчивость в целом. Согласно предложенному подходу, реализация сервиса прогнозирования положений пользователей в режиме реального времени осуществляется за счет использования парадигмы вычислений в памяти (in-memory processing) с динамическим перераспределением ресурсов платформы в зависимости от числа пользователей, в отношении которого осуществляется прогнозирование местоположений. Предложенный подход апробирован на примере цифровой платформы интеллектуального пространства, реализуемой на базе научно-исследовательской организации. Данная система предполагает наличие следующих прикладных сервисов: пользовательского сервиса корпоративного телевидения, сервиса видеоконференцсвязи, сервиса идентификации пользователей по биометрическим данным, а также сервиса распознавания эмоций пользователей для повышения качества анализа пользовательской активности. В соответствии с предложенным подходом для данной цифровой платформы интеллектуального пространства была разработана следующая архитектура, представленная на рисунке 1 (см. Дополнительные материалы). Одной из отличительных особенностей разработанной архитектуры является использование фреймворка распределенной обработки информации «Spark» на базе кластера «Kubernetes» для обеспечения работы сервиса прогнозирования местоположений пользователей в режиме реального времени. В контексте данного сервиса логика обработки поступающей информации начинается с программного модуля генерации вычислительных задач для фреймворка распределенной обработки информации «Spark». Данный программный модуль на основе входных данных с сенсоров формирует очередь вычислительных задач (Job Queue), которые затем поступают к планировщику ресурсов. Последний является общим компонентом «Kubernetes» и «Spark», который оценивает уровень нагрузки на ресурсы внутри кластера и позволяет динамически перераспределять вычислительные мощности в зависимости от поступающих задач. Далее планировщик распределяет задачи из очереди между свободными узлами – «pods», расположенными на различных рабочих станциях. Внутри таких узлов с использованием контейнеризации могут быть развернуты различные сервисы платформы: сервис корпоративного телевидения, сервис идентификации пользователей, сервис проактивной локализации и навигации. При этом каждый узел имеет возможность общаться с другими посредством сервисной шины данных. При такой организации инфраструктуры платформы выходные данные каждого сервиса могут быть беспрепятственно использованы другими сервисами, например, сервис идентификации личности получает на вход видеопоследовательность от системного сервиса видеонаблюдения, а возвращает идентификаторы каждого пользователя, задетектированного на изображениях. Соответствующие данные отправляются в шину данных, откуда информация может быть записана в распределенную базу данных, что отображено на рисунке 1 (см. Дополнительные материалы), либо может быть предоставлена любому другому сервису, например, сервису проактивной локализации и навигации. Последний на основе полученных данных об идентифицированных пользователях на видеопоследовательности использует индивидуальные нейросетевые модели для предсказания будущего местоположения каждого из них. Главной задачей разработанного сервиса проактивной локализации пользователей является предсказание местоположения пользователей интеллектуального пространства в глобальной системе координат окружения, в котором развернута цифровая платформа интеллектуального пространства. В основе реализации данного сервиса лежит применение разработанной за предыдущий период исследований глубокой рекуррентной нейронной сети на основе LSTM-блоков, позволяющей предсказывать координаты (x, y) пользователя интеллектуального пространства через некоторый заданный промежуток времени. Архитектура разработанной нейронной сети представлена на рисунке 2 (см. Дополнительные материалы). Входными данными для данной нейронной сети являются: данные о текущем местоположении пользователя - координаты (x, y), а также закодированная метка, характеризующая целевую величину горизонта прогнозирования. Каждый из представленных выше типов данных обрабатывается параллельно индивидуальной цепочкой нейронных слоёв. Координаты пользователя (x, y) сначала подаются на LSTM-слой, анализирующий динамику перемещения пользователя. Затем реализован слой прореживания, обнуляющий случайным образом связи между слоями. Далее результат операций подаётся на полносвязный слой, за которым также следует слой прореживания. Слои прореживания добавлены в архитектуру с целью повышения обобщающей способности разработанной модели нейронной сети. Метка, характеризующая целевую величину временного интервала, для которого осуществляется прогноз, интересующего горизонта прогноза, представленная в виде вектора унитарного кодавектора, в свою очередь подаётся на два полносвязных слоя, разделенных слоем прореживания. На заключительном этапе нейроны соответствующих цепочек преобразования объединяются в один полносвязный слой, что является одним из распространённых подходов для объединения нескольких входов модели нейронной сети. Выходными данными конечного полносвязного слоя являются спрогнозированные координаты пользователя через заданный промежуток времени. Полученные прогнозные значения координат пользователя могут быть использованы любым другим контейнеризированным сервисом, развернутом на цифровой платформе, например, для визуализации важной персонифицированной информации на интерактивных экранах, расположенных по предполагаемому пути следования пользователя, определенному на основе прогноза его будущего местоположения. При тестировании разработанной платформы интеллектуального пространства сервис проактивной локализации и навигации использовался в режиме реального времени. В процессе тестирования время расчета вычислительного графа разработанной нейросетевой модели составляло в среднем от 200 мс до 1 с, что позволило осуществлять прогнозирование местоположений пользователей в режиме реального времени. Таким образом, в рамках второго этапа проекта был успешно разработан и реализован сервис проактивной локализации и навигации пользователей, а также разработан и апробирован подход к проектированию цифровых платформ, реализующих персонифицированное обслуживание пользователей в режиме реального времени.