Применение искусственного интеллекта и машинного обучения в задачах промышленности не настолько распространено, как в других сферах и отраслях экономики вроде банкинга, ритейла, телекома. При этом современные промышленные объекты часто генерируют и собирают большое количество данных, а методы машинного обучения обеспечивают эффективное использование этих данных для решения различных устоявшихся типовых задач: выявления неисправностей и отказов, прогноз качества продукции, определения остаточного срока службы оборудования и многих других. Как раз про решение одной из типовых задач - задачи определения остаточного ресурса я и рассказывал на конференции https://datastart.ru в ноябре 2022 года, а также на митапе ИИшницы “ИИ в индустрии”, откуда даже сохранилось видео. В этом посте я соберу, структурирую и немного дополню информацию из докладов. Основной фокус поста на подходах, основанных на машинном обучении и анализе данных, однако данная задача также ставится и решается в классической теории надежности. Более подробно об этом можно почитать в статьях на хабре (статья 1, статья 2), в ГОСТ 27 "Надежность в технике" и в учебниках или специализированной литературе (пример 1). А теперь давайте перейдем к самому посту. На основании ГОСТов и международных стандартов в процессе диагностирования машин можно выделить 4 основных этапа: Обнаружение аномалий в работе или неисправностей, Локализация неисправности или выход на конкретные сигналы, вносящие наибольший вклад в обнаружение неисправности, Выход на диагноз, представляющий собой определение коренных причин возникновения неисправности, а также Прогноз развития неисправности или, другими словами, оценка (прогноз) остаточного ресурса оборудования. Высокое качество решения этих задач, благодаря эффективному внедрению технологий анализа данных позволяет промышленным предприятиям перейти на стратегию технического обслуживания по состоянию (condition-based maintenance). Типичная схема цикла диагностирования оборудования представлена на рисунке ниже. В этом посте речь идет о задаче оценки остаточного ресурса, при этом результат решения задач обнаружения неисправностей, локализации и выхода на диагноз могут как использоваться, так и не использоваться при прогнозе остаточного ресурса, но все зависит от применяемого подхода. Для начала давайте дадим определение (согласно ГОСТ Р ИСО 13381-1-2016. Контроль состояния и диагностика машин. ПРОГНОЗИРОВАНИЕ ТЕХНИЧЕСКОГО СОСТОЯНИЯ. Часть 1. Общее руководство): 	Остаточный ресурс - оставшееся время до перехода машины в неработоспособное состояние (или до перехода в состояние, при котором машине потребуется ремонт или замена). Проиллюстрировать определение можно следующим образом: То есть в каждый момент времени мы можем оценить время до возникновения критического состояния, обозначенного красной точкой. При этом время может быть оценено в днях, полетах, циклах, пробегах, плавках или каких-то других величинах, все зависит от постановки задачи и доступных данных. Решение задачи определения остаточного ресурса дополнительно позволяет выявлять факторы, влияющие на сокращение остаточного ресурса (если вдруг красная точки согласно нашему прогнозу начинает двигаться влево, то есть расстояние до нее сокращается), и устранять нежелательное воздействие факторов в настоящем и будущем. Кстати, появление аномального состояние (не путать с неработоспособным, ведь с незначительными аномалиями оборудование иногда может работать годами) может являться одним из факторов, учитываемым в модели, например, в виде времени работы узла оборудования в аномальном состоянии. Также важно немного разобраться с терминологией, поэтому перечислю различные синонимы остаточного ресурса, которые я встречал в литературе (означают они примерно одно и то же): Remaining useful life (RUL) Time to failure (TTF) Оставшееся время жизни Residual useful life Remaining lifetime Зная остаточный ресурс, технологический персонал, инженеры, операторы, ремонтные службы, диагносты могут: планировать ремонты оптимизировать стратегию технического обслуживания оборудования (заменять большие ремонты мелкими, сокращать количество процедур и манипуляций с оборудованием и тд) оптимизировать режимы работы и загрузку оборудования избегать и сокращать количество и длительность внеплановых остановок  Поэтому данная задача является одной из важнейших в диагностике и критической для перехода к стратегии обслуживания по состоянию. При решении задачи нам могут быть доступны различные данные, поэтому некоторые подходы и методы могут быть неприменимы. Давайте классифицируем потенциально доступные данные, чтобы при представлении методов опираться на то, какие данные необходимы: Данные о работе оборудования (технологические параметры, сигналы с датчиков за весь срок работы оборудования с момента запуска до моментов отказа): Данные о времени работы оборудования до отказа (длительность “пробегов” до отказа) Информация о допустимых значениях (контрольные пределы) для отдельных сигналов или индикаторов технического состояния, достижение которых сигнализирует выход из строя Статистическая оценка Мы можем использовать функцию распределения времени до отказа, построенную на исторических данных, для оценки остаточного ресурса оборудования: Это один из самых простых методов, для которого нужны лишь множество данных о длительности работы оборудования до отказа. Также можно рассчитать характеристику “функция выживания” (survival function или survival model) = 1 - cdf. Добавляя какие-то дополнительные (косвенные) данные о работе оборудования, можно повышать качество работы метода, например, выделяя различные режимы и строя для каждого режима свою функцию распределения (скорость деградации). Прогноз параметров Оценка остаточного ресурса основана на прогнозе параметров до пересечения контрольного предела. Такой подход также называют подходом оценки деградации (degradation model) и различают 2 основных закона деградации: Линейная деградация: прогноз представляет собой прямую, угол наклона которой определяется историческими данными. Как правило, применяется, если система не накапливает повреждения (деградацию). Экспоненциальная деградация: прогноз представляет собой экспоненту. Как правило, применяется, если система может кумулятивно накапливать повреждения.  В данном случае есть 2 варианта выбора параметров для прогноза: Прогноз сигнала с датчика Прогноз индекса технического состояния Для обоих вариантов необходимы данные о работе оборудования (технологические параметры, сигналы с датчиков), но для второго случая на их основе строится индекс или индикатор технического состояния (health indicator), который далее прогнозируется. Индикатор технического состояния может представлять из себя компоненту из PCA, результат агрегации различных показателей, невязку между моделью нормального режима работы и реальными данными и тд, вбирая в себя как можно больше информации, не основываясь только на одном сигнале. Также необходимы контрольные пределы или информация о времени работы оборудования до отказа (длительность “пробегов” до отказа), с помощью которых вместе данными о работе оборудования можно рассчитать контрольные пределы самостоятельно (при достаточной статистике). Прогнозировать параметры можно разными методами, некоторые подробно разобраны в лекции от ODS по ссылке (с кодом!). На основе моделей регрессии В данном случае мы приводим задачу к классической регрессионной постановке. Для этого мы выделяем из временных рядов (технологических параметров или индексов технического состояния) признаки, например, с помощью библиотеки TSFresh. Схема выделения признаков представлена на рисунке ниже: В результате чего у нас формируется выборка признаков - X, и нам нужна выборка ответов (времен до отказа) - y. Таким образом, для данного подхода нужны данные о работе оборудования (технологические параметры, сигналы с датчиков) и данные о длительности работы оборудования до отказа (длительность), а задача может решаться как классическая задача регрессии на табличных данных любыми SOTA (читай, ансамблевыми) методами. На основе схожести с паттернами из прошлого Последний из наиболее распространенных подходов к оценке остаточного ресурса основан на сопоставлении текущего пробега или состояния с историческими данными. Исторические пробеги мы можем обрезать до того же момента времени, что есть у текущего пробега. Подход также известен как модель близости (similarity model). Для данного подхода есть 2 основных варианта реализации: Прямое сравнение временных рядов, используя метрики близости, например, Dynamic Time Warping (DTW) или методы кластеризации/классификации, основанные на близости. Примеры с кодом можно найти здесь, также можно воспользоваться готовыми библиотеками, например, tslearn. Выделение признаков из временного ряда и дальнейшее сравнение полученных векторов признаков (метрики близости, кластеризация). В результате в качестве остаточного ресурса мы выбираем значение ближайшего из истории пробега или осредненного (или любая другая агрегация) по группе (кластеру) пробегов. Для реализации подхода требуются данные о работе оборудования (технологические параметры, сигналы с датчиков) и данные о длительности работы оборудования до отказа (длительность). Как мы выяснили ранее, важной сопутствующей задачей при оценке остаточного ресурса является определение факторов, которые на этот ресурс влияют и влияют в первую очередь негативно, вызывая повышенный износ. Под факторами, вызывающими износ оборудования, стоит в первую очередь понимать конкретные сигналы, указывающие на локализацию проблемы, приводящей к аномальному состоянию и износу оборудования. Эта информация может быть передана персоналу для указания, например, на нежелательные режимы работы. Далее можно совместно с экспертами в доменной области проводить анализ и выяснять, что становится причиной отклонения тех или иных сигналов от нормальных значений и деградации оборудования на основе этих показаний. Стоит разделить 2 понятия: Важные признаки для модели в целом: Факторы, оказывающие наибольшее влияние на результат оценки остаточного ресурса (самые важные признаки модели). Вклад признаков на данном показании модели: Факторы, оказавшие наибольшее влияние (объясняющие) на текущее оценку остаточного ресурса. То есть влияющими на износ в терминах первого понятия являются факторы, уменьшающие прогноз модели, а в рамках второго понятия - факторы, повлиявшие на низкое значение текущего прогноза. Для моделей машинного обучения такие библиотеки как Shap могут выдавать как первые, так и вторые факторы.  Для каждого из перечисленных подходов выявление факторов производится по-своему: Статистическая оценка: возможно только при наличии дополнительных косвенных данных, например, разные наклоны кривой распределения (=скорость деградации) для разных режимов работы. Прогноз параметров: в качестве факторов, влияющих на износ оборудования, могут выбираться именно те сигналы, которые раньше других пересекли контрольные пределы. На основе моделей регрессии: feature importance для моделей машинного обучения, Shap и другие методы оценки важности признаков и объяснения показаний моделей. На основе схожести с паттернами из прошлого: может быть как в предыдущем пункте (если строятся модели машинного обучения), либо в качестве факторов, повлиявших на износ оборудования, берутся те, которые в итоге повлияли на фактический износ оборудования для отказа оборудования из прошлого, с которым схож текущий цикл/прогон. Эта информация может быть доступна по итогам анализа отделом диагностики. Расскажу о паре практических кейсов по решению задачи определения остаточного ресурса их своего опыта. Начнем с пары терминов: Машина непрерывного литья заготовки (МНЛЗ) – это агрегат, который позволяет преобразовать жидкую сталь в твердую заготовку заданного сечения, из которой в дальнейшем производится прокат, например, арматура. Гильза кристаллизатора – наиболее ответственная и быстроизнашиваемая часть кристаллизатора МНЛЗ. Гильза представляет собой водоохлаждаемую медную трубу круглого или профильного сечения. Расплавленный металл, контактируя со стенками гильзы, кристаллизуется и, тем самым, формируется первичная твердая оболочка слитка. Более подробно об установке и процессе можно почитать в статье от Евраза. Основная проблема, с которой сталкивается производство при эксплуатации гильз, это образование дефектов поверхности медной трубы гильзы, искажение профиля её внутренней полости. При этом нарушается тепловой режим работы, что, в свою очередь, отражается на качестве получаемых слитков: появляются дефекты формы (например, диагонали квадратного слитка оказываются неравны, возникает так называемый дефект “ромбичность”), изменяются размеры сторон, могут появиться трещины в углах. Указанные дефекты приводят к проблемам в следующем переделе (в прокатке): снижается качество продукции, растет количество брака, что неблагоприятно влияет на экономику производства. Размеры гильзы с определенной периодичностью измеряются по всей длине, при отклонении этих размеров от основных параметров происходит их отбраковка. Может наблюдаться уменьшение срока службы медных гильз кристаллизатора на производстве, что может быть связано с изменением параметров работы самой МНЛЗ (температура входящей стали, температура охлаждающей воды и пр.), поэтому данные признаки также включены в модель. Модель строится для оценки остаточного ресурса, изменяющегося в тоннах или оставшихся плавках. Большое число трансформаторов имеют возраст более 25 лет. Это делает еще более актуальной задачу своевременного обнаружения неисправностей, так как техническое обслуживание и ремонт требует корректного планирования для снижения издержек. Как мы знаем, решение задачи оценки остаточного ресурса - важнейшее звено для корректного планирования ремонтов, особенно с учетом солидного возраста оборудования, часто превышающего установленные пределы эксплуатации (не пугайтесь, продление срока эксплуатации происходит только после тщательной диагностики). Кстати, про решение задачи поиска аномалий для трансформаторов можно почитать в нашей статье на архиве. В качестве исходных данных мы используем результаты ХАРГ (хроматографического анализа растворенных газов), то есть у нас есть концентрации четырех измеренных каждые 12 часов в трансформаторном масле газов (H2; CО; C2H4; C2H2), то есть данные о работе оборудования, и данные о времени работы оборудования до отказа (длительность пробегов). В итоге мы обучили модель со средней абсолютной ошибкой в 27 дней. Давайте опять начнем с терминов: Эксгаустер — это центробежный нагнетатель, основной задачей которого в агломерационном производстве является просос воздуха через слой шихты, лежащей на колосниковой решётке агломерационной машины.  Эксгаустер является критически важным компонентом комплекса агломашины - его неплановая остановка приводит к остановке агломашины и, как следствие, к потерям из-за недовыпуска продукции. Основной причиной остановок эксгаустера является износ ротора. Износ зависит от различных факторов и поэтому его срок службы непостоянен. Заблаговременное прогнозирование превышения предельно допустимых параметров позволит провести замену ротора в плановые остановки агломашины на обслуживание, что позволит исключить (или значительно снизить) внеплановые простои.  Задача в терминах машинного обучения формулируется примерно следующим образом: необходимо определить время до простоя на горизонте месяц, рассчитывая для каждой точки выборки точное время до наступления простоя. В рамках решения задачи были сформированы следующие гипотезы для проверки применимости разных подходов к решению задачи: (Не показал достаточное качество) Прогноз индекса технического состояния. Можно построить индекс технического состояния на основе моделей нормального режима работы (semi-supervised подход), после чего прогнозировать индекс до пересечения с заранее вычисленной уставкой, сигнализирующей о возникновении простоя. (Выбран как основной) Регрессия. Можно построить регрессионную модель, для которой в качестве целевой переменной выбрано время до простоя. В итоге для решения задачи выстроен следующий ML пайплайн (опущены этапы предварительной обработки данных): Выделение 60-ти дневных интервалов до начала неисправности (только для обучения) Скользящим окном нарезка данного интервала на 7-ми дневные интервалы, каждому из которых соответствует 1 число - остаточный ресурс до простоя Сведение двумерного набора данных (7 дней*количество признаков) до вектора признаков (1 точка*количество выделенных признаков) с помощью tsfresh, каждому из которых соответствует 1 число - остаточный ресурс до простоя Сбор всех векторов в общую выборку Постановка и решение задачи обучения модели регрессии Инференс модели для новых данных В качестве исходных данных мы используем сигналы из АСУ ТП, данные о ТОиР из SAP, а также данные ручного ввода, а финальная ошибка составляет менее 5 дней на 60-тидневном интервале до неисправности. Больше кейсов и датасетов для тренировки, как и общих кейсов применения машинного обучения в промышленности, можете найти в моем обзорном репозитории: Я создал телеграм канал DataKatser, где появляюсь гораздо чаще и делюсь своими мыслями и интересными кейсами по data science, машинному обучению и искусственному интеллекту. Буду рад вашей подписке !  Эксперт по ML/DS/AI в задачах промышленности