Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Экспериментальная часть




Д. Собственно обучение сети

В процессе обучения сеть в определенном порядке просматривает обучающую выборку. Порядок просмотра может быть последовательным, случайным и т. д. Некоторые сети, обучающиеся без учителя, просматривают выборку только один раз. Другие сети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения. При обучении с учителем набор исходных данных делят на две части — собственно обучающую выборку и тестовые данные; принцип разделения может быть произвольным. Обучающие данные подаются сети для обучения, а проверочные используются для расчета ошибки сети (проверочные данные никогда для обучения сети не применяются). Таким образом, если на проверочных данных ошибка уменьшается, то сеть действительно выполняет обобщение.

Во время обучения нейронная сеть пытается минимизировать ошибку, между выходом нейронной сети и эталонным значением, которое дано при обучении, настраивая коэффициенты связи (веса) между нейронами.

 

E. Проверка адекватности обучения

Даже в случае успешного, на первый взгляд, обучения сеть не всегда обучается именно тому, чего от неё хотел создатель. Известен случай, когда сеть обучалась распознаванию изображений танков по фотографиям, однако позднее выяснилось, что все танки были сфотографированы на одном и том же фоне. В результате сеть «научилась» распознавать этот тип ландшафта, вместо того, чтобы «научиться» распознавать танки. Таким образом, сеть «понимает» не то, что от неё требовалось, а то, что проще всего обобщить.

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

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

Как объект управления будем использовать канал вертикальной скорости вертолета, которая имеет вид апериодического звена:

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

Рисунок 4. Схема идентификации подавления возмущения

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

Рисунок 5. Фрагмент схемы идентификации и подавления возмущения на основе нейронных сетей.

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

А. Прямой нейроэмулятор

Задача прямого нейро-эмулятора состоит в том, чтобы на основе подаваемого управления и знания предыдущего состояния вертолета спрогнозировать следующее состояние вертолета. Структура этой нейронной сети представлена на рисунке 6.

Рисунок 6. Схема прямого Рисунок 7. Схема инверсного

нейроэмулятора нейроэмулятора

Прямой нейроэмулятор имеет 1 скрытый слой с сигмоидальными функциями активации, на выходе имеет нейрон с линейной функцией активации. Он состоит из следующих входов: а) текущего управления u, подаваемого на канал вертикальной скорости с линиями задержки, их количество примерно соответствует порядку системы минус 1 б) вектор состояния канала вертикальной скорости вертолета S на предыдущем такте или наблюдаемая координата вектора состояния, с количеством линий задержек, примерно соответствующие порядку системы; выходом нейро-эмулятора является прогноз реакции канала вертикальной скорости вертолета .

А. Обратный нейроэмулятор

Задача инверсного нейроэмулятора состоит в том, чтобы на основе текущей ошибки и знания предыдущего состояния вертолета, выдать корректирующее управление. Структура этой нейронной сети представлена на рисунке 7. Инверсный нейроэмулятор имеет 1 скрытый слой с сигмоидальными функциями активации, на выходе имеет нейрон с линейной функцией активации. Он состоит из двух входов: а) текущего отклонения реакций нейроэмулятора и вертолета с количеством линий задержек, примерно соответствующие порядку системы б) выход инверсного нейроэмулятора с количеством линий задержек, количество которых примерно соответствует порядку системы; выходом инверсного нейро-эмулятора является корректирующее управление.

 

2.1 Реализация в Matlab/Simulink

Промоделируем выше описанную систему для передаточной функции канала вертикальной скорости и ПИД регулятора для этого ОУ с коэффициентами , , . Система показана на рисунке 8. Модель необходимо настроить на дискретный шаг 0.01 и становить SingleTasking для опции Tasking mode for periodic sample times (рисунок 9).

 

Рисунок 8. Схема моделирования системы с ПИД контроллером

Рисунок 9. Настройки модели Simulink

Блок Uniform Random Number настройте для диапазона от -10 до 10 с периодом 4 с. Как можно видеть, ПИД регулятор точно отслеживает команду (рисунок 10).

Рисунок 10. Отслеживание команды ПИД регулятором

Сформируем обучающие данные для прямого нейроэмулятора. Для этого дополним схему сбором данных в блоки Scope с именами Input (рисунок 11) и Target (рисунок 12), а также добавим еще блок Uniform Random Number с параметрами -1 до 1 и периодом 0.1, подадим вывод этого блока сразу на объект управления (рисунок 11).

Рисунок 11. Сбор входных данных Рисунок 12. Сбор выходных данных

В данный момент на объект управления подается случайное управление в пределах допустимых границ [-1;1] и снимаются его реакции, которые в дальнейшем будут использованы для обучения нейронной сети. Блок Unit Delay должен быть настроен на период 0.01, а не -1.

Рисунок 11. Сбор данных для прямого нейроэмулятора

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

Выбираем на второй странице наши входные и выходные данные нейронной сети (рисунок 12) и выбираем вид данных как строки. Затем идет выбор разбиения данных на обучение, проверку и тестирование, оставляем в тех пропорциях, что предлагается. Количество нейронов в скрытом слое 10. Запускаем обучение, кнопкой Train.

После того как обучение завершилось, можно увидеть коэффициент корреляции R, чем ближе к 1, тем больше нейронная связь определила взаимосвязь между данными (рисунок 13).

Рисунок 12. Выбор обучающих данных нейронной сети

Рисунок 13. Завершение обучения нейронной сети

В последнем диалоговом окне сохраняем обученную нейронную сеть под именем VzModelNN.

Рисунок 14. Завершение обучения нейронной сети

После этого сгенерируем ее модель Simulink командой gensim(VzModelNN,0.01) в рабочей области. При выполнении этой команды откроется окно модели, из которого надо скопировать блок нейронной модели (синего цвета) и вставить в модель схемы (рисунок 15). Последняя цифра сообщает о периоде реакции нейронной сети.

Рисунок 15. Модель с прямым нейроэмулятором

Проверим реакцию прямого нейроэмулятора на другой выборке, для этого изменим значение поля seed у блока uniform random number. Как можно видеть, реакция полностью совпадает (Рисунок 16).

Рисунок 16. Сравнение реакций объекта управления и прямого нейроэмулятора

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

Для этого вновь подключим Scope для записи данных в массивы Input и Target согласно схеме (рисунок 17). Для сбора данных о инверсной модели объекта управления, используем приближенную передаточную функцию ОУ с апериодическим звеном в знаменателе 0.05p+1. Для обучения лучшего всего использовать сигнал похожий на будущую форму возмущения, поэтому предлагается использовать произведение несколько блоков синусоид с параметрами амплитуды(А) и частоты(Ч): А=4 и Ч=1 рад/с, А=2 и Ч=3 рад/с, А=0.6 и Ч=0.5 рад/с, А=3 и Ч=2 рад/с.

Рисунок 17. Сбор данных для инверсного нейроэмулятора

После обучения и генерации модели Simulink нейронной сети, проверив реакцию инверсной нейроэмулятора, для этого дополним схему (Рисунок 18).

Рисунок 18. Схема проверки работы инверсного нейроэмулятора

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

Рисунок 19. Реакция инверсного нейроэмулятора и инверсной ПФ ОУ.

Как видим, реакция полностью совпадает. Теперь можно приступать к составлению схемы парирования возмущения.

Схема приведена на рисунке 20.

Рисунок 20. Схема компенсации возмущения.

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

 

Контрольные вопросы.

1. Какие слои содержит нейронная сеть?

2. Что происходит при обучении нейронной сети?

3. Назовите некоторые применения нейронных сетей.

4. Каким критерям должна отвечать обучающая выборка?

5. Что такое функция активации и какими они бывают?

6. Какие нейронные сети были разработаны в данной лабораторной работе и какие функции выполняют?

 

nntool - посмотреть свойства нейронной сети

 

Список литературы

1.




Поделиться с друзьями:


Дата добавления: 2015-06-04; Просмотров: 1367; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.