Современные промышленные предприятия оснащают SCADA-системами и устройствами IIoT (Industrial Internet of Things — промышленный интернет вещей), которые непрерывно собирают данные с огромного количества разных датчиков. Автоматически выявлять аномалии в таком потоке — довольно сложная задача: временные ряды многомерны, нелинейны, а нормальное поведение системы меняется в зависимости от режима работы. При этом датчики в реальной промышленной системе никогда не работают независимо: давление, температура, расход и уровень жидкости физически связаны между собой. Когда возникает аномалия, например поломка насоса или намеренная подмена показаний при кибератаке, она прежде всего проявляется как нарушение привычных корреляций между каналами, а не обязательно как выход за допустимые пределы по каждому датчику в отдельности. Классические методы машинного обучения, а также автоэнкодеры или классические трансформенные сети, такие аномалии попросту не замечают.
Мы с коллегами разработали метод MemSARAD, который решает эту задачу. Архитектура объединяет три уровня анализа: сверточный энкодер независимо извлекает локальные временные паттерны каждого датчика, пространственный Transformer-энкодер моделирует попарные зависимости между всеми датчиками системы, а управляемый модуль внешней памяти хранит эталонные прототипы нормальных состояний и фактически блокирует возможность качественно восстановить аномальные паттерны. Наша модель обучается исключительно на нормальных данных и не умеет воспроизводить то, чего никогда не видела — высокая ошибка реконструкции и становится сигналом тревоги.
MemSARAD создавался как синтез двух подходов — SARAD и MEMTO — с устранением ограничений каждого. SARAD превосходно улавливает пространственные корреляции между датчиками, но не имеет механизма памяти и не может явно хранить эталоны нормального поведения. MEMTO обладает такой памятью, но моделирует зависимости только по временной оси, полностью игнорируя структуру межканальных связей.
В MemSARAD мы впервые объединили оба механизма, добавив сверточный временной энкодер, который улавливает локальные изменения формы сигнала, характерные для ранних стадий неисправностей, ще до того, как показания выйдут за допустимые пороги. В результате модель одновременно понимает, как устроены межканальные корреляции, умеет детектировать их нарушение и помнит, как должна выглядеть нормальная работа системы в каждом из режимов. При этом MemSARAD насчитывает всего от одного до трех миллионов параметров — это на порядок меньше, чем у большинства полных трансформерных архитектур для временных рядов. Модель обучается без учителя, не требуя ручной разметки аномалий, и интегрируется в действующую SCADA-инфраструктуру.
Мы разрабатывали MemSARAD преимущественно для SCADA-систем и IIoT, но модель можно применить везде, где есть многомерные временные ряды, например, в энергетике, промышленной кибербезопасности, ИТ-инфраструктуре и серверных кластерах. Социальная значимость нашей работы в том, что перечисленные области напрямую касаются безопасности людей и надежности инфраструктуры, от которой зависит повседневная жизнь. Предотвращение аварии на заводе, своевременное обнаружение кибератаки на водоочистную станцию или раннее предупреждение о поломке турбины на электростанции — все это защищает здоровье и поддерживает качество жизни людей.
Мы с соавторами продолжаем работать в этом направлении, и на основе MemSARAD
уже разработали вторую модель MITAD, у которой усложненная архитектура и появились дополнительные функции в функции потерь. По ней мы тоже написали статью и сейчас подыскиваем журнал для публикации.