- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Искусственный интеллект в системе управления ГПА
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Искусственный интеллект в системе управления ГПА
Несколько лет назад, когда я работал в фирме по разработке систем автоматизации технологических процессов, мне была поставлена интересная задача: в режиме реального времени автоматически производить расчет расхода газа через нагнетатель ГПА (газоперекачивающий агрегат). На основании этого расчета необходимо построить систему защиты нагнетателя от помпажа.
Помпаж — неустойчивая работа компрессора характеризуемая резкими колебаниями напора и расхода перекачиваемой среды.
При помпаже резко ухудшается аэродинамика проточной части, компрессор не может создавать требуемый напор, при этом, давление за ним на некоторое время остаётся высоким. В результате происходит обратный проброс газа. Давление за компрессором уменьшается, он снова развивает напор, но при отсутствии расхода напор резко падает, ситуация повторяется. При помпаже вся конструкция испытывает большие динамические нагрузки, которые могут привести к её разрушению.
Обычно для такого расчета используют датчик перепада давления газа на конфузоре нагнетателя, но его не оказалось. В наличии были только ГДХ (газодинамичские характеристики) нагнетателя 1973 года выпуска снятые при трех различных входных давлениях газа.
Рисунок 1. Газодинамическая характеристика ГПА.
Оператор вручную, зная входное давление газа Pвх, выходное давление газа Pвых и частоту вращения ротора нагнетателя N, мог графическим способом получить значение коммерческой производительности, а из нее уже и расход газа. Соответственно можно было оценить близость нахождения этой точки к границе помпажа.
И вот теперь необходимо написать программу для автоматического расчета расхода газа.
В аспирантуре тема моей диссертации была «Применение методов искусственного интеллекта в управлении производством этилового спирта». И там я решал схожую задачу построения математической модели с применением нейронных сетей.
Но начальство сразу же отмело мою идею, посчитав это "слишком непонятной темой".
Начал пробовать решить задачу разными путями:
1. Построение линейно-кусочной зависимости исходных графиков. Этот метод давал большие погрешности, к тому же графиков было три, и аппроксимировать необходимо было слои, которые находятся между этих графиков. Получалась такая трехмерная задача.
2. Построение полинома графиков. На одном графике все работало хорошо, но для трех графиков появлялись большие погрешности.
3. Постараться свести все три графика к одному, который будет приведен к нормальным или стандартным условиям. Но у меня не хватало времени для реализации данного решения в сжатые сроки.
4. И тогда на свой страх и риск я решил вернуться к реализации с помощью нейронных сетей.
Оцифрованные графики я сделал еще тогда, когда пытался решить задачу первым способом.
Рисунок 2. Часть таблицы с данными.
В таблице получилось порядка 500 строк. Часть этих данных я перенес в другую таблицу, для использования в тестовой проверке.
Далее в MatLab построил трехслойную нейронную сеть (многослойный персептрон) с 3-мя нейронами во входном слое, 10-ю нейронами в скрытом слое и одним нейроном в выходном слое. На нейроны входного слоя подаем Рвх, Рвых и Nн, а на выходном слое получаем коммерческую производительность.
Рисунок 3. Скрипт для создания и обучения нейронной сети.
В качестве функции активации для скрытого слоя выбрана функция гиперболического тангенса, а для выходного слоя -линейная функция.
Запустил алгоритм обучения нейронной сети на данных полученных с графиков.
Рисунок 4. Процесс обучения нейронной сети.
После обучения получил весовые коэффициенты каждого нейрона.
Рисунок 5. Результаты обучения сети в графическом виде.
После этого для контроллера Fanuc Rx7i на языке С написал программу CalcQ.c и ввел туда полученные коэффициенты. Потом прогнал программу на тестовом множестве (которое не использовалось в обучении).
Оказалось, что нейронная сеть выдает очень точные результаты не только для тех данных, на которых производилось обучение, но и на тех, которые не были использованы. Нейронная сеть смогла аппроксимировать данные.
В итоге, показав результаты изысканий руководителю и убедив в простоте и надежности расчетов, мы внедрили мой алгоритм на одном из ПХГ.
Плюс данного решения в том, что возрасла скорость реакции системы на опасные ситуации. Появилась возможность реализовать автоматическую систему антипомпажной защиты нагнетателя, что было невозможно при ручном расчете расхода газа.
Минусы данного решения в том, что при изменении характеристик нагнетателя необходимо заново строить ГДХ и переобучать сеть. Но ГДХ никто не снимал с момента выпуска данного нагнетателя в эксплуатацию, и так как сами операторы оценивают расход по старым характеристикам, то решение можно считать вполне приемлемым.
Исходный код нейронной сети для контроллера Fanuc Rx7i: CalcQ.c https://github.com/minikh/NeuroNet
Текст оригинальной статьи http://vmsystems.ru/neuronet-gpa.shtml
Всем спасибо за внимание! Если есть критика или предложения - пишите, буду рад обсудить.
-
- здесь недавно
- Сообщения: 2
- Зарегистрирован: 21 окт 2014, 10:34
- Имя: Меркурьев В. В.
Re: Искусственный интеллект в системе управления ГПА
А как Вы выбирали конфигурацию сети? Исходя из чего?
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Искусственный интеллект в системе управления ГПА
На самом деле нет четкого правил определения количества слоев и количество нейронов в слое.thekekc писал(а):А как Вы выбирали конфигурацию сети? Исходя из чего?
Обычно, если функция определена на конечном множестве точек, достаточно одного скрытого слоя.
Для определения количества нейронов в слое есть эмпирическая формула:
k=sqrt(n*m),
где k - количество нейронов, n - количество входов сети, m - количество выходов.
А далее начинаем проверять на тестовом множестве. Если точность устраивает, то процесс обучения закончен. Если не устраивает, то прибавляем еще один нейрон.
Но дело в том, что при большом количестве нейронов в слое уменьшается быстродействие сети.
Я остановился на 10 нейронах. Тесты показали наименьшую ошибку на таком количестве.
-
- администратор
- Сообщения: 4909
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 236 раз
- Поблагодарили: 425 раз
Re: Олимпийская ТЭЦ
Интересная тема. Практическая реализация таких вот теоретических вещей (совсем недавно - исключительно теоретических) всегда интересна. Наверное, как когда-то (тоже не так уж давно) были интересны первые ПИД-регуляторы.
Кстати, вопрос по этим самым нейросетям. Как-нибудь можно прицепить их к техпроцессу с использованием не только моментальных измерений, но и архивных за довольно приличное время? К примеру - реальный техпроцесс. Сырьё поступает в установку, где находится в одной зоне с определёнными параметрами (давление, температура) в течение некоторого времени (время может меняться в зависимости от текущей производительности установки). Затем переходит в другую зону с другими параметрами, в третью... Везде - длительное время (суммарно - до 8 часов), везде предыдущее течение техпроцесса оказывает влияние на текущую зону. В конце - лаборантка берёт анализ (ещё около 2 часов) и получает оценку качества всего техпроцесса. Вот ко всему этому можно ли прицепить нейросеть, чтобы предсказывать результаты анализа по измеренным характеристикам?
Кстати, вопрос по этим самым нейросетям. Как-нибудь можно прицепить их к техпроцессу с использованием не только моментальных измерений, но и архивных за довольно приличное время? К примеру - реальный техпроцесс. Сырьё поступает в установку, где находится в одной зоне с определёнными параметрами (давление, температура) в течение некоторого времени (время может меняться в зависимости от текущей производительности установки). Затем переходит в другую зону с другими параметрами, в третью... Везде - длительное время (суммарно - до 8 часов), везде предыдущее течение техпроцесса оказывает влияние на текущую зону. В конце - лаборантка берёт анализ (ещё около 2 часов) и получает оценку качества всего техпроцесса. Вот ко всему этому можно ли прицепить нейросеть, чтобы предсказывать результаты анализа по измеренным характеристикам?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Искусственный интеллект в системе управления ГПА
Самая большая проблема при использовании нейронных сетей в производственном процессе - необходимость повторного обучения сети при износе оборудования, изменениях в технологическом процессе и т.д. В принципе, по мере накопления архивных данных, можно периодически дообучать сеть на новых данных. Но алгоритм обучения не получится впихнуть в ПЛК, т.к. для этого необходим мощный процессор.
В моей диссертации основной идеей было не создание сети для управления производством спирта, а создание такой надстройки над ПИД регулятором, которая обрабатывая архивные данные строила бы математическую модель объекта управления и на этой модели производила бы поиск оптимальных коэффициентов ПИД регулятора.
Жаль мне не хватило времени и не было помощников для осуществления данной идеи. Помогал только руководитель. Я даже смог заинтересовать своего директора и мне было разрешено обкатывать мои методики на производстве.
В моей диссертации основной идеей было не создание сети для управления производством спирта, а создание такой надстройки над ПИД регулятором, которая обрабатывая архивные данные строила бы математическую модель объекта управления и на этой модели производила бы поиск оптимальных коэффициентов ПИД регулятора.
Жаль мне не хватило времени и не было помощников для осуществления данной идеи. Помогал только руководитель. Я даже смог заинтересовать своего директора и мне было разрешено обкатывать мои методики на производстве.
-
- почётный участник форума
- Сообщения: 1075
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 52 раза
- Поблагодарили: 20 раз
Re: Искусственный интеллект в системе управления ГПА
А если вы возьмете сеть с обратным распространением ошибки, то вам будет достаточно первичного обучения, а дальше сеть сама будет подстраиваться под изменение параметров (возможно даже циклическое).Минусы данного решения в том, что при изменении характеристик нагнетателя необходимо заново строить ГДХ и переобучать сеть. Но ГДХ никто не снимал с момента выпуска данного нагнетателя в эксплуатацию
Да! в 19 веке было много интереснейших вещей!)были интересны первые ПИД-регуляторы
Наоборот! Чем больше данных, тем лучше (в общем случае), главное чтобы все влияющие факторы были зарегистрированы (или оставались постоянными для известных отрезков времени.)но и архивных за довольно приличное время?
Конечно! В этом классе задач нейросети работают даже лучше, чем в задачах динамического регулирования.Вот ко всему этому можно ли прицепить нейросеть, чтобы предсказывать результаты анализа по измеренным характеристикам?
-
- почётный участник форума
- Сообщения: 1075
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 52 раза
- Поблагодарили: 20 раз
Re: Искусственный интеллект в системе управления ГПА
см. нейросети с обратным распространением ошибки.Самая большая проблема при использовании нейронных сетей в производственном процессе - необходимость повторного обучения сети при износе оборудования, изменениях в технологическом процессе и т.д. В принципе, по мере накопления архивных данных, можно периодически дообучать сеть на новых данных
1. Тут многое зависит от реализации.Но алгоритм обучения не получится впихнуть в ПЛК, т.к. для этого необходим мощный процессор.
2. Есть очень мощные ПЛК, с процессором на уровне десктопов трехлетней давности.
3. Есть ПЛК, способные интегрировать модели из матлаба!
4. Есть Лабвью, который не только может интегрировать модель и крутить ее на процессоре, но и имеет ФПГА и крутить нейросеть можно там! ЭТО ОЧЕНЬ БЫСТРО!
-
- администратор
- Сообщения: 4909
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 236 раз
- Поблагодарили: 425 раз
Re: Искусственный интеллект в системе управления ГПА
Об чём я и говорю: всегда такие вот новые вещи интересны. И ПИД в промышленном применении - я бы не сказал, что это был 19-й век. Скорее, 20-й, причём ближе к середине. Хотя может быть, я и ошибаюсь.Бондарев Михаил писал(а):Да! в 19 веке было много интереснейших вещей!)были интересны первые ПИД-регуляторы
Вот на эту тему что можно прочитать? С мгновенными значениями по схеме вроде как всё просто: взял измерения - подключил к нейронам входного слоя, взял выходные параметры - подключил к нейронам выходного слоя, между ними навтыкал несколько нейронов в скрытый слой, количество подобрал, (шутка, естественно, либо как минимум громадное упрощение, но тут вроде как с принципом больших неясностей нет). В моём случае влияние параметров на выход сказывается через некоторое время, причём не всегда одинаковое. И сказывается не только моментальное значение параметра, но и его поведение в течение некоторого периода. Если я буду на входной слой вводить состояние какого-либо параметра каждую минуту (т.е. раскладывать тренд на минутные участки и делать количество нейронов входного слоя соответствующим количеству минут), эта сеть будет просто гигантской, и будет ли в этом толк - непонятно.Бондарев Михаил писал(а):Конечно! В этом классе задач нейросети работают даже лучше, чем в задачах динамического регулирования.Вот ко всему этому можно ли прицепить нейросеть, чтобы предсказывать результаты анализа по измеренным характеристикам?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Искусственный интеллект в системе управления ГПА
Надо проанализировать переходный процесс объекта.VADR писал(а):В моём случае влияние параметров на выход сказывается через некоторое время, причём не всегда одинаковое. И сказывается не только моментальное значение параметра, но и его поведение в течение некоторого периода. Если я буду на входной слой вводить состояние какого-либо параметра каждую минуту (т.е. раскладывать тренд на минутные участки и делать количество нейронов входного слоя соответствующим количеству минут), эта сеть будет просто гигантской, и будет ли в этом толк - непонятно.
Может быть не обязательно раскладывать на минуты? Может можно взять часовые срезы, если объект инерционный. Или может быть достаточно будет взять только десяток - другой последних минут (будет 20 входов). В любом случае надо экспериментировать и моделировать.
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Искусственный интеллект в системе управления ГПА
А разве это не название алгоритма обучения нейронной сети? Я же когда говорил о необходимости повторного обучения сети при износе оборудования и изменениях в технологическом процессе имел ввиду то, что эти изменения меняют саму модель процесса. То есть нейросеть уже не будет точно описывать объект и ее следует дообучить с учетом новых переходных характеристик.Бондарев Михаил писал(а): см. нейросети с обратным распространением ошибки.
Но может я и ошибаюсь.
-
- здесь недавно
- Сообщения: 25
- Зарегистрирован: 19 окт 2014, 14:05
- Имя: Миних Владимир Анатольевич
- Страна: Россия
- город/регион: Москва
Re: Искусственный интеллект в системе управления ГПА
А вот это уже интересно! Когда я 6 лет назад занимался диссертацией, такого кажется еще не было.Бондарев Михаил писал(а): 1. Тут многое зависит от реализации.
2. Есть очень мощные ПЛК, с процессором на уровне десктопов трехлетней давности.
3. Есть ПЛК, способные интегрировать модели из матлаба!
4. Есть Лабвью, который не только может интегрировать модель и крутить ее на процессоре, но и имеет ФПГА и крутить нейросеть можно там! ЭТО ОЧЕНЬ БЫСТРО!
-
- почётный участник форума
- Сообщения: 1075
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 52 раза
- Поблагодарили: 20 раз
Re: Искусственный интеллект в системе управления ГПА
Установка работает циклически или (как я понимаю именно так) - непрерывно, с постоянной загрузкой сырья?К примеру - реальный техпроцесс.
Строго наоборот: для работы нейросети в динамике нужно организовывать обратные связи с задержкой - для придания динамичности картинке на входе. С массивами вход-выход все проще, поскольку в наших реалиях вычислительная мощность очень велика (для задач разумной размерности).С мгновенными значениями по схеме вроде как всё просто:
Упрощенно говоря, вводя в входную картинку дополнительные срезы по времени и этапам , а так же нарастив количество нейронов в промежуточных слоях - вы можете получить аппрооксимацию выходов (опять же по срезам из обучающего массива)
Большое количество наборов данных играет вам на руку, вы можете не только обучить сеть, но и погонять ее на реальных данных для проверки.
-
- почётный участник форума
- Сообщения: 1075
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 52 раза
- Поблагодарили: 20 раз
Re: Искусственный интеллект в системе управления ГПА
Да, и он может работать онлайн ( параллельно с работой сети ). Как раз получается скомпенсировать прецессию и уход параметров.А разве это не название алгоритма обучения нейронной сети?
4. Лабвью уже был на тот момент, но это довольно дорого ( в масшатабах студенческой задачи ). В масштабах пром.автоматики нормальная цена, за нормальное железо, хотя есть вопросы по софту. Если форм-фактор ПЛК не критичен - у них есть отличные одноплатные (в базе), модульные системы (форм-фактор типа пром-РС).А вот это уже интересно!
3.Например B&R позволяет сделать это непосредственно. Кроме этого у них существуют пром ПК (Сименс их использовал на своих ветряках (!))
2. Опять же B&R, плюс топопвые брэндовые ПЛК ( в матлабе есть конвертер в SCL, дающий сразу оптимизированный код), плюс всякие мощные тайваньские железки (программирование на С).
1. Кроме уже упомянутого конвертера из матлаба, есть несколько способов радикально ускорить вычисления :
- оптимизация работы с массивами;
- оптимизация вычисления функции активации ( или ее упрощение, аппрокисмация ) ;
- оптимизация структуры и объема сети (тут можно позамерять скорости обсчета различных конфигураций сети).
-
- администратор
- Сообщения: 4909
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 236 раз
- Поблагодарили: 425 раз
Re: Искусственный интеллект в системе управления ГПА
Непрерывно. Я говорю о непрерывной варке целлюлозы. По ходу варочного котла есть зона, где щепа пропаривается, зона (или 2-3), где идёт собственно варка (подаётся и откачивается горячий щёлок под давлением - получается то, что называется "варочная циркуляция"), далее по ходу - промывная циркуляция. Время хода - в зависимости от текущей производительности установки (т.е. скорости движения всей этой массы сверху вниз) может достигать 8 часов. На выходе - лабораторные анализы, выдающие небольшой набор характеристик качества целюлозы (если не ошибаюсь, всего две: жёсткость, она же "каппа" и непровар), процедура анализа длится около 2 часов. Каждый участок влияет на следующий и на итоговый результат, стабильность параметров в пределах одной зоны также влияет на многое. В отчёте лаборантки видим, какая целлюлоза была 2 часа назад, из-за того, что она 4 часа назад промывалась, 6 часов назад варилась... регулировать такой процесс - не самая простая задача.Бондарев Михаил писал(а):Установка работает циклически или (как я понимаю именно так) - непрерывно, с постоянной загрузкой сырья?К примеру - реальный техпроцесс.
То есть в любом случае - временные ряды поточечно на вход, разница только в квантовании. Понятно. Вроде как :)Бондарев Михаил писал(а):Строго наоборот: для работы нейросети в динамике нужно организовывать обратные связи с задержкой - для придания динамичности картинке на входе. С массивами вход-выход все проще, поскольку в наших реалиях вычислительная мощность очень велика (для задач разумной размерности).С мгновенными значениями по схеме вроде как всё просто:
Упрощенно говоря, вводя в входную картинку дополнительные срезы по времени и этапам , а так же нарастив количество нейронов в промежуточных слоях - вы можете получить аппрооксимацию выходов (опять же по срезам из обучающего массива)
Большое количество наборов данных играет вам на руку, вы можете не только обучить сеть, но и погонять ее на реальных данных для проверки.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- почётный участник форума
- Сообщения: 1075
- Зарегистрирован: 25 июл 2008, 23:23
- Имя: Бондарев Михаил Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 52 раза
- Поблагодарили: 20 раз
Re: Искусственный интеллект в системе управления ГПА
Что почитать:
- вот нагуглилось http://habrahabr.ru/post/154369/
- есть большая, скорее энциклопедия, чем учебник за авторством Хайкина. Но тут нужно быть осторожным
- шикарнейшая книга Сигеру Омату "нейроуправление и его приложения" ( правда, она в разрезе применения к динамическим системам, зато все на пальцах ) http://www.twirpx.com/file/185773/ - за качество не ручаюсь, тк сам читал с бумаги
- вот нагуглилось http://habrahabr.ru/post/154369/
- есть большая, скорее энциклопедия, чем учебник за авторством Хайкина. Но тут нужно быть осторожным
- из того что я читал мне запомнился учебник Осовского "нейросети" издательства Финансы и статистика.
- шикарнейшая книга Сигеру Омату "нейроуправление и его приложения" ( правда, она в разрезе применения к динамическим системам, зато все на пальцах ) http://www.twirpx.com/file/185773/ - за качество не ручаюсь, тк сам читал с бумаги
-
- администратор
- Сообщения: 4909
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 236 раз
- Поблагодарили: 425 раз
Re: Искусственный интеллект в системе управления ГПА
Хорошо, будем почитать...
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.