Нейроэмулятор на базе гибридной нейронной сети

ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ

УДК 681.3

М. В. Бураков, А. П. Кирпичников

НЕЙРОЭМУЛЯТОР НА БАЗЕ ГИБРИДНОЙ НЕЙРОННОЙ СЕТИ

Ключевые слова: нейроэмулятор, гибридная нейронная сеть, генетический алгоритм.

Рассматривается задача синтеза нейроэмулятора для класса нелинейных динамических объектов, которые допускают описание с помощью моделей Гаммерштейна и Винера с заранее неизвестными параметрами. Предлагается структура нейроэмулятора на базе гибридной нейронной сети. Для поиска параметров нейроэмулятора используется генетический алгоритм. Проведенные эксперименты подтверждают пригодность представленного подхода для идентификации нелинейных динамических объектов.

Keywords: neuro-emulator, hybrid neural networks, genetic algorithms.

In this paper, we consider the problem of synthesis a neuro-emulator for a class of nonlinear dynamical plants which can be described by the Hammerstein and Wiener model with unknown parameters. A structure of neuro-emulator as hybrid neural net are proposed. The genetic algorithm is used to search parameters of neuro-emulator. The experiments reveal that the presented approach is suitable for identification of class of nonlinear dynamic systems.

Введение

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

При конструировании нейроэмуляторов традиционно используются нейронные сети (НС) прямого распространения [1, 2], хотя здесь возможно и использование НС других типов, например, нечетких НС [3] или сетей Хопфилда [4]. НС прямого распространения являются статическими, поэтому они могут быть использованы для прогнозирования временных рядов [5]. Для внесения динамики в поведение НС прямого распространения применяется простой прием - на вход сети подаются не только текущие, но и задержанные значения входа и выхода. Количество задержанных сигналов и величина задержки зависят от конкретного объекта. Для линейного динамического объекта задача синтеза ней-роэмулятора не вызывает затруднений, она легко может быть решена с помощью метода обратного распространения ошибки и его модификаций на базе НС прямого распространения с линейными актива-ционными функциями.

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

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

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

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

Структура нейроэмулятора

Математическое описание многих промышленных объектов (электрических, электромеханических, гидравлических и т.д.) с одним входом и одним выходом можно представить в виде моделей, содержащих последовательно включенные динамическую линейную часть (ДЛЧ) и статическое нелинейное звено НЗ. В зависимости от последовательности включения рассматривают модели Гаммер-штейна (НЗ + ДЛЧ) или Винера (ДЛЧ + НЗ). Модель Винера, в частности, успешно используется в химической промышленности для описания процессов смешивания и химических реакций.

В качестве типовых нелинейностей часто рассматриваются НЗ типа «насыщение», которое можно описать уравнениями:

у „) Л кх(,) и ?«

(кавдп(х(0), > а.

И нелинейность типа «зона нечувствительности»:

) = { N ^ а,

У() [к(х(() - аздп(х(())), Щ > а,

где x(t) и >>(0 - входной и выходной сигналы нелинейности, k и а - заданные константы.

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

Нелинейный элемент типа «зона нечувствительности» учитывает реальные свойства датчиков, исполнительных механизмов и других устройств при малых входных сигналах.

Методы и идеи классической теории автоматического управления (ТАУ) могут эффективно взаимодействовать с нейросетевыми моделями. Так, например, в [7] рассмотрен вариант реализации нелинейного ПИД-регулятора на базе НС. Задача синтеза нейроэмулятора соответствует решению задачи идентификации объекта. Однако в ТАУ обычно рассматривается задача параметрической идентификации, т. е. структура модели полагается известной, обычно она задана в виде дифференциального уравнения некоторого порядка [8].

Нейронная сеть является, как правило, «черным ящиком». Ее использование в качестве нейроэмулятора предполагает некоторую избыточность структуры, что усложняет оптимизацию параметров.

Если известно, что объект допускает описание моделью Гаммерштейна или Винера, то структура нейроэмулятора может быть определена подобно этой модели, она может включать линейную динамическую и нелинейную статическую часть. Линейная часть может быть реализована на базе НС прямого распространения с блоком задержек. Для реализации нелинейной части может быть использована ЯВЕ-сеть.

На рис. 1 приведен пример структуры ней-роэмулятора для модели Винера.

Ф Л У " ci\\ = exP

\\У - ci |

2-2

12 Л

Рис. 1 - Структура нейроэмулятора

Нейроэмулятор содержит две группы настраиваемых параметров:

1. Весовые коэффициенты НС прямого распространения.

2. Весовые коэффициенты ЯВЕ--сети. Нейронная ЯВЕ-сеть является двухслойной,

она содержит слой радиально-базисных нейронов и линейный выходной слой [9].

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

где ст - ширина «окна» активационной функции, ct -вектор центра активационной RBF-функции нейрона, y -входной сигнал.

Выход RBF-сети описывается выражением: N

z(t) = £ w, Ф i (t),

i=1

где Wj - вес нейрона выходного слоя.

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

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

При использовании для настройки нейроэмулятора генетического алгоритма (ГА) [10] решение кодируется хромосомой, состоящей из весов НС прямого распространения и параметров RBF-сети.

Пример моделирования

Как показало моделирование, модели Гам-мерштейна и Винера отличаются друг от друга по сложности построения нейроэмулятора.

Для модели Гаммерштейна статическое НЗ выступает в качестве преобразователя входного сигнала для ДЛЧ. Иначе говоря, НЗ переопределяет входной сигнал, а сама НС остается линейной.

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

Рис. 2 - Схема моделирования в Simulink MatLab

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

пе1=петеЩ[-1 1; -1 1; -3 3; -1 1], [25,1], {'1ап81я', 'ригеИп' },'1гаш1т'); Р = БтоШ:'; Т = БтоиИ'; net.trainParam.show = 50; net.trainParam.1r = 0.0001; пе!йшпРагат.еро^ = 1000; net.trainParam.goa1 = 0.00001; ши = й^т^е^ Р, Т);

Количество нейронов 1-го слоя должно быть достаточно большим (25 нейронов в приведенном примере).

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

При построении нейроэмулятора в соответствии со структурой рис. 1, количество весов (и задержек) однослойной НС прямого распространения примерно соответствует предполагаемому порядку объекта, и может быть выбрано с некоторым «запасом». Количество нейронов ЛБ^-слоя для типовых нелинейностей «насыщение» и «зона нечувствительности» выбиралось равным 6. Оптимизировались центры ЛБ^-функций и веса выходного слоя ЛБ^-сети. Таким образом, для объекта 2-го порядка с учетом симметрии нелинейностей минимальная длина хромосомы при использовании ГА оказывается равной 9.

Минимизируемая функция имеет вид: N

А = ^ |у«) - у¡т(/)|,

/=1

где N - количество моментов времени, у(0 и >"(0 -выход объекта и нейроэмулятора.

На рис. 3 и 4 приведены результаты обучения нейроэмулятора для модели Винера с линейной

0.2 0 -0.2 -0.4 -0.6

0

2

4

t, с

6

8

10

частью 2-го порядка и различными нелинейностями. Нейроэмулятор демонстрирует удовлетворительное качество работы.

0.6 0.4 0.2 0 -0.2 -0.4 -0.6

x

r П Г 4 П

V \

1 ЧГ yn(t) V h

y(t) V

w I VP

L

0

2

4

6

8

10

t, с

Рис. 3 - Идентификация модели Винера с нелинейностью типа «зона нечувствительности».

Рис. 4 - Идентификация модели Винера с нелинейностью типа «насыщение»

Выводы

Проведенное исследование возможностей синтеза нейроэмуляторов для нелинейных динамических объектов позволяет сделать следующие выводы:

- Для нелинейных объектов, поведение которых может быть описано моделью Гаммер-штейна, нейроэмулятор может быть реализован на базе двухслойной нейронной сети прямого распространения, содержащей нелинейный 1-й слой и линейный 2-й слой. Блок задержек обеспечивает поступление на вход сигналов с выхода 2-го слоя. Количество выходов линии задержки соответствует порядку объекта. Обучение выполняется с помощью алгоритма обратного распространения ошибки.

- Для нелинейных объектов, поведение которых аппроксимируется моделью Винера, нейро-эмулятор может быть реализован на базе двухслойной нейронной сети, содержащей линейный 1-й слой с блоком задержек и нелинейный 2-й слой. Нелинейный слой может быть реализован на базе RBF-сети. Для обучения требуется использовать генетический алгоритм или другой алгоритм глобальной оптимизации.

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

Литература

1. Narendra K., Parthasarathy K. Identification and control of dynamical systems using neural network // IEEE Transaction on neural network, 1990, No 1. pp. 4 -27.

2. Kuschewski J. G., Hui S., Zak S. H., Application of Feedforward Neural Networks to Dynamical System Identi-

fication and Control, IEEE Transactions on Control Systems Technology, Vol. 1, pp 37-49, 1993.

3. Lee C.H., Teng C.C. Identification and control of dynamic systems using recurrent fuzzy neural networks // IEEE Transaction on fuzzy systems, vol. 8, No. 4, 2000. pp. 349 -366.

4. Atencia M., Joya G., Sandoval F. Hopfield neural networks for parametric identification of dynamical systems // Neural Processing Letters (2005), 21. pp. 143-152.

5. Илларионов М.Г., Кирпичников А.П., Латыпова Р.Р. Прогнозирование на основе аппарата нейронных сетей // Вестник Казанского технологического университета Т.15 2012, №1. С.163-165.

6. Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика. 2002. 344с.

7. Бураков М.В., Кирпичников А.П. Синтез дискретного нейро-пид регулятора // Вестник Казанского технологического университета. 2014. Т.17, №1, с. 286-288.

8. Льюнг Л. Идентификация систем. Теория для пользователя. М.: Наука, 1991. 432 с.

9. Бураков М.В. Нейронные сети и нейроконтроллеры // СПб: ГУАП, 2013г. 284с.

10. Бураков М.В. Генетический алгоритм: теория и практика. СПб: ГУАП. 2008. 164с.

© М. В. Бураков - канд. техн. наук, доцент каф. управления в технических системах СПбГУАП,: bmv@sknt.ru; А. П. Кирпичников - д. ф.-м. н., зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, kirpichnikov@kstu.ru.

© M. V. Burakov - PhD, Associate Professor of the Department of Control in Technical Systems, SUAI, bmv@sknt.ru; A. P. Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, kirpichnikov@kstu.ru.