¬аше окно в мир —јѕ–
 
Ќовости —татьи јвторы —обыти€ ¬акансии Ёнциклопеди€ –екламодател€м
—татьи

7 ма€ 2020

ќбнаружение аномалий „ѕ” с помощью машинного обучени€ без учител€. „асть 2: ћетод обработки и очистки данных

Ћу „жан (Lou Zhang)

ѕеревод: јндрей Ћовыгин
ќригинал публикации на сайте ѕланета —јћ
ќт редакции ѕланета —јћ: ѕланета CAM продолжает публиковать серию статей Ђќбнаружение аномалий „ѕ” с помощью машинного обучени€ без учител€ї из блога MachineMetrics. ¬ первой части Ћу „жан (Lou Zhang) рассказал о важности мониторинга аномального поведени€ станков, а во второй Ч подробно рассмотрит метод обработки и очистки данных.
ќригинал статьи читайте здесь.


ћы пробовали обрабатывать и очищать данные на многих станках, но дл€ иллюстрации наших соображений выделим только один пример. Ќачнем с рассмотрени€ того, как выгл€дит процесс обработки с нашей точки зрени€. Ќиже мы построили потоковые данные дл€ подачи, скоростей и нагрузки дл€ одного конкретного станка с 22:00 до 9:00. Ётот станок всегда делает одну и ту же деталь.

машинное обучение „ѕ”

¬идно, что данные зашумлены Ч мы не знаем, на что уместно смотреть и что мы ищем с точки зрени€ аномалий. ѕочему сигналы такие нерегул€рные и остроконечные и почему в сигналах есть пробелы? ≈сли станок обрабатывает одну и ту же деталь, то почему наблюдаетс€ столь мала€ регул€рность сигналов?

ѕричина этого Ц способ, которым MachineMetrics собирает данные.  аждые 900 мс или около того мы открываем Ђокної дл€ обнаружени€ изменений в метриках. ≈сли есть изменение, мы записываем его. ≈сли нет, мы ничего не записываем. ћы делаем это по двум основным причинам:

  1. Ёта частота дискретизации встроена дл€ экономии затрат на хранение данных, обработку данных и пропускную способность. ѕоскольку мы получаем сотни метрик с каждого из наших станков, экономически не выгодно создавать и поддерживать инфраструктуру дл€ извлечени€ данных несколько раз в секунду. Ёто позвол€ет нам избежать необходимости использовать дорогие сторонние сервисы, например Watson или Azure.
  2. —лишком частое обращение к контроллеру на старых станках может вызвать их замедление или зависание.

ћетрики почти наверн€ка мен€ютс€ чаще, чем каждые 900 мс, что означает, что одна и та же деталь может выгл€деть по-разному в зависимости от того, когда окно открыто. ƒл€ решени€ этой проблемы нам необходимо использовать наши знани€ предметной области и некоторую жесткую очистку данных, чтобы получить полезный сигнал.

≈сли мы попытаемс€ применить обнаружение аномалий к этим сигналам без их очистки, обнаруженные аномалии не будут иметь смысла. ћы прогон€ем наши временные р€ды через пакет anomalize и отображаем результаты ниже. Anomalize выполн€ет обнаружение аномалий в одном потоке. јномалии по€вл€ютс€ в виде черных точек, которые могут возникать в разное врем€ в различных сигналах.

машинное обучение „ѕ”

’от€ некоторые из этих сигналов могут с первого взгл€да казатьс€ выбросами, обнаруженные аномалии на самом деле бесполезны. ќни не указывают на действительно необычное поведение, это, скорее, артефакт нашего процесса сбора данных. »так, пришло врем€ запачкать руки данными. ¬о-первых, необходимо решить проблему просто€ (пробелов). «атем мы перейдем к тому, как сгладить проблему частоты опроса.

”даление неактивных последовательностей

Ќеактивные последовательности, смешанные с данными, в большинстве своем означают простой. Ётот простой включает врем€ просто€ оператора (перекус в 3 часа, нова€ смена) и врем€ просто€ станка (врем€ охлаждени€, смены инструмента, и эти две аномалии мы будем декодировать).

—начала нужно определить, когда создаютс€ детали и сколько времени требуетс€ дл€ их изготовлени€. Ќа самом деле нас не волнуют ситуации смены инструмента, когда станок не работал, и мы не хотим, чтобы наш алгоритм воспринимал это как аномалию в процессе обработки.

Ќаш первый шаг состоит в том, чтобы отличить сигнал (последовательности, которые нас интересуют) от шума (последовательностей, которые не имеют значени€). ћы также хотим убедитьс€, что мы не исключаем из данных действительно аномальное поведение.

„тобы сделать это проще, MachineMetrics собирает значение Ђpart_countї (счетчик деталей), которое увеличиваетс€ каждый раз, когда заканчиваетс€ цикл обработки детали. ћы считываем это значение, использу€ два ключевых компонента станка:

  1. ¬ определенных типах интеграций мы можем подключитьс€ к реле станка и вы€снить, какие переключатели увеличивают количество счетчика деталей.
    машинное обучение „ѕ”

  2. ¬ других типах интеграций мы можем подключитьс€ к программируемому логическому контроллеру (PLC) станка, который содержит сигнал в G-коде (€зыке программировани€ „ѕ”), указывающий на завершение обработки детали

ƒавайте наложим part_count на предыдущую визуализацию, чтобы увидеть, как выгл€д€т циклы создани€ детали.  ажда€ пунктирна€ зелена€ лини€ представл€ет собой создание одной детали.

машинное обучение „ѕ”

MachineMetrics также получает Ђ—осто€ние станкаї из ”„ѕ”, которое указывает, ведетс€ ли активна€ обработка. ќп€ть же, это собираетс€ путем подключени€ к реле или из контроллера.

ћы хотим сохранить только те наблюдени€, где станок активен. Ќа графике ниже красным цветом обозначены области, в которых станок был неактивен (или был в наладке и пр.) и где мы исключили наблюдени€.

машинное обучение „ѕ”

ѕосле очистки сигнал выгл€дит следующим образом. ќбратите внимание на изменение временной шкалы, поскольку удаление наблюдений во временном р€ду превращает ее в вектор.

машинное обучение „ѕ”

—игнал теперь выгл€дит намного аккуратнее, напомина€ типичные параметры, такие как вибраци€, скорость или мощность. Ёто важно, потому что методы обнаружени€ аномалий ранее примен€лись к этим типам сигналов, и создание аналога этих сигналов расшир€ет наш набор методологий.

ќбнаружение скрытой структуры процесса обработки

ѕо мнению операторов станков, критическим фактором, на который следует обратить внимание, €вл€етс€ взаимосв€зь между нагрузками, позици€ми, скорост€ми шпиндел€ и скоростью подачи. Ќапример, не имеет значени€, если скорость, подача и нагрузка одновременно падают до нул€ Ч это может просто указывать на то, что станок Ђотдыхаетї. ќднако очевидно возникает проблема, если станок продолжает подавать материал, но нагрузки падают до нул€, что указывает на более серьезную проблему. »ли если положение осей продолжаетс€ по обычной траектории, но больше нет нагрузки, св€занной с этим, что может говорить о поломке инструмента.

машинное обучение „ѕ”

ќказываетс€, несмотр€ на ошибку измерени€ окна, отношени€ в значительной степени остаютс€ одинаковыми дл€ сигнатур нормальной детали благодар€ количеству наблюдений. —о временем нормальные детали будут иметь аналогичные сигнатуры, хот€ диапазон того, как они выгл€д€т, будет больше.

Ќам необходимо найти осмысленный способ измерени€ коррел€ции или отношени€ между всеми этими сигналами и разделить их на один или два комбинированных сигнала, охватывающих все подачи, скорости, нагрузки и позиции.

ћы обращаемс€ к методу, называемому методом главных компонентов (principal component analysis, PCA), чтобы разделить наши многочисленные сигналы на два сигнала, которые представл€ют все из них. PCA берет многомерную матрицу и раздел€ет ее на Ђглавные компонентыї, фиксиру€ направление наибольшего отклонени€. Ќапример, если 70% дисперсии вашего набора данных можно получить в одном измерении, а 95% Ч в двух измерени€х, мы потер€ем только 5% информации в наших данных, исключив все другие переменные. »нтуитивно пон€тно, что метод сохран€ет комбинации переменных, которые могут наилучшим образом представл€ть данные, и значение часто может быть получено из этих объединенных переменных как подразумеваемой информации, лежащей в основе вашего набора данных.

машинное обучение „ѕ”

Ќапример, набор данных может иметь четыре переменные Ч промышленное производство, уровень преступности, индекс потребительских цен и индекс неравенства доходов дл€ каждой страны. PCA может определить, что два основных компонента охватывают почти всю информацию: первый представл€ет собой комбинацию промышленного производства и индекса потребительских цен, в основном представл€ющих ¬¬ѕ (подразумеваемую переменную, лежащую в основе обоих), а второй Ч комбинацию уровн€ преступности и неравенства доходов (подразумеваема€ переменна€, представл€юща€ что-то похожее на социальные волнени€).

¬ нашем случае многомерна€ матрица Ч это совокупность всех позиций, подач, скоростей и нагрузок (33 переменных дл€ этого станка). ћы сводим все эти переменные к двум главным компонентам, которые собирают важную информацию из 33 исходных переменных. ћы можем идентифицировать разъединени€ отношений, так как значени€ в главных сигналах будут чувствительны, когда между оригинальными 33 переменными возникают необычные отношени€.

машинное обучение „ѕ”

Ќайд€ скрытые сигналы, мы можем построить их получить довольно последовательный сигнал. — этим очищенным сигналом мы можем начать решать более трудную задачу по обнаружению аномалий.

машинное обучение „ѕ”


ѕодробнее о возможност€х аналитической платформы MachineMetrics и еЄ отличи€х от других систем мониторинга оборудовани€ читайте в статье: Ђѕочему стартап, разрабатывающий аналитическую платформу дл€ дискретного производства, стал новостным хедлайнеромї.


ѕродолжение серии: „асть 3: методы кластеризации данных


„итайте также:


¬акансии:

јктуальное обсуждение

RSS-лента комментариев

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: –аботаешь в »“, остерегайс€ говорить о платформах
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2020 √руппа компаний «Ћ≈ƒј—»

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