Как найти поломку, не зная, как она выглядит: самообучение для поиска аномалий в данных датчиков

Современное оборудование и транспорт обвешаны датчиками: вибрация, температура, давление, токи. Казалось бы, бери эти данные и учи нейросеть распознавать неисправности. Но есть загвоздка: настоящих отказов мало, и ещё меньше тех, что кто-то аккуратно разметил. Учить модель на примерах поломок попросту не на чем.
Учимся на норме
Выход — перевернуть задачу. Вместо того чтобы искать «как выглядит поломка», модель сама изучает, как выглядит нормальная работа. Помогает в этом контрастивное обучение: из одного и того же фрагмента сигнала делают два слегка разных «взгляда» (например, с небольшим шумом или сдвигом), и модель учится считать их похожими, а разные фрагменты — непохожими. Так она без всякой разметки получает представление о привычном поведении системы. Всё, что заметно выбивается из этой картины, становится кандидатом в аномалии.
Разметка при этом не запрещена: даже немного размеченных примеров, буквально несколько процентов, заметно улучшает результат.
Прототипный подход: от сигнала до тревоги
В общих чертах один из прототипных конвейеров устроен так. На вход поступают многоканальные записи датчиков. Их нарезают на окна — короткие фрагменты по времени. На этих окнах без меток обучают лёгкий кодировщик контрастивным методом: он учится отличать «похожие» окна от «непохожих». Затем для каждого нового окна считают оценку аномальности — насколько оно выбивается из выученной нормы. Порог тревоги задают так, чтобы доля ложных срабатываний оставалась под контролем: для этого удобен конформный подход, а онлайн-поправка подстраивает порог, когда режим работы постепенно меняется. Когда порог превышен, система поднимает тревогу и показывает, какой канал датчиков её вызвал — чтобы оператор сразу знал, куда смотреть.
Какой датчик поднял тревогу
Оператору мало услышать «что-то не так». Ему важно знать, где именно. Поэтому каждый канал датчиков удобно учитывать так, чтобы при срабатывании было видно, какой сенсор повёл себя необычно, и проверку можно было начать с нужного узла.
Порог важнее «точности»
Красивая цифра точности в отчёте мало что говорит человеку у пульта. Куда важнее, как часто система будет дёргать его впустую. Поэтому порог тревоги подбирают под заданную долю ложных срабатываний: конформный подход даёт статистически обоснованную настройку, а онлайн-поправка подстраивает порог, когда условия работы постепенно меняются.
Честное сравнение
Неудобная правда области: простые статистические методы — расстояние Махаланобиса, метод главных компонент — нередко работают не хуже сложных нейросетей. Об этом же пишут и свежие обзоры (Wu & Keogh, 2021; Sarfraz и соавт., ICML 2024). Поэтому любую новую модель стоит сравнивать с такими базовыми методами, а не только с другими нейросетями.
А при чём тут импульсные сети
Импульсные нейросети (SNN) часто называют энергоэффективными. На обычном процессоре они дешевле не становятся. Выигрыш возможен на нейроморфных чипах, где редкие спайки означают мало операций. Такие оценки обычно строят по типичной энергии одной операции (Horowitz, ISSCC 2014) — это расчёт, а не измерение, и относиться к нему стоит соответственно.
Подход хорош тем, что не требует заранее знать, как выглядит поломка: достаточно хорошо понимать, как выглядит норма.