Введение
При современном уровне развития техники, когда даже бытовые приборы оснащаются микропроцессорными устройствами, все более актуальным становится разработка новых систем автоматического управления.
Но в связи с возрастающей сложностью объектов управления и с увеличением требований к системам управления за последнее десятилетие резко повысилась необходимость в создании более точных, более надежных систем управлении, обладающих большими функциональными возможностями.
Интеллектуальные системы на основе искусственных нейронных сетей (ИНС) позволяют с успехом решать проблемы идентификации и управления, прогнозирования, оптимизации. Известны и другие, более традиционные подходы к решению этих проблем, однако они не обладают необходимой гибкостью и имеют существенные ограничения на среду функционирования.
Нейронные сети позволяют реализовать любой требуемый для процесса нелинейный алгоритм управления при неполном, неточном описании объекта управления (или даже при отсутствии описания), создавать мягкую адаптацию, обеспечивающую устойчивость системе при нестабильности параметров.
ИНС могут применяться для различных задач: аппроксимация функций, идентификация, прогнозирование, управление, классификация образов, категоригизация, оптимизация.
Широкий круг задач, решаемый НС, не позволяет в настоящее время создавать универсальные, мощные сети, вынуждая разрабатывать специализированные НС, функционирующие по различным алгоритмам.
В данной работе рассматривается возможность применения искусственной нейросети регулятора. Проблема синтеза нейросетевых регуляторов рассматривается с двух позиций, а именно: прямые методы синтеза и косвенные методы синтеза нейросетевых систем управления. В данном случае рассматриваются прямые методы синтеза нейросетевых регуляторах совместно с наблюдающими устройствами.
1. Обзор и анализ нейросетей
Искусственные нейронные сети получили широкое распространение за последние 20 лет и позволили решать сложные задачи обработки данных, часто значительно превосходя точность других методов статистики и искусственного интеллекта, либо являясь единственно возможным методом решения отдельных задач. Нейронные сети (НС) успешно применяются в самых различных областях – бизнесе, медицине, технике, геологии, физике. Такой впечатляющий успех определяется несколькими причинами: НС – исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости; они нелинейные по своей природе и кроме того, нейронные сети справляются с проблемой размерности, которая не позволяет моделировать линейные зависимости в случае большого числа переменных.
1.1 Свойства нейронных сетей
Несомненно, что технические средства, построенные на тех же принципах, что и биологические нейронные сети, обладают рядом схожих свойств. К таким свойствам относятся:
· массовый параллелизм,
· распределенное представление информации и вычисления,
· способность к обучению и способность к обобщению,
· адаптивность,
· свойство контекстуальной обработки информации,
· толерантность к ошибкам,
· низкое энергопотребление.
Можно выделить основные идеи, лежащие в основе нейронных сетей и нейромоделирования:
Нейросеть воспроизводит структуру и свойства нервной системы живых организмов: нейронная сеть состоит из большого числа простых вычислительных элементов (нейронов) и обладает более сложным поведением по сравнению с возможностями каждого отдельного нейрона. Нейросеть получает на входе набор входных сигналов и выдает соответствующий им ответ (выходные сигналы нейросети), являющийся решением задачи.
Искусственная нейросеть, как и естественная биологическая нейронная сеть, может обучаться решению задач: нейросеть содержит внутренние адаптивные параметры нейронов и своей структуры, и меняя их, может менять свое поведение.
Место программирования занимает обучение, тренировка нейронной сети: для решения задачи не нужно программировать алгоритм.
Нейронная сеть обучается решению задачи на некотором "учебнике" − наборе ситуаций, каждая из которых описывает значения входных сигналов нейросети и требуемый для этих входных сигналах ответ. "Учебник" задает набор эталонных ситуаций с известными решениями, а нейронная сеть при обучении сама находит зависимости между входными сигналами и ответами.
Аппаратная реализация ИНС – нейрокомпьютер – имеет существенные отличия (как по структуре, так и по классу решаемых задач) от вычислительных машин, выполненных в соответствии с традиционной архитектурой фон Неймана. Сравнительные характеристики нейрокомпьютеров и традиционных компьютеров и традиционных компьютеров приведены в таблице 1.1
Таблица 1.1 Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров.
Категории
сравнения
|
ЭВМ традиционной
архитектуры
|
Нейрокомпьютер
|
Процессор | Сложный Высокоскоростной Один или несколько |
Простой Низкоскоростной Большое количество |
Память | Отделена от процессора Локализована Адресация не по содержанию |
Интегрирована в процессор Распределенная Адресация по содержанию |
Вычисления | Централизованные Последовательные Хранимые программы |
Распределенные Параллельные Самообучение |
Надежность | Высокая уязвимость | Живучесть |
Специализация | Численные и символьные операции | Проблемы восприятия |
Среда функционирования |
Строго определена Строго ограничена |
Без ограничений |
1.2 Области применения нейронных сетей
Искусственные нейронные сети в настоящее время широко используются при решении самых разных задач и активно применяются там, где обычные алгоритмические решения оказываются неэффективными или вовсе невозможными. В числе задач, решение которых доверяют искусственным нейронным сетям, можно назвать следующие: распознавание текстов, системы безопасности и видео-наблюдения, автоматизация процессов распознавания образов, адаптивное управление, аппроксимация функционалов, прогнозирование – и это далеко не все. С помощью нейросетей можно выполнять распознавание оптических или звуковых сигналов. Аппаратные реализации ИНС идеально подходят для решения задач идентификации и управления, так как обеспечивают, благодаря параллельной структуре, чрезвычайно высокую скорость выполнения операций.
Описанные возможности в основном относятся к слоистым нейронным сетям, обучаемым алгоритмом обратного распространения, и растущим нейронным сетям на основе вариантов алгоритма каскадной корреляции. Но существуют и другие классы нейронных сетей − нейросети ассоциативной памяти, нейросети для квантования данных, сжатия данных путем построения главных независимых компонент, нейронные сети для разделения смеси сигналов и др. Т.е. круг задач, решаемых нейронными сетями, очень и очень широк, поскольку широк и сам набор нейросетевых алгоритмов.
1.3 Классификация нейронных сетей
Существует широкий спектр достаточно универсальных способов организации инструментальных средств и собственно процесса применения нейронных сетей на различной программно-аппаратной базе. Всегда можно подобрать наиболее оптимальный для некоторой задачи − всё определяется свойствами задачи и требованиями к решению.
Однако применение нейросетей осложняется рядом причин. Нельзя придумать какую то одну универсальную ИНС, которая бы подошла для различных типов задач. Нейросети используют в двух вариантах:
1) Строится нейросеть, решающая определенный класс задач,
2) Под каждый экземпляр задачи строится некоторая нейросеть, находящая квази-оптимальное решение этой задачи.
Существуют несколько видов нейросетей. Их классификация представлена на рисунке 1.1
Рисунок 1.1 Классификация ИНС
Наиболее распространенным семейством сетей прямого действия являются многослойные персептроны, в них нейроны расположены слоями и соединены однонаправленными связями, идущими от входа к выходу сети. Сети прямого действия являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных значений, не зависящих от предыдущего состояния сети.
Рекуррентные сети являются динамическими, так как в силу обратных связей в них модифицируются входы нейронов, что приводи к изменению состояния сети. Поведение рекуррентных сетей описывается дифференциальными или разностными уравнениями, как правило, первого порядка. Это гораздо расширяет области применения нейросетей и способы их обучения. Сеть организована так, что каждый нейрон получает входную информацию от других нейронов, возможно, и от самого себя, и от окружающей среды.
Так же можно выделить два основных подхода к реализации нейросетей: цифровой и аналоговый. Преимуществом аналоговых реализаций являются: высокое быстродействие, надежность и экономичность. Однако сфера возможного массового использования обучаемых аналоговых нейрочипов достаточно узка. Это обусловлено большой сложностью аппаратной реализации высокоэффективных обучающих алгоритмов и необходимостью специальной подготовки потенциальных пользователей для оптимальной организации адаптивного процесса. В то же время широкое распространение могут получить обученные аналоговые нейрокомпьютеры (нейросети) с фиксированной или незначительно подстраиваемой структурой связей – нейропроцессоры.
Задача создания нейропроцессоров сводится к обучению цифровой нейросетевой модели нужному поведению на обычном цифровом компьютере.
Сети также можно классифицировать по числу слоев. В этом случае важную роль играет нелинейность активационной функции, так как, если бы она не обладала данным свойством или не входила в алгоритм работы каждого нейрона, результат функционирования любой n
-слойной нейронной сети сводился бы к перемножению входного вектора сигналов φ
на матрицу весовых коэффициентов. То есть фактически такая нейронная сеть эквивалентна однослойной нейросети с весовой матрицей единственного слоя W
.
Кроме того, нелинейность иногда вводится и в синаптические связи.
1.4 Структура и принципы работы нейронной сети
В качестве модели нейрона был выбран бинарный пороговый элемент, вычисляющий взвешенную сумму входных сигналов и формирующий на выходе сигнал величины 1, если эта сумма превышает определенное пороговое значение, и 0 – в противном случае. К настоящему времени данная модель не претерпела серьезных изменений. Были введены новые виды активационных функций. Структурная модель технического нейрона представлена на рисунке 1.3
Рисунок 1.3 Формальная модель искусственного нейрона
На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона, или входным сигналом нейросетевой модели. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе биологического нейрона. Вес определяет, насколько соответс
, (1.1)
где φ
– множество сигналов, поступающих на вход нейрона,
wi
– весовые коэффициенты нейрона.
Далее сигнал s
преобразуется активационной (передаточной) функцией нейрона F
в выходной сигнал y
. Математически это можно выразить формулой:
, (1.2)
где n
– размерность вектора входов,
w
0
– «нейронное смещение», вводимое для инициализации сети, - подключается к неизменяемому входу +1,
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=E
(W
) является функцией состояния
W
, определенной на пространстве состояний. По определению, она принимает неотрицательные значения. Во-вторых, в некотором обученном
состоянии W
*
, в котором сеть не делает ошибок на обучающей выборке, данная функция принимает нулевое значение. Следовательно, обученные состояния являются точками минимума
введенной функции E
(W
).
Таким образом, задача обучения нейронной сети является задачей поиска минимума функции ошибки в пространстве состояний
1.6 Нейросетевые системы управления
Нейроуправление представляет собой новое высокотехнологичное направление в теории управления, активно развивающееся во всем мире с конца 70-х годов. Нейронные сети являются предметом исследования целого ряда дисциплин. С точки зрения теории управления нейронные сети выбираются в качестве модели объекта управления или непосредственно регулятора, а динамический процесс ее настройки представляет собой процесс синтеза системы управления.
Проблема синтеза регуляторов рассматривается с двух позиций, а именно: прямые методы и косвенные методы синтеза нейросетевых систем управления:
· прямые методы синтеза – регулятор реализуется непосредственно на нейросети. Применение метода не вызывает трудностей, однако необходимость постоянного переобучения нейросети приводит к ряду проблем;
1) косвенные методы синтеза – нейросеть используется в качестве модели объекта управления, а синтез регулятора осуществляется традиционным методом.
В общем случае управление объектом с помощью нейросети можно представить схемой на рисунке 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.
· Ограничение выходных данных:
o максимальный выход модели – 3,1.
o минимальный выход модели – -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
Нейроконтроллер с нейросетевым наблюдающим устройством позволяет получить устойчивое движение и желаемую траекторию во всем фазовом пространстве. Полностью компенсирует нелинейную составляющую ускорения руки робота.