ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.05.2024
Просмотров: 39
Скачиваний: 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| здійснюється інтеграція створених нейромереж в блок-діаграми цього пакету з використанням інструментів моделювання різних систем, що є при цьому (наприклад, можливе вбудовування нейромережного регулятора в систему управління і моделювання останньої і т. п.).