Лабораторні роботи №8 і №9
Створення нейронної мережі, що виконує логічну функцію «І» і «АБО»
Знайомство з Matlab для створення нейронних мереж. Нейронні мережі (NN - Neural Networks) широко використовуються для розв'язання різноманітних задач. Серед розвиваються областей застосування NN - обробка аналогових і цифрових сигналів, синтез та ідентифікація електронних ланцюгів і систем. Основи теорії та технології застосування NN широко представлені в пакеті MATLAB. У зв'язку з цим особливо слід зазначити останню версію пакету - MATLAB 6.0, де вперше представлений GUI (Graphical User Interface - графічний інтерфейс користувача) для NN - NNTool.
У даній лабораторній роботі дано опис NNTool і показана техніка його застосування для задачі створення нейронної мережі, що виконує логічну операцію «І».
Обробка сигналів в технологіях NN виконується за допомогою або NN без пам'яті, або NN c пам'яттю. І в тому і в іншому випадках ключовим елементом є NN без пам'яті. Подібна роль визначається тією обставиною, що при використанні нейронів з певними функціями активації (передавальними характеристиками) NN є універсальним аппроксіматором. Останнє означає, що в заданому діапазоні зміни вхідних змінних NN може із заданою точністю відтворювати (моделювати) довільну безперервну функцію цих змінних.
У наших лабораторних роботах розглядаються питання, що відносяться до так званих NN прямого поширення, тобто без зворотних зв'язків. Чудовою властивістю таких NN є їх стійкість. Після того як структура NN обрана, повинні бути встановлені її параметри. Вибір структури NN і типів нейронів - самостійний і вельми непросте питання, який тут ми обговорювати не будемо. Що ж стосується значень параметрів, то, як правило, вони визначаються в процесі рішення деякої оптимізаційної задачі. Ця процедура називається навчанням.
Графічний інтерфейс користувача NNTool дозволяє вибирати структури NN з обширного переліку і надає безліч алгоритмів навчання для кожного типу мережі.
У лабораторній роботі розглянуті наступні питання, що відносяться до роботи з NNTool: призначення графічних керуючих елементів; підготовка даних; створення нейронної мережі; навчання мережі; прогін мережі.
Всі етапи роботи з мережами проілюстровані прикладами розв'язання простих завдань. Як і в попередніх статтях проекту MATLAB для DSP raquo ;, передбачається, що читач знайомий з основами теорії NN і її термінологією.
Керуючі елементи NNTool. Щоб запустити NNTool, необхідно виконати однойменну команду в командному вікні MATLAB:
gt; gt; nntool
після цього з'явиться головне вікно NNTool, іменоване Вікном управ-ня мережами і даними (Network/Data Manager) (див. Малюнок 9.1).
Панель Мережі і дані (Networks and Data) має функціональні клавіші з наступними призначеннями:
· Допомога (Help) - короткий опис керуючих елементів цього вікна;
· Нові дані (New Data ...) - виклик вікна, що дозволяє створювати нові набори даних;
· Нова мережа (New Network ...) - виклик вікна створення нової мережі;
· Імпорт (Import ...) - імпорт даних з робочого простору MATLAB в простір змінних NNTool;
· Експорт (Export ...) - експорт даних з простору змінних NNTool в робочий простір MATLAB;
· Вид (View) - графічне відображення архітектури вибраної мережі;
· Видалити (Delete) - видалення вибраного об'єкту.
На панелі Тільки мережі (Networks only) розташовані клавіші для роботи виключно з мережами. При виборі покажчиком миші об'єкта будь-якого іншого типу, ці кнопки стають неактивними.
При роботі з NNTool важливо пам'ятати, що клавіші View, Delete, Initialize, Simulate, Train і Adapt (зображені на малюнку 1 як неактивні) діють стосовно до того об'єкту, який зазначений у даний момент виділенням. Якщо такого об'єкта немає, або над виділеним об'єктом неможливо призвести вказану дію, відповідна клавіша неактивна.
Малюнок. 9.1. Головне вікно NNTool
Завдання 1. Нехай потрібно створити нейронну мережу, що виконує логічну функцію І .
Створення мережі. Виберемо мережу, що складається з одного персептрона з двома входами. У процесі навчання мережі на її входи подаються вхідні дані, і проводиться зіставлення значення, отриманого на виході, з цільовим (бажаним). На підставі результату порівняння (відхилення отриманого значення від бажаного) обчислюються величини зміни ваг і зсуву, що зменшують це відхилен...