Введение

Это третья часть серии сообщений в блогах, демонстрирующих, как создать платформу управления данными и аналитики промышленного Интернета вещей (IIoT) на облачной платформе Google (GCP). В предыдущих частях мы создали платформу для сбора данных первой мили, хранения, аналитики в реальном времени и оповещения с использованием FogLAMP, Dataflow и BigQuery. Мы также настроили набор готовых к использованию информационных панелей Looker для визуализации и анализа данных IIoT в режиме реального времени с упором на варианты использования в нефтегазовой отрасли.

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

Как обнаружение аномалий помогает промышленному сектору?

Распознавание и реагирование на аномалии, особенно в металлургической промышленности, имеет важное значение для поддержания стабильности и эффективности бизнес-процессов. Один из способов добиться этого — применить различные инструменты, предлагаемые облачной платформой Google. Эти сервисы позволяют внедрять широкий спектр инструментов искусственного интеллекта (ИИ) и машинного обучения (МО) в сочетании с платформой потоковой аналитики корпоративного класса.

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

Что такое BigQuery ML?

Используя инструменты GCP в этом проекте, они обеспечивают четкую операционализацию сложных проектов, которые обычно требуют передовых методов управления большими объемами данных. В частности, BigQuery ML — это инструмент, который позволяет создавать и выполнять модели машинного обучения в BigQuery с использованием стандартных SQL-запросов. BigQuery увеличивает скорость разработки моделей, устраняя необходимость экспорта данных из хранилища данных. Это снижает сложность, так как требуется меньше инструментов. Кроме того, это упрощает и ускоряет производственный процесс, поскольку перемещение и форматирование данных для платформ машинного обучения Python не требуется для обучения моделей в BigQuery.

Обнаружение отказа промышленного ковша

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

В рамках нашего проекта была построена система обнаружения аномалий для распознавания аномальных моделей движения промышленных ковшей.

Данные, используемые в проекте, содержат следующее:

  • заданная скорость движения цепи ковша — заданная скорость, выбираемая системой управления ковшом
  • фактическая скорость движения цепи ковша
  • положение цепи, которое описывает ее точку опоры

Микроразрывы и другие повреждения в точках опоры цепи вызывают отклонения фактической скорости от заданной, более заметные, чем наблюдаемые в нормальных условиях. Эти выбросы можно рассматривать как указание на то, что определенные сегменты цепи необходимо проверить на предмет возможных повреждений. Таким образом, целью проекта является обнаружение аномалий (т. е. определение статистически значимых отклонений фактической скорости движения от заданной скорости).

Архитектура

Ключевые компоненты конвейера обнаружения аномалий выделены ниже:

Основные этапы пайплайна:

  1. Загрузка данных из экземпляра FogLAMP в топик Pub/Sub.
  2. Нормализация выборки данных и запись ее в BigQuery с помощью Dataflow.
  3. Кластеризация на основе BigQuery ML и обнаружение аномалий с использованием запланированных сценариев BigQuery.
  4. Переобучение модели кластеризации с использованием запланированных скриптов BigQuery.

Потоковая передача данных

Данные генерируются на основе набора исторических данных о перемещениях промышленных ковшей. Объединение нескольких измерений с гауссовским шумом позволяет нам генерировать новые объекты временных рядов, представляющие весь цикл перемещений ковша. FogLamp собирает и публикует сгенерированные объекты в теме Pub/Sub. Часть 1 серии сообщений в блоге содержит более подробную информацию о процессе загрузки.

Ниже приведен пример одной выборки данных, описывающей цикл движения ковша в формате временного ряда.

После нормализации данные упорядочиваются и хранятся следующим образом:

BigQuery: расчет аномалий

Во-первых, алгоритм кластеризации k-средних в BigQuery ML используется для обучения модели и маркировки кластеров различных режимов работы и заданных скоростей. После экспериментов с несколькими размерами кластеров оценка модели, основанная на методе локтя, показала, что следует использовать одиннадцать кластеров. Стандартное отклонение заданного значения скорости для каждого кластера было рассчитано для дальнейшего использования.

BigQuery ML позволяет обучать и хранить модель непосредственно в BigQuery без использования других внешних инструментов. Ниже приведен код обучения модели кластеризации:

CREATE OR REPLACE MODEL foglamp_demo.clustering_model  
options(model_type='kmeans', num_clusters = 11, standardize_features = false) 
AS 
select
  value as setpoint_velocity
from foglamp_demo.measurements_raw
where property_measured = 'setpoint_velocity'
  and value is not null

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

Код расчета:

create table industrial_ladle_demo.ladle_clusters_statistics as 
select 
  CENTROID_ID,
  STDDEV(setpoint_velocity) as velocity_std,
  3 as num_std,
  3 * STDDEV(setpoint_velocity) as velocity_std_threshold
FROM ML.PREDICT(MODEL industrial_ladle_demo.clustering_model, 
  (
    select 
      setpoint_velocity 
    from industrial_ladle_demo.ladle_hist
        )
  )
group by CENTROID_ID

Запланированная задача BigQuery вычисляет аномалии каждые 15 минут. Наконец, результаты обнаружения аномалий сохраняются в BigQuery следующим образом:

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

BigQuery ML: переобучение модели кластеризации

Поскольку BigQuery ML позволяет обучать модели с использованием стандартного SQL для автоматизации всего процесса создания моделей и обучения, были использованы запросы по расписанию. Поэтому переобучение модели кластеризации и расчет статистики стандартного отклонения для каждого кластера планируется проводить еженедельно, при условии, что этот период является разумным с точки зрения сбора новых объемов данных.

Визуализация

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

Заключение

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