Введение
При современном уровнеразвития техники, когда даже бытовые приборы оснащаются микропроцессорнымиустройствами, все более актуальным становится разработка новых системавтоматического управления.
Но в связи с возрастающейсложностью объектов управления и с увеличением требований к системам управленияза последнее десятилетие резко повысилась необходимость в создании болееточных, более надежных систем управлении, обладающих большими функциональнымивозможностями.
Интеллектуальные системына основе искусственных нейронных сетей (ИНС) позволяют с успехом решать проблемыидентификации и управления, прогнозирования, оптимизации. Известны и другие,более традиционные подходы к решению этих проблем, однако они не обладаютнеобходимой гибкостью и имеют существенные ограничения на среду функционирования.
Нейронные сети позволяютреализовать любой требуемый для процесса нелинейный алгоритм управления принеполном, неточном описании объекта управления (или даже при отсутствииописания), создавать мягкую адаптацию, обеспечивающую устойчивость системе принестабильности параметров.
ИНС могут применяться дляразличных задач: аппроксимация функций, идентификация, прогнозирование,управление, классификация образов, категоригизация, оптимизация.
Широкий круг задач,решаемый НС, не позволяет в настоящее время создавать универсальные, мощныесети, вынуждая разрабатывать специализированные НС, функционирующие поразличным алгоритмам.
В данной работерассматривается возможность применения искусственной нейросети регулятора.Проблема синтеза нейросетевых регуляторов рассматривается с двух позиций, аименно: прямые методы синтеза и косвенные методы синтеза нейросетевых системуправления. В данном случае рассматриваются прямые методы синтеза нейросетевыхрегуляторах совместно с наблюдающими устройствами.
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 Формальная модель искусственного нейрона
Навход искусственного нейрона поступает некоторое множество сигналов, каждый изкоторых является выходом другого нейрона, или входным сигналом нейросетевоймодели. Каждый вход умножается на соответствующий вес, аналогичный синаптической силебиологического нейрона. Вес определяет, насколько соответствующий вход нейронавлияет на его состояние. Все произведения суммируются, определяя уровеньактивации нейрона s. Состояние нейрона определяется по формуле.
/>, (1.1)
где φ– множество сигналов, поступающих на вход нейрона,
wi – весовые коэффициенты нейрона.
Далеесигнал s преобразуется активационной(передаточной) функцией нейрона F в выходной сигнал y.Математически это можно выразить формулой:
/>, (1.2)
где n – размерность вектора входов,
w–«нейронное смещение», вводимое для инициализации сети, — подключается к неизменяемомувходу +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 ReferenceControl (модель эталонного управления) содержит в своем составе две нейросети:нейроконтроллер и наблюдатель. Обучение нейросети происходит в два этапа. Сначала идентифицируется нейросетевой наблюдатель,затем обучается нейроконтроллер таким образом, чтобы выходной сигнал ОУследовал за управляющим сигналом.
Структура нейросетиизображена на рисунке 5.5
/>
Рисунок 5.5. Упрощеннаяструктурная схема нейросетевого контроллера
Взаимосвязь междунейросетью и объектом управления в процессе обучения показана на рисунке 5.5
/>
5.5. Обучение нейросети ModelReference 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 ReferenceController
Параметры модели:
· управляющийсигнал изменяется случайно;
· интервализменения уровня управляющего сигнала [-0.5; 0.5]
· интервализменения временного интервала – 10 с.
/>
Рисунок 5.8 Переходныйпроцесс объекта под управлением NARMA-L2
Нейроконтроллерс нейросетевым наблюдающим устройством позволяет получить устойчивое движение ижелаемую траекторию во всем фазовом пространстве. Полностью компенсируетнелинейную составляющую ускорения руки робота.