isicad.ru :: портал САПР, PLM и ERP :: версия для печати

Статьи

8 мая 2020

Обнаружение аномалий ЧПУ с помощью машинного обучения без учителя. Часть 3: методы кластеризации данных

Лу Чжан (Lou Zhang)

Перевод: Андрей Ловыгин
Оригинал публикации на сайте Планета САМ
В первой и второй частях статьи «Обнаружение аномалий ЧПУ с помощью машинного обучения без учителя» Лу Чжан (Lou Zhang), главный инженер-программист MachineMetrics, рассмотрел бизнес-логику и предварительную обработку данных, связанную с обнаружением аномального поведения на станках. Предлагаем к прочтению третью часть, из которой вы узнаете о методах обработки и кластеризации данных.
Оригинал статьи читайте здесь.

Выделение сигнатур деталей и создание трансформаций

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

Мы берем каждую сигнатуру и выстраиваем их рядом друг с другом, создавая таблицу, в которой каждая «переменная» представляет собой уникальную создаваемую деталь и связанные с ней данные.
машинное обучение ЧПУ

Определение скрытой структуры сигнатур деталей

Для нашего следующего шага мы обратимся к Робу Хиндману и его anomalous пакету, чтобы обнаружить скрытую структуру каждой переменной. Это нужно сделать потому, что исходные значения каждой сигнатуры слишком волатильны, чтобы сравнивать их друг с другом, даже когда они сглаживаются путем взятия скользящих средних или других преобразований. Таким образом, мы должны найти способ представления этих сигнатур более стабильным образом. Хиндман определил несколько ключевых метрик временных рядов, которые отражают присущие им качества. Мы выбираем из них наиболее подходящие для нашего случая, которые описаны ниже в нетехнических терминах. Они используются для количественной оценки внутренних факторов сигнатуры каждой детали.
машинное обучение ЧПУ

  1. Энтропия: измеряет уровень белого шума в ваших рядах.
  2. Автокорреляция первого порядка. Автокорреляция первого порядка — это показатель корреляции последовательных элементов во временных рядах. С точки зрения непрофессионала, он измеряет, насколько предсказуем ряд, если вы знаете предыдущий элемент ряда. Это актуально, потому что функции автокорреляции аномальных рядов часто очень сильно отличаются от функций неаномальных рядов. По сути, это еще одна мера случайности временного ряда, которая для аномальных рядов часто бывает чрезвычайно высокой или низкой (может быть очень низкой, если станок ведет себя хаотично, или очень высокой, если есть необычное повторение или предсказуемость).
  3. Сдвиг уровня: максимальное изменение средних значений в ряду при заданном окне. Хорошо подходит для обнаружения аномалий, когда станок испытывает внезапное изменение показателей. К примеру, когда метрики внезапно перепрыгивают с одного уровня на другой.
  4. Изменение дисперсии: максимальное изменение дисперсии в серии. Хорошо подходит для обнаружения аномалий, когда станок демонстрирует внезапное изменение дисперсии. Например, когда море внезапно становится спокойным после шторма или когда станок становится необычайно тихим.
  5. Кривизна: сообщает, насколько «изогнута» сигнатура детали. Значение — это коэффициент многочлена второго порядка (x2) при подгонке к ряду. Это актуально, потому что циклы деталей имеют искривление из-за циклического характера механической обработки, а значение кривизны одинаково среди неаномальных кривых.
  6. Остроконечность: дисперсия остатков при подгонке к линейной кривой. Называется «остроконечность», потому что ряды, которые имеют больше пиков, имеют более высокую дисперсию остатков.
  7. Плоские точки: количество плоских точек в ряду с использованием дискретизации. Хорошо подходит для определения, когда станок глохнет или зависает.
машинное обучение ЧПУ

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

машинное обучение ЧПУ

Проецирование скрытых элементов на 2D-плоскость с использованием PCA

Как только мы получим эти метрики, мы применим PCA к этим семи измерениям, чтобы свести их к двум главным компонентам. Затем мы построим две главные компоненты на двумерной диаграмме рассеяния.

машинное обучение ЧПУ

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

Почему мы не использовали преобразования?

Следует отметить, что мы протестировали несколько преобразований наших данных, в том числе логарифмические преобразования, скользящие средние, скользящее стандартное отклонение и первую производную. Мы обнаружили, что использование непреобразованной сигнатуры является наиболее эффективным способом обнаружения аномалий, как наиболее отделенных от других точек в пространстве 2D PCA. Это также имеет смысл теоретически, так как:

  1. Логарифмическое преобразование ряда выравнивает остроконечности в каждом ряду, что может исключать критическую информацию;
  2. Скользящее среднее делает то же самое и удаляет ключевые признаки, обнаруженные пакетом anomolous;
  3. Скользящее стандартное отклонение может пренебречь важными элементами при усилении атрибутов, связанных с дисперсией, что может быть не тем, что мы хотим;
  4. Первая производная может акцентировать изменения в сигнатуре, которые относительно незначительны, и, таким образом, скрыть истинную природу сигнатур.

Использование кластеризации для выявления выбросов

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

Иллюстрация DBSCAN приведена ниже. «Базовые» точки считаются неаномальными, «граничные» точки, которые находятся на границе круга, также являются неаномальными. Однако «шумовые» точки, которые полностью находятся за пределами центральной области, являются аномалиями.

машинное обучение ЧПУ

Определение эпсилона

Процесс настройки требовал рассмотрения распределения данных и выбора параметров, которые изолировали небольшую часть точек, но не исключали полностью аномалии. Чтобы получить приблизительный порядок величины эпсилона, мы строим распределения для Главной компоненты 1 и Главной компоненты 2, используя этот конкретный сценарий в качестве примера большинства сценариев.
машинное обучение ЧПУ

машинное обучение ЧПУ

Из-за центрирования главные компоненты примерно нормально распределены со средним нулем и стандартным отклонением 1,5. При нормальном распределении 68% наблюдений охватываются одним стандартным отклонением, 95% — двумя и 99,7% — тремя.
машинное обучение ЧПУ

Это означает, что при стандартном отклонении главной компоненты, равном 1.5, ~68% наблюдений приходится на значения между -1.5 и 1.5, 95% на значения от -3 до 3, а 99,7% на значения от -4.5 до 4.5.

Мы знаем, что без учета аномальных станков средний показатель брака для клиентов MachineMetrics, включая человеческую ошибку, составляет примерно 1/1000 деталей, что означает степень успешности в 99,9% (заказчики MachineMetrics в совокупности изготовили 327 миллионов деталей, а 224 тыс. были испорчены). Хотя этот показатель может показаться высоким, мы должны помнить, что наши клиенты — это в основном небольшие механические цеха, у которых может не быть большой серийности одной и той же детали. Кроме того, большая часть наших клиентов — это специализированные мастерские, которые производят детали на заказ для других компаний, что дает им меньше времени для совершенствования производственного процесса и, таким образом, оставляет больше места для совершения ошибок.

машинное обучение ЧПУ

MachineMetrics отслеживает каждую деталь, изготовленную станками, к которым мы подключены, что дает нам доступ к уникальному набору данных для интеллектуального анализа данных

При нормальном распределении 99,9% наблюдений находятся в пределах 3 стандартных отклонений, что в нашем случае составляет ± 4,5 единицы в значениях главных компонент. Принимая во внимание тот факт, что точность (предотвращение ложных срабатываний) более важна, чем отзыв (захват всех аномалий) при первом пилотировании этого метода, мы устанавливаем наш порог эпсилона равным 4 стандартным отклонениям, то есть точки должны отстоять на 6 единиц от центрального кластера, чтобы называться выбросами/аномалиями. Мы считаем точность более важной, потому что клиенты могут игнорировать уведомления, если их слишком много, и мы хотим избежать ненужной паники*.

*эта часть все еще находится в стадии пилота и параметры могут быть изменены

Определение минимального порогового значения

Порог минимальных точек устанавливает минимальное количество точек, которые должны быть сгруппированы вместе, чтобы их можно было рассматривать как независимый кластер, а не просто как точки выброса. Это может быть полезно в тех случаях, когда на самом деле нет выбросов, а происходит смена инструмента или случаются другие системные, но нормальные ситуации. В этих случаях станок может сбрасываться в нормальное состояние за короткий промежуток времени. Мы определяем этот порог в 10 точек.

Таким образом, мы определяем кластер как группу, в которой должно быть минимум десять точек, а размер радиуса эпсилона равен 6 единицам. Все, что находится на расстоянии больше 6 единиц от основного облака и имеет менее 10 точек рядом, является аномалией. В этом случае мы обнаружили две аномалии, соответствующие двум деталям, которые имели «посторонние» признаки обработки. Мы можем определить, когда эти детали сделаны, и кодировать соответствующее время как время аномального поведения станка.

Проверка аномальной детали

Деталь 127 обнаружена как аномальная, была создана между 3:04 и 3:07 утра. Давайте посмотрим, как выглядит сигнатура.
машинное обучение ЧПУ

Как мы видим, в сигнатуре детали четко выделяется нетипичный фрагмент. В этом случае станок завис на несколько минут, перезагрузился и продолжил обработку. Хотя на этот раз не было немедленных последствий, оператор был предупрежден об этом и предпринял дальнейшие шаги для расследования неожиданных зависаний, поскольку это может привести к поломке инструмента в будущем.

Краткое изложение шагов

Обобщая все сказанное, мы приводим блок-схему для облегчения понимания процесса. В последней части нашей серии мы рассмотрим продуктизацию.
машинное обучение ЧПУ

Альтернативный вариант использования

Альтернативное использование этого метода — обнаружение, когда станок начинает производить новую деталь. Используя те же шаги и настраивая эпсилон, чтобы он был более подходящим для ситуации, мы можем определить, когда сигнатуры деталей выглядят структурно иными и образуют другой кластер. В приведенном ниже примере мы можем видеть, что в 62-й детали произошло изменение детали (эта деталь сама по себе является аномальной из-за фактического процесса замены, но мы можем добавить дополнительные правила, чтобы исключить аномалии). Зеленое облако — это один тип детали, а синее — другой. Это позволяет нам автоматически классифицировать детали, изготовленные клиентом.
машинное обучение ЧПУ

GIF был ускорен для эффекта. Детали фактически создаются за цикл ~83 секунды

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

Изменение вида сигнатур деталей в момент перехода к изготовлению детали другого типа

Мы сверились с реальными данными в нашей базе данных и подтвердили, что в это время был совершен переход к изготовлению детали нового типа. Так как MachineMetrics отслеживает и сохраняет позиции инструмента, мы можем даже построить деталь, чтобы убедиться в этом.
машинное обучение ЧПУ

машинное обучение ЧПУ

Положения инструмента на осях X и Z


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


Завершение серии: Часть 4: Применение на производстве

Все права защищены. © 2004-2024 Группа компаний «ЛЕДАС»

Перепечатка материалов сайта допускается с согласия редакции, ссылка на isicad.ru обязательна.
Вы можете обратиться к нам по адресу info@isicad.ru.