Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Побудова та дослідження моделі штучної нейронної мережі для вирішення задач класифікації об «єктів у багатопоточних комп» ютерних середовищах

ДипломнаДопомога в написанніДізнатися вартістьмоєї роботи

При класифікації, заснованій на безпосередньому сенсорному досвіді, тобто при розпізнаванні осіб або вимовлених слів, люди легко перевершують технічні пристрою. В «несенсорних ситуаціях» дії людей не настільки ефективні. Наприклад, люди не можуть змагатися з програмами класифікації образів, якщо правильний образ класифікації включає логічні комбінації абстрактних властивостей, таких, як колір… Читати ще >

Побудова та дослідження моделі штучної нейронної мережі для вирішення задач класифікації об «єктів у багатопоточних комп» ютерних середовищах (реферат, курсова, диплом, контрольна)

Зміст

  • Вступ
  • 1. Введення в теорію штучних нейронних мереж
  • 1.1 Модель мозку та біологічний нейрон
  • 1.1.1 Аналогія мозку та комп’ютерного процесору
  • 1.1.2 Біологічний нейрон
  • 1.2 Штучний нейрон
  • 1.3 Штучні нейронні мережі та їх архітетура
  • 1.3.1 Одношарові прямонаправлені мережі
  • 1.3.2 Багатошарові прямонаправлені мережі
  • 1.3.3 Рекурентні мережі
  • 1.3.4 Повністю зв’язані мережі
  • Висновки до розділу
  • 2. Проблема класифікації символів
  • 2.1 Використання нейронних мереж для вирішення практичних завдань
  • 2.2 Рецепторна структура сприйняття інформації
  • 2.2.1 Поняття про образ
  • 2.2.2 Проблема розпізнавання образів
  • 2.2.3 Перетворення зображень у цифровий код
  • 2.3 Навчання штучної нейронної мережі
  • 2.3.1 Контрольоване навчання
  • 2.3.2 Неконтрольоване навчання
  • 2.3.3 Оцінки навчання
  • 2.3.4 Правила навчання
  • 2.3.5 Навчання методом змагання
  • 2.4 Перцептрон як модель розпізнавання
  • 2.4.1 Поняття перцептрона
  • 2.4.2 Багатошаровий перцептрон
  • 2.4.3 Алгоритм вирішення задач за допомогою БШП
  • 2.4.4 Формалізація задачі розпізнавання букв алфавіту
  • Висновки до розділу
  • 3. Моделі та засоби організації багатопоточних обчислень
  • 3.1 Багатопочність як явище
  • 3.2 Моделі організації багатопоточності
  • 3.3 Проблеми багапоточності
  • 3.4 Паралельні обчислення
  • 3.5 Програмні інструменти паралелізму
  • Висновки до розділу
  • 4. Задача моделювання штучної нейронної мережі з розпаралелюванням процесів
  • 4.1 Постановка задачі
  • 4.2 Теоретичне обґрунтування обраних моделей
  • 4.2.1 Метод зворотного поширення помилки
  • 4.2.2 Підходи до організації багапоточності
  • 4.2.3 The Task Parallel Library (TPL)
  • 4.3 Опис системи, що розробляється
  • 4.3.1 Проектування функціональної структури
  • 4.3.2 Опис та ієрархія основних класів системи
  • 4.4 Алгоритм роботи нейронної мережі для задачі класифікації символів
  • 4.4.1 Трансформація малюнку у машинний код
  • 4.4.2 Реалізація алгоритму зворотного поширення помилки
  • 4.4.3 Програмна реалізація багатопоточності
  • 4.4.4 Реалізація функції розпізнавання
  • 4.5 Програмна реалізація нейронної мережі для розпізнавання символів
  • 4.5.1 Запуск та закриття програмного забезпечення
  • 4.5.2 Основні елементи інтерфейсу
  • 4.5.3 Можливі проблеми та шляхи їх вирішення
  • 4.6 Тестування розробленого програмного забезпечення
  • 4.6.1 Тестування роботи програмного забезпечення для виконання задач класифікації
  • 4.6.2 Тестування швидкості роботи програмного забезпечення при його роботі в одно та багатопоточних комп’ютерних середовищах
  • Висновки до розділу
  • 5. Організаційно-економічний розділ
  • 5.1 Функціонально-вартісний аналіз (ФВА)
  • 5.2 Обґрунтування функцій програмного продукту
  • 5.2.1 Виділення основних функцій
  • 5.2.2 Опис основних функцій ПП
  • 5.3 Обґрунтування системи параметрів
  • 5.4 Аналіз варіантів реалізації функцій
  • 5.5 Економічний аналіз варіантів ПП
  • 5.5.1 Визначення витрат на розробку ПП
  • 5.5.2 Оцінка техніко-економічного рівня варіантів ПП
  • Висновки до розділу
  • 6. Охорона праці та безпека в надзвичайних ситуаціях
  • 6.1 Аналіз умов праці в приміщенні, де експлуатується програмне забезпечення. Заходи з охорони праці
  • 6.1.1 Аналіз приміщення
  • 6.1.2 Повітря робочої зони
  • 6.1.3 Виробниче освітлення
  • 6.1.4 Захист від виробничого шуму і вібрації
  • 6.1.5 Випромінювання
  • 6.1.6 Електробезпека
  • 6.1.7 Безпека технологічних процесів та обслуговування обладнання
  • 6.2 Пожежна безпека
  • Висновки до розділу
  • Висновки
  • Перелік посилань

Перелік умовних позначень, символів, скорочень і термінів

ЦП — центральний процесор НМ — нейронна мережа ШН — штучний нейрон ШНМ — штучна нейронна мережа ПРО — проблема розпізнавання образів БШП — багатошаровий перцептрон ПП — програмний продукт ОС — операційна система

API — application programming interfaces

MPI — Message Passing Interface

OpenMP — Open Multi-Processing

TPL — The Task Parallel Library

Вступ

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

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

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

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

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

У другому буде розглянута проблематика задачі розпізнавання образів.

Третій розділ присвячений організації багатопоточності.

У четвертому розділі зроблено опис розробленого програмного продукту.

Четвертий та п’ятий розділ присвячені проблемі економічного обґрунтування та охороні праці.

штучна нейронна мережа розпаралелювання

1. Введення в теорію штучних нейронних мереж

Сьогодні є безперечним значний науковий та практичний інтерес до обчислювальних структур нового типу — штучних нейронних мереж (ШНМ). Він зумовлений насамперед тим, їх що технологія дозволила розробити ефективні підходи до вирішення проблем, що вважалися складними для реалізації в традиційних комп’ютерах.

Штучні нейронні мережі - математичні моделі, а також їхня програмна та апаратна реалізація, побудовані за принципом функціонування біологічних нейронних мереж — мереж нервових клітин живого організму. Системи, архітектура і принцип дії базується на аналогії з мозком живих істот. Ключовим елементом цих систем виступає штучний нейрон як імітаційна модель нервової клітини мозку — біологічного нейрона.

1.1 Модель мозку та біологічний нейрон

1.1.1 Аналогія мозку та комп’ютерного процесору

Мозок і Центральний Процесор (ЦП) ЕОМ, є найбільш складними системами переробки інформації. ЦП інтегрує мільйони напівпровідникових транзисторів і подібний мозку, в якому міститься близько 100 мільярдів нейронів, кожен з яких має в середньому 10 000 зв’язків. За аналогією зі схемотехнікою великих інтегральних схем (ВІС) ЕОМ, де відбувається прийом, передача і переробка цифрової інформації, біологічна мережа нейронів відповідає за всі явища, які ми називаємо думками, емоціями, пам’яттю, сенсомоторними та автономними функціями. Мозок, в якому, на відміну від ЦП, щодня гине велика кількість нейронів, надзвичайно надійний і продовжує функціонувати. Обробка величезних обсягів інформації мозком здійснюється дуже швидко, за долі секунди, незважаючи на те, що сам нейрон є повільно діючим елементом з часом реакції у декілька мілісекунд. На відміну від біологічного нейрона, електричні напівпровідники ЦП є більш швидкодіючими і безпомилковими, проте кількість зв’язків між нейронами мозку у багато разів перевищує зв’язки між напівпровідниками ЦП, що забезпечує паралелізм і багатопоточність обробки інформації.

1.1.2 Біологічний нейрон

Нервова система людини побудована з елементів (нейронів), має приголомшуючу складність. Близько 1011 нейронів беруть участь в приблизно 1015 передаючих зв’язках, що мають довжину метр і більше. Кожен нейрон володіє багатьма якостями, спільними з іншими елементами тіла, але його унікальною здатністю є прийом, обробка і передача електрохімічних сигналів по нервових шляхах, які утворюють комунікаційну систему мозку.

Рисунок 1.1 — Біологічний нейрон

На рис. 1.1 показана структура пари типових біологічних нейронів. Нейрон складається з трьох частин: тіла клітини, дендритів і аксона, кожна частина зі своїми, але взаємопов'язаними функціями. Дендрити (входи нейрона) йдуть від тіла нервової клітини (сома) до інших нейронів, де вони приймають сигнали в точках з'єднання (синапсах). Прийняті синапсом вхідні сигнали підводяться до тіла нейрона. Тут вони підсумовуються, причому одні входи стимулюють активізацію нейрона, а інші - зниження його активності. Коли сумарна активність (збудження) нейрона перевищує деякий поріг, нейрон переходить в активний стан, посилаючи по аксону (виходу нейрона) сигнал іншим нейронам. У цієї основної функціональної схеми багато спрощень і виключень, проте більшість штучних нейронних мереж моделює лише ці прості властивості.

Нервові клітини, або нейрони, являють собою особливий вид клітин в живих організмах, що володіють електричною активністю, основне призначення яких полягає в оперативному управлінні організмом. Їх можна розбити на три великі групи: рецепторні, проміжні та ефекторні. Рецепторні нейрони забезпечують введення в мозок сенсорної інформації. Вони трансформують сигнали, що надходять на органи почуттів [28], в електричну імпульсацію своїх аксонів. Ефекторні нейрони передають сигнали, що приходять на них, виконавчим органам. На кінці їх аксонів є спеціальні синаптичні з'єднання з виконавчими органами, наприклад м’язами, де збудження нейронів трансформується в скорочення м’язів. Проміжні нейрони здійснюють обробку інформації, що одержують від рецепторів, і формують керуючі сигнали для ефекторів. Вони утворюють центральну нервову систему.

1.2 Штучний нейрон

Основними компонентами нейронної мережі є нейрони /neurons/ (елементи, вузли), які з'єднані зв’язками. Сигнали передаються по зваженим зв’язкам (connection), з кожним з яких пов’язаний ваговий коефіцієнт (weighting coefficient) або вага.

Штучний нейрон (Математичний нейрон Маккалока — Піттса, Формальний нейрон [26]) — вузол штучної нейронної мережі, що є спрощеною моделлю природного нейрона. Математично, штучний нейрон зазвичай представляють як деяку нелінійну функцію від єдиного аргументу — лінійної комбінації всіх вхідних сигналів. Цю функцію називають функцією активації або функцією спрацьовування, передавальною функцією.

Отриманий результат посилається на єдиний вихід.

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

Кожен нейрон характеризується своїм поточним станом за аналогією з нервовими клітинами головного мозку, які можуть бути порушені або загальмовані. Він володіє групою синапсів — односпрямованих вхідних зв’язків, з'єднаних з виходами інших нейронів, а також має аксон — вихідну зв’язок даного нейрона, з якої сигнал (збудження або гальмування) надходить на синапси наступних нейронів. Загальний вигляд нейрона наведено на рис. 1.2 Кожен синапс характеризується величиною синаптичного зв’язку або її вагою wi, який з фізичного змістом еквівалентний електричної провідності.

Рисунок 1.2 — Штучний нейрон

Поточний стан нейрона визначається, як зважена сума його входів:

(1.1)

Вихід нейрона є функція його стану:

y = f (s) (1.2)

де wі — вага (weight) синапса, i=1…n; b — значення зсуву (bias); s — результат сумування (sum); хi — компонент вхідного вектора (вхідний сигнал), i=1…n; у — вихідний сигнал нейрона; п - число входів нейрона; f - нелінійне перетворення (функція активації).

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

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

1.3 Штучні нейронні мережі та їх архітетура

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

Сьогодні відома велика кількість нейронних структур та їх модифікацій, що орієнтовані на вирішення конкретного типу задач.

Розглянемо детальніше основні властивості ШНМ:

· локальна обробка інформації в штучному нейроні, який є базовою структурною одиницею мережі;

· паралелізм, результатом якого є вирішення глобальної задачі шляхом представлення її у вигляді множини локальних задач, що тісно взаємодіють між собою;

· здатність до навчання, яке підвищує ефективність роботи мережі;

· здатність до розподіленого зберігання знань, які були одержані в ході навчання.

ШНМ задають у вигляді направлених графів, вершинами яких є нейрони, а ребрами позначені міжнейронні зв’язки.

Архітектури сучасних нейронних мереж найчастіше поділяють на три категорії:

· мережі з повним набором міжнейронних зв’язків;

· мережі з фіксованим індексом оточення;

· мережі з пошаровою структурою.

У ШНМ із повним набором міжнейронних зв’язків забезпечується можливість взаємодії кожного нейрона мережі з будь-яким іншим. На рис. 1.4 наведений приклад повного з'єднання чотирьох нейронів.

Рисунок 1.4 — Повне з'єднання

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

У випадку, коли необхідно використовувати структури з великою кількістю нейронів, застосовують кліткові структури з фіксованим індексом оточення. На рис. 1.5 наведений приклад структури такого типу з індексом оточення 4.

Рисунок 1.5 — Кліткова нейронна мережа з індексом оточення 4

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

Найбільш поширеними є структуровані за шарами нейронні мережі, які, в залежності від свого функціонального призначення, можуть містити однотипні або різнотипні нейрони. Виходячи з шарової структури ШНМ, характер міжнейронних зв’язків має свої міжшарові та внутрішньошарові особливості. На рис. 1.6 показана класифікація видів міжнейронних зв’язків.

Рисунок 1.6 — Види міжнейронних зв’язків

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

Багатошарові мережі з повним з'єднанням забезпечують можливість передачі інформації з кожного нейрона попереднього шару на будь-який нейрон наступного. Найчастіше це Ї багатошарові перцептрони.

У випадку прямого міжшарового поширення інформація передається однонаправлено у напрямку зростання номера шару.

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

Двонаправлене поширення допускає також зворотну передачу, що дозволяє створювати алгоритми, за якими враховувався б взаємний міжнейронний обмін.

Таким чином, однонаправленість зв’язків призводить до побудови виключно ієрархічних структур, у яких обробка інформації розподіляється по рівнях. За кожний рівень ієрархічної обробки інформації відповідає свій шар нейронів.

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

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

Двонаправлені зв’язки у межах одного шару використовуються для створення конкуруючих груп нейронів.

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

На сьогоднішній день можна виділити чотири основні різновиди архітектури ШНМ:

· одношарові прямонаправлені мережі;

· багатошарові прямонаправлені мережі;

· рекурентні мережі;

· повністю зв’язані мережі.

1.3.1 Одношарові прямонаправлені мережі

Шаровою називається ШНМ, що складається з груп нейронів, розділених по шарах. ШНМ, що містить k шарів, називається k-шарової. Якщо сигнали в мережі розповсюджуються тільки за направленням з початку в кінець, то така ШНМ називається прямонаправленою.

На рис. 1.7 зображена одношарова прямонаправлена ШНМ.

Рисунок 1.7 — Одношарова прямо спрямована ШНМ

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

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

1.3.2 Багатошарові прямонаправлені мережі

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

На рис. 1.8 представлена схема тришарової прямо спрямованої ШНМ з одним прихованим шаром. Для опису такої мережі використовується запис NN3−5-2. Тут 3 — розмір вхідного шару мережі, 5 — прихованого, і 2 — вихідного. У загальному випадку прямо спрямованої ШНМ з g вхідними нейронами, q вихідними нейронами і n прихованими шарами розміру hi позначається NNg-h1-h2-. - hn-q.

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

Рисунок 1.8 — Схема тришарової прямо спрямованої ШНМ з одним прихованим шаром

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

Зображена на рис. 1.8 ШНМ називається повністю пов’язаною прямо спрямованою ШНМ, так як кожен нейрон з одного шару пов’язаний з усіма нейронами наступного шару. Широке застосування також знаходять частково пов’язані прямо спрямовані ШНМ, в яких нейрони одного шару пов’язані тільки з певною частиною нейронів наступного шару. Така архітектура дозволяє закласти в ШНМ апріорні знання про бажаний закон обробки сигналів у мережі.

Тришарові прямо спрямовані ШНМ широко використовуються для вирішення задач класифікації, розпізнавання образів, апроксимації та управління.

1.3.3 Рекурентні мережі

Цей тип ШНМ відрізняється існуванням зворотних зв’язків та елементів тимчасової затримки сигналу.

Найбільш простим випадком рекурентна мережі є один шар нейронів, охоплений зворотними зв’язками. При цьому кожен нейрон отримує затримані вихідні сигнали всіх інших нейронів.

На рис. 1.9 представлена рекурентна ШНМ, що містить прихований шар нейронів. У цьому випадку кожен нейрон отримує, крім вхідних сигналів, ще й всі вихідні сигнали мережі. Частина ШНМ, охоплена зворотними зв’язками може мати і більшу кількість прихованих шарів.

Рисунок 1.9 — Рекурентна мережа з одним прихованим шаром

Наявність зворотних зв’язків та елементів тимчасової затримки сигналів надає рекурентним мережам власні нелінійні динамічні властивості. Це також позначається на їх здатності до навчання. Тренування рекурентних мереж потребує врахування їх динамічних властивостей.

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

1.3.4 Повністю зв’язані мережі

Характерною ознакою ШНМ цього типу є наявність зв’язків між усіма нейронами.

Найбільш відомою різновидом повністю пов’язаних мереж є мережі Хопфілда (див. рис. 1.10). У них кожен нейрон має двосторонні зв’язки з усіма іншими нейронами мережі. У загальному випадку мережа Хопфілда має симетричну кільцеву структуру, в ній не можна виділити приховані нейрони і єдиний напрямок поширення сигналів. Робота повністю зв’язаної ШНМ і обмін даними контролюється одним головним нейроном.

Мережа Хопфілда є прикладом повністю зв’язаної динамічної мережі, що ґрунтується на принципах самоорганізації, проте в ній не використовуються в явному вигляді елементи тимчасової затримки.

Рисунок 1.10 — Повністю зв’язана мережа Хопфілда

Іншим прикладом служать ґратчасті мережі (див. рис. 2.7). Вони являють собою масив нейронів, кожен з яких пов’язаний з вхідними нейронами. Розмірність масиву нейронів визначає розмірність ґратчастої мережі. Така ШНМ є прямо направленою, оскільки в ній немає зворотних зв’язків, однак у ній не можна виділити приховані елементи або шари.

Рисунок 1.11 — Одновимірна ґратчаста мережа з трьох нейронів

Повністю зв’язані мережі знаходять особливо широке застосування при вирішенні задач класифікації та розпізнавання образів.

Висновки до розділу

У розділі було приведено поняття нейрону та штучної нейронної мережі. Також зроблено аналіз основних властивостей нейронних мереж, приведено варіанти побудови їх архітектури.

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

2. Проблема класифікації символів

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

Однак штучні нейронні мережі не є інструментом для вирішення задач будь-якого типу. Вони не підходять для виконання таких задач як нарахування заробітної платні, але їм віддається перевага у великому класі задач розпізнавання символів, з якими погано або взагалі не справляються звичайні комп’ютери.

2.1 Використання нейронних мереж для вирішення практичних завдань

Класифікація образів. Завдання полягає у визначенні приналежності вхідного образа (наприклад, мовного сигналу чи рукописного символу), представленого вектором ознак, одному чи декільком попередньо визначеним класам. До відомих застосувань відносяться розпізнавання букв, розпізнавання мови, класифікація сигналу електрокардіограми, класифікація кліток крові.

Кластеризація/категоризація. При рішенні задачі кластеризації, що відома також як класифікація образів «без вчителя», навчальна множина з визначеними класами відсутня. Алгоритм кластеризації заснований на подобі образів і розміщує близькі образи в один кластер. Відомі випадки застосування кластеризації для видобутку знань, стиснення даних і дослідження властивостей даних.

Апроксимація функцій. Припустимо, що є навчальна вибірка ((x1, y1), (x2, y2)., (xn, yn)) (пари даних вхід-вихід), яка генерується невідомою функцією F, спотвореної шумом. Завдання апроксимації полягає в знаходженні невідомої функції F. Апроксимація функцій необхідна при рішенні численних інженерних і наукових задач моделювання.

Передбачення/прогноз. Нехай задані n дискретних відліків {y (t1), y (t2),., y (tn) } у послідовні моменти часу t1, t2,., tn. Завдання полягає в передбаченні значення y (tn+1) у деякий майбутній момент часу tn+1. Передбачення/прогноз мають значний вплив на прийняття рішень у бізнесі, науці й техніці (передбачення цін на фондовій біржі, прогноз погоди).

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

Пам’ять, що адресується за змістом. В традиційних комп’ютерах звертання до пам’яті доступно тільки за допомогою адреси, що не залежить від змісту пам’яті. Більш того, якщо допущена помилка в обчисленні адреси, то може бути знайдена зовсім інша інформація. Асоціативна пам’ять, чи пам’ять, що адресується за змістом, доступна за вказівкою заданого змісту. Вміст пам’яті може бути викликано навіть по частковому входу чи спотвореному змісту. Асоціативна пам’ять надзвичайно бажана при створенні мультимедійних інформаційних баз даних.

Керування. Розглянемо динамічну систему, задану сукупністю {u (t), y (t) }, де u (t) є вхідним керуючим впливом, а y (t) — виходом системи в момент часу t. В системах керування з еталонною моделлю метою керування є розрахунок такого вхідного впливу u (t), при якому система діє по бажаній траєкторії, заданою еталонною моделлю. Прикладом є оптимальне керування двигуном.

Але, незважаючи на переваги нейронних мереж в часткових галузях над традиційними обчисленнями, існуючі нейронні мережі є не досконалими рішеннями. Вони навчаються і можуть робити «помилки». Окрім того, не можна гарантувати, що розроблена мережа є оптимальною мережею. Застосування нейронних мереж вимагає від розробника виконання ряду умов.

Ці умови включають:

· множину даних, що включає інформацію, яка може характеризувати проблему;

· відповідно встановлену за розміром множину даних для навчання й тестування мережі;

· розуміння базової природи проблеми, яка буде вирішена;

· вибір функції суматора, передатної функції та методів навчання;

· розуміння інструментальних засобів розробника;

· відповідна потужність обробки.

2.2 Рецепторна структура сприйняття інформації

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

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

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

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

При класифікації, заснованій на безпосередньому сенсорному досвіді, тобто при розпізнаванні осіб або вимовлених слів, люди легко перевершують технічні пристрою. В «несенсорних ситуаціях» дії людей не настільки ефективні. Наприклад, люди не можуть змагатися з програмами класифікації образів, якщо правильний образ класифікації включає логічні комбінації абстрактних властивостей, таких, як колір, розмір і форма. Оскільки розпізнавання образів має бути функцією нейронів тварини, можна шукати ключ до біологічного розпізнавання образів у властивостях самого нейрона. Для багатьох цілей нейрон можна розглядати як граничний елемент. Це означає, що він або дає на виході деяку постійну величину, якщо сума його входів досягає певного значення, або ж залишається пасивним. Мак-Каллок і Піттс довели, що будь-яку обчислювану функцію можна реалізувати за допомогою належним чином організованої мережі ідеальних нейронів — порогових елементів, логічні властивості яких з достатньою підставою можна приписати реальному нейрону. Проблема полягає в тому, чи можна знайти розумний принцип реорганізації мережі, що дозволить випадково об'єднаній спочатку групі ідеальних нейронів самоорганізуватися в «обчислювальний пристрій», здатний вирішувати довільну задачу розпізнавання образів. Такий принцип реорганізації став би теорією навчання, яку можна застосовувати на рівні окремого нейрона.

Нейрологічна теорія навчання, висунута канадським психологом Хеббом, була розрахована на використання в якості моделі, призначеної для психології, справила великий вплив на штучний інтелект. Її модифікація застосовувалася при визначенні принципів системи розпізнавання образів, що одержали назву перцептрон. Перцептрони, описані Розенблаттом [29], можуть існувати і у формі програм, і як спеціально сконструйовані обчислювальні машини.

2.2.1 Поняття про образ

Образ, клас — класифікаційне угруповання в системі класифікації, об'єднує певну групу об'єктів за певною ознакою. Образне сприйняття світу — одна з властивостей живого мозку, що дозволяє розібратися в нескінченному потоці сприйманої інформації і зберігати орієнтацію в розрізнених даних про зовнішній світ. Сприймаючи зовнішній світ, ми завжди проводимо класифікацію інформації, тобто розбиваємо їх на групи схожих, але не тотожних явищ. Наприклад, незважаючи на суттєву різницю, до однієї групи відносяться всі літери «А», написані різними почерками, або всі звуки, що відповідають одній і тій же ноті, взятій в будь октаві і на будь-якому інструменті. Для складання поняття про групу сприйнять досить ознайомитися з незначною кількістю її представників. Це властивість мозку дозволяє сформулювати таке поняття, як образ.

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

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

2.2.2 Проблема розпізнавання образів

Розпізнавання образів — це завдання ідентифікації об'єкта або визначення яких-небудь його властивостей за його зображенням (оптичне розпізнавання) або аудіозаписом (акустичне розпізнавання). У процесі біологічної еволюції багато тварин з допомогою зорового і слухового апарату вирішили це завдання досить добре. Створення штучних систем з функціями розпізнавання образів залишається складною технічною проблемою.

У цілому проблема розпізнавання образів (ПРО) складається з двох частин: навчання та розпізнавання. Навчання здійснюється шляхом показу окремих об'єктів із зазначенням їх приналежності тому чи іншому образу. В результаті навчання система розпізнавання повинна придбати здатність реагувати однаковими реакціями на всі об'єкти одного образу та іншими реакціями — на всі об'єкти відмітних образів. Дуже важливо, що процес навчання повинен завершитися тільки шляхом показів кінцевого числа об'єктів. В якості об'єктів навчання можуть бути або картинки, або інші візуальні зображення (літери, цифри). Важливо, що в процесі навчання вказуються тільки самі об'єкти та їх приналежність образу. За навчанням наступає процес розпізнавання нових об'єктів, який характеризує дії вже навченої системи. Автоматизація цих процедур і становить проблему навчання розпізнаванню образів. У тому випадку, коли людина сама розгадує або придумує, а потім нав’язує машині правило класифікації, проблема розпізнавання вирішується частково, тому що основну і головну частину проблеми (навчання) людина бере на себе.

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

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

2.2.3 Перетворення зображень у цифровий код

Для того щоб ввести зображення в машину, потрібно перевести його на машинну мову, тобто закодувати, уявити у вигляді деякої комбінації символів, якими може оперувати машина. Кодування плоских фігур можна здійснити самим різним чином. Краще прагнути до найбільш «природного» кодування зображень. Будемо малювати фігури на деякому полі, розбитому вертикальними і горизонтальними прямими на однакові елементи — квадратики. Елементи, на які впало зображення, будемо суцільно зафарбовувати в чорний колір, решту — залишати білими. Домовимося позначати чорні елементи одиницею, білі - нулем. Введемо послідовну нумерацію всіх елементів поля, наприклад, в кожному рядку зліва направо і по рядках зверху вниз. Тоді кожна фігура, намальована на такому полі, буде однозначно відображатися кодом, що складається із стількох цифр (одиниць і нулів), скільки елементів містить поле. Таке кодування (рис. 2.1) вважається «природним» тому, що розбиття зображення на елементи лежить в основі роботи нашого зорового апарату.

Рисунок 2.1 — Приклад кодування зображень

2.3 Навчання штучної нейронної мережі

2.3.1 Контрольоване навчання

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

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

Навчальні множини повинні бути досить великими, щоб містити всю необхідну інформацію для виявлення важливих особливостей і зв’язків. Але і навчальні приклади повинні містити широке різноманіття даних. Якщо мережа навчається лише для одного прикладу, ваги старанно встановлені для цього прикладу, радикально змінюються у навчанні для наступного прикладу. Попередні приклади при навчанні наступних просто забуваються. В результаті система повинна навчатись всьому разом, знаходячи найкращі вагові коефіцієнти для загальної множини прикладів. Наприклад, у навчанні системи розпізнавання піксельних образів для десяти цифр, які представлені двадцятьма прикладами кожної цифри, всі приклади цифри «сім» не доцільно представляти послідовно. Краще надати мережі спочатку один тип представлення всіх цифр, потім другий тип і так далі.

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

Якщо після контрольованого навчання нейронна мережа ефективно опрацьовує дані навчальної множини, важливим стає її ефективність при роботі з даними, які не використовувались для навчання. У випадку отримання незадовільних результатів для тестової множини, навчання продовжується. Тестування використовується для забезпечення запам’ятовування не лише даних заданої навчальної множини, але і створення загальних образів, що можуть міститись в даних.

2.3.2 Неконтрольоване навчання

Неконтрольоване навчання може бути великим надбанням у майбутньому. Воно проголошує, що комп’ютери можуть самонавчатись у справжньому роботизованому сенсі. На даний час, неконтрольоване навчання використовується мережах відомих, як самоорганізовані карти (self organizing maps), що знаходяться в досить обмеженому користуванні, але доводячи перспективність самоконтрольованого навчання. Мережі не використовують зовнішніх впливів для коректування своїх ваг і внутрішньо контролюють свою ефективність, шукаючи регулярність або тенденції у вхідних сигналах та роблять адаптацію згідно навчальної функції. Навіть без повідомлення правильності чи неправильності дій, мережа повинна мати інформацію відносно власної організації, яка закладена у топологію мережі та навчальні правила.

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

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

2.3.3 Оцінки навчання

Оцінка ефективності навчання нейронної мережі залежить від декількох керованих факторів. Теорія навчання розглядає три фундаментальні властивості, пов’язані з навчанням: ємність, складність зразків і обчислювальна складність. Під ємністю розуміють, скільки зразків може запам’ятати мережа, і які межі прийняття рішень можуть бути на ній сформовані. Складність зразків визначає число навчальних прикладів, необхідних для досягнення здатності мережі до узагальнення. Обчислювальна складність напряму пов’язана з потужністю процесора ЕОМ.

2.3.4 Правила навчання

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

Правило Хеба

Опис правила з’явився у його книзі «Організація поведінки» у 1949 р. «Якщо нейрон отримує вхідний сигнал від іншого нейрону і обидва є високо активними (математично мають такий самий знак), вага між нейронами повинна бути підсилена». При збудженні одночасно двох нейронів з виходами (хj, уі) на t-тому кроці навчання вага синаптичного з'єднання між ними зростає, в інакшому випадку — зменшується, тобто

?Wij (k) =r xj (k) yi (k) (2.15)

де r — коефіцієнт швидкості навчання.

Може застосовуватись при навчанні «з вчителем» і «без вчителя» .

Правило Хопфілда

Є подібним до правила Хеба за винятком того, що воно визначає величину підсилення або послаблення. «Якщо одночасно вихідний та вхідний сигнал нейрона є активними або неактивними, збільшуємо вагу з'єднання оцінкою навчання, інакше зменшуємо вагу оцінкою навчання» .

Правило " дельта"

Це правило є подальшою зміною правила Хеба і є одним із найбільш загально використовуваних. Це правило базується на простій ідеї неперервної зміни синаптичних ваг для зменшення різниці («дельта») між значенням бажаного та біжучого вихідного сигналу нейрона.

?Wij= xj (di - yi) (2.16)

За цим правилом мінімізується середньоквадратична похибка мережі. Це правило також згадується як правило навчання Відрова-Хофа та правило навчання найменших середніх квадратів.

У правилі «дельта» похибка отримана у вихідному прошарку перетворюється похідною передатної функції і послідовно пошарово поширюється назад на попередні прошарки для корекції синаптичних ваг. Процес зворотного поширення похибок мережі триває до досягнення першого прошарку. Від цього методу обчислення похибки успадкувала своє ім'я відома парадигма FeedForward BackPropagation.

При використанні правила «дельта» важливим є невпорядкованість множини вхідних даних. При добре впорядкованому або структурованому представленні навчальної множини результат мережі може не збігтися до бажаної точності і мережа буде вважатись нездатною до навчання.

Правило градієнтного спуску

Це правило подібне до правила «дельта» використанням похідної від передатної функції для змінювання похибки «дельта» перед тим, як застосувати її до ваг з'єднань. До кінцевого коефіцієнта зміни, що діє на вагу, додається пропорційна константа, яка пов’язана з оцінкою навчання. І хоча процес навчання збігається до точки стабільності дуже повільно, це правило поширене і є загально використовуване.

Доведено, що різні оцінки навчання для різних прошарків мережі допомагає процесу навчання збігатись швидше. Оцінки навчання для прошарків, близьких до виходу, встановлюються меншими, ніж для рівнів, ближчих до входу.

2.3.5 Навчання методом змагання

На відміну від навчання Хеба, у якому множина вихідних нейронів може збуджуватись одночасно, при навчанні методом змагання вихідні нейрони змагаються між собою за активізацію. Це явище, відоме як правило «переможець отримує все». Подібне навчання має місце в біологічних нейронних мережах. Навчання за допомогою змагання дозволяє кластеризувати вхідні дані: подібні приклади групуються мережею відповідно до кореляцій і представляються одним елементом.

При навчанні модифікуються синаптичні ваги нейрона-переможця. Ефект цього правила досягається за рахунок такої зміни збереженого в мережі зразка (вектора синаптичних ваг нейрона-переможця), при якому він стає подібним до вхідного приклада. Нейрон з найбільшим вихідним сигналом оголошується переможцем і має можливість гальмувати своїх конкурентів і збуджувати сусідів. Використовується вихідний сигнал нейрона-переможця і тільки йому та його сусідам дозволяється коректувати свої ваги з'єднань.

?Wij (k+1) = Wij (k) +r [xj - Wij (k)] (2.17)

Розмір області сусідства може змінюватись під час періоду навчання. Звичайна парадигма повинна починатись з великої області визначення сусідства і зменшуватись під час процесу навчання. Оскільки елемент-переможець визначається по найвищій відповідності до вхідного зразку, мережі Коxонена моделюють розподіл входів. Це правило використовується в самоорганізованих картах.

2.4 Перцептрон як модель розпізнавання

2.4.1 Поняття перцептрона

Перцептрон, або персептрон — математична та комп’ютерна модель сприйняття інформації мозком (кібернетична модель мозку), запропонована Френком Розенблато в 1957 році і реалізована у вигляді електронної машини «Марк-1». У 1960 році перцептрон став однією з перших моделей нейронних мереж, а «Марк-1» — першим у світі нейрокомп’ютером. Не зважаючи на свою простоту, перцептрон здатний навчатися і вирішувати досить складні завдання. Перцептрон складається з трьох типів елементів, а саме: сенсорні, асоціативні та реагуючі. Сигнали, що надходять від сенсорних елементів передаються асоціативним, а потім реагуючим елементам. Таким чином, перцептрони дозволяють створити набір «асоціацій» між вхідними стимулами і необхідною реакцією на виході. В біологічному плані це відповідає перетворенню, наприклад, зорової інформації в фізіологічну відповідь рухових нейронів. Відповідно до сучасної термінології, перцептрони можуть бути класифіковані як штучні нейронні мережі: з одним прихованим шаром; з пороговою передавальною функцією; з прямим розповсюдженням сигналу.

На рис. 2.2 показана логічна схема перцептрону з трьома виходами.

Рисунок 2.2 — Логічна схема перцептрону з трьома виходами.

Елементарний перцептрон складається з елементів 3-х типів: S-елементів, A-елементів і одного R-елементу. S-елементи — це шар сенсорів, або рецепторів. У фізичному втіленні вони відповідають, наприклад, світлочутливим клітинам сітківки ока або Фоторезисторам матриці камери. Кожен рецептор може перебувати в одному з двох станів: спокою або збудження, і тільки в останньому випадку він передає одиничний сигнал у наступний шар асоціативним елементів.

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

Сигнали від збуджених A-елементів, у свою чергу, передаються в суматор R, причому сигнал від i-го асоціативного елемента передається з коефіцієнтом wi. Цей коефіцієнт називається вагою A-R зв’язку.

Так само як і A-елементи, R-елемент підраховує суму значень вхідних сигналів, помножених на ваги (лінійну форму). R-елемент, а разом з ним і елементарний перцептрон, видає «1», якщо лінійна форма перевищує поріг и, інакше на виході буде «-1». Математично, функцію, яку реалізують R-елементом, можна записати так:

Показати весь текст
Заповнити форму поточною роботою