> Малюнок 3
Більшість сучасних алгоритмів навчання виросло з концепцій Хеба. Ним запропонована модель навчання без вчителя, в якій синаптична сила (вага) зростає, якщо АКТИВУВАННЯ обидва нейрона, джерело і приймач. Таким чином, часто використовувані шляху в мережі посилюються і феномен звички і навчання через повторення отримує пояснення.
У штучної нейронної мережі, що використовує навчання за Хебом, нарощування ваг визначається добутком рівнів збудження передавального і приймаючої нейронів. Це можна записати як
ij (n + 1)=w (n) + OUTiOUTj,
де wij (n) - значення ваги від нейрона i до нейрона j до підстроювання, ij (n + 1) - значення ваги від нейрона i до нейрона j після підстроювання,
- коефіцієнт швидкості навчання, i- вихід нейрона i і вхід нейрона j, OUTj- вихід нейрона j.
Теорія навчання розглядає три фундаментальні властивості, пов'язаних з навчанням за прикладами: ємність, складність зразків і обчислювальна складність. Під ємністю розуміється, скільки зразків може запам'ятати мережа, і які функції і межі прийняття рішень можуть бути на ній сформовані. Складність зразків визначає число навчальних прикладів, необхідних для досягнення здатності мережі до узагальнення. Занадто мале число прикладів може викликати перенавчання мережі, коли вона добре функціонує на прикладах навчальної вибірки, але погано - на тестових прикладах, підпорядкованих того ж статистичному розподілу. Відомі 4 основних типи правил навчання: корекція помилково, машина Больцмана, правило Хебба і навчання методом змагання.
. Алгоритм навчання мережі по D - правилом
Найпростіша нейронна мережа - одношарова (рис. 3), що представляє із себе розташовані паралельно нейрони, які отримують на входи однакові сигнали, але мають різні синаптичні зв'язки. Кількість входів і виходів такий нейронної мережі відповідає кількості нейронів.
Рис. 4. Одношарова нейронна мережа
Такі нейтронні мережі можна навчати за допомогою алгоритму навчання по D - правилу.
Алгоритм навчання по D - правилу:
крок: ініціалізація матриці ваг (і порогів, у разі використання порогової функції активації) випадковим чином.
крок: пред'явлення нейронної мережі образу (на вхід подаються значення з навчальної вибірки - вектор Х), береться відповідний вихід (вектор D).
крок: обчислення вихідних значень нейронної мережі (вектор Y).
крок: обчислення для кожного нейрона величини розбіжності реального результату з бажаним.
,
де - бажане вихідне значення на i-нейроні,
- реальне значення на i-нейроні.
крок: зміна ваг (і порогів при використанні порогової функції) за формулами:
де t-номер поточної ітерації циклу навчання,
- вага зв'язку i-входу з i-нейроном,
- коефіцієнт навчання, задається від 0 до 1,
- вхідне значення,
- порогове значення i-нейрона.
крок: перевірка умови продовження навчання (обчислення значення помилки і/або перевірка заданої кількості ітерацій). Якщо навчання не завершено, то 2 крок, інакше закінчуємо навчання.
. Алгоритм зворотного поширення помилки
Багатошарова штучна нейронна мережа (рис. 4) може містити довільну кількість шарів (К), кожен шар складається з декількох нейронів, число яких також може бути довільно (- кількість нейронів у шарі), кількість входів n, кількість виходів Н= - числу нейронів у вихідному (останньому) шарі.
Рис. 5. Багатошарова нейронна мережа прямого поширення
Шари між першим і останнім називаються проміжними або прихованими. Ваги в такій мережі мають три індексу i- номер нейрона наступного шару, для якого зв'язок вхідна, j - номер входу або нейрона поточного шару, для якого зв'язок вихідна, k - номер поточного шару в нейронної мережі (для входів, вектора Х, k= 0).
Багатошарові нейронні мережі прямого поширення навчаються методом зворотного поширення помилки.
Алгоритм навчання методом зворотного поширення помилки:
крок: ініціалізація матриць ваг випадковим чином (в циклах).
крок: пред'явлення нейронної мережі образу (на вхід подаються значення з навчальної вибірки - вектор X) і береться відповідний вихід (вектор D).
крок (прямий прохід): обчислення в циклах виходів всіх верств та отримання вихідних значень нейронної мережі (вектор Y).
де - вихід i-нейрона k-шару,
- функція активації,
- синаптична зв'язок між j - нейроном шару k - 1 і i-нейроном шару k,
- вхідне значення.
крок (зворотний прохід): зміна ваг в циклах за формулами:
- для останнього (вихідного)...