Панель має три закладки:
Training Info (Інформація про повчальні послідовності);
Training Parameters (Параметри навчання);
Optional Info (Додаткова інформація).
Застосовуючи ці закладки, можна встановити імена послідовностей входу і мети (на вкладці Training Info — в лівій її частині необхідно вказати х і у), а також значення параметрів процедури навчання (на вкладці Training Parameters; в умовах прикладу збережемо значення з умовчанням).
На вкладці Optional Info слід вказати змінні x і у як Validation Data і Test Data.
Тепер натиснення кнопкиTrain Network викликає навчання мережі. Якість навчання мережі на вибраній повчальній послідовності відображається графіком. Видно, що до кінця процесу навчання помилка стає дуже малою(вид даного малюнка при повторі обчислень може відрізнятися від приведеного).
Результати навчання можна проглянути у вікніNetwork/Data Manager, активізуючи імена послідовностей виходів network1_outputs або помилок network1_errors, і використовуючи кнопку View.
Слід зазначити, що в даному випадку точність апроксимації заданої функції вийшла не дуже високою — максимальна абсолютна похибка складає 0.055, відносна — 5.5%, в чому можна переконатися, проглянувши значення помилок (networkl_errors) або виходів (net-work1_outputs) мережі.
Відмітимо, що точність апроксимації тут можна було б підвищити, конструюючи мережу з великим числом нейронів, але при цьому необхідна і більш представницька повчальна вибірка.
6
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)
7
Ця схема є повною мірою функціональною схемою і може бути застосована для моделювання нейронної мережі. Подвійне клацання на блоці 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), і регулятор на основі еталонної моделі, які зручні при побудові і дослідженні моделей систем автоматичного управління, а також блок проглядання результатів.
8
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)
Y =
1.0000 3.0000 5.0000 7.0000 9.0000
Потім запустимо Simulink командою
>> gensim(net-1)
Це приведе до відкриття вікна з нейромережною моделлю.
Для проведення тестування моделі клацнемо двічі на лівому значку(з написом Input 1 — Вхід 1), що приведе до відкриття діалогового вікна параметрів блоку. В даному випадку блок Input 1 є стандартним блоком завдання константи (Constant). Змінимо значення за умовчанням на 2 і натиснемо кнопку ОК.
Потім натиснемо кнопкуStart в панелі інструментів вікна моделі. Розрахунок нового значення мережею проводиться практично миттєво. Для його виводу необхідно двічі клацнути на правому значку (на блоці у(1)).
9
Результат обчислень рівний 3 і виводиться у вигляді графіка. Для виведення результату в числовому вигляді до виходу моделі слід підключити блок «дисплей».
Відзначимо, що двічі клацаючи на блоціNeural Network, а потім на блоці Layer 1, можна отримати детальну графічну інформацію про структуру мережі.
Із створеною мережею можна проводити різні експерименти, можливі в середовищі Simulink; взагалі, за допомогою командиgensim здійснюється інтеграція створених нейромереж в блокдіаграми цього пакету з використанням інструментів моделювання різних систем, що є при цьому (наприклад, можливе вбудовування нейромережного регулятора в систему управління моделювання останньої і т. п.).
10