47762 (665903), страница 2
Текст из файла (страница 2)
F – активационная функция нейрона.
Нейроны могут группироваться в сетевую структуру различным образом. Функциональные особенности нейронов и способ их объединения в сетевую структуру определяет особенности нейросети. Для решения задач идентификации и управления наиболее адекватными являются многослойные нейронные сети (МНС) прямого действия или многослойные персептроны. При проектировании МНС нейроны объединяют в слои, каждый из которых обрабатывает вектор сигналов от предыдущего слоя. Минимальной реализацией является двухслойная нейронная сеть, состоящая из входного (распределительного), промежуточного (скрытого) и выходного слоя.
Рисунок 1.4 Структурная схема двухслойной нейронной сети.
Реализация модели двухслойной нейронной сети прямого действия имеет следующее математическое представление:
, (1.7)
где nφ – размерность вектора входов φ нейронной сети;
nh – число нейронов в скрытом слое;
θ – вектор настраиваемых параметров нейронной сети, включающий весовые коэффициениы и нейронные смещения (wji, Wij)
fj(x) – активационная функция нейронов скрытого слоя;
Fi(x) – активационная функция нейронов выходного слоя.
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов (рисунок 1.3). На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами φ1..φn, и один выход. Нейрон характеризуется уникальным вектором настраиваемых параметров θ. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал:
1.5 Обучение нейронной сети
Следующий этап создания нейросети – это обучение. Способность к обучению является основным свойством мозга. Для искусственных нейронных сетей под обучением понимается процесс настройки архитектуры сети (структуры связей между нейронами) и весов синаптических связей (влияющих на сигналы коэффициентов) для эффективного решения поставленной задачи. Обычно обучение нейронной сети осуществляется на некоторой выборке. По мере процесса обучения, который происходит по некоторому алгоритму, сеть должна все лучше и лучше (правильнее) реагировать на входные сигналы.
Выделяют три типа обучения: с учителем, самообучение и смешанный. В первом способе известны правильные ответы к каждому входному примеру, а веса подстраиваются так, чтобы минимизировать ошибку. Обучение без учителя позволяет распределить образцы по категориям за счет раскрытия внутренней структуры и природы данных, выходы НС формируются самостоятельно, а веса изменяются по алгоритму, учитывающему только входные и производные от них сигналы. При смешанном обучении комбинируются два вышеизложенных подхода.
Поскольку ошибка зависит от весов нелинейно, получить решение в аналитической форме невозможно, и поиск глобального минимума осуществляется посредством итерационного процесса – так называемого обучающего алгоритма. Разработано уже более сотни разных обучающих алгоритмов, отличающихся друг от друга стратегией оптимизации и критерием ошибок. Обычно в качестве меры погрешности берется средняя квадратичная ошибка (СКО):
(1.8)
где М – число примеров в обучающем множестве;
d – требуемый выходной сигнал;
y – полученный выходной сигнал.
Обучение нейросети производится методом градиентного спуска, т. е. на каждой итерации изменение веса производится по формуле.
, (1.9)
где – коэффициент обучения, определяющий скорость обучения.
Отметим два свойства полной ошибки. Во-первых, ошибка E=E(W) является функцией состояния W, определенной на пространстве состояний. По определению, она принимает неотрицательные значения. Во-вторых, в некотором обученном состоянии W*, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. Следовательно, обученные состояния являются точками минимума введенной функции E(W).
Таким образом, задача обучения нейронной сети является задачей поиска минимума функции ошибки в пространстве состояний
1.6 Нейросетевые системы управления
Нейроуправление представляет собой новое высокотехнологичное направление в теории управления, активно развивающееся во всем мире с конца 70-х годов. Нейронные сети являются предметом исследования целого ряда дисциплин. С точки зрения теории управления нейронные сети выбираются в качестве модели объекта управления или непосредственно регулятора, а динамический процесс ее настройки представляет собой процесс синтеза системы управления.
Проблема синтеза регуляторов рассматривается с двух позиций, а именно: прямые методы и косвенные методы синтеза нейросетевых систем управления:
-
прямые методы синтеза – регулятор реализуется непосредственно на нейросети. Применение метода не вызывает трудностей, однако необходимость постоянного переобучения нейросети приводит к ряду проблем;
-
косвенные методы синтеза – нейросеть используется в качестве модели объекта управления, а синтез регулятора осуществляется традиционным методом.
-
В общем случае управление объектом с помощью нейросети можно представить схемой на рисунке 1.5
Рисунок 1.5 Управление при помощи нейроконтроллера.
При этом обучение самого нейроконтроллера непосредственно по входным данным объекта может быть произведено с помощью схемы, представленной на рисунке 1.6 с применением наиболее распространенного алгоритма.
Рисунок 1.6. Обучение нейроконтроллера при помощи алгоритма обратного распространения ошибки.
2.1 Разработка нейросевого регулятора с наблюдающим устройством. Использование нейроконтроллера Model Reference Control
В качестве примера использования нейросети показан нейросетевой регулятор с наблюдающим устройством. Данный регулятор компенсирует нелинейную составляющую ускорения манипулятора, обусловленную действием силы тяжести. Объект управления и его математическое описание представлены ниже.
Рука вращается в вертикальной плоскости и имеет одну степень свободы.
Рисунок 3.1 Схема движения руки робота
Уравнение движения руки робота:
(3.1)
где φ – угол поворота руки, u – вращающий момент двигателя постоянного тока.
Составляющая ускорения -10sinφ учитывает силу тяжести.
Необходимо, чтобы рука робота двигалась в соответствии с уравнением:
(3.2)
Математическое описание объекта управления.
В качестве исходной динамической системы используется объект управления, описываемый уравнением (3.1). Сделаем замену и
.
В итоге получим систему дифференциальных уравнений:
, (3.3)
Матрица системы и матрица управления:
;
В этом случае желаемый процесс (3.2) будет описываться системой уравнений:
(3.4)
Матрица системы и матрица управления для системы (3.4):
;
Анализ объекта управления.
Структурная схема объекта управления изображена на рисунке 3.2.
Рисунок 3.2 Структурная схема объекта управления.
Рисунок 3.3. Переходный процесс объекта управления.
Переходный процесс колебательный, с затухающими колебаниями, имеет перерегулирование 34%. Не соответствует желаемой траектории движения.
Необходимо обеспечить переходный процесс в соответствии с желаемой моделью:
Рисунок 3.4 Структурная схема эталонной модели.
Рисунок 3.5 Желаемый переходный процесс объекта управления.
В качестве среды для разработки и моделирования нейросети был выбран программный продукт фирмы MathWorks, Inc. – MatLab, версия 6.5.0.1. MatLab, из всех доступных программных продуктов обладает наиболее широкими возможностями как для моделирования, в том числе и для моделирования нейросетей.
Блок Model Reference Control (модель эталонного управления) содержит в своем составе две нейросети: нейроконтроллер и наблюдатель. Обучение нейросети происходит в два этапа. Сначала идентифицируется нейросетевой наблюдатель, затем обучается нейроконтроллер таким образом, чтобы выходной сигнал ОУ следовал за управляющим сигналом.
Структура нейросети изображена на рисунке 5.5
Рисунок 5.5. Упрощенная структурная схема нейросетевого контроллера
Взаимосвязь между нейросетью и объектом управления в процессе обучения показана на рисунке 5.5
5.5. Обучение нейросети Model Reference Control.
Ошибка наблюдения и ошибка управления используются в обучении соответственно нейросетевого контроллера и нейросетевого наблюдателя.
Рисунок 5.6. Управление Model Reference Control.
Данная архитектура нейросети обучается с использованием алгоритма обратного распространения ошибки (backpropagation).
Параметры обучения нейросетевого наблюдающего устройства:
-
Число скрытых слоев в нейросети – 10.
-
Интервал выборки – 0,05.
-
Число примеров обучения – 10000.
-
Ограничение выходных данных:
-
максимальный выход модели – 3,1.
-
минимальный выход модели – -3,1.
-
Максимальный выход модели – 15.
-
Минимальный выход модели – -15.
-
Число эпох обучения – 300.
Параметры обучения нейроконтроллера:
-
Число скрытых слоев в нейросети – 13.
-
Интервал выборки – 0,05.
-
Число примеров обучения – 6000.
-
Число эпох обучения – 10.
-
Сегментов обучения – 30.
Управление объектом
Схема моделирования с использованием нейроконтроллера Model Reference Control показана на рисунке 5.7.
Рисунок 5.7. Структурная схема модели с использованием нейроконтроллера Model Reference Controller
Параметры модели:
-
управляющий сигнал изменяется случайно;
-
интервал изменения уровня управляющего сигнала [-0.5; 0.5]
-
интервал изменения временного интервала – 10 с.
Рисунок 5.8 Переходный процесс объекта под управлением NARMA-L2
Нейроконтроллер с нейросетевым наблюдающим устройством позволяет получить устойчивое движение и желаемую траекторию во всем фазовом пространстве. Полностью компенсирует нелинейную составляющую ускорения руки робота.