Файл: Лабораторна робота 7.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.05.2024

Просмотров: 29

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Відмітимо, що точність апроксимації тут можна було б підвищити, конструюючи мережу з великим числом нейронів, але при цьому необхідна і більш представницька повчальна вибірка.


2.3. Робота із створеною мережею

Для проглядання структурної схеми мережі необхідно, вибравши ім'я мережі (network1|), скористатися кнопкою View|.

При необхідності можна експортувати створену нейронну мережу в робочу область системи MATLAB| (натиснувши кнопку Export| і далі, у вікні Export| or| Save| from| Network/Data Manager|, що відкрилося, — кнопки Select| All| (Вибрати все) і Export|) і отримати інформацію про ваги і зсуви безпосередньо в робочому вікні системи, виконавши команду:

>> network1|.IW{1,1},network1|.b{1} ans| =

1.9568

1.9603 ans| =

-3.0678

3.2779 і команду:

>> network1|.IW{2,1},network1|.b{2} ans| =

[] ans| =

23.4859

Тепер можна побудувати модель НС в середовищі Simulink| і відобразити її схему, використовуючи команду:

>> gensim|(network1|)

Ця схема є повною мірою функціональною схемою і може бути застосована для моделювання нейронної мережі. Подвійне клацання на блоці Neural| Network| розкриває шари мережі, а подвійне клацання на блоці шаруючи мережі розкриває його структуру.

3. Моделювання нейронних мереж за допомогою Simulink|

3.1. Засоби Simulink| для роботи з нейронними мережами

Пакет Neural| Network| Toolbox| містить ряд блоків, які можуть бути або безпосередньо використані для побудови нейронних мереж в середовищі Simulink|, або застосовуватися разом з розглянутою вище функцією gensim|.

Для виклику цього набору блоків в командному рядку необхідно набрати команду neural|, після виконання який з'являється вікно нейромережі (цього ж результату можна добитися за допомогою кнопки Simulink| меню MATLAB| і далі — кнопки Neural| Network| Blockset|).

Кожен з нейромережних блоків, у свою чергу, є набором (бібліотекою) деяких блоків. Розглянемо їх.

Подвійне клацання на блоці Transfer| Functions| приводить до появи бібліотеки блоків функцій активації. Кожен з блоків даної бібліотеки перетворить вектор, що подається на нього, у відповідний вектор тієї ж розмірності.


Блок Net| Input| Functions| включає блоки, реалізують функції перетворення входів мережі.

Блок Weight| Functions| містить бібліотеку блоків, що реалізовують деякі функції вагів і зсувів.

Відзначимо, що в процесі роботи зі всіма приведеними блоками при завданні конкретних числових значень зважаючи на особливості Simulink| вектори необхідно представляти як стовпці, а не як рядки.

Блоки, об'єднані в бібліотеку Control| Systems| реалізують нейро-мережеві регулятори трьох різних структур, — регулятор з прогнозом, регулятор, заснований на використанні моделі нелінійної авторегресії з ковзаючим середнім (Nonlinear| Autoregressive-Moving| Average| — NAR-MA-L2|), і регулятор на основі еталонної моделі, які зручні при побудові і дослідженні моделей систем автоматичного управління, а також блок проглядання результатів.

3.2. Виконання моделювання

Основною функцією для формування нейромережних моделей в Simulink| є функція gensim|, записувана у формі

gensim|(net,st|)

де net| — ім'я створеної НС, st| — інтервал дискретизації (якщо НС не має затримок, що асоціюються з її входами або шарами, значення даного аргументу встановлюється рівним -1).

Як приклад використання засобів Simulink| розглянемо наступне завдання.

Хай вхідний і цільовий вектори мають вигляд

р = [1 2 3 4 5] ; t = [ 1 3 5 7 9];

Створимо лінійну НС і протестуємо її за даними повчальної вибірки:

>> р = [1 2 3 4 5] ; >> t = [1 3 5 7 9] ; >> net| = newlind|(р,t|);

>> Y = sim|(net,p|) У =

1.0000 3.0000 5.0000 7.0000 9.0000

Потім запустимо Simulink| командою

>> gensim|(net|-1)

Це приведе до відкриття вікна з нейромережною моделлю.

Для проведення тестування моделі клацнемо двічі на лівому значку (з написом Input| 1 — Вхід 1), що приведе до відкриття діалогового вікна параметрів блоку. В даному випадку блок Input| 1 є стандартним блоком завдання константи (Constant|). Змінимо значення за умовчанням на 2 і натиснемо кнопку ОК.

Потім натиснемо кнопку Start| в панелі інструментів вікна моделі. Розрахунок нового значення мережею проводиться практично миттєво. Для його виводу необхідно двічі клацнути на правому значку (на блоці у(1)).


Результат обчислень рівний 3, як і потрібний, і виводиться у вигляді графіка. Для виведення результату в числовому вигляді до виходу моделі слід підключити блок «дисплей».

Відзначимо, що двічі клацаючи на блоці Neural| Network|, а потім на блоці Layer| 1, можна отримати детальну графічну інформацію про структуру мережі.

Із створеною мережею можна проводити різні експерименти, можливі в середовищі Simulink|; взагалі, за допомогою команди gensim| здійснюється інтеграція створених нейромереж в блок-діаграми цього пакету з використанням інструментів моделювання різних систем, що є при цьому (наприклад, можливе вбудовування нейромережного регулятора в систему управління і моделювання останньої і т. п.).

10