Модель никогда не будет лучше данных, на которых она построена

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Доброго времени суток!

Меня зовут Дмитрий.

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

Решил поделиться очередной историей проведения исследований. 

Введение

Ядром исследований в моей работе являются модели.  Моделирование — это метод воспроизведения и исследования фрагмента действительности, (предмета, явления, процесса, ситуации) основанный на представлении объекта с помощью модели.

Все множество моделей можно условно разделить на два больших класса:

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

По мне, ужасно выглядит.

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

То есть мы, как наблюдатели, можем видеть только входные и выходные параметры некоего моделируемого процесса. Что происходит внутри, неясно. 

Постановка задачи

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

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

Необходимо построить такую модель, которая будет имитировать (повторять) поведение реальной температуры дымовых газов после горелки в зависимости от того, сколько газа мы на эту горелку подаем.

Таким образом, получится рассчитать такую систему регулирования горелкой, которая будет успешно справляться с поставленной задачей. На реальном объекте при «наладке» такой системы управления с использованием промышленных экспериментов пришлось бы сжечь сотни кубометров топлива. А это немалые деньги.

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

Инструменты

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

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

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

Существенным недостатком класса нейросетевых моделей является сложность обучения, требования значительного объема данных обучения и недоступность промежуточных вычислений, выполняющихся в «черном ящике». В то же время, ИНС являются мощным инструментом при моделировании сложных, нелинейных и многопараметрических объектов.

Искусственные нейронные сети (ИНС или искусственные НС)

При использовании регрессии в решении поставленной задачи результаты оказались грубыми. Одной из причин может быть явно выраженная нелинейность моделируемого объекта. Дальше попробуем решить задачу с привлечением ИНС.

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

Рекуррентные нейронные сети (РНС)

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

Отдельным типом ИНС в данной статье я выделил РНС. Рекуррентные нейронные сети это тип НС, предназначенный для распознавания паттернов в последовательности данных, будь это текст, геном, почерк, произнесенные слова, или числовые последовательности, исходящие из сенсоров, рынка акций и пр.

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

«Последовательности» – ключевое слово в этом определении. РНС используют предысторию процесса, что позволяет их успешно использовать в задачах идентификации динамических систем.

Отлично, с инструментами разобрались!

Эксперимент

Далее представлен фрагмент данных технологического процесса сгорания природного газа на исследуемой горелке в условиях производства.

На графиках представлены тренды параметров расхода природного газа, измеряемого расходомером на линии подачи газа после регулирующей арматуры и параметра температуры дымовых газов под решеткой сушилки, которая измеряется с помощью датчика термосопротивления. Измерение производилось раз в 5 секунд.

Все выглядит понятно. Газ выше – температура увеличивается, и наоборот. Но получилось как в сказке: дед бил-бил, не разбил… И я бил-бил эту задачу, не получалось! ПРОСТО НЕ ПОЛУЧАЛОСЬ! Модель вела себя капризно, как ребенок.

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

Миссия невыполнима?

Мораль 1: очень важно вовремя сделать перерыв, иначе можно в исследовании уйти совсем не туда.

Через какое-то время снова посмотрел на сырые данные и что я увидел? Расход воздуха сильно влияет (значительно) на поведение температуры сгоревших газов. Особенно это видно на периодах, когда расход газа не меняется, а температура «плывет». (Сверху вниз: тренд расхода воздуха, расхода газа, температуры)

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

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

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

Ничего, ошибок не делает только тот, кто ничего не делает.

Канал измерения расхода воздуха сильно зашумлен. В среднем, параметр изменяется каждые 5 секунд на 5 тыс. куб.м./час. Попробуем использовать фильтр.

Разница есть, но небольшая. Используем усреднение прошедшего скользящего окна. Использовал три варианта с окном в 30, 50 и 300 точек.

Далее попробовал посмотреть какая из этих функций наиболее близко походит на график изменения параметра температуры. Для этого нормализовал все рассматриваемые временные ряды параметров процесса.

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

В данном случае было проверено, какого окна усреднения будет достаточно чтобы сеть распознавала полезную составляющую сигнала расхода воздуха. Более близко усреднение по окну в 300 точек. Но при обучении может оказаться наоборот. На это указывают выводы авторов в исследовании: (https://ieeexplore.ieee.org/abstract/document/809097).

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

Построил нормализованные графики.

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

Что ж, используем в ходе экспериментов два параметра (расход газа и расход воздуха с фильтрацией и без).

Анализ результатов

Построил по пять РНС моделей с использованием различных вариантов фильтрации параметра расхода воздуха) со следующими гиперпараметрами:

1.      15 нейронов в скрытом слое

2.      Задержка по входам на 5 тактов

3.      Память выхода на 7 тактов

Почему по пять РНС? Потому что при обучении начальные веса нейронов принимают случайные значения. В выводах откроется, к чему это приводит.

Номер модели

MSE (Среднеквадратичная ошибка работы сети) на тестовых данных

РНС на сырых данных

РНС на усредненных по 30 точкам данных

РНС на усредненных по 50 точкам данных

РНС на усредненных по 300 точкам данных

1

16,78371

29,96932

14,24177

216,658

2

22,38716

60,76088

26,74221

5,311396

3

9,980965

68,94234

33,23217

25,66592

4

35,90194

18,98549

25,59462

9,314115

5

5,195285

10,64459

34,94109

230,6077

 Визуализируем полученные результаты:

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

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

Выводы

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

Выяснено, что помимо параметра расхода газа на температуру дымовых газов влияет и расход подмешиваемого воздуха. Также, соответственно результатам работы (https://ieeexplore.ieee.org/abstract/document/809097), все действия по фильтрации временного ряда расхода воздуха оказались бесполезными, нейронные сети лучше обобщают именно зашумленные данные.

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

Мораль 2. Что я понял из этой истории? Все крутится вокруг данных. Нужно быть внимательнее на этапе предварительной обработки и планирования факторного пространства будущей модели. Тем самым можно избежать 80 % ошибок на дальнейших этапах.

P.S. Подробнее о нечеткой логике:  https://habr.com/ru/post/125614/

Подробнее об ИНС: https://habr.com/ru/post/369349/

Обзорная статья об основных типах НС: https://habr.com/ru/company/wunderfund/blog/313696/

Подробнее об РНС: https://habr.com/ru/post/326966/\

P. P. S. Галопом по Европам, это же не научная статья, все что непонятно спрашивай в комментариях или Гугл в помощь!

P. P. P. S.  Статья по проведенным исследованиям на том же объекте: ПОВЫШЕНИЕ ТОЧНОСТИ ВИРТУАЛЬНОГО АНАЛИЗАТОРА ОСТАТОЧНОЙ ВЛАЖНОСТИ KCL ПОСЛЕ ПЕЧИ КИПЯЩЕГО СЛОЯ С ИСПОЛЬЗОВАНИЕМ КЛАСТЕРНОГО АНАЛИЗА // Вестник ПНИПУ. Электротехника, информационные технологии, системы управления. 2021. №37. URL: https://cyberleninka.ru/article/n/povyshenie-tochnosti-virtualnogo-analizatora-ostatochnoy-vlazhnosti-kcl-posle-pechi-kipyaschego-sloya-s-ispolzovaniem-klasternogo (дата обращения: 05.11.2021).

Источник: https://habr.com/ru/post/668566/


Интересные статьи

Интересные статьи

Привет, чемпион! Если ты читаешь этот пост, значит, тебе стало интересно, не допускаешь ли этих ошибок ты?! Почти уверен, что ты допускал эти ошибки хотя бы раз в жизни. Мы не застрахованы от сов...
Привет. Эта статья — текстовая версия моего доклада на конференции RAUX 2021. Ниже будет ссылка на видео.Я делаю крупные приложения для топовых российских компаний. В основном для банков. Стараюсь бол...
Это ответ на переведенную публикацию «Почему Kotlin хуже, чем Java?». Поскольку исходная аргументация опирается всего на два примера, то не теряя времени пройдем по этим «недостаткам» Kot...
Команда Rust рада объявить о новой версии Rust 1.46.0. Rust — это язык программирования, который позволяет каждому создавать надёжное и эффективное программное обеспечение. Если у ва...
19-20 апреля, то есть уже на этих выходных, пройдёт конференция C++ Russia. Это два дня и несколько треков хардкорных технических докладов, посвященных C++: concurrency, производительность, архит...