Решение задачи идентификации динамического объекта является одной из ключевых задач при построении нейросетевой системы управления. В качестве идентификатора используются методы теории нейронных сетей [1]. Применительно к динамическим объектам сеть должна обладать архитектурой, позволяющей аппроксимировать временные последовательности [2]. Из теории нейронных сетей известна теорема об универсальной аппроксимации многослойной нейронной сети, согласно которой достаточно применения сети с одним скрытым слоем для построения равномерной аппроксимации с точностью для любого обучающего множества, которое может быть задано входами
и желаемыми откликами системы
. Дальнейшая работа по созданию модели идентификации динамического объекта опирается на вышеприведенную теорему.
Выбор архитектуры нейронной сети сводится к выбору среди рекуррентных многослойных сетей [1, 3]. Подобные сети можно получить из классической многослойной нейронной сети путем введения обратных связей. Обратные связи могут быть от выхода сети ко входу и от внутреннего слоя сети ко входу. При этом объект может быть рассмотрен в пространстве состояний либо, при отсутствии информации о внутренней структуре, как модель «вход-выход». В рамках работы предполагается разработка универсальной модели идентификации, и выбрана для работы модель типа «вход-выход», известная также как «черный ящик». Необходимым и достаточным условием для устойчивости сети с обратной связью будет наличие единичной задержки в обратной связи. Структура нейросетевой идентификации приведена на рисунке 1.
Рисунок 1 – Структурная схема нейросетевой модели идентификации динамического объекта.
Внутренняя структура сети представляет собой множество однородных вычислительных элементов – формальных нейронов, которые в общем виде представлены сумматорами с определенной функцией активации. Математически нейрон можно описать следующими уравнениями:
(1)
(2)
где x1,x2,…xm – входные сигналы,
Wk1,Wk2,…Wkm – сигналы веса нейрона k,
Uk- линейная комбинация входных воздействий,
bk- порог,
(.) – функция активации,
Yk- выходные сигналы.
Количество нейронов внутреннего слоя можно предварительно установить согласно эмпирической формулы:
(3)
где – размерность входного сигнала,
– размерность выходного сигнала,
– число синаптических связей.
Поскольку предусматривается нелинейный характер объекта идентификации, то функция активации нейронов внутреннего слоя выбрана сигмоидальной. Этим будет достигнут баланс между линейным и нелинейным поведением объектов. В данной работе выбрана логистическая функция вида:
(4)
где a – параметр, который характеризует степень наклона сигмоидальной функции.
Для обучения сети используется наиболее распространенный в настоящее время алгоритм обратного распространения ошибки. Он позволяет с достаточной для практического применения точностью оптимизировать веса нейронной сети. В его основе – метод градиентного спуска, когда веса корректируются в соответствии с направлением уменьшения градиента общей для всего обучающего множества ошибки. Он состоит из нескольких основных шагов: инициализации, представления обучающей выборки, прямого прохода расчета сети, обратного прохода и вычисления текущей ошибки.
При инициализации весов используется генерация случайных чисел. После инициализации сети поочередно предъявляются все обучающие пары «вход-выход», предварительно снятые с объекта, подвергаемого идентификации при различных условиях. Для формирования выборки наличие большего количества примеров повышает качество будущей идентификации. При осуществлении прямого прохода программно вычисляются выходы для каждого слоя по формуле:
(5)
где Y,W и U представлены векторами выхода, весов и входных заданий.
Обратный проход расчета вычисляет веса сети на новой эпохе:
(6)
(7)
где n- скорость обучения сети,
– мера коррекции веса,
– погрешность выхода отдельного нейрона,
Вычисление погрешности выхода отдельного нейрона для внутреннего и выходного слоя отличается. Для выходного слоя она имеет вид:
*
(8)
где d – желаемый отклик сети согласно обучающему примеру,
y – реальный отклик сети.
Для внутреннего слоя формула расчета ошибки усложняется и принимает вид:
(9)
Для разработки модели идентификации и исследования применялась среда разработки Matlab, расширение Simulink . В ней имеются библиотеки для сборки сети необходимой архитектуры и реализация вышеописанного алгоритма обратного распространения ошибки.
В качестве динамического объекта, на котором проведено исследование возможности идентификации, выбрано колебательное звено с передаточной функцией
(10)
Входные и выходные величины приведены к безразмерному виду. На вход динамического звена подавался случайный сигнал нормального распределения и снимался отклик объекта. Была сформирована обучающая выборка в течение 60 секунд моделирования. После этого сеть обучалась отображению обучающего множества в течение 300 итераций. Достигнута ошибка обучения .
Заключительный этап: проверка нейронной сети на корректность при подаче на вход новых данных, не участвовавших в обучающих примерах.
Результаты моделирования 10 секунд отклика модели объекта и нейросетевой модели приведены на рисунке 2. Сплошной линией показан отклик объекта, штриховой линией отклик нейронной сети. Результат моделирования повторяется при многократных повторениях с различными входными заданиями и среднеквадратичная ошибка идентификации не превышает относительных единиц, что говорит о достаточной точности для практического применения при автонастройке регулятора.
Рисунок 2 – Результаты идентификации нейронной сетью динамического звена.
Из экспериментов следует, что многослойная нейронная сеть пригодна для идентификации динамических объектов при наличии достаточной информации в виде обучающих примеров «вход- выход». Положительный результат идентификации объекта дает основания продолжить работу в этом направлении и приступить к следующему этапу исследования.
Исследование проходит при поддержке Фонда содействия развитию малых форм предприятий в научно-технической сфере в рамках программы УМНИК.
Библиографический список
- Хайкин С. Нейронные сети: полный курс, 2-е издание: Пер. с англ. – М.: Издательский дом «Вильямс». 2006. – 1104с.
- Чернодуб А.Н., Дзюба Д.А. Обзор методов нейроуправления //Проблемы программирования. -2011.- №2. –с.79-94.
- Рутковская Д., Пилиньский М.,Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. –М.:Горячая линия – Телеком, 2006.- 452 с.