Читайте также: |
|
Проблема машинної імітації людських думок надихає вчених уже кілька сторіч. Більше 50 років тому були створені перші електронні моделі нервових кліток. Крім того, з'являлися багато робіт з нових математичних моделей і навчальних алгоритмів. Сьогодні так названі нейронні мережістановлять найбільший інтерес у цій області. Вони використовують множину простих обчислювальних елементів, названих нейронами, кожний з яких імітує поводження окремої клітки людського мозку. Прийнято вважати, що людський мозок - це природна нейронна мережа, а модель мозку - це просто нейронна мережа. На рис.5. 1 показана базова структура такої нейронної мережі.
Рис.5.1. Базова структура нейронної мережі.
Кожен нейрон в нейронній мережі здійснює перетворення вхідних сигналів у вихідний сигнал і пов'язаний з іншими нейронами. Вхідні нейрони формують так названий інтерфейс нейронної мережі. Нейронна мережа, показана на рис.5.1. має шар, що приймає вхідні сигнали, і шар, що генерує вихідні сигнали. Інформація вводиться в нейронну мережу через вхідний шар. Всі шари нейронної мережі опрацьовують ці сигнали до тих пір, поки вони не дійдуть до вихідного шару.
Завдання нейронної мережі - перетворення інформації необхідним чином. Для цього мережа попередньо навчається. При навчанні використовуються ідеальні (еталонні) значення пар «входи-виходи» або «вчитель», що оцінює поводження нейронної мережі. Для навчання використається так званий навчальний алгоритм. Ненастроєна нейронна мережа не здатна відображати бажаного поводження. Навчальний алгоритм модифікує окремі нейрони мережі й ваги її зв'язків таким чином, щоб поводження мережі відповідало бажаному поводженню.
Математична модель нейрона
Безліч математичних моделей нейрона може бути побудована на базі простої концепції будови нейрона. На рис.5.2 показана найбільш загальна схема. Так звана підсумовуюча функція поєднує всі вхідні сигнали , які надходять від нейронів-відправників. Значенням такого об'єднання є зважена сума, де ваги являють собою синаптичні потужності. Збудливі синапси мають позитивні ваги, а гальмуючі синапси - негативні ваги. Для вираження нижнього рівня активації нейрона до зваженої суми додається компенсація (зсув) .
Рис. 5.2. Проста математична модель нейрона.
Так звана функція активації розраховує вихідний сигнал нейрона по рівню активності . Функція активації зазвичай є сигмоїдною, як показано в правій нижній рамці на рис.5.2. Іншими можливими видами функцій активації є лінійна й радіально-симетрична функції, показані на рис. 5.3.
Рис. 5.3. Функції активації нейронів: (а) лінійна, (б) радіально-симетрична
Навчання нейронних мереж
Існує безліч способів побудови нейронних мереж. Вони розрізняються своєю архітектурою й методами навчання.
Перший крок у проектуванні нейронної мережі складається в її навчанні бажаному поводженню. Це — фаза навчання. Для цього використається так звана навчальна вибірка або вчитель.Учитель - це або математична функція, або особа, що оцінює якість поводження нейронної мережі Оскільки нейронні мережі в основному використаються в складних застосуваннях, де немає гарних математичних моделей, то навчання виробляється за допомогою навчальної вибірки, тобто еталонних пар «входи-виходи».
Після завершення навчання нейронна мережа готова до використання. Це - робоча фаза. У результаті навчання нейронна мережа буде обчислювати вихідні сигнали, близькі до еталонних даних при відповідних вхідних сигналах. При проміжних вхідних сигналах мережа апроксимує необхідні вихідні величини. Поводження нейронної мережі в робочій фазі детерміновано, тобто для кожної комбінації вхідних сигналів на виході завжди будуть ті самі сигнали. На протязі робочої фази нейронна мережа не навчається. Це дуже важливо для більшості технічних застосувань, оскільки система не буде прагнути до екстремального поводження.
Собаки Павлова. Як же навчається нейронна мережа? Як правило, це демонструється на прикладі відомих собак Павлова. Коли він показував собакам їжу, у них виділялася слина. В собачих клітках установлювалися дзвоники. Коли дзвонив дзвоник, усобак не виділялася слина, тобто, вони не бачили зв'язки між дзвоником і їжею. Тоді Павлов став навчати собак інакше, кожен раз використовуючи дзвоник при наданні їжі. Після цього, навіть при відсутності їжі, наявність дзвоника викликало у собак слину.
Правило навчання Хебба. Зовсім очевидно, що дзвінок при пред'явленні їжі виробляє асоціацію між ним і слиною. Отже, права лінія також стає товстіше, оскільки збільшується вага синапса. На підставі цих спостережень Хебб в 1949 році запропонував наступне навчальне правило:
Збільшити вагу активного воду нейрона, якщо вихід цього нейрону повинен бути активним.
Зменшити вагу активного входу нейрону, якщо вихід цього нейрона не повинен бути активним.
Це правило, назване правилом Хебба, передумовлює всім навчальним правилам, включаючи найбільш використовуваний в даний час метод зворотного поширення помилки (error backpropagation algorithm).
Метод зворотного поширення помилки. Цей метод навчання багатошарової нейронної мережі називається узагальненим дельта-правилом або правилом error backpropagation (зворотного поширення помилки). Метод був запропонований в 1986 р. Румельхартом, Макклеландом і Вільямсом. Це ознаменувало відродження інтересу до нейронних мереж, що став вгасати на початку 70-х років
Навчання мережі починається із пред'явлення образу й обчислення відповідної реакції. Порівняння з бажаною реакцією дає можливість змінювати ваги зв'язків таким чином, щоб мережа на наступному кроці могла видавати більш точний результат. Навчальне правило забезпечує настроювання ваг зв'язків. Інформація про виходи мережі є вихідною для нейронів попередніх шарів. Ці нейрони можуть набудовувати ваги своїх зв'язків для зменшення похибки на наступному кроці.
Коли ми пред'являємо ненастроєній мережі вхідний образ, вона буде видавати деякий випадковий вихід. Функція помилки являє собою різницю між поточним виходом мережі й ідеальним виходом, який необхідно одержати. Для успішного навчання мережі потрібно наблизити вихід мережі до бажаного виходу, тобто послідовно зменшувати величину функції помилки. Це досягається настроюванням міжнейронних зв'язків. Узагальнене дельта-правило навчає мережу шляхом обчислення функції помилки для заданого входу з наступним її зворотним поширенням (ось звідки назва!) від кожного шару до попереднього. Кожен нейрон у мережі має свої ваги, які настроюються, щоб зменшити величину функції помилки. Для нейронів вихідного шару відомі їх фактичні й бажані значення виходів. Тому настроювання ваг зв'язків для таких нейронів є відносно простим. Однак для нейронів попередніх шарів настроювання не настільки очевидне. Інтуїтивно ясно, що нейрони внутрішніх шарів, які пов'язані з виходами, що мають більшу похибку, повинні змінювати свої ваги значно сильніше, ніж нейрони, з'єднані з майже коректними виходами. Інакше кажучи, ваги даного нейрона повинні змінюватися прямо пропорційно помилці тих нейронів, з якими даний нейрон зв'язаний. От чому зворотне поширення цих помилок через мережу дозволяє коректно настроювати ваги зв'язків між всіма шарами. У цьому випадку величина функції помилки зменшується й мережа навчається.
Основні співвідношення методу зворотного поширення помилки отримані при наступних позначеннях:
- величина функції помилки для образу
- бажаний вихід нейрона для образу
- дійсний вихід нейрона для образу
- вага зв’язку між -м й -м нейронами
Нехай функція помилки прямо пропорційна квадрату різниці між дійсними і бажаним виходами для всієї навчальної вибірки:
Множник вводиться для спрощення операції диференціювання.
Активація кожного нейрона для образу записується у вигляді зваженої суми:
Вихід кожного нейрона є значенням граничної функції , яка активізується зваженою сумою. У багатошаровій мережі це звичайно сигмоїдна функція, хоча може використатися будь-яка диференцьована монотонна функція:
Можна записати за правилом ланцюжка:
Для другого співмножника в одержуємо:
оскільки , за винятком випадку коли ця похідна дорівнює одиниці.
Зміна помилки як функція зміни входів нейрона визначається так:
Далі перетворюємо до виду:
Отже, зменшення величини означає зміну ваги пропорційно :
де - коефіцієнт пропорційності, що впливає на швидкість навчання.
Тепер нам необхідно знати значення для кожного нейрона. Використовуючи правило ланцюжка, можна записати:
Тому:
Останнє співвідношення є корисним для вихідних нейронів, оскільки для них відомі цільові й дійсні значення виходів. Однак для нейронів внутрішніх шарів цільові значення виходів невідомі.
Таким чином, якщо нейрон - не вихідний нейрон, те знову використовуючи правило ланцюжка,, можна записати:
Оскільки частинна похідна не дорівнює нулю лише в одному випадку, одержимо остаточне вираження:
Перевага використання сигмоїдної функції в якості нелінійного елемента полягає в тому, що вона дуже нагадує крокову функцію й, таким чином, може демонструвати поводження, подібне до природного нейрона. Сигмоїдна функція визначається як:
і має діапазон , де - позитивна константа, впливаюча на розтягання функції: збільшення стискає функцію, а при функція наближається до функції Хевісайда. Цей коефіцієнт може використовуватися в якості параметра посилення, оскільки для слабких вхідних сигналів кут нахилу буде досить крутим і функція буде змінюватися досить швидко, роблячи значне посилення сигналу. Для більших вхідних сигналів кут нахилу й, відповідно, посилення будуть набагато меншими. Це означає, що мережа може приймати більші сигнали й при цьому залишатися чутливої до слабких змін сигналу.
Однак головний зміст у використанні даної функції складається в тому, що вона має просту похідну, і це значно полегшує застосування backpropagation -метода. Якщо вихід нейрона задається як:
то похідна стосовно даного нейрона обчислюється так:
тобто є простою функцією від виходів нейронів.
Алгоритм настроювання нейронної мережі
Нижче наведений алгоритм настроювання багатошарової нейронної мережі з використанням backpropagation - правила навчання. Для його застосування необхідно, щоб нейрони мали диференцьовану нелінійну граничну функцію активації. Нехай це буде сигмоїдна функція , оскільки вона має просту похідну.
Алгоритм навчання полягає в наступному.
1. Задати початкові значення вагів і порогів кожного нейрона. Всім вагам і порогам привласнюються малі випадкові значення.
2. Представити вхідний і вихідний образи з навчальної вибірки. Нехай
- поточний вхідний образ,
- поточний вихідний образ із навчальної вибірки, де п - число нейронів вхідного шару, т - число нейронів вихідного шару. При цьому (зсув) і .
При розвязанні задач класифікації образ може складатися з нулів, крім одного елемента, рівного 1, що і буде визначати клас поточного вхідного образу.
3. Розрахувати дійсні значення виходів.
Значення виходів нейронів кожного шару розраховуються як
і передаються на входи нейронів наступного шару. Вихідні значення нейронів вихідного шару рівні .
4. Провести модифікацію ваг зв'язків.
Починаючи від вихідного шару й, рухаючись у зворотному напрямку, необхідно змінювати ваги зв'язків у такий спосіб:
де - вага зв'язку між -м й -м нейронами на -му кроці;
- швидкість навчання;
- швидкість зміни помилки для нейрона при пред'явленні образу
Для нейронів вихідного шару
для нейронів внутрішніх шарів
де під знаком суми стоять величини, що ставляться до нейронів наступного шару.
[3,с.314-332;6,c.94-122; 8,с.67-71]
Контрольні питання
1. Яка базова структура нейронної мережі?
2. Математична модель нейрона.
3. Які є функції активації нейронів?
4. В чому полягає правило Хебба?
5. Як здійснюється метод зворотнього поширення помилки?
6. Алгоритм настроювання нейронної мережі.
Дата добавления: 2015-07-20; просмотров: 383 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Алгоритми нечіткого логічного висновку | | | Тема 6. Алгоритмічні основи прийняття рішень в інтелектуальних системах |