=Paper= {{Paper |id=Vol-2022/paper59 |storemode=property |title= Выявление аномалий в работе механизмов методами машинного обучения (Anomaly Detection in Mechanisms Using Machine Learning) |pdfUrl=https://ceur-ws.org/Vol-2022/paper59.pdf |volume=Vol-2022 |authors=Alexander D'yakonov,Anastasia Golovina |dblpUrl=https://dblp.org/rec/conf/rcdl/DyakonovG17 }} == Выявление аномалий в работе механизмов методами машинного обучения (Anomaly Detection in Mechanisms Using Machine Learning) == https://ceur-ws.org/Vol-2022/paper59.pdf
     Выявление аномалий в работе механизмов методами
                  машинного обучения
                       © А.Г. Дьяконов1                                   © А.М. Головина2
               Московский государственный университет имени М. В. Ломоносова,
               1
        2
            Московский государственный технический университет имени Н. Э. Баумана,
                                       Москва, Россия
                          djakonov@mail.ru                                 nastya_gm@mail.ru
          Аннотация. Описано исследование по выявлению поломок механизмов методами машинного
     обучения. Задача сведена к классической задаче машинного обучения без учителя: детектированию
     аномалий. Сделан обзор современных подходов к решению этой задачи, все они были апробированы
     на реальных данных. В результате построен алгоритм, который детектирует поломки сложных
     механизмов в режиме online. В силу своей специфики он также детектирует любое аномальное
     поведение: нештатный запуск, работу в опасном режиме, неверную эксплуатацию и т. п.
          Ключевые слова: большие данные, анализ данных, выбросы, аномалии, поломки.

                   Anomaly Detection in Mechanisms Using
                            Machine Learning
                     © A.G. D'yakonov1                                      © A.M. Golovina2
                                    1
                                      Lomonosov Moscow State University,
                               2
                                   Bauman Moscow State Technical University,
                                              Moscow, Russia
                       djakonov@mail.ru                                  nastya_gm@mail.ru
           Abstract. The research on breakdown detection in mechanisms using machine learning methods is
     described. The problem is reduced to anomaly detection. The review of modern approaches to anomaly
     detection is made, all of them have been approved on real data. Аs a result, the algorithm for online breakdown
     detection in complicated mechanisms is constructed. By its nature the algorithm also detects any abnormal
     behavior: emergency start, work in the dangerous mode, incorrect operation, etc.
           Keywords: big data, data mining, outliers, anomaly, breakdown.

 Введение                                                       обработки формат). Такая тенденция привела к
                                                                появлению специального термина – «Большие
     В настоящее время стремительно развиваются                 данные» (Big Data), как технологии оперирования с
 приложения методов машинного обучения (machine                 современными огромными массивами информации
 learning) и анализа данных (data mining), что вызвано,         [9].
 с одной стороны, появлением универсальных и                        Если в интернет-компаниях и банках подобные
 практически полезных моделей алгоритмов,                       процессы начались раньше (в силу специфики их
 например, бустинга (в его современной реализации               деятельности, наличия логов, транзакций и т. п.), то в
 [7]) и свёрточных нейронных сетей [17], с другой               производстве      и   тяжелой      промышленности
 стороны, определённой тенденцией в бизнесе и                   применение Big Data только начинается.
 индустрии улучшать доходность и качество услуг с                   Прежде всего, здесь возникают следующие
 помощью современных IT-технологий. Отметим, что                группы задач:
 такая тенденция появилась в последнее десятилетие              • прогноз      потребления     энергоресурсов        и
 прежде всего за счёт миниатюризации и удешевления                  материалов, необходимых для производства,
 устройств      хранения   и     обработки      данных,             оптимизация закупки и доставки материалов;
 датификации процессов компаний ([18], постоянного              • оптимизация процесса производства (построение
 логирования, быстрого перевода в удобный для                       моделей: как используемые материалы влияют на
                                                                    качество производимого продукта);
Труды XIX Международной конференции                             • прогнозирование        цен      на    продукцию,
«Аналитика и управление данными в областях с                        прогнозирование       спроса,     планирование
интенсивным       использованием    данных»                         сортамента и оптимизация доставки продукции
(DAMDID/ RCDL’2017), Москва, Россия, 10–13                          клиентам;
октября 2017 года

                                                          389
• диагностика оборудования, обнаружение и                    одно оборудование, ремонт длился от 1 дня до 1
   прогнозирование неисправностей.                           месяца.
   Ниже рассказано о построении алгоритма                       На основании данных требуется построить
обнаружения поломок и определения их типа. По                алгоритм, который детектирует поломки в режиме
договорённости с заказчиком не конкретизируется              online, сообщая тип поломки и её локализацию.
тип оборудования, на котором проводилась
апробация алгоритма, но описана математическая
составляющая использованных подходов. Также
сделан обзор современных методов обнаружения
аномалий (anomaly detection) и результаты их
тестирования на данных реальной задачи.
1 Прикладная задача
   Массив исследуемых данных состоит из
показаний       датчиков,      установленных      на
оборудовании. На каждой установке – около 50                 Рисунок 2 Пример сигнала датчика (давление)
датчиков, замеры производятся каждую секунду
(такая частота избыточна, поэтому показания были             2 Обработка текстовых логов
агрегированы до минутных), данные предоставлены                 Задача обработки текстовой информации не
за последние 3 года (т. е. около 5109 показаний для         является центральной при решении описанной выше
одной установки).                                            проблемы детектирования поломок, тем не менее, с
   Пример показаний датчиков:                                помощью обработки получены дополнительные
   • температура (°C);                                       признаки, поэтому опишем её решение.
   • давление (кгс/м2);                                         Для анализа текстовой информации сначала был
   • уровень шума (дБ);                                      реализован классификатор текстов, который для
   • скорость вращения (об/мин);                             каждого лога указывал тип действия, которое ему
   • уровень вибрации (Гц).                                  соответствует: запуск оборудование, выключение,
На Рис. 1 и 2 показаны примеры сигналов.                     начало ремонтных действий и т. п. Общая схема
   Кроме того, есть текстовые логи, в которых                работы с текстами в рамках данной задачи
описаны,      какие    работы      проводились     с         следующая:
оборудованием, а также факты возникновения                      • удаление некоторых спецсимволов;
внештатных ситуаций. Логи вносятся в систему                    • переход к буквенным n-граммам;
логирования специалистами, поэтому являются                     • модель «мешок слов» (bag of words);
текстами с использованием специальных терминов и                • tf-idf-нормировка;
сокращений. Даты и время внесения в систему                     • решение задач классификации;
добавляются автоматически.                                      • выделение числовых признаков из текстов;
Пример текстового лога                                       Ниже подробно описаны все этапы.
   10.07.2016 10:03 Нач. бурение 200м            2к          2.1 Предварительная обработка текстов
скважина станд. р38
   10.07.2016 10:48 Кон. бурения Разрыв т15                     Учитывая, что в тексте могут быть сокращения и
   Из логов, в частности, извлекается информация             ошибки (опечатки), изначально текст приводился в
об обнаружении поломок:                                      один регистр и преобразовывался в буквенные n-
   • тип поломки;                                            граммы (большинство спецсимволов удалялось).
   • где обнаружена (id прибора и секция);                   Лемматизация (приведение к нормальной словарной
   • когда обнаружена;                                       форме) и удаление стоп-слов не выполнялись [23].
   • когда начались ремонтные работы;                        Пример преобразования в 3-граммы
   • когда закончены ремонтные работы.                          Нач. бурение  «НАЧ», «АЧ.», «Ч.Б», «.БУ»,
                                                             «БУР», «УРЕ», «РЕН», «ЕНИ», «НИЕ»
                                                                Также не были использованы различные методы
                                                             исправления опечаток. Как показали эксперименты,
                                                             эту проблему позволяет решить переход к n-
                                                             граммам, поскольку, например, слова «бурение»,
                                                             «буриние» и сокращение «бур.» совпадают по первой
                                                             триграмме «бур». Кроме того, какие-то отдельные
                                                             опечатки и сокращения могут соответствовать
                                                             конкретному человеку, заполнявшему журнал (что
                                                             позволяет его идентифицировать).
 Рисунок 1 Пример сигнала датчика (температура)              2.2 Перевод текстов в векторную форму
   За 3 года происходило в среднем 10 поломок на                Для перевода текстов в векторную форму




                                                       390
использовался стандартный подход: мешок слов (bag             2.4 Выделение числовых признаков из текстов
of words, [23]), т. е. была составлена разреженная
                                                                 Как было показано в примере лога (см. выше),
матрица размера m×n, где m – число текстов, n –
                                                              кроме описания действий в нём может содержаться
число слов во всех текстах, ij-й элемент равен числу,
                                                              какая-то числовая информация, например, «бурение
выражающему, сколько раз в i-м тексте встретилось
                                                              на глубину 200 метров». Ясно, что число 200 здесь
j-е слово. Таким образом, порядок слов в документе
                                                              надо уметь вычленять, чтобы потом сравнивать с
не учитывался, а фиксировались лишь числа
                                                              аналогичными числами в других записях. В задаче
вхождений слов. Как показали эксперименты, учёт
                                                              классификации числа не учитывались, все они
порядка слов переходом к словарным n-граммам не
                                                              заменялись на специальное слово «number», которое
улучшал качество решаемой задачи.
                                                              указывало просто наличие какого-то числа в тексте.
    Над построенной матрицей было произведено tf-
                                                                 Для решения описанной задачи использован
idf-преобразование [23]. Напомним, что tf-
                                                              следующий подход. Были отобраны типы действий,
преобразование (term frequency) заключается в
                                                              которые могут содержать числовую информацию.
вычислении величин
                                  ℎ𝑖𝑗                         Для каждой числовой информации сформированы
                   tf(ℎ𝑖𝑗 ) = 𝑛                               правила: где она может встречаться в записи, что ей
                                ∑𝑡=1 ℎ𝑖𝑡                      предшествует и/или что следует после неё. На основе
(отношение числа вхождений определённого слова в              этих правил производился поиск соответствующих
предложение к числу слов в данном предложении).               чисел. По экспертной оценке точность такого
Смысл       подобного         преобразования  –     в         подхода составила 95%.
инвариантности к повторам текста (скажем, дважды
повторенное предложение имеет тот же смысл, что и             3 Математическая постановка задачи
однократно повторенное).
                                                                 После обработки логов изначально заданные
    Idf-преобразование (inverse document frequency)
                                                              многомерные временные ряды показаний датчиков
учитывает, что чем чаще встречается слово, тем
                                                              были дополнены категориальными рядами действий,
меньший смысл оно несёт:
                                   𝑚                          совершаемых с оборудованием (категориальными,
              idf(ℎ𝑖𝑗 ) =                   .                 поскольку значения ряда в каждый момент времени
                          log|{𝑡⁡|⁡ℎ𝑡𝑗 > 0}|
                                                              – тип действия, т. е. категориальная переменная), а
    Tf-idf-преобразование заключается в замене                также рядами значений признаков, выделенных из
каждого элемента матрицы на                                   текстов (принимают ненулевые значения, только
                                       𝑑
                   tf(ℎ𝑖𝑗 ) ∙ idf(ℎ𝑖𝑗 ) .                     когда совершается соответствующее действие и в
    Обычно используется значение степени d=1, но в            логах    есть   указанное      числовое    значение,
рассматриваемой задаче почти все слова являются               соответствующее этому действию).
профессиональными терминами, и их частое                         Каждый механизм был описан 64-мерным
вхождение не всегда означает бесполезность для                временным рядом. Как отмечено выше, известна
решения задачи классификации текста, а степень d              информация об обнаружении поломок и их
как раз контролирует «учёт популярности слов».                устранении (моменты времени). Необходимо
Было установлено, что оптимальное значение d=0.35.            разработать алгоритм автоматического обнаружения
                                                              поломок: обучить его на статистике первых двух лет
2.3 Задача классификации текстов
                                                              и проверить на третьем годе.
   Для «сырых» (необработанных) логов была                       Специфика задачи состоит в том, что момент
сделана экспертная разметка: для каждой записи                обнаружения поломки не всегда соответствует её
указан тип действия, о котором идёт речь в данной             возникновению, т. е. поломка может быть
записи. Для разметки использованы логи из первого             обнаружена не вовремя. По оценке экспертов,
года, за который есть статистика. Были взяты 1000             разность между этими временами может достигать
случайных записей за год, эксперты выделили 15                нескольких недель. Кроме того, некоторые поломки
классов действий.                                             могут не оказывать влияния на показания приборов,
   Далее был построен классификатор на 15 классов,            например, небольшая течь из какого-нибудь шланга
работа которого в дальнейшем также была оценена               (не так сильно изменяются давление и температура,
экспертами. В качестве тестовой выборки                       кроме того, изменения происходят плавно).
использовались записи 2 и 3 года. Точность                       Описанная задача решалась как задача
определения класса действия – 97% – была признана             машинного обучения без учителя – детектирования
достаточной.                                                  аномалий (anomaly detection, [5]). Далее представлен
   К сожалению, в этой задаче достаточно трудно               обзор    современного      состояния    в    области
сделать экспертную разметку. В отличие от                     обнаружения аномалий. Главная причина сведения
асессорской разметки при поиске, которую может                рассматриваемой проблемы именно к этой задаче:
производить практически любой человек, поскольку              основную часть времени оборудование работает в
поисковая выдача как раз и должна быть                        штатном режиме. Поломки выводят оборудование из
оптимизирована под нужды среднестатистического                этого режима: повышается температура отдельных
пользователя, разметка логов оборудования понятна             узлов, понижается давление и т. п. Вероятно,
только людям, знакомым со специальной                         статистики достаточно мало, чтобы в значительной
терминологией.                                                степени покрыть все виды поломок, но достаточно,




                                                        391
чтобы    описать     нормальную    работу.  Если             4.1 Статистические тесты
детектирование      аномальной    работы   будет
                                                                Как правило, их применяют для отдельных
соответствовать поломкам, то можно использовать
                                                             признаков и отлавливают экстремальные значения
такой детектор с требуемой целью.
                                                             (Extreme-Value Analysis). Для этого используют,
4 Методы обнаружения аномалий (обзор)                        например, Z-value [14]:
                                                                                      𝑥𝑖 − 𝜇
   Строго говоря, есть две похожие задачи                                        𝑍𝑖 =
                                                                                         𝜎
обнаружения аномалий (Anomaly Detection):                    или Kurtosis [14]:
детектирование выбросов (Outlier Detection) и                                      1
                                                                                       ∑𝑛𝑖=1 𝑍𝑖4 .
«новизны» (Novelty Detection). Как и выброс, «новый                               𝑛
объект» – это объект, который отличается по своим            Многие методы визуализации, например, ящик с
свойствам от объектов (обучающей) выборки, но, в             усами (box plot, [10]), имеют встроенные средства
отличие от выброса, его в самой выборке пока нет (он         для детектирования и показа таких экстремальных
появится через некоторое время, задача как раз и             значений.
заключается в том, чтобы обнаружить его при                     Важно понимать, что экстремальное значение и
появлении). Объясним это на примере решаемой                 аномалия – разные понятия. Например, в небольшой
задачи. Если по статистике показаний датчиков                выборке
                                                                [1, 39, 2, 1, 101, 2, 1, 100, 1, 3, 101, 1,
ищутся моменты времени, когда эти показания                  3, 100, 101, 100, 100]
сильно отличались от показаний в остальные                   значение 39 можно считать аномалией, хотя оно не
моменты, то это обнаружение выбросов. Если же                является максимальным или минимальным. Также
статистика используется как пример нормальных                стоит отметить, что аномалия характеризуется, как
показаний, и каждое новое показание проверяется на           правило, не только экстремальными значениями
нормальность (похожесть на старые), то это                   отдельных признаков, см. Рис. 3.
обнаружение новизны.
   Задачи обнаружения аномалий возникают при                 4.2 Модельные тесты
решении большого числа прикладных проблем, вот
                                                                Идея очень простая: строим модель, которая
далеко не полный их перечень:                                описывает данные; точки, которые сильно
   • обнаружение подозрительных банковских                   отклоняются от модели (на которых модель сильно
       операций (Credit-card Fraud);                         ошибается), и есть аномалии, см. Рис. 4. При выборе
   •   обнаружение вторжений (Intrusion Detection);          модели можно учесть природу задачи, функционал
   •   обнаружение нестандартных игроков на                  качества и т. п.
       бирже (инсайдеров);                                      Например, в исследуемой задаче можно
                                                             прогнозировать значения временных рядов с
   •   обнаружение неполадок в механизмах по                 помощью LSTM-нейронной сети [11]. Если реальные
       показаниям датчиков;                                  значения сильно отличаются от предсказываемых, то
   •   медицинская      диагностика  (Medical                это свидетельствует об аномальном поведении.
       Diagnosis);                                           Такой подход хорошо показал себя на недавнем
   • сейсмология.                                            хакатоне лаборатории Касперского [24] по
                                                             распознаванию аномалий в технологических
   Далее опишем современные методы обнаружения
                                                             процессах завода [9].
аномалий.




                                                             Рисунок 4 Пример применения модельного подхода

                                                                Как правило, в задачах обнаружения поломок
Рисунок 3 Пример выбросов в задаче с двумя                   исходная информация представлена в виде сигналов.
признаками                                                   Поэтому используется аппарат обработки цифровых
                                                             сигналов, по крайней мере, на первом этапе решения
                                                             задачи (для уменьшения размерности и чистки
                                                             данных). Например, при анализе вибраций [13]




                                                       392
используют дискретное преобразование Фурье
(DFT), вейвлеты [21], спектрограммы. В задачах без
известной разметки поломок применяют скрытые
марковские модели (HMM), а также их различные
обобщения [6]. Основная проблема таких алгоритмов
– большие временные затраты. Многие подходы
практически бесполезны при работе с большими
данными из-за использования трудоёмких методов
оптимизации: EM-алгоритма [8], MCMC (Markov
Chain Monte Carlo) [12] и т. д.
4.3. Итерационные методы
   Можно последовательно удалять группы «особо
подозрительных объектов». Например, в n-мерном
признаковом пространстве можно удалять выпуклую
оболочку точек-объектов, считая её представителей
выбросами, см. Рис. 5. Как правило, методы этой             Рисунок 6 Пример конфигурации точек с малым
группы достаточно трудоёмки.                                кластером

                                                            4.6. Методы машинного обучения
                                                               Задачу обнаружения аномалий рассматривают
                                                            также как отдельную задачу обучения без учителя
                                                            (unsupervised learning). Такой метод решения может
                                                            быть отнесён к модельному подходу 4.2, но в этот
                                                            подраздел вынесены самые популярные алгоритмы
                                                            (есть реализации в библиотеке scikit-learn языка
                                                            Python [22]):
                                                            • метод опорных векторов для одного класса
                                                               (OneClassSVM, [20]);
                                                            • изолирующий лес (IsolationForest, [16]);
                                                            • эллипсоидальная аппроксимация данных
Рисунок 5 Выпуклая оболочка множества точек                    (EllipticEnvelope, [19]).
                                                               Первый метод – это обычный метод опорных
4.4. Метрические методы                                     векторов (SVM, [2]), который отделяет выборку от
                                                            начала координат. Изолирующий лес (Isolation
   Это одни из самых популярных методов (судя по            Forest) – это одна из вариаций идеи случайного леса
числу публикаций, [1]), в них постулируется                 (Random Forest, [3]):
существование некоторой метрики в пространстве                 • лес состоит из деревьев;
объектов, которая и помогает найти аномалии.
                                                               • каждое дерево строится до исчерпания
Интуитивно понятно, что у выброса мало соседей, а
                                                                    выборки;
у типичной точки много. Поэтому хорошей мерой
аномальности      может     служить,      например,            • для построения ветвления в дереве
«расстояние до k-го соседа» [4]. Здесь используются                 выбираются случайный признак и случайное
специфические метрики, например, расстояние                         расщепление,
Махаланобиса.                                                  • для каждого объекта мера его нормальности –
                                                                    среднее арифметическое глубин листьев, в
4.5. Методы подмены задачи                                          которые он попал (изолировался, см. Рис. 7).
   В этих методах задача обнаружения аномалии
заменяется другой задачей, для которой есть удобные
и быстрые методы решения. Например, можно
сделать кластеризацию, тогда маленькие кластеры,
скорее всего, состоят из аномалий, см. Рис. 6.
   В исследуемой задаче есть разметка: известны
времена обнаружения неисправностей, поэтому
описания работы оборудования в эти моменты
можно считать классом 1 (размеченные аномалии), а           Рисунок 7 Вычисление оценки аномальности в
описания работы оборудования после ремонтов и               изолирующем лесе
плановых проверок – классом 0 (нормальная работа).
Таким образом, решение задачи сводится к решению            Логика алгоритма простая: при описанном
задачи классификации (classification).                      «случайном» способе построения деревьев выбросы




                                                      393
будут попадать в листья на ранних этапах (на               оборудования в рассматриваемый момент времени. В
небольшой глубине дерева), т. е. выбросы проще             качестве признаков использовались 64 исходных
«изолировать» (напомним, что дерево строится до            значения (показания датчиков, а также информация
тех пор, пока каждый объект не окажется в                  из текстовых логов). Кроме того, были построены
отдельном листе).                                          признаки, описывающие поведение в прошлом (1
   В эллипсоидальной аппроксимации данных, как             минуту назад, 5 минут, 1 час, 1 сутки назад), и
следует из названия, облако точек моделируется как         разности между текущими показаниями и
внутренность эллипсоида. Метод хорошо работает             показаниями в прошлом. Для некоторых подходов
только на одномодальных данных, а особенно                 (например, модельного) построения признакового
хорошо – на нормально распределённых. Степень              пространства не требуется.
новизны здесь фактически определяется по                      Методы тестировались на последнем году, за
расстоянию Махалонобиса.                                   который есть статистика. В таблицах указана
                                                           полнота (какой процент поломок найден) и точность
                                                           (сколько из детектируемых аномалий действительно
                                                           являются поломками). Порог детектирования (если
                                                           оценка анормальности выше него, то алгоритм
                                                           сигнализирует поломку) подбирался так, чтобы
                                                           среднее число детектирований совпадало с
                                                           ожидаемым числом поломок. В таблицах подходы
                                                           пронумерованы согласно обзору раздела 4.
                                                              В целом результаты, представленные в табл. 1,
                                                           можно считать неудовлетворительными, поскольку
                                                           заказчик рассчитывал на точность 90% при такой же
                                                           полноте, но при анализе ошибок были выявлены
                                                           следующие особенности предложенного подхода. В
                                                           большинстве     случаев    детектируется именно
                                                           аномальное поведение в работе оборудования, т. е.
                                                           отличающееся от штатного. Поэтому большинство
Рисунок 8 Оценка аномальности, полученная с
                                                           сигналов об анормальности относилось к
помощью изолирующего леса библиотеки scikit-
                                                              • поломкам оборудования;
learn (чем светлее фон, тем аномальнее)
                                                              •   неправильной эксплуатации (нарушению
4.7 Ансамбли алгоритмов                                           правил);
   Как и во многих других областях машинного                  • смене режимов (в том числе, включению и
обучения, при поиске аномалий часто используют                    выключению).
несколько алгоритмов, как правило, разной природы.            В результате получился алгоритм, который
Каждый из них даёт оценку аномальности, и эти              детектирует все эти ситуации, что вполне устраивало
оценки потом «усредняют». Не всегда используют             заказчика. Если пересчитать качество в терминах
обычное среднее арифметическое, например, иногда           точности и полноты обнаружения перечисленных
хорошее качество показывает максимум (если какой-          ситуаций, то получим Табл. 2.
то алгоритм уверен в аномальности объекта, то,             Таблица 1 Точность и полнота распознавания
скорее всего, так оно и есть).                             поломок различными подходами
   Поскольку ключевым моментом в реальных                      подход        точность    полнота
задачах обнаружения аномалий является выбор
                                                                 4.1            72%        30%
признаков, которые характеризуют те или иные
                                                                 4.2            55%        80%
отклонения от нормы, алгоритмы из ансамбля строят,
                                                                 4.3            68%        32%
пытаясь угадать хорошие пространства. Здесь
популярны:                                                       4.4            70%        52%
   • Feature Bagging – для каждого алгоритма                     4.5            81%        45%
       берут          случайное        признаковое               4.6            80%        80%
       подпространство [15];                                     4.7            85%        70%
   •   Rotated Bagging – в выбранном случайном             Таблица 2 Точность и полнота распознавания
       признаковом подпространстве совершают               аномалий различными подходами
       случайный поворот [1].                                  подход        точность    полнота
                                                                 4.1            77%        40%
5 Исследование методов обнаружения                               4.2            80%        92%
аномалий на реальных данных                                      4.3            70%        45%
   Опишем результаты применения различных                        4.4            78%        62%
методов обнаружения аномалий для решения                         4.5            80%        60%
реальной прикладной задачи детектирования                        4.6            97%        87%
поломок. Каждый объект – признаковое описание                    4.7            95%        90%




                                                     394
                                                              •    решение задачи размещения датчиков (от
   Отметим, что для достижения высокого качества                   некоторых датчиков можно отказаться, не
достаточно использовать методы машинного                           снижая качества детектирования поломок);
обучения, описанные в разделе 4.6. Использование              •    использование     видеоинформации      и
ансамблей не сильно улучшает качество, но                          изображений (для некоторого оборудования
существенно усложняет алгоритмы. Как показано в                    есть кадры съёмки рабочего процесса,
Табл. 3, самый лучший метод здесь – изолирующий                    которые также регулярно производятся и
лес.                                                               сохраняются);
Таблица 3 Точность и полнота распознавания                    •    улучшение качества определения типа
аномалий методов машинного обучения                                поломки (пока при решении этой задачи не
      метод          точность        полнота                       было сделано такого же масштабного
  OneClassSVM          88%             85%                         перебора различных подходов, как для
                                                                   детектирования самого факта поломки).
  IsolationForest      97%             87%
 EllipticEnvelope      72%             70%                 Литература
   При правильном детектировании поломки                    [1] Aggarwal, C.C.: Outlier Analysis. Springer-Verlag,
точность определения типа поломки – 87% (для этого              New York (2013). doi: 10.1007/978-1-4614-6396-
решалась отдельная задача классификации), что                   2
также оказалось приемлемо, поскольку некоторые              [2] Boser, B.E., Guyon, I.M., Vapnik, V.N.: A Training
типы поломок сложно различать на основе показаний               Algorithm for Optimal Margin Classifier. Proc. of
датчиков, например, «низкое давление воды» и                    the Fifth Annual Workshop on Computational
«засор подводящих шлангов».                                     Learning Theory – COLT'92, p. 144 (1992). doi:
                                                                10.1145/130385.130401
Таблица 4 Среднее время работы алгоритмов
разных подходов                                             [3] Breiman, L.: Random Forests. Machine Learning,
                          время                                 45 (1), pp. 5-32 (2001).
  подход                                                        doi:10.1023/A:1010933404324
                обучения       детектирования
    4.1           5 сек             < 1сек                  [4] Breunig, M.M., Kriegel, H.-P., Ng, R.T., Sander, J.:
    4.2          12 мин              1 сек                      LOF: Identifying Density-based Local Outliers.
    4.3             –               9 мин                       Proc. of the 2000 ACM SIGMOD Int. Conference
    4.4           9 мин             6 мин                       on Management of Data, pp. 93-104 (2000)
    4.5           8 мин             < 1 сек                 [5] Chandola, V., Banerjee, A., Kumar, V.: Anomaly
    4.6          10 мин             < 1 сек                     detection: A survey. ACM Computing Surveys, 41
                                                                (3),     pp.    1-58      (2009).   doi:   10.1145/
   В Табл. 4 показано среднее время работы                      1541880.1541882
алгоритмов разных групп. Для большинства                    [6] Chao, Y.: Unsupervised Machine Condition
алгоритмов можно выделить отдельно этап обучения                Monitoring using Segmental Hidden Markov
(анализ исходной информации) и детектирования                   Models. IJCAI'15 Proc. of the 24th Int Conf. on
(принятие решения о поломке на основе только что                Artificial Intelligence. AAAI Press, pp. 4009-4016
поступивших данных). Все алгоритмы были                         (2015)
реализованы на языке Python 3.x.                            [7] Chen, T., Guestrin, C.: XGBoost: A Scalable Tree
6 Благодарности                                                 Boosting System. Proc. of the 22Nd ACM SIGKDD
                                                                Int. Conf. on Knowledge Discovery and Data
    Авторы выражают благодарности компании ООО                  Mining, San Francisco, CA, USA (2016)
«Алгомост» за поставленную задачу и консультации            [8] Dempster, A.P., Laird, N.M., Rubin, D.B.:
со специалистами.                                               Maximum Likelihood from Incomplete Data via the
7 Заключение                                                    EM Algorithm. J. of the Royal Statistical Society.
                                                                Series B. 39, pp. 1-38 (1977)
   Разработан алгоритм выявления аномалий в                 [9] Filonov, P., Lavrentyev, A., Vorontsov, A.:
работе оборудования.       Кроме поломок,      он               Multivariate Industrial Time Series with Cyber-
сигнализирует также о любой некорректной работе и               Attack Simulation: Fault Detection Using an
смене режимов работы. Качество оказалось                        LSTM-based Predictive Data Model. NIPS Time
достаточно высоким и полностью удовлетворило                    Series                Workshop              (2016).
заказчика: 97% точности и 87% полноты.                          https://arxiv.org/abs/1612.06676
   Дальнейшие планы по усовершенствованию
                                                           [10] Frigge, M., Hoaglin, D.C., Iglewicz, B.: Some
алгоритма:
                                                                Implementations of the Box Plot. The American
   • решение задачи прогнозирования поломок                     Statistician, 43 (1), pp. 50-54 (1989)
       (для заказчика актуально составление
                                                           [11] Hochreiter S.: Long Short-term Memory. Neural
       расписания проверок и капитального ремонта
       с учётом износа оборудования);                           Computation, 9 (8), pp. 1735-1780 (1997). doi:
                                                                10.1162/neco.1997.9.8.1735




                                                     395
[12] Johnson,     M.J., Willsky, A.S.: Bayesian                       Neural Network. Neural Networks, 16 (5), pp. 555-
     Nonparametric Hidden Semi-Markov Models. J. of                   559 (2003). doi: 10.1016/S0893-6080(03)00115-1
     Machine Learning Research, 14 (1), pp. 673-701              [18] Mayer-Schönberger, V., Cukier, K.: Big Data: A
     (2013)                                                           Revolution that will Transform How We Live,
[13] Klein, R.: A Method for Anomaly Detection for                    Work, and Think. John Murray, London (2013)
     Non-stationary Vibration Signatures. Annual Conf.           [19] Rousseeuw, P.J., Van Driessen, K.: A Fast
     of the Prognostics and Health Management Society                 Algorithm for the Minimum Covariance
     (2013).           https://www.phmsociety.org/sites/              Determinant Estimator. Technometrics, 41 (3), pp.
     phmsociety.org/files/phm_submission/2013/phmc_                   212-223 (1999)
     13_ 038.pdf                                                 [20] Schölkopf B., et al.: Estimating the Support of a
[14] Kreyszig, E. Advanced Engineering Mathematics.                   High-dimensional          Distribution.      Neural
     John Wiley & Sons Inc, 4th edition, 880 p. (1979)                Computation, 13 (7), pp. 1443-1471 (2001)
[15] Lazarevic, A., Kumar, V.: Feature Bagging for               [21] Sheriff, M.Z., Nounou, M.N.: Improved Fault
     Outlier Detection. Proc. of the ACM SIGKDD Int.                  Detection and Process Safety Using Multiscale
     Conf. on Knowledge Discovery and Data Mining,                    Shewhart Charts. J. Chem. Eng. Process Technol.,
     pp. 157-166        (2005).      doi:       10.1145/              8 (2), pp. 1-16 (2017). doi: 10.4172/2157-
     1081870.1081891                                                  7048.1000328
[16] Liu, F.T., Tony, T.K.M., Zhou, Z.H.: Isolation              [22] Библиотека алгоритмов машинного обучения
     Forest. Proc. of the 2008 Eighth IEEE Int. Conf. on              для Python, http://scikit-learn.org/stable/
     Data Mining, pp. 413-422 (2008)                             [23] Маннинг, К., Рагхаван, П., Шютце, Х.: Введение
[17] Matusugu, M., Mori, K., Mitari, Y., Kaneda, Y.:                  в информационный поиск. М.: Изд-во Вильямс
     Subject Independent Facial Expression Recognition                (2011)
     with Robust Face Detection using a Convolutional            [24]    Хакатон по анализу данных от лаборатории
                                                                        Касперского.        https://events.kaspersky.com/
                                                                        hackathon/




                                                           396