Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Изучение нечеткой логики - файл Лаба4.docx


Загрузка...
Изучение нечеткой логики
скачать (1629.8 kb.)

Доступные файлы (4):

Лаба2.doc552kb.19.10.2009 12:26скачать
Лаба3.doc536kb.04.05.2011 00:22скачать
Лаба4.docx257kb.03.11.2009 12:38скачать
ЛР1 ИСУ.doc527kb.19.04.2011 00:33скачать

Лаба4.docx

Реклама MarketGid:
Загрузка...

Лабораторная работа №4

Цель работы


Изучит нейронные сети и системы управления в MATLAB. Обучить регулятор на основе нейронной сети.

Теоретические положения

История нейронных сетей


На заре развития электронно-вычислительной техники в середине ХХ века среди ученых и конструкторов еще не существовало единого мнения о том, как должна быть реализована и по какому принципу работать типовая электронно-вычислительная машина. Это сейчас мы с Вами изучаем в курсах Основ информатики архитектуру машины фон Неймана, по которой построены практически все существующие сегодня компьютеры. При этом в тех же учебниках ни слова не говорится о том, что в те же годы были предложены принципиально иные архитектуры и принципы действия компьютеров. Одна из таких схем получила название нейросетевого компьютера, или просто нейросети.
Первый интерес к нейросетям был обусловлен пионерской работой МакКаллока и Питса, изданной в 1943 году, где предлагалась схема компьютера, основанного на аналогии с работой человеческого мозга. Они создали упрощенную модель нервной клетки – нейрон. Мозг человека состоит из белого и серого веществ: белое – это тела нейронов, а серое – это соединительная ткань между нейронами, или аксоны и дендриты. Мозг состоит примерно из 1011 нейронов, связанных между собой. Каждый нейрон получает информацию через свои дендриты, а передает ее дальше только через единственных аксон, разветвляющийся на конце на тысячи синапсов (рисунок 1).


Рисунок 1- Структура нейрона
Простейший нейрон может иметь до 10000 дендритов, принимающих сигналы от других клеток. Таким образом, мозг содержит примерно 1015 

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

Нейроны взаимодействуют посредством серий импульсов, длящихся несколько миллисекунд, каждый импульс представляет собой частотный сигнал с частотой от нескольких единиц до сотен герц. Это невообразимо медленно по сравнению с современными компьютерами, но в тоже время человеческий мозг гораздо быстрее машины может обрабатывать аналоговую информацию, как-то: узнавать изображения, чувствовать вкус, узнавать звуки, читать чужой почерк, оперировать качественными параметрами. Все это реализуется посредством сети нейронов, соединенных между собой синапсами. Другими словами, мозг -–это система из параллельных процессоров, работающая гораздо эффективнее, чем популярные сейчас последовательные вычисления.
Кстати говоря, недавно в одном из журналов я читал, что технология последовательных вычислений подошла к пределу своих технических возможностей, и в настоящее время остро стоит проблема развития методов параллельного программирования и создания параллельных компьютеров. Так что, может быть, нейросети являются только очередным шагом в этом направлении.
^

Нейронная сеть


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

Входы и выходы нейронов могут быть входами сети, выходами сети или внутренними волокнами.

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

Ход работы


Ниже описаны 3 архитектуры нейронных сетей, которые реализованы в ППП Neural Network Toolbox в виде следующих контроллеров:

- контроллер с предсказанием (NN Predictive Contrloller);

- контроллера на основе модели авторегрессии со скользящим средним (NARMA-L2 Controller);

- контроллера на основе эталонной модели (Model Reference Controller).

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

- этап идентификации



- этап синтеза закона управления.

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

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

При управлении на основе модели автогрессии со скользящим средним регулятор представляет собой достаточно простую рекострукцию модели управляемого процесса.

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

Динамические модели систем управления с нейросетевыми регуляторами размещены в специальном разделе Control System набора блоков NN Blocksets и включает три упомянутые выше модели регуляторов, а также блок построения графиков.

Поскольку ни один конкретный регулятор не является универсальным, то описаны возможности всех трех типов регуляторов, каждый из которых имеет свои преимущества и недостатки.
РЕГУЛЯТОР С ПРЕДСКАЗАНИЕМ. Этот регулятор использует модель управляемого процесса в виде нейронной сети, для того чтобы предсказать будущие реакции процесса на случайные сигналы управления. Алгоритм оптимизации вычисляет управляющие сигналы, которые минимизируют разность между желаемыми и действительными изменениями сигнала на выходе модели и таким образом оптимизируют управляемый процесс, построение модели управляемого процесса выполняется автономно с использованием нейронной сети, которая обучается в групповом режиме с использованием одного из алгоритмов обучения. Контроллер, реализующий такой регулятор, требует значительного объема вычислений, поскольку для расчета оптимального закона управления оптимизация выполняется на каждом такте управления.

РЕГУЛЯТОР NARMA – L2. Изо всех архитектур этот регулятор требует наименьшего объема вычислений. Данный регулятор – это просто некоторая реконструкция нейросетевой модели управляемого процесса, полученной на этапе идентификации. Вычисления в реальном времени связаны только с реализацией нейронной сети. Недостаток метода состоит в том, что модель процесса должна быть задана в канонической форме пространства состояния, которой соответствует сопровождающая матрица, что может приводить к вычислительным погрешностям.

РЕГУЛЯТОР НА ОСНОВЕ ЭТАЛОННОЙ МОДЕЛИ. Требуемый объем вычислений для этого регулятора сравним с предыдущим. Однако архитектура 

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

Система управления с регулятором на основе эталонной модели



Цель обучения регулятора состоит в том, чтобы движение звена отслеживало выход эталонной модели:

,

где - выход эталонной модели;

r – задающий сигнал на входе модели.

Структурная схема, поясняющая принцип построения системы управления с эталонной моделью показана на рисунке 2.
Рисунок 2 - Структурная схема
Соответствующая динамическая модель, реализованная в Simulink, показана на рисунке 3.


Рисунок 3 - Динамическая модель

Для того, чтобы начать работу необходимо активизировать блок нейросетевого регулятора двойным щелчком мыши. Появится окно, показанное на рисунке 4.
Рисунок 4 - Динамическая модель

Оно выполняет функции графического интерфейса пользователя. Прежде чем установить параметры контроллера, необходимо построить модель управляемого процесса. Это означает, что прежде всего необходимо выполнить идентификацию управляемого процесса, т.е. построить его нейросетевую модель, воспользовавшись специальной процедурой Plant Identification.

Вид окна Plant Identification приведен на рисунке 7.

Это окно универсальное и может быть использовано для построения нейросетевых моделей для любого динамического объекта, который описан моделью Simulink. Для системы управления движением звена манипулятора динамическая модель, реализованная в Simulink и удовлетворяющая уравнению движения звена будет выглядеть, как показано на рисунке 5.



Рисунок 5 - Динамическая модель в Simulink

Процедура идентификации позволяет построить нейронную сеть, которая будет моделировать динамику управляемого процесса. Если модель должна использоваться при настройке контроллера, то её следует создать прежде, чем начнется расчет контроллера. Кроме того, вам может потребоваться создание новой модели объекта, если спроектированный контроллер будет функционировать неудовлетворительно.

Процедура идентификации требует задания следующих параметров:

size of the hidden layer – размер скрытого слоя определяется количеством используемых нейронов;

sampling interval – такт дискретности в секундах определяет интервал между двумя последовательными моментами съема данных;

No. delayed plant inputs – количество элементов запаздывания на входе модели;

No delayed plant outputs – количество элементов запаздывания на выходе модели;

normalize trainig data – окно контроля нормирования обучающих данных к диапозону [0 1] ;

trainig samples – длина обучающей выборки ( количество точек съема информации) ;

maximum plant input – максимальное значение входного сигнала;

minimum plant input – минимальное значение входного сигнала;

maximum interval value – максимальный интервал идентификации в секундах;

minimum interval value – минимальный интервал идентификации в секундах;

limit output data – окно контроля, позволяющее ограничить объем выходных данных; только при включенном окне контроля будут доступны два следующих окна редактирования текста;

maximum plant output - максимальное значение выходного сигнала;

minimum plant output - минимальное значение выходного сигнала;

simulink plant model – задание модели Simulink c указанием входных и выходных портов, используемых для построения нейросетевой модели управляемого процесса;

generate trainig data – кнопка запуска процесса генерации обучающей последовательности;

import data – импорт обучающей последовательности из рабочей области или файла данных;

export data – экспорт сгенерированных данных в рабочую область или файл;

trainig epochs – количество циклов обучения;

trainig function – задание обучающей функции;

use current weights – окно контроля , позволяющее подтвердить использование текущих весов нейронной сети;

use validation/testing for training – выбор этих окон контроля будет означать, что 25 процентов данных из обучающей последовательности будет использовано для формирования тестового и контрольного подмножеств соответственно.



Итак, выбор процедуры generate trainig data приведет к тому, что будет запущена программа генерации обучающей последовательности. Программа генерирует обучающие данные путем воздействия случайных ступенчатых воздействий на модель Simulink управляемого процесса. Графики входного и выходного сигналов объекта управления выводятся на экран (рисунок 6).


Рисунок 6 - Графики входного и выходного сигналов объекта управления
По завершении генерации обучающей последовательности пользователю предлагается принять сгенерированные данные (Accept Data), либо отказаться от них (Reject Data).

Если вы принимаете данные, приложение возвращает вас к несколько измененному окну Plant Indentification (рисунок 7).


Рисунок 7 - Окно Plant Identification
Здесь часть окон недоступны, а кнопка Generate Trainig Data заменена на кнопку Erase Generated Data, что позволяет удалить сгенерированные данные.

В окне фрейма содержится сообщение «Обучающая последовательность состоит из 10000 замеров. Можно начинать обучение нейронной сети.

Для этого следует воспользоваться кнопкой Train Network (Обучить сеть). Начнется обучение нейросетевой модели. После завершения обучения его результаты отображаются на графиках, как это показано на рисунке 8.


Рисунок 8 - Окно Train data for NN Model Reference Control
Где построены результаты обучения и тестирования на контрольном подмножестве.


Рисунок 9 - Окно Testing data for NN Model Reference Control

Рисунок 10 - Окно Validation data for NN Model Reference Control


Рисунок 11 - Окно Training with TRAINLM
Текущее состояние отмечено в окне Plant Identification сообщением «Обучение завершено. Мы можем сгенерировать или импортировать новые данные, продолжить обучение или сохранить полученные результаты, выбрав кнопки Ок или Apply.

Вывод


В процессе лабораторной работы были изучены нейронные сети и системы управления в MATLAB. Обучен регулятор на основе нейронной сети.




Скачать файл (1629.8 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru