Розпізнавання образів

Однієї з областей застосування нейронних мереж є розпізнавання образів. Апроксимаційні можливості НМе грають тут першорядну роль.

Приклад 4.

Необхідно побудувати і навчити нейронну мережу для рішення задачі розпізнавання цифр. Ціль цього приклада - показати загальний підхід до рішення задач розпізнавання образів. Тому, щоб не захаращувати виклад технічними деталями, позначимо лише ключові моменти, думаючи, що на даному етапі читач готовий самостійно зробити відповідні дії з NNTool.

Система, що має бути синтезувати за допомогою нейронної мережі, буде навчена сприймати символи, близькі до шаблонового (рис. 16).

Рис. 16. Монохромне зображення вихідних даних   Рис. 17. Графічне представлення масиву вихідних даних  

 

Набори вихідних даних (не плутати з цільовими даними) можна як завантажувати з файлів зображень, так і створювати безпосередньо в MATLAB. Рис. 17 ілюструє вміст масиву вихідних даних. Одержимо навчальні дані, наклавши шум на набір вихідних даних (рис. 18).

Рис. 18. Навчальні дані     Рис. 19. Вікно імпорту і завантаження даних з MAT-файлу  

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

Для рішення цієї задачі обрана мережа Feed-forward backprop з п'ятьма сигмоїдними нейронами першого шару і п'ятьма лінійними нейронами другого шару. Алгоритм навчання - Левенберга-Маркардта. З такою конфігурацією мережа після восьми епох навчання дала помилку порядку 10-30.

Щоб упевнитися в правдивості результату, ми прогнали мережу на заготовленій контрольній множині. Мережа бездоганно розділила і нову вибірку зашумленних символів.

Завершуючи приклад, відзначимо, що вже зараз успішно розробляються різноманітні системи розпізнавання образів (візуальних, звукових), що базуються на нейронних мережах. Прикладом можуть послужити програми розпіз-навання сканованого тексту. Вони достатньо широко поширені серед власників оптичних сканерів і в реальному масштабі часу справляються з поставленими задачами.

Імпорт-експорт даних

На практиці часто приходиться переносити дані з одного комп'ютера на інший чи користатися зовнішніми, стосовно NNTool, засобами обробки даних. У зв'язку з цим виникає необхідність збереження результатів роботи і завантаження даних. Не менш важливий обмін даними між NNTool і MATLAB, оскільки простори їх змінних не перетинаються.

Ці задачі вирішують засоби імпорту-експорту і завантаження-збереження даних. Доступ до них здійснюється через головне вікно NNTool (рис. 1)за допомогою кнопок Import і Export.

Імпорт

Джерелом служить змінна в робочому просторі MATLAB, а пунктом призначення - змінна в робочому просторі NNTool. Натиснувши кнопку Import, попадаємо у вікно "Імпорт-завантаження даних" (Import or Load to Network/Data Manager). За замовчуванням тут встановлена опція завантаження з робочого простору MATLAB, тому в центрі вікна з'являється список приналежних йому змінних. Вибравши мишею потрібну змінну в полі "Вибір змінної" (Select a Variable), - їй можна задати довільне ім'я в полі "Ім'я" (Name), під яким вона буде скопійована в NNTool. Коли змінна виділена, NNTool аналізує її тип і робить доступними для вибору ті "Категорії даних" (Import As), що підтримуються. Вказавши одну з них, варто натиснути кнопку "Імпортувати" (Import), щоб завершити копіювання. Після того, як усі дії успішно проведені, ім'я імпортованої змінної з'явиться в одному зі списків головного вікна NNTool.

 

Завантаження з файлу

Тут джерело - файл. При цьому важливо, щоб його формат підтримувався NNTool. У придатному форматі зберігаються так звані MAT-файли. Вони містять бінарні дані і дозволяють MATLAB зберігати змінні будь-яких підтримуваних типів і вимірностей. Такі файли можуть створюватися, наприклад, у процесі роботи з NNTool. Щоб завантажити змінні з MAT-файлу в NNTool, необхідно відкрити вікно імпорту, натиснувши кнопку "Import" головного вікна NNTool. Потім слід зазначити опцію "Завантажити з файлу" (Load from disk file) і, натиснувши "Огляд" (Browse), відкрити файл із даними, що зберігаються у форматі MAT-файлів. Найчастіше, це файли з розширенням MAT. У результаті, список у вікні імпорту заповниться іменами змінних, збережених у зазначеному MAT-файлі. Подальша послідовність дій цілком збігається з описаної в пункті Імпорт (рис. 19).

Експорт

Ця функція копіює задані змінні з NNTool у робочий простір MATLAB. Вона доступна по натисканню кнопки Export головного вікна NNTool. У вікні експорту єдиним списком перераховані змінні всіх категорій, представлених у NNTool. Тут необхідно виділити ті з них, що підлягають експорту, і натиснути Export. Тепер виділені змінні скопійовані в робочий простір MATLAB.

Збереження у файлі

У цілому, процедура схожа з експортом, за одним виключенням: відзначивши змінні, варто натиснути кнопку "Зберегти" (Save). Тоді з'явиться вікно, у якому можна задати ім'я файлу. Його можна вказати без розширення - за замовчуванням NNTool прикріпить розширення MAT. Це зв'язано з тим, що NNTool зберігає дані тільки у форматі MAT-файлів (рис. 20).

Рис. 20. Вікно експорту і збереження даних у MAT-файлі

Ми розглянули найпростіші задачі, для рішення яких застосовувалися нейронні мережі прямого поширення. NNTool дозволяє вирішувати значно більш широке коло задач, надаючи можливість використовувати мережі різноманітних архитектур, з пам'яттю і без пам'яті, зі зворотними зв'язками і без таких. При цьому варто мати на увазі, що успіх багато в чому залежить від розуміння поводження конструйованих мереж і їхніх апроксимаційних можливостей.

 

Варіанти завдань

Виконати апроксимацію функціональної залежності в середовищі NNTOOL, порівняти отриманий результат з результатом апроксимації на підставі систем нечіткого висновку типу Мамдані (лаб. робота №2).

 

№ варіанту Тип функції Область визначення змінних Примітки
   
  y=F (x 1, x 2) = sin(x 1 + x 2) – x 1 x 1, x 2 [0, 2pi]  
  y= F (x 1, x 2)=exp(– x 1)+ sin(x 2/2) x 1, x 2 [0, 2pi]  
  y=F (x 1, x 2, x 3) = sin(x 1 + x 2 + x 3) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = cos(x 1 + x 2 + x 3) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = sin((x 1+ x 2 + x 3)/2) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = cos((x 1+ x 2 + x 3)/2) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = exp(– x 1) + exp(– x 2) + exp(x 3/2) x 1, x 2, x 3 [0, 2pi/3]  
  y=F (x 1, x 2, x 3) = sin(x 1 + x 2 + x 3) x 1, x 2, x 3 [0, 2pi/3]  

 

Розв¢язання прикладних задач в середовищі нейромереж Neural Networks.

 

Мета роботи

1. Опанувати техніку розв¢язання задач в середовищі нейромереж – Neural Networks.

2. Визначити місце і роль штучних нейромереж в загальному контексті штучного інтелекту та інтелектуальних систем.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: