Система управления устройствами в IoT сетях с помощью самообучающихся моделей машинного обучения
SYSTEM FOR CONTROLLING DEVICES IN IOT NETWORKS USING SELF-LEARNING MACHINE LEARNING MODELS

Изобретение относится к области вычислительной техники, в частности к системам машинного обучения и интернета вещей. Экспоненциальный рост числа подключаемых устройств в связи с развитием технологии «интернета вещей» (далее по тексту IoT) привел к увеличению потока генерируемых данных. Распределенные системы, например, электросети, с большим числом датчиков, сенсоров и других измерительных приборов генерируют большое число временных рядов в связи с чем возникает потребность в автоматической интеллектуальной обработке большого объема данных. Подобная обработка может использовать модели машинного обучения для извлечения новых знаний или построения прогнозов [2,5]. Существующие недостатки, возникающий в подобных системах связаны со сложностью обслуживания центральным сервером большого количества устройств, нуждающихся в онлайн обработке данных, а также связаны с контролем используемых моделей машинного обучения для анализа данных, так как модели машинного обучения имеют свойство устаревать со временем: на новых поступающих данных модели машинного обучения показывают ухудшающееся качество прогнозов. В результате, необходимо регулярно перестраивать модели в ручном режиме, повторяя множество однотипных действий. [1]
Таким образом существует техническая проблема автоматизированного анализа большого количества данных в системах IoT, в особенности для различных систем управления или контроля, в том числе в АСКУЭ (автоматизированная система коммерческого учета электроэнергии).
Подобные технические задачи решаются при помощи самообучающихся алгоритмов. Известны различные способы построения самообучающихся алгоритмов, называемые auto machine learning (автоматическое обучение машин) [3,4] Они позволяют реализовывать модели машинного обучения для любых типов задач и данных.
Известна автоматизированная система контроля и управления электропотреблением предприятий [6], имеющая следующие недостатки: реализована только для электроэнергии и в ней отсутствует возможность управления другими коммунальными ресурсами и услугами, а также отсутствует возможность переобучения моделей.
Известна платформа для построения приложений для систем интернета вещей с анализом непрерывно поступающих данных[8]. В данном изобретении существует вариант с использованием аналитических компонент, которые способны обрабатывать данные на конечных устройствах (edge analytics component). Недостатком использования аналитических компонент является то, что аналитические решения способны работать только по заранее определенным правилам и отправлять отчет пользователю, который принимает решения. Аналитические компоненты в общем случае не являются моделями машинного обучения, которые уже способны на самостоятельное управление и принятие решений. Также в данном изобретении модели не способны самостоятельно переобучаться на новых данных.
В данном изобретении модели машинного обучения в основном используется в отдельном сервисе, развернутом на центральном сервере и не находятся на конечных устройствах, что приводит к дополнительной нагрузке на центральный сервер. Данный недостаток можно исправить перенесение моделей машинного обучения на конечные устройства.
Наиболее близким является способ [7], являющийся центром управления потреблением энергоресурсов на базе технологии IoT содержащий программно-аппаратные комплексы обработки данных и IoT -управления. Предложенные в нем решения могут использоваться для построения базовых частей системы и данный способ выбран в качестве прототипа предложенного решения.
Первый недостаток прототипа связан с использованием только центрального сервера для анализа данных и принятия решений, что влечет за собой слишком большую нагрузку на него. В системах 1оТ конечные устройства, концентраторы и другие промежуточные устройства не используются для анализа данных, несмотря на потенциальную возможность использовать их вычислительные мощности. В случае наличия десятков тысяч устройств в сети, сложно использовать только центральный сервер для обработки данных в реальном времени, а также подобное устройство лишает систему возможности работать в автономном режиме в случае отсутствия связи с центральным сервером.
Второй недостаток прототипа связан с тем, что указанные системы по анализу данных и принятию решений не способны к самостоятельной адаптации к новым условиям (новым поступающим данным), в результате чего нуждаются в регулярной переработке.
Технический результат предлагаемого изобретения заключается в уменьшении нагрузки на центральный сервер информационноаналитической системы в 1оТ сети и повышению ее автономности, а также в автоматизации повторяющихся действий по обработке данных и построению моделей машинного обучения.
Указанный технический результат достигается за счет перенесения выполнения большей части задач по обучению и использованию моделей машинного обучения на конечные устройства, а также использование специализированных моделей машинного обучения, способные работать на конечных устройствах и способные к самообучению.
Подобная система предназначена в первую очередь для работы в системах учета и контроля ресурсов в ЖКХ или других системах, содержащих множество устройств, генерирующих поток данных нуждающийся в анализе в режиме реального времени.
Способ реализуется следующим образом. Помимо стандартных частей присутствующих в большинстве систем машинного обучения [2] (системы предобработки данных, работы с базами данных и прочие), описываемая система имеет два технических решения, которые устраняют недостатки способов, описанных выше.
Первое решение представляет собой систему анализа данных и принятия решений, работающая на конечных устройствах (2). Включает в себя блоки управления приборами, методы загрузки, исполнения и обновления моделей машинного обучения для анализа, способы связи с центральным сервером (3) и пользователями системы (7).
Прибор управляется с помощью команд получаемых от блока моделей машинного обучения, делающих прогноз на вновь поступающих данных. Например при получении новой порции данных, модель получает в результате сигнал о найденной аномалии. Блок управления приборами получив результата данный результат от блока моделей принимает решение о том, что необходимо временно приостановить работу устройства с которого пришел аномальный сигнал. Такое решение позволяет системе продолжать работать автономно в случае потери связи с центральным сервером (3) и уменьшает время отклика системы на различные инциденты.
Второе решение имеет в своем составе специализированные модели машинного обучения способные к работе на устройствах, не обладающих большими вычислительными мощностями и способные к самообучению. Данными моделями являются модели, использующие методы стохастического градиентного спуска для обучения, такие как:
Линейные модели и их ансамбли, в том числе модели линейной и логистической регрессии с различными типами регуляризации (LI, L2, Elastic net)
Решающие деревья и их ансамбли: градиентные бустинги над решающими деревьями и модель случайного леса.
Нейронные сети
Все типы моделей имеют реализацию как для задачи классификации так и для задачи регрессии. Выбор типа модели зависит от поставленной задачи Задача предсказания аномалий представляет собой классическую задачу классификации. Задача прогнозирования показаний являются задачей регрессии.
Самообучающиеся модели автоматизируют повторяющиеся действия по обработке данных и построению моделей, а индивидуально работающие модели максимизируют точность прогнозов.
В случае ансамбля линейных моделей в ансамбль добавляются новые линейные модели, а также происходит перерасчет коэффициентов вклада каждой отдельной модели ансамбля. В случае использования модели из семейства градиентных бустингов над решающими деревьями, модель перестраивается на новых данных, если при валидации на исторических данных, качество модели значительно упало относительно некоторого выбранного допустимого диапазона. В случае использования нейронных сетей модель дообучается с помощью метода обратного распространения ошибки на новых данных.
Модели являются специализированными так как заточены на работу на конечных устройствах и реализуют эвристики позволяющие уменьшить потребление памяти и вычислительных ресурсов. Указанные модели в первую очередь предназначены для использования на конечных устройствах, но могут работать и на центральном сервере в зависимости от настроек. Изменения параметров моделей или их переобучение происходит при получении новых данных автоматически, без вмешательства человека.
Новизна заявленного технического решения заключаются в использовании системы самообучающихся моделей машинного обучения для анализа данных и принятия решений размещаемой на конечных устройствах в сетях 1оТ.
На фигуре[1] приведено устройство системы, которая генерирует множество данных и нуждающаяся в управлении с учетом прогнозов от моделей машинного обучения, например, АСКУЭ. Данная сеть содержит в себе центральный сервер (3), дублирующий сервер (5), системы хранения данных (4,6), блок связи с пользователем (7), а также множество конечных устройств, которые нуждаются в управлении (1), промежуточные устройства (2) и методы связи с пользователем и интерфейс для пользователя (7). Центральный сервер включает в себя блоки управления устройствами сети (8), блок управления данными и результатами работы моделей (9), блок управления моделями машинного обучения (10), блок уведомления пользователя (11).
Описываемая система работает следующим образом.
Система при помощи блоку управления устройствами (8) формирует список всех подключенных устройств, показания которых необходимо анализировать в онлайн режиме (1,2). Такими устройствами могут являться различные детекторы, счетчики и т.д. и их количество в сети может варьироваться от сотен до десятков тысяч.
Для каждого устройства в системе (1,2), в зависимости от его типа и назначения, создается список необходимых моделей с настройками по умолчанию при помощи блока управления моделями (10). В качестве базовых моделей машинного обучения используются такие распространенные модели как нейронные сети или ансамбли линейных моделей. Модели используются для прогнозирования значений и для поиска аномалий в потоке данных.
Настройки моделей и предобученные модели (в случае наличия) загружаются на устройства системы (1,2) по доступным каналам связи и работают в их оперативной памяти. Настройки моделей, такие как их сложность, потребности в оперативной памяти, зависят от устройства, на которые они будут загружаться.
Модели машинного обучения обрабатывают входящий поток данных с устройств (1) и в тоже самое время обучаются на нем. Модели отправляют управляющие команды конечным устройствам в зависимости от ответа алгоритмов, например, команды на остановку оборудования в случае фиксирования аномалии в анализируемых данных. Также информация о найденных аномалиях и прогнозах отправляется на центральный сервер (3), и все сообщения дублируются на сервер (6). Входящие сообщения и данные анализируются блоками (9) и (10). Дублирующий сервер (5), установленный в целях надежности, заменяет центральный сервер в момент возникновения проблем с доступом. В случае отсутствия доступа к центральному серверу (3) и серверу, дублирующему его, система имеет канал связи напрямую с пользователем (7).
Система управления моделями (10), работающая на сервере (3) определяет качество работы моделей по различным параметрам, используя результаты работы блока управления данными (9). Система управления моделями в автоматическом режиме принимает решение для каждой отдельной модели о необходимости дообучить модель на новых данных или полностью переработать. В случае принятия решения создается новая модели и повторяются пункты 3 и 4.
Информация, полученная в результате работы моделей, отправляется в интерфейс пользователя (7). Пользователь случае необходимости может вносить ручные корректировки в результаты работы системы и изменять настройки.
Таким образом совместное применение специализированных моделей машинного обучения и вычислительных ресурсов конечных устройств снижает нагрузку на центральный сервер, позволяет снизить трудозатраты на деятельность по моделированию и анализу данных за счет эффективной автоматизации процессов моделирования, а также делает систему автономной и устойчивой к потенциальным проблемам возникающими с сетью или центральным сервером.
Список литературы
С. Jennings, D. W. (2016). Forecasting Obsolescence Risk and Product Life
Cycle With Machine Learning. IEEE Transactions on Components, Packaging and Manufacturing Technology, 6(9), 1428-1439.
doi: 10.1109/TCPMT.2016.25 89206
G. Kejela, R. M. (2014). 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. Predictive Analytics of Sensor Data Using Distributed Machine Learning Techniques (стр. 626-631). Singapore: IEEE. doi:doi: 10.1109/CloudCom.2014.44
Lars Kotthoff, С. T.-B. (2016). Auto-WEKA 2.0: Automatic model selection and hyperparameter optimization in WEKA. Journal of Machine Learning Research, 1-5.
Liu, Y. L. (2015). Automated machine learning tool. Получено из https://patents.google.com/patent/US20170193392А1/
U. S. Shanthamallu, A. S. (2017). 2017 8th International Conference on Information, Intelligence, Systems & Applications (USA). A brief survey of machine learning methods and their sensor and IoT applications, (стр. 1-8). Lamaca. doi: 10.1109/IISA.2017.8316459
Черемисин Василий Титович (RU), К. A. (2018). Автоматизированная
система контроля и управления электропотреблением предприятий. Получено из
http ://www 1. tips .ru/wps/portal/ofic_pub_ru/#page=document&type=doc&ta b=IZPM&id=4BF698CF-9AB5-4099-8845-3ElE7228B52D
Кычкин Алексей Владимировичей), Грибанов Сергей Викторовичей) (2018) “Центр глобального управления потреблением энергоресурсов на базе технологии iot”
Thomas М. Siebel (2017). Systems, methods, and devices for an enterprise internet of-things application development platform. Получено из https ://patents. google. com/patent/US20170193392A1