Все больше внимания уделяется оптимизации процессов, в-основном, в виде снижения затрат на производство продукции. Снижения затрат можно достигнуть модернизированием оборудования, но данный подход влечет за собой множество затрат на проектирование, покупку, реконструкцию и пр., а также сопровождается недополученной прибылью во время простоя реконструируемого объекта. Но также возможно использовать математический подход для поиска неэффективности в технологическом процессе, об и этом и пойдет речь далее.
Нейронная сеть представляют собой систему соединённых и взаимодействующих между собой простых процессоров (нейронов).
Рисунок 1. Структурная схема нейронной сети (зеленый цвет – входной слой нейронов, синий – скрытый(промежуточный) слой нейронов, желтый – выходной слой нейронов).
Нейрон – базовый элемент нейронной сети, единичный простой вычислительный процессор способный воспринимать, преобразовывать и распространять сигналы, в свою очередь объединение большого количества нейронов в одну сеть позволяет решать достаточно сложные задачи.
Рисунок 2. Схема нейрона.
Нейросетевой подход свободен от модельных ограничений, он одинаково годится для линейных и сложных нелинейных задач, а также задач классификации. Обучение нейронной сети в первую очередь заключается в изменении «силы» связей между нейронами. Нейронные сети масштабируемы, они способны решать задачи как в рамках единичного оборудования, так и в масштабах заводов в-целом.
Цель — прогнозирование содержания серы в продукте с максимально возможной точностью, что в свою очередь позволит держать основные технологические параметры в оптимальных значениях как для качества продукта, так и с точки зрения оптимизации процесса.
Единицы измерения — ppm (одна миллионная доля).
Входные данные — исторические значения технологических параметров объекта.
Данные для проверки прогноза сети — ежесуточные лабораторные анализы содержания серы.
Всего было использовано 531 наблюдение, общая выборка была поделена следующим образом: 70% наблюдений выборки использовалось для обучения сети, 30% использовалось в качестве контрольной выборки для оценки качества обучения сети и дальнейшего сравнения сетей между собой. Среднее содержание серы во всех наблюдениях составило 316,7ppm.
Всего по результатам обучения было отобрано 4 сети, сети имеют следующую конфигурацию:
Сеть №1: 20-22-1
Сеть №2: 20-26-1
Сеть №3: 20-27-1
Сеть №4: 20-16-1
Конфигурация сетей представлена в виде AA-BB-C, где AA – количество нейронов во входном слое, BB – количество нейронов в скрытом слое, C – количество нейронов в выходном слое.
Обучение сетей производилось в специализированных пакетах, на данный момент их великое множество (SPSS, Statistica и пр), ниже приведены гистограммы распределения ошибок обученных сетей на всем множестве наблюдений:
Рисунок 3. Гистограмма распределения ошибки для сети №1.
Рисунок 4. Гистограмма распределения ошибки для сети №2.
Рисунок 5. Гистограмма распределения ошибки для сети №3.
Рисунок 6. Гистограмма распределения ошибки для сети №4.
По полученным гистограммам можно сделать вывод, что ошибка сети подчиняется нормальному закону распределения, т.е. можно разделить размер ошибки на 3 области (для упрощения распределение считается нормализованным):
±σ1 (область 1 сигма — величина ошибки в 68% процентах прогнозов находится в данном диапазоне);
±σ2 (область 2 сигма — величина ошибки в 95% процентах прогнозов находится в данном диапазоне);
±σ3 (область 3 сигма — грубые ошибки, промахи, менее чем в 5% процентах случаев, величина ошибки больше, чем в области ±σ2).
Ошибки по областям распределения:
№ сети и ±σ1 (68% прогнозов)
Сеть №1: ±16,4ppm
Сеть №2: ±18,3ppm
Сеть №3: ±19ppm
Сеть №4: ±18,6ppm
№ сети и ±σ2 (95% прогнозов)
Сеть №1: ±43,9ppm
Сеть №2: ±47,6ppm
Сеть №3: ±42,8ppm
Сеть №4: ±41ppm
Причина грубых ошибок (промахов) в области ±σ3 – это работа сети с данными сильно отличающимися от тех, которые присутствовали в обучающей выборке.
Также важным показателем качества обучения нейронной сети является величина средней абсолютной ошибки.
Размер средней абсолютной ошибки:
Сеть №1 — 14,4ppm
Сеть №2 — 13,4ppm
Сеть №3 — 14,3ppm
Сеть №4 — 13,6ppm
Ниже представлены графики зависимости содержания серы в продукте (лабораторный анализ) и величины абсолютной ошибки:
Рисунок 7. График зависимости содержания серы и абсолютной ошибки для сети №1.
Рисунок 8. График зависимости содержания серы и абсолютной ошибки для сети №2.
Рисунок 9. График зависимости содержания серы и абсолютной ошибки для сети №3.
Рисунок 10. График зависимости содержания серы и абсолютной ошибки для сети №4.
Для просмотра прогнозов в реальном времени использовалась собственная разработка на C#, данные получались от OPC-сервера, изначально было разработано приложение с минимальным набором возможностей (графики, XML-импорт, экспорт графика, добавление произвольного параметра на график), в дальнейшем планируется добавить сохранение истории в БД, сравнение прогнозов сети с реальными историческими значениями по заданным временным отметкам, обучение сетей уже в своем пакете, сравнение сетей между собой и не только.
Рисунок 11. Скриншот первой версии
Наименьшую ошибку сеть выдает при содержании серы в конечном продукте в диапазоне 240-250ppm ÷ 400-410ppm (содержание серы, полученное в результате лабораторного анализа, а не прогноза сети), это связано с тем, что большинство измерений было произведено именно в данном диапазоне, и, собственно, на них и была обучена сеть. Нейронные сети имеют способность к обобщению информации, т.е. способны давать прогноз, в том числе основываясь на данных с которыми сеть не работала до данного момента, используя закономерности обучающей выборки, но в данном случае не смотря на такую особенность сети следует помнить, что конечный результат будет малопредсказуем, но с уверенностью можно утверждать что ошибка возрастет.
В случае серьезных изменений на объекте сеть необходимо переобучить.
Резюмируя могу сказать, что опыт работы оказался продуктивным и исключительно интересным. Хотя и проведено немало сравнений и анализов полученных результатов, окончательные выводы делать пока еще рано. Но в результате опробования нейронных сетей на реальном объекте, можно сделать однозначный вывод, что данный подход имеет право на жизнь и обладает поистине богатым потенциалом.
Кратко о нейронных сетях
Нейронная сеть представляют собой систему соединённых и взаимодействующих между собой простых процессоров (нейронов).
Рисунок 1. Структурная схема нейронной сети (зеленый цвет – входной слой нейронов, синий – скрытый(промежуточный) слой нейронов, желтый – выходной слой нейронов).
Нейрон – базовый элемент нейронной сети, единичный простой вычислительный процессор способный воспринимать, преобразовывать и распространять сигналы, в свою очередь объединение большого количества нейронов в одну сеть позволяет решать достаточно сложные задачи.
Рисунок 2. Схема нейрона.
Нейросетевой подход свободен от модельных ограничений, он одинаково годится для линейных и сложных нелинейных задач, а также задач классификации. Обучение нейронной сети в первую очередь заключается в изменении «силы» связей между нейронами. Нейронные сети масштабируемы, они способны решать задачи как в рамках единичного оборудования, так и в масштабах заводов в-целом.
Брифинг
Цель — прогнозирование содержания серы в продукте с максимально возможной точностью, что в свою очередь позволит держать основные технологические параметры в оптимальных значениях как для качества продукта, так и с точки зрения оптимизации процесса.
Единицы измерения — ppm (одна миллионная доля).
Входные данные — исторические значения технологических параметров объекта.
Данные для проверки прогноза сети — ежесуточные лабораторные анализы содержания серы.
Обучение и проверка сетей
Всего было использовано 531 наблюдение, общая выборка была поделена следующим образом: 70% наблюдений выборки использовалось для обучения сети, 30% использовалось в качестве контрольной выборки для оценки качества обучения сети и дальнейшего сравнения сетей между собой. Среднее содержание серы во всех наблюдениях составило 316,7ppm.
Всего по результатам обучения было отобрано 4 сети, сети имеют следующую конфигурацию:
Сеть №1: 20-22-1
Сеть №2: 20-26-1
Сеть №3: 20-27-1
Сеть №4: 20-16-1
Конфигурация сетей представлена в виде AA-BB-C, где AA – количество нейронов во входном слое, BB – количество нейронов в скрытом слое, C – количество нейронов в выходном слое.
Обучение сетей производилось в специализированных пакетах, на данный момент их великое множество (SPSS, Statistica и пр), ниже приведены гистограммы распределения ошибок обученных сетей на всем множестве наблюдений:
Рисунок 3. Гистограмма распределения ошибки для сети №1.
Рисунок 4. Гистограмма распределения ошибки для сети №2.
Рисунок 5. Гистограмма распределения ошибки для сети №3.
Рисунок 6. Гистограмма распределения ошибки для сети №4.
По полученным гистограммам можно сделать вывод, что ошибка сети подчиняется нормальному закону распределения, т.е. можно разделить размер ошибки на 3 области (для упрощения распределение считается нормализованным):
±σ1 (область 1 сигма — величина ошибки в 68% процентах прогнозов находится в данном диапазоне);
±σ2 (область 2 сигма — величина ошибки в 95% процентах прогнозов находится в данном диапазоне);
±σ3 (область 3 сигма — грубые ошибки, промахи, менее чем в 5% процентах случаев, величина ошибки больше, чем в области ±σ2).
Ошибки по областям распределения:
№ сети и ±σ1 (68% прогнозов)
Сеть №1: ±16,4ppm
Сеть №2: ±18,3ppm
Сеть №3: ±19ppm
Сеть №4: ±18,6ppm
№ сети и ±σ2 (95% прогнозов)
Сеть №1: ±43,9ppm
Сеть №2: ±47,6ppm
Сеть №3: ±42,8ppm
Сеть №4: ±41ppm
Причина грубых ошибок (промахов) в области ±σ3 – это работа сети с данными сильно отличающимися от тех, которые присутствовали в обучающей выборке.
Также важным показателем качества обучения нейронной сети является величина средней абсолютной ошибки.
Размер средней абсолютной ошибки:
Сеть №1 — 14,4ppm
Сеть №2 — 13,4ppm
Сеть №3 — 14,3ppm
Сеть №4 — 13,6ppm
Ниже представлены графики зависимости содержания серы в продукте (лабораторный анализ) и величины абсолютной ошибки:
Рисунок 7. График зависимости содержания серы и абсолютной ошибки для сети №1.
Рисунок 8. График зависимости содержания серы и абсолютной ошибки для сети №2.
Рисунок 9. График зависимости содержания серы и абсолютной ошибки для сети №3.
Рисунок 10. График зависимости содержания серы и абсолютной ошибки для сети №4.
Программная реализация
Для просмотра прогнозов в реальном времени использовалась собственная разработка на C#, данные получались от OPC-сервера, изначально было разработано приложение с минимальным набором возможностей (графики, XML-импорт, экспорт графика, добавление произвольного параметра на график), в дальнейшем планируется добавить сохранение истории в БД, сравнение прогнозов сети с реальными историческими значениями по заданным временным отметкам, обучение сетей уже в своем пакете, сравнение сетей между собой и не только.
Рисунок 11. Скриншот первой версии
Выводы
Благоприятные условия работы для сети:
Наименьшую ошибку сеть выдает при содержании серы в конечном продукте в диапазоне 240-250ppm ÷ 400-410ppm (содержание серы, полученное в результате лабораторного анализа, а не прогноза сети), это связано с тем, что большинство измерений было произведено именно в данном диапазоне, и, собственно, на них и была обучена сеть. Нейронные сети имеют способность к обобщению информации, т.е. способны давать прогноз, в том числе основываясь на данных с которыми сеть не работала до данного момента, используя закономерности обучающей выборки, но в данном случае не смотря на такую особенность сети следует помнить, что конечный результат будет малопредсказуем, но с уверенностью можно утверждать что ошибка возрастет.
В случае серьезных изменений на объекте сеть необходимо переобучить.
Пути улучшения:
- Учет времени реакции
В силу того что цикл реакции (от момента замера характеристик сырья и его прохождения по всей установке до дальнейшей точки замера характеристик конечного продукта) имеет определенную длительность, то для более высокой корреляции данных требуется точное сопоставления параметров сырья к параметрам продукта, что позволит увеличить точность прогноза. - Фильтрация шума
Показания, замеряемые датчиками, помимо полезной составляющей сигнала также включают в себя шум. Данный шум незначительно, но искажает процесс обучения сети и, соответственно, ее последующие прогнозы как следствие обучения, для этого требует учет шумовой составляющей с последующим добавлением фильтров перед входами нейросети. Также возможна фильтрация выхода нейросети для более плавного изменения прогноза. Спектр фильтров на сегодняшний день достаточно обширен: от простейших фильтров медианы и экспоненты до вейвлетов. - Повышение частоты анализов
Увеличение количества замеров содержания серы в течение дня, что позволит увеличить количество данных для обучения сети и в свою очередь позволит получить более качественную сеть. - Повышение точности лабораторного анализа
При наличии технической возможности, повышение точности анализа (при увеличении точности на порядок) позволит сделать данные более гибкими для сети, т.к. для одного и того же значения серы существует большой разброс независимых параметров, что в свою очередь влечет увеличение ошибки нейросети. - Увеличение количества входных переменных
Хочется отметить, что на самом деле даже незначительная корреляция данных с целевым параметром имеет достаточно большое значение, поэтому следует использовать максимально возможное количество параметров на объекте, а также, возможно, использовать данные с объекта, предшествующего текущему по технологической цепочке.
Резюме
Резюмируя могу сказать, что опыт работы оказался продуктивным и исключительно интересным. Хотя и проведено немало сравнений и анализов полученных результатов, окончательные выводы делать пока еще рано. Но в результате опробования нейронных сетей на реальном объекте, можно сделать однозначный вывод, что данный подход имеет право на жизнь и обладает поистине богатым потенциалом.