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

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

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

В этом посте мы сталкиваемся с задачей профилактического обслуживания, как и в других предыдущих связанных статьях: Предиктивное обслуживание с CNN и Предиктивное обслуживание с CRNN. Особенность здесь в том, что мы используем только один источник высокочастотного сигнала, чтобы сделать наши окончательные прогнозы. Применение специального преобразования, основанного на кепстральных коэффициентах Mel-Frequency (MFCC), является фундаментальным для извлечения характеристик из сигнала. Этот шаг позволяет нам принять структуру остаточной сверточной нейронной сети, которая изучает правильную скрытую структуру наших данных.

ДАННЫЕ

В нашу задачу входит исследование гидравлического трубопровода в условиях давления. Данные собираются репозиторием UCI. В Мониторинге состояния гидравлических систем отслеживается состояние активности различных компонентов системы.

Набор данных был экспериментально получен на гидравлическом испытательном стенде. Этот испытательный стенд состоит из первичного рабочего и вторичного контуров охлаждения-фильтрации, которые соединены через масляный бак. Система циклически повторяет циклы постоянной нагрузки (продолжительность 60 секунд) и измеряет параметры процесса, такие как давление, объемный расход и температуру, в то время как состояние четырех гидравлических компонентов (охладитель, клапан, насос и аккумулятор) изменяется количественно.

Точнее, мы сосредоточены на мониторинге состояния всей системы (помеченной меткой стабильный как стабильный или нестабильный), анализируя двигатель власть. Этот KPI контролируется одним датчиком, который регистрирует сигнал с частотой дискретизации 100 Гц.

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

Необработанные сигналы стандартизируются с использованием разницы первого порядка и обрезаются, чтобы ограничить безумные значения. Таким образом, стандартизованные сигналы используются для генерации MFCC.

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

  • взять преобразование Фурье из оконных фрагментов необработанных сигналов;
  • отобразить мощности полученного выше спектра на мел-шкале;
  • возьмите дискретное косинусное преобразование мел-логарифмических степеней;
  • MFCC - это амплитуды результирующего спектра.

Их применение в аудиоанализе - обычное дело, но мы используем их здесь из-за их способности работать с высокочастотными данными.

МОДЕЛЬ

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

Более глубокие сети труднее оптимизировать. Добавляя в сеть дополнительные слои, мы усложняем тренировочный процесс. Нашему алгоритму оптимизации становится сложнее минимизировать потери. Остаточные структуры пытаются решить эту проблему, добавляя пропускаемые соединения. Пропускаемое соединение добавляет отображение одной начальной точки в сети на прямую. Если сеть больше не может узнать, веса сети остаются неизменными, в противном случае, если регистрируются улучшения (при оптимизации потерь или показателей), веса сети соответственно изменяются.

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

def residual_block(init, hidden_dim):
 
    init = Conv1D(hidden_dim, 3, 
                  activation=’relu’, padding=”same”)(init)
 
    x = Conv1D(hidden_dim, 3, 
               activation=’relu’, padding=”same”)(init)
    x = Conv1D(hidden_dim, 3, 
               activation=’relu’, padding=”same”)(x)
    x = Conv1D(hidden_dim, 3, 
               activation=’relu’, padding=”same”)(x)
    
    skip = Add()([x, init])
 
    return skip

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

РЕЗЮМЕ

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

ПРОВЕРИТЬ РЕПО НА GITHUB

Оставайтесь на связи: Linkedin