Поиск по базе сайта:
2. Штучні нейронні мережі icon

2. Штучні нейронні мережі




Скачати 314.6 Kb.
Назва2. Штучні нейронні мережі
Дата конвертації29.05.2013
Розмір314.6 Kb.
ТипДокументи

2. Штучні нейронні мережі


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

Мозок людини має багато якостей, що відсутні в сучасних комп'ютерах з архітектурою фон Неймана:

  • Розподілене представлення інформації і паралельні обчислення.

  • Здатність до навчання й узагальнення.

  • Адаптивність.

  • Толерантність до помилок.

  • Низьке енергоспоживання.

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

Аналогія з мозком


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

Кора головного мозку людини є протяжною, утвореною нейронами поверхнею товщиною від 2 до 3 мм із площею близько 2200 см2, що вдвічі перевищує площу поверхні стандартної клавіатури. Кора головного мозку містить близько 1011 нейронів, що приблизно дорівнює числу зірок Чумацького шляху. Кожен нейрон зв'язаний з 103 - 104 іншими нейронами. У цілому мозок людини містить приблизно від 1014 до 1015 взаємозв'язків.

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

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

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


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



Рис. 1. Схема біологічного нейрона

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

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

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


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

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

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



Рис. 2. Базовий штучний нейрон

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

На рис. 3 зображена детальна схема штучного нейрону.



Рис. 3. Модель "елементу обробки"

Функція суматора може бути складнішою, наприклад, вибір мінімуму, максимуму, середнього арифметичного, добутку або обчислюватися за іншим алгоритмом. Більшість комерційних програм дозволяють інженерам-програмістам створювати власні функції суматора за допомогою підпрограм, що закодовані на мові високого рівня (C, С++, TurboPascal).

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

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

Результат функції суматора перетворюється у вихідний сигнал через передатну функцію. В передатній функції для визначення виходу нейрона загальна сума порівнюється з деяким порогом (зазвичай, це діапазон [0, 1] або [-1,1] або інше число) за допомогою певного алгоритму.

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

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



Для простої передатної функції нейромережа може видавати 0 та 1, 1 та -1 або інші числові комбінації. Передатна функція в таких випадках є "жорстким обмежувачем" або пороговою функцією (рис. 4а).



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



Сигмоїда або S-подібна крива, яка наближує мінімальне та максимальне значення у асимптотах і називається сигмоїдою (рис. 4в), коли її діапазон [0, 1], або гіперболічним тангенсом (рис. 4г), при діапазоні [-1, 1]. Важливою рисою цих кривих є неперервність функцій та їх похідних. Застосування сигмоїдних функцій надає добрі результати і має широке застосування.

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

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

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

Архітектура з'єднань штучних нейронів


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

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

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

Важливим фактором ефективності мережі є встановлення оптимальної кількості нейронів та типів зв'язків між ними.

При описі нейромереж використовують кілька усталених термінів, які в різних джерелах можуть мати різне трактування, зокрема:

  • Структура нейромережі - спосіб зв'язків нейронів у нейромережі.

  • Архітектура нейромережі - структура нейромережі та типи нейронів.

  • Парадигма нейромережі - спосіб навчання та використання; іноді вміщує і поняття архітектури.

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

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





Рис. 5а. Слабозв'язані нейромережі

Рис. 5б. Повнозв'язані нейромережі

В повнозв'язаних нейромережах входи кожного нейрона зв'язані з виходами всіх решта нейронів.

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



Рис. 6. Багатошаровий тип з'єднання нейронів

  • Зв'язки між нейронами різних прошарків називають проективними.

  • Зв'язки скеровані від вхідних прошарків до вихідних називаються аферентними,

  • в інакшому випадку, при зворотному напрямку зв'язків - еферентними.

  • Зв'язки між нейронами одного прошарку називають бічними (латеральними).

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

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

При зворотньому зв'язку, вихід нейронів прошарку скеровується до нейронів попереднього прошарку (рис. 7).



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

За архітектурою зв'язків, більшість відомих нейромереж можна згрупувати у два великих класи:

  1. Мережі прямого поширення (з односкерованими послідовними зв'язками).

  2. Мережі зворотного поширення (з рекурентними зв'язками).
^

Типові архітектури нейронних мереж

Мережі прямого поширення


  • Перцептрони

  • Мережа Back Propagation

  • Мережа зустрічного поширення

  • Карта Кохонена
^

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


  • Мережа Хопфілда

  • Мережа Хемінга

  • Мережа адаптивної резонансної теорії

  • Двоскерована асоціативна пам'ять

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

Рекурентні мережі вважаються динамічними, оскільки за рахунок зворотних зв'язків (петель) входи нейронів модифікуються в часі, що призводить до зміни станів мережі.
^

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


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

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


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

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

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

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

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

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

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


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

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

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

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


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

  • ^ Ємність показує, скільки зразків може запам'ятати мережа, і які межі прийняття рішень можуть бути на ній сформовані.

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

  • Обчислювальна складність напряму пов'язана з потужністю комп’ютера.
^

Обґрунтованість застосування нейромереж


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

Порівняння традиційного комп’ютера з біологічної нейронною системою

**

Комп’ютер з архітектурою фон Неймана

Біологічна нейрона система

Процесор


Складний
Високошвидкісний
Один чи декілька

Простий
Низькошвидкісний
Велика кількість

Пам'ять


Відділена від процесора
Локалізована
Адресація за адресою

Інтегрована в процесор
Розподілена
Адресація по змісту

Обчислення


Централізовані
Послідовні
Збережені програми

Розподілені
Паралельні
Самонавчання

Надійність


Висока вразливість

Живучість

Спеціалізація


Числові й символьні операції

Проблеми сприйняття
^

Середовище функціонування


Строго визначене
Строго обмежене

Погано визначене
Без обмежень

Функції


Логічно,
через правила,
концепції, обчислення

Через зображення,
рисунки, керування
^

Метод навчання


За правилами (дидактично)

За прикладами (сократично)

Застосування


Числова та символьна обробка інформації

Розпізнавання мови,
розпізнавання образів,
розпізнавання текстів
^

Проблеми, які вирішують за допомогою нейромоделювання.


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

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

^ Апроксимація функцій. Припустимо, що є навчальна вибірка ((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), при якому система діє за бажаною траєкторією, яка задана еталонною моделлю. Прикладом є оптимальне керування двигуном.

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

Застосування нейромереж вимагає від розробника виконання ряду умов:

  • Наявність репрезентативної та достатньої за розміром множини даних для навчання й тестування мережі.

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

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

  • Розуміння інструментальних засобів розробника.

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

Робота з нейромоделями вимагає вмінь розробника поза межами традиційних обчислень.

  • Спочатку, обчислення були лише апаратними й інженери робили їх працюючими.

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

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

Класифікація відомих нейромереж


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

Перцептрон Розенбалата


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

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

  • +1 - вхідний сигнал належить класу A,

  • -1 - вхідний сигнал належить класу B.

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



Рис. 1. Схема нейрона, графік передатної функції і поділяюча поверхня


На рис. показано випадок з розмірністю вихідного сигналу - 2. Поділяюча поверхня є прямою лінією на площині. Рівняння, що задає поділяючу пряму, залежить від значень синаптичних ваг і зсуву.
^

Алгоритм навчання одношарового перцептрона


1. Ініціалізація синаптичних ваг і зсуву: синаптичні ваги приймають малі випадкові значення.

2. Пред'явлення мережі нового вхідного і бажаного вихідного сигналів: вхідний сигнал x=(x1, x2, ..., xn) пред'являється нейрону разом з бажаним вихідним сигналом d.

3. Обчислення вихідного сигналу нейрона:



4. Налаштування значень ваг:

wi(t+1)=wi (t)+r[d(t)-y(t)]xi (t), i=1, ..., N



де wі(t) - вага зв'язку від і-го елемента вхідного сигналу до нейрона в момент часу t, r - швидкість навчання (менше 1); d(t) - бажаний вихідний сигнал.

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

5. Перехід до кроку 2.

Тип вхідних сигналів: бінарні чи аналогові (дійсні).

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

Області застосування: розпізнавання образів, класифікація.

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

Переваги. Програмні та апаратні реалізації моделі прості. Простий і швидкий алгоритм навчання.

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


^

Нейромережа зворотного поширення похибки (Back Propagation)


Архітектура FeedForward BackPropagation була розроблена на початку 1970-х років декількома незалежними авторами: Вербор (^ Werbor); Паркер (Parker); Румельгарт (Rumelhart), Хінтон (Hinton) та Вільямс (Williams). На даний час, парадигма ВackРropagation є популярною, ефективною та легкою модель навчання для складних, багатошарових мереж. Вона використовується в різних типах застосувань і породила великий клас нейромереж з різними структурами та методами навчання.

Типова мережа ВackРropagation має вхідний прошарок, вихідний прошарок та принаймні один прихований прошарок. Теоретично, обмежень відносно числа прихованих прошарків не існує, але практично застосовують один або два.

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

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

  1. Кількість входів та виходів мережі визначаються кількістю вхідних та вихідних параметрів досліджуваного об'єкту, явища, процесу, тощо. На відміну від зовнішніх прошарків, число нейронів прихованого прошарку nприх обирається емпіричним шляхом. В більшості випадків достатньою кількість нейронів буде nприх <= nвх + nвих, де nвх, nвих - кількість нейронів у вхідному і, відповідно, у вихідному прошарках.

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

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

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

Для кращого розуміння алгоритму навчання мережі ^ Back Propagation потрібно роз'яснити поняття поверхні станів. Кожному значенню синаптичних ваг і порогів мережі (вільних параметрів моделі кількістю N) відповідає один вимір в багатовимірному просторі. N+1-ий вимір відповідає похибці мережі. Для різноманітних сполучень ваг відповідну похибку мережі можна зобразити точкою в N+1-вимірному просторі, всі ці точки утворюють деяку поверхню - поверхню станів. Мета навчання нейромережі полягає в знаходженні на багатовимірній поверхні найнижчої точки.

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

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

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

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

Алгоритм навчання мережі


1. Ініціалізація мережі: вагові коефіцієнти і зсуви мережі приймають малі випадкові значення.

2. Визначення елемента навчальної множини: (вхід - вихід). Входи (x1, x2... xN), повинні розрізнятися для всіх прикладів навчальної множини.

3. Обчислення вихідного сигналу:



yim= f(Sjm)

im=1, 2, ..., Nm, m=1, 2, ..., L

де S - вихід суматора, w - вага зв'язку, y - вихід нейрона, b - зсув, i - номер нейрона, N - число нейронів у прошарку, m - номер прошарку, L - число прошарків, f- передатна функція.

4. Налаштування синаптичних ваг:

wij(t+1)=wij(t)+rgjx'і

де wij - вага від нейрона i або від елемента вхідного сигналу i до нейрона j у момент часу t, xi' - вихід нейрона i, r - швидкість навчання, gj - значення похибки для нейрона j.

Якщо нейрон з номером j належить останньому прошарку, тоді

gj=yj(1-yj)(dj-yj)

де dj - бажаний вихід нейрона j, yj - поточний вихід нейрона j.

Якщо нейрон з номером j належить одному з прошарків з першого по передостанній, тоді



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

Зовнішні зсуви нейронів b налаштовуються аналогічним образом.

Тип вхідних сигналів: цілі чи дійсні.

Тип вихідних сигналів: дійсні з інтервалу, заданого передатною функцією нейронів.

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

Області застосування. Розпізнавання образів, класифікація, прогнозування.

Недоліки. Низька швидкість навчання.

Переваги. Ефективний та популярний алгоритм для вирішення численних практичних задач.

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

Мережа Кохонена


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

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

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

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

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

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

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

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

Алгоритм функціонування мережі Кохонена:


1. Ініціалізація мережі. Ваговим коефіцієнтам мережі надаються малі випадкові значення. Початкова зона сусідства показана на рис. 5.

2. Пред'явлення мережі нового вхідного сигналу.

3. Обчислення відстані до всіх нейронів мережі:

Відстані dj від вхідного сигналу до кожного нейрона j визначаються за формулою:



де xi - i-ий елемент вхідного сигналу в момент часу t, wij(t) - вага зв'язку від i-го елемента вхідного сигналу до нейрона j у момент часу t.

4. Вибір нейрона з найменшою відстанню:

Вибирається нейрон-переможець j*, для якого відстань dj найменше.

5. Налаштування ваг нейрона j* і його сусідів:

Робиться налаштування ваг для нейрона j* і всіх нейронів з його околу NE. Нові значення ваг:

wij(t+1)=wij(t)+r(t)(xi(t)-wij(t))

де r(t) - швидкість навчання, що зменшується з часом (додатне число, менше одиниці).

6. Повернення до кроку 2.

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

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

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

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

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

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

Області застосування. Кластерний аналіз, розпізнавання образів, класифікація.

Недоліки. Мережа може бути використана для кластерного аналізу маючи заздалегідь відоме число кластерів.

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

Мережа Хопфілда


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

Мережа Хопфілда використовує три прошарки: вхідний, прошарок Хопфілда та вихідний прошарок. Кожен прошарок має однакову кількість нейронів. Входи прошарку Хопфілда під'єднані до виходів відповідних нейронів вхідного прошарку через змінні ваги з'єднань. Виходи прошарку Хопфілда під'єднуються до входів всіх нейронів прошарку Хопфілда, за винятком самого себе, а також до відповідних елементів у вихідному прошарку. В режимі функціонування, мережа скеровує дані з вхідного прошарку через фіксовані ваги з'єднань до прошарку Хопфілда. Прошарок Хопфілда коливається, поки не буде завершена певна кількість циклів, і біжучий стан прошарку передається на вихідний прошарок. Цей стан відповідає образу, який запам’ятований в мережі.

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

Якщо мережа Хопфілда використовується як пам'ять, що адресується за змістом вона має два головних обмеження. По-перше, число образів, що можуть бути збережені та точно відтворені є строго обмеженим. Якщо зберігається занадто багато параметрів, мережа може збігатись до нового неіснуючого образу, відмінному від всіх запрограмованих образів, або не збігатись взагалі. Межа ємності пам'яті для мережі приблизно 15% від числа нейронів у прошарку Хопфілда. Другим обмеженням парадигми є те, що прошарок Хопфілда може стати нестабільним, якщо навчальні приклади є занадто подібними. Зразок образу вважається нестабільним, якщо він застосовується за нульовий час і мережа збігається до деякого іншого образу з навчальної множини. Ця проблема може бути вирішена вибором навчальних прикладів більш ортогональних між собою.

Структурна схема мережі Хопфилда приведена на рис.



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

В загальному випадку, будь-який сигнал може бути описаний вектором x1, хі, хn..., n - число нейронів у мережі і величина вхідних і вихідних векторів. Кожний елемент xi дорівнює або +1, або -1. Позначимо вектор, що описує k-ий зразок, через Xk, а його компоненти, відповідно, - xik, k=0, ..., m-1, m - число зразків. Якщо мережа розпізнає (або "пригадує") якийсь зразок на основі пред'явлених їй даних, її виходи будуть містити саме його, тобто Y = Xk, де Y - вектор вихідних значень мережі: y1, yi, yn. У противному випадку, вихідний вектор не збігається з жодний зразковим.

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

Алгоритм функціонування мережі


1. На стадії ініціалізації мережі вагові коефіцієнти синапсів встановлюються таким чином:



Тут i і j - індекси, відповідно, предсинаптичного і постсинаптичного нейронів; xik, xjk - i-ий і j-ий елементи вектора k-ого зразка.

2. На входи мережі подається невідомий сигнал (t - номер ітерації). Його поширення безпосередньо встановлює значення виходів:

yi(0) = xi , i = 0...n-1,

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

3. Обчислюється новий стан нейронів

, j=0...n-1

і нові значення виходів



де f - передатна функція у виді порогової, приведена на рис.



4. Перевіряємо чи змінилися вихідні значення виходів за останню ітерацію. Якщо так - перехід до пункту 2, інакше (якщо виходи стабілізувались) - кінець. При цьому вихідний вектор являє собою зразок, що найкраще відповідає вхідним даним.

Іноді мережа не може провести розпізнавання і видає на виході неіснуючий образ. Це пов'язано з проблемою обмеженості можливостей мережі. Для мережі Хопфилда число збережених образів m не повинно перевищувати 0.15*n (n – кількість нейронів вихідного прошарку) Крім того, якщо два образи А и Б сильно схожі, вони, можливо, будуть викликати в мережі перехресні асоціації, тобто пред'явлення на входи мережі вектора А призведе до появи на її виходах вектори Б и навпаки.
^

Мережа Хемінга


Мережа Хемінга (Hamming) є розширенням мережі Хопфілда. Ця мережа була розроблена Річардом Ліппманом (Richard Lippman) у середині 80-х рр. Мережа Хемінга реалізує класифікатор, що базується на найменшій похибці для векторів двійкових входів, де похибка визначається відстанню Хемінга. Відстань Хемінга визначається як число бітів, які відрізняються між двома відповідними вхідними векторами фіксованої довжини. Один вхідний вектор є незашумленим прикладом образу, інший є спотвореним образом. Вектор виходів навчальної множини є вектором класів, до яких належать образи. У режимі навчання вхідні вектори розподіляються до категорій для яких відстань між зразковими вхідними векторами та біжучим вхідним вектором є мінімальною.

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

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

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


^

Алгоритм функціонування мережі Хемінга


1. На стадії ініціалізації ваговим коефіцієнтам першого прошарку і порогу передатної функції присвоюються такі значення:

Wik=xIk/2, i=0...n-1, k=0...m-1

bk = n / 2, k = 0...m-1

Тут xik - i-ий елемент k-ого зразка.

Вагові коефіцієнти гальмуючих синапсів у другому прошарку беруть рівними деякій величині 0 < v < 1/m. Синапс нейрона, пов'язаний із його ж виходом має вагу +1.

2. На входи мережі подається невідомий вектор x1, xi, xn ...Розраховуються стани нейронів першого прошарку (верхній індекс у скобках указує номер прошарку):

, j=0...m-1

Після цього отримання значення ініціалізують значення виходів другого прошарку:

yj(2) = yj(1), j = 0...m-1

3. Обчислюються нові стани нейронів другого прошарку:



і значення їх виходів:



Передатна функція f має вид порога, причому величина b повинна бути достатньо великою, щоб будь-які можливі значення аргументу не призводили до насичення.

4. Перевіряється, чи змінилися виходи нейронів другого прошарку за останню ітерацію. Якщо так - перейти до кроку 3. Інакше - кінець.

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

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



Схожі:




База даних захищена авторським правом ©lib.exdat.com
При копіюванні матеріалу обов'язкове зазначення активного посилання відкритою для індексації.
звернутися до адміністрації