УДК 004.032.26
БАЗОВЫЙ СИНТЕЗ НЕЙРОСЕТЕВЫХ РЕГУЛЯТОРОВ ДЛЯ СЛЕДЯЩИХ СИСТЕМ УПРАВЛЕНИЯ
С.В. Феофилов, Д. Л. Хапкин
В работе рассматриваются некоторые подходы к обучению нейросетевых регуляторов. Затрагиваются вопросы истории их использования, классификации и актуальности применения в современной технике. На простых примерах иллюстрируются некоторые подходы к синтезу прямого и инверсного нейроэмуляторов.
Ключевые слова: системы управления, искусственные нейронные сети, нейро-эмулятор, нейросетевые регуляторы.
Многие современные объекты управления являются настолько сложными, что использование классических методов для синтеза регуляторов невозможно. Кроме того, математические модели большинства объектов являются неточными, а их параметры могут изменяются в процессе эксплуатации. Все это приводит либо к применению слишком громоздких алгоритмов проектирования, либо к чрезмерному упрощению математических моделей. Это снижает эффективность проектирования и ведет к ухудшению качества управления. Одним из подходов к решению указанных проблем является использование нейросетевых регуляторов, которые позволяют придать системе свойства адаптивности и робастности. При этом для обучения используются данные с реального объекта управления, а не с модели.
Разработка искусственных нейронных сетей (ИНС) началась в конце 50-х годов, как математическая модель, идейно повторяющая биологические нейронные сети мозга [1]. Первые попытки использовать ИНС для управления объектами были предприняты в 70-х годах [2]. В настоящее время установлено, что существует большой потенциал использования ИНС в регуляторах для достижения качественной работы системы управления.
Основными архитектурами ИНС для применения в нейрорегуляторах считаются многослойные и рекуррентные нейронные сети. К настоящему времени разработаны типовые схемы САУ на основе нейрорегуляторов [3]. Эти схемы используют в себе только архитектуру многослойного перцептрона с временными задержками на входе [4, 5]. Каждая из типовых схем имеет свои недостатки и не является универсальной.
Работа посвящена использованию в системах управления прямого и инверсного нейроэмуляторов.
Прямой нейроэмулятор. Прямой нейроэмулятор обучается повторять динамику объекта управления (рис. 1).
Случайный процесс V- и Объект управления
ТБЬ
Прямой нейроэмулятор
Рис. 1. Схема обучения прямого нейроэмулятора
На рис. 1 на вход нейронной сети (прямой нейроэмулятор) как для обучения, так и для дальнейшего использования подается вектор, состоящий из текущего входного воздействия и реакции объекта на прошлые воздействия у(п — 1), у(п — 2),... Для получения текущей ошибки, необходимой для обучения выход нейронной сети сравнивается
с выходом объекта. Обучение производится в режиме оффлайн методом «обратного распространения ошибки». После обучения нейронная сеть повторяет прямую динамику объекта.
Прямой нейроэмулятор полезен, когда имеется объект, математическая модель которого неизвестна или является неточной, но при этом имеется возможность экспериментального изучения его реакции на тестовые сигналы. Такой нейроэмулятор повторяет динамику объекта управления. Он используется в таких нейросетевых методах управления как: метод обратного пропуска ошибки через прямой нейроэмулятор, прогнозирующее модельное нейроуправление.
Рассмотрим пример выбора структуры прямого нейроэмулятора.
Так как для обучения и использования нейронной сети требуются данные с задержкой, а также искусственные нейронные сети обычно реализуются на цифровых устройствах, то представим объект управления в дискретном виде:
ш , ш—\
Пг\7 ~
Ж (z) =
и m , 7 m-1 , , 7 b0z + + ^ + bm
zn + aizn 1 + l + an Разностное уравнение объекта будет иметь вид:
y(n) + aiy(n -1) +... + a^y(n - N) = bou(n) + ^u(n -1) + к + b^u(n -M). Из разностного уравнения видно, что структура нейронной сети, например, может соответствовать следующему уравнению (1):
y(n) = bgu(n) + b1u(n -1) + к + bMU(n -M) - a1 y(n -1) -... - aNy(n - N). (1) Таким образом, для линейных объектов достаточно нейронной сети с одним нейроном. Структура представлена на рис. 2.
Первый столбец нейронов называется входной слой. Нейроны во входном слое обычно не изменяют данные. Нейрон на выходе системы, это нейрон выходного слоя. В данной системе отсутствуют скрытые слои, так как структура сети выбрана согласно уравнению. Как видно из рис. 2. нейроны не имеют функций активации. Они не требуются для линейной системы. В результате обучения веса W должны стать равными весам разностного уравнения (1).
Нейронная сеть со скрытым слоем представлена на рис. 3.
Рис. 2. Структура нейронной сети для использования в качестве прямого нейроэмулятора
Рис. 3. Структура ИНС с одним скрытым слоем
257
Данная структура ИНС будет применяться в некоторых экспериментах, чтобы отобразить ее влияние на качество работы.
Пример с прямым нейроэмулятором. Для простого примера рассмотрим колебательное звено в качестве объекта управления:
к
Ж (5) =-.
Т 252 + 27^5 +1
Представим объект в виде дискретной передаточной функции:
п^ Г2
W ( z ) = -
)
¿0 Z + b[Z + ¿2
2
г + а^ + «2
Таким образом, выход системы вычисляется в соответствии с разностным уравнением:
у(п) = ¿0 х(п) + ¿1х (п — 1) + ¿2 х(п — 2) — у(п — 1) — «2 у (п — 2). (2)
Из уравнения (2) можно увидеть, что для нейронной сети, состоящей только из входного слоя и одного выходного нейрона, требуется на вход подать текущее и два предыдущих значения выхода объекта, а также текущее и предыдущие управляющие значения.
В итоге, при такой структуре весовые коэффициенты обученной нейронной сети стремятся к ожидаемым, т.е. к значениям коэффициентов в уравнении (2). Выход обученной нейронной сети в сравнении с выходом объекта на этот же сигнал представлен на рис. 4.
Рис. 4. Выход прямого нейроэмулятора и выход объекта управления
Также были проведены эксперименты с другими комбинациями входов и слоев. Например, в структуру ИНС добавлялся скрытый слой с 30 нейронами и функцией активации ЯеЬи, а на вход подавалось 4 предыдущих состояния объекта, текущее и 3 предыдущих значения сигнала управления. Обучение при этом происходило гораздо дольше, но результат практически не изменился по сравнению со структурой ИНС, соответствующей уравнению (2), (рис. 5).
10 5 О -5 ■10
0 0.5 1 1.5 2 2.5 3 3.5 4
Рис. 5. Выход прямого нейроэмулятора (ИНС со скрытым слоем) и выход объекта, с которого снимались данные
Таким образом, видно, что нейронная сеть с достаточным количеством входной информации (для данного примера количество входов 2n +1 может обучиться качественно повторять динамику объекта. Использование функции активации не влияет на качество работы прямого нейроэмулятора для линейного объекта.
258
Инверсный нейроэмулятор. Инверсный нейроэмулятор используется в методах «обобщенное инверсное нейроуправление» и «специализированное инверсное управление». В этих методах нейронная сеть обучается повторять инверсную динамику объекта управления и после обучения используется как регулятор (рис.6).
Рис. 6. Схема обучения (слева) и применения (справа) инверсного нейроэмулятора в методе «обобщенного инверсного нейроуправления»
Для обучения инверсного нейроэмулятора используется информация текущего и предыдущих выходов системы и, иногда, предыдущие управляющие значения в качестве входного вектора. На выходе инверсный нейроэмулятор должен выдавать управляющий сигнал, который приведет объект в требуемое состояние.
Недостатком метода обобщённого инверсного нейроуправления является трудность в составлении обучающей выборки, выраженная в подборе идентифицирующего процесса. Также трудности могут быть, если инверсия ОУ является неоднозначной функцией. Это может привести процесс обучения в тупик.
Получим требуемую функцию из разностного уравнения объекта:
y(n) + a^y(n -1) +... + aNy(n - N) - b\u(n -1) - к - bMu(n -M)
u (n):
bo
Проблемой становится коэффициент bo. Если в математическом описании объекта управления не имеется прямых связей от входа к выходу, и объект физически реализуем, то этот коэффициент равен 0. Т.е. вычислить и^часто невозможно.
Однако, в данном методе, при подключении инверсного нейроэмулятора в качестве регулятора управляющее значение гподается вместо сигнала y(n) на вход ИНС. Так как после обучения такой регулятор должен выдавать сигнал, который на следующий такт приведет систему в заданное значение, то r(n) = y(n+1). Из этого следует, что требуемое значение и^)можно найти следующим образом:
_ y(n + 1)+aiy(n) +...+aNy(n - N+1) - bou(n + 1)-...-bMu(n - M + 1) )
b1
Так как b0 предполагается равным нулю, то уравнение (3) примет вид: _ y(n+1)+a¡y(n)+...+aNy(n - N+1) - b2u(n-1)-...-bMu(n - M+1)
В [31 предлагается брать только текущее и предыдущие выходы объекта. В таком подходе не ясно, сколько их требуется для получения качественного управления. Рассмотрим оба этих варианта.
Пример с инверсным нейроэмулятором. В качестве объекта возьмем, как и в пошлом примере, колебательно звено.
Согласно уравнению (4) для объекта управления получим:
_ У(п +1) + a1y(n) + a2У(п -1) - b2u(n -1) (5)
b1 '
Результат работы системы автоматического управления с обученным инверсным нейроэмулятором по методу «Обобщенного инверсного управления» представлен на рис. 7.
Качество полученного регулятора зависит от общего количества обучающих данных и их соотношения между выборками, построенными на основе разных входных сигналов. Для обучения всех нейронных сетей использовался сбор данных с объекта
(моделирование в 81шиНпк) при типовых входных сигналах (гармоническом, ступенчатом и случайном). Экспериментально было замечено, что при маленьком количестве (или отсутствии) ступенчатых сигналов для обучения система будет иметь заметную статическую ошибку.
1.4 1.2
о.е 0.6 0.4 0.2
о
О 0.1 0.2 О.З 0.4 0.5 0.6 0.7 О.В 0.9 1
Рис. 7. Реакция на ступенчатый сигнал: объекта управления, системы с инверсным нейроэмулятором, обученным по уравнению (5), системы с ПИДрегулятором
Для примера была рассмотрена нейронная сеть, которая учитывает только предыдущие значения выхода системы, как предлагается сделать в [3]. Была выбрана структура с 50 нейронами в скрытом слое и 11 нейронами во входном слое. Для обучения на вход поступала только информация с выхода объекта (1 текущий выход от объекта и 10 предыдущих значений). Результат работы приведен на рис. 8.
1.5
0.5
0
О 0.1 0.2 0.3 0.4 0.5 0.6 0.7 О.В О.Э 1
Рис. 8. Реакция на ступенчатый сигнал: объекта управления, системы с инверсным нейроэмулятором, обученным только
по предыдущим состояниям системы, системы с ПИД регулятором
По приведенным результатам (рис. 7 и рис. 8) можно видеть, что инверсный нейроэмулятор при наличии обратных связей по управляющему сигналу работает лучше, чем без них. Это можно объяснить тем, что предыдущие значения выхода регулятора несут в себе более полную информацию об объекте.
Заключение. Были рассмотрены прямой и инверсный нейроэмуляторы. Нейронная сеть в прямом нейроэмуляторе обучается легко и качественно. Прямой нейроэмуля-тор используется как базовый элемент в некоторых схемах обучения. С помощью него возможно качественно воспроизводить динамику объекта управления.
Обучение инверсного нейроэмулятора связано с проблемой формирования обучающей выборки, а также с ограничением структуры перцептрона для данной задачи по сравнению, например, с рекуррентной нейронной сетью.
Поэтому дальнейшее направление исследований связано с рассмотрением рекуррентных нейронных сетей в качестве нейроэмулятора, а также улучшением качества инверсного нейроэмулятора методом обучения с подкреплением.
Работа выполнена при поддержке Российского фонда фундаментальных исследований (проект 20-38-90213).
А
к- • * гт — ,
! V у— *
/
! /
— — ■ Р1ап1 пе1Рип —-
-
У
Список литературы
1. Rosenblatt F. The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain // Cornell Aeronautical Laboratory / Psychological Review. 1958. Vol. 65, No. 6. P. 386-408.
2. Цыпкин ЯЗ. Обучающиеся автоматические системы // Журнал «Автоматика и телемеханика», 1970. № 4. С. 55 - 71.
3. Чернодуб А.Н., Дзюба Д. А. Обзор методов нейроуправления // Проблемы программирования. 2011. № 2. С. 79-94.
4. Lang K.J., Waibel A.H., Hinton G.E. A Time-Delay Neural Network Architecture for Isolated Word Recognition // Neural Networks, 1990. Vol. 3. No. 1. P. 23-43.
5. Phoneme Recognition Using Time-Delay Neural Networks / A. Waibel et al. // IEEE Transactions on Acoustics, Speech, and Signal Processing, 1989. Vol. 37. No. 3. P. 328339.
6. Werbos P. Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences. PhD thesis, Harward University, 1974.
7. Галушкин А. Синтез многослойных систем распознавания образов. М.: Энергия, 1974. 368 с.
Феофилов Сергей Владимирович, д-р техн. наук, доцент, svfeofilov@,mail. ru, Россия, Тула, Тульский государственный университет,
Хапкин Дмитрий Леонидович, аспирант, [email protected], Россия, Тула, Тульский государственный университет
BASIC SYNTHESIS OF NEURAL NETWORK REGULATORS FOR FOLLOWING CONTROL SYSTEMS
S.V. Feofilov, D.L. Khapkin
The paper discusses some approaches to training neural network regulators. The questions of the history of their use, classification and relevance of their application in modern technology are touched upon. Some of the approaches to the synthesis of direct and inverse neuroemulators are illustrated with simple examples.
Key words: control systems, artificial neural networks, neuromotor, neural network controllers.
Feofilov Sergey Vladimirovich, doctor of technical sciences, docent, svfeofilov@,mail. ru, Russia, Tula, Tula State University,
Khapkin Dmitry Leonidovich, postgraduate, dima-hapkin@ya. ru, Russia, Tula, Tula State University