Обучение модели детекции аномалий на данных без разметки

Сбои оборудования и отклонения в процессах часто замечают уже после потерь. Мы обучаем модели детекции аномалий на данных без разметки — под ключ: от аудита данных до передачи модели и регламентов. Время реакции на отклонение сокращается в разы, а целый класс отказов уходит из «после факта».
Часто задаваемые вопросы

Почему обучение модели детекции аномалий ломается без разметки

Разметка дефектов вручную выглядит рабочим решением, пока не посчитаешь объём работы. Оператор просматривает часы записей с датчиков, чтобы найти единичные отклонения: доля брака — доли процента, иногда один случай на десятки тысяч циклов. На выходе — много примеров нормы и единицы аномалий, на которых устойчивый классификатор не строится.

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

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

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

Именно поэтому детекция аномалий без разметки строится не на подборе меток, а на описании нормального поведения и поиске отклонений от него. Ниже разбираем, как это закрывается.

Эффект от внедрения: время реакции и ушедший класс отказов

Пороговые правила ловят только то, что описано заранее: превышение температуры, выход за диапазон давления. Обучение на данных без разметки снимает это ограничение — модель строит профиль нормального поведения и считает отклонением устойчивое расхождение с ним. PyOD закрывает эту задачу готовым набором алгоритмов, поэтому первый рабочий контур собирается за считанные дни.

Время обнаружения отклонения сокращается с часов до минут: модель оценивает поток в реальном времени, а не пересчитывает суточные срезы. Ручная разметка почти исчезает — оператор помечает единичные спорные случаи вместо разметки выборки целиком, и её доля падает с полной до нескольких процентов от объёма данных.

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

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

Режимы контроля: сравнение подходов и их ограничений

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

Ниже — три режима и то, где каждый упирается в ограничения. Порог чувствительности задаётся отдельно в каждом: он определяет баланс между пропущенной аномалией и ложной тревогой, а требования к данным растут вместе с точностью.

Режим контроля Когда подходит Где упирается
Обучение без разметки Инцидентов нет или их единицы; норма стабильна и хорошо описывается автоэнкодером Разметки нет — нечем проверить качество; дрейф нормы ломает модель, нужна регулярная перенастройка
Частичная разметка Есть десятки подтверждённых аномалий и разобранные ложные тревоги Класс аномалий перекошен: редкие типы сбоев модель не выучит; разметку нужно обновлять при смене поведения
Гибридная схема контроля Нужна управляемость и понятная причина по каждому срабатыванию Дороже в сопровождении: два контура надо согласовывать, а правила требуют владельца

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

Этапы внедрения: от аудита данных до передачи модели

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

  1. Аудит данных. Разбираем, что и с какой частотой поступает, где пропуски и разрывы связи, как ведёт себя система по дням недели и сезонам. Отдельно изучаем журнал прошлых инцидентов — он даёт точки отсчёта, хотя и не служит разметкой.
  2. Схема решения и выбор признаков. Определяем, какие сигналы описывают норму, в каких окнах агрегируем, что нормализуем и что отбрасываем как шум. Состав признаков согласуем с вашей командой до обучения.
  3. Обучение на нормальном профиле. Модель строит описание типичного поведения и считает отклонением всё, что в него не укладывается. Разметка не нужна — достаточно периода стабильной работы.
  4. Настройка порогов. Границу срабатывания подбираем под цену ошибки: пропущенный инцидент против лишнего выезда смены. Порог фиксируем числами, чтобы его меняли осознанно.
  5. Проверка на исторических данных. Прогоняем модель по прошлым периодам и сверяем срабатывания с известными событиями. Считаем долю найденных инцидентов и число ложных тревог на смену.
  6. Опытная эксплуатация. Запускаем в режиме наблюдения, разбираем каждое срабатывание вместе с дежурной сменой, уточняем признаки и пороги по факту.
  7. Передача модели. Отдаём конфигурацию, порядок переобучения, метрики качества и инструкцию для дежурной смены.

Комплект поставки: конфигурации, схемы, регламенты

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

  • Конфигурация детектора — профиль обучения с порогами чувствительности, окном наблюдения и правилами агрегации оценок; параметры разделены на «трогаем при переобучении» и «меняем только осознанно».
  • Схема потока данных — от источника событий до записи оценки: где происходит вычистка, где считается признаковое описание, где хранятся версии обучающих выборок.
  • Описание признаков — таблица «признак → источник → логика расчёта → поведение при пропуске», с пометкой, какие поля критичны, а какие можно исключить без потери качества.
  • Регламент переобучения — триггеры (доля отклонённых срабатываний, дрейф входных данных, плановое обновление), порядок выката новой версии и критерий отката на предыдущую.
  • Порядок разбора срабатываний — как фиксируется вердикт по каждой аномалии и как эта разметка возвращается в следующую обучающую выборку.
  • Инструкции для команды — запуск обучения, проверка качества на отложенной выборке, чтение логов, типовые сбои и что делать при каждом.
  • Схема мониторинга — какие метрики качества и за каким интервалом смотрим, при каких значениях поднимаем тревогу.
  • Журнал решений — почему выбрана текущая архитектура детектора и какие альтернативы отклонены, чтобы через полгода не начинать разбор с нуля.

Комплект рассчитан на инженера, который раньше с этой системой не работал: развернуть контур по инструкции и провести первое переобучение он сможет без обращения к нам. Дальше — вопрос ваших приоритетов: часть команд ведёт модель сама, часть оставляет нам сопровождение и дообучение на новых данных.

Кейс: отказы оборудования на непрерывном производстве

Непрерывное производство: линия работает без остановок, и отказ оборудования почти всегда начинается с малого отклонения — роста вибрации подшипника, ползущего тока привода, ухода температуры. Телеметрия с приводов и датчиков (историки на контроллерах Siemens) накапливалась годами, но разметки «здесь был отказ» в ней не было — только журналы ремонтов с пометками по сменам.

До внедрения контроль держался на порогах по отдельным сигналам, выставленных «с запасом». На смену приходило 25–30 ложных тревог, и через неделю оператор перестаёт реагировать на них — а 6 из 10 ранних сбоев оставались незамеченными и доходили до аварийной остановки линии.

Как обучали модель детекции аномалий без разметки

Взяли только участки работы в нормальном режиме и построили профиль нормы с учётом смены, загрузки и сезонных колебаний: отклонение считается по совокупности сигналов, а не по одному датчику. Порог выставили на удержанном периоде с известными ремонтами и отдельно проверили, что модель не срабатывает на плановых переходах режима.

Метрики до и после на том же участке:

  • пропуски сбоев: 6 из 10 до — 1 из 10 после;
  • ложные тревоги: 25–30 за смену — 3–4, оператор снова читает каждую;
  • время от первого отклонения до вмешательства: около 40 минут — 6–8 минут;
  • доля отказов, пойманных до повреждения узла: 15% — 70%.

Состав сигналов и порог пересобираются по накопленным ремонтам: чем дольше система работает, тем точнее профиль нормы.

Чем отличается подход без разметки от обычной классификации?

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

Детекция аномалий строится от обратного. Модель описывает норму — типичное поведение процесса или оборудования, — а отклонение от нормы помечает как всё, что в это описание не укладывается. Размечать сбои не нужно: достаточно накопленной «здоровой» телеметрии, а её обычно на порядок больше.

Вариант Когда подходит Ограничения
Классификация по примерам Оба класса часты и похожи между собой Не видит новый тип сбоя, переобучается на редком классе
Детекция отклонений без разметки Сбоев мало, норма стабильна и накоплена Больше ложных срабатываний, нужна настройка порога
Разметка части срабатываний Эксперт успевает подтвердить выборку Метки смещены в сторону частых сбоев
Правила и пороги Нужна объяснимость и базовый уровень Ломается при смене режима, правила быстро устаревают

Выбор подхода сводится к двум вопросам: есть ли у вас описание нормы и сколько размеченных сбоев. Готовые реализации методов собраны в открытых библиотеках, например PyOD, поэтому сравнение методов на ваших данных занимает часы, а не недели.

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

Технические сомнения: ложные срабатывания и дрейф данных

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

Модель будет сыпать ложными тревогами — как это контролируется?

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

Что делать, когда данные меняются со временем?

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

Сколько исторических данных нужно на старте?

Разметка аномалий не требуется — нужен чистый фон нормальной работы, покрывающий все штатные режимы: будни и выходные, сезонные пики, плановые работы. Если в истории есть подписанные инциденты, используем их для проверки, но не для обучения. Недостающие режимы добираем на первых неделях наблюдения.

Можно ли развернуть решение на нашем оборудовании?

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

Обсудим задачу и вернёмся с оценкой и планом

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

  • Данные для старта: сырые записи за несколько недель наблюдений, включая выбросы, простои и сезонные колебания, а не только «чистые» сутки.
  • Описание процесса: где фиксируются события, какие признаки доступны постоянно, а какие приходят с задержкой или пропусками.
  • Критерий успеха: что считаем аномалией, какая доля пропусков допустима, кто на стороне заказчика разбирает срабатывания.
  • Среда эксплуатации: где будет работать детектор — в вашем контуре или у нас, какие ограничения по доступам и глубине хранения истории.
  • Состав работ: какие этапы вы готовы закрыть своими силами, а какие передаёте нам — сбор данных, настройка, сопровождение.

В ответ присылаем схему решения, состав работ по этапам с точками приёмки и оценку и план работ. Опишите задачу в свободной форме — вернёмся с оценкой и планом.

Направления AI-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139