Система розпізнавання на основі єдиного нейрона поділяє увесь простір можливих рішень на дві ділянки за допомогою гіперплощини
x1w1 + x2w2 + … + xnwn+w0 = 0.
Для двовимірних вхідних векторів межею між двома класами зображень є пряма лінія: вхідні вектори, розташовані вище цієї прямої, належать до одного класу, а нижче – до іншого.
Для адаптації, настроювання або навчання ваг зв'язків нейрона скористаємося "правилом Хебба".
Хебб, досліджуючи механізми функціонування центральної нервової системи, припустив, що навчання відбувається шляхом посилення зв'язків між нейронами, активність яких збігається за часом. Хоча в біологічних системах це припущення виконується далеко не завжди і не вичерпує усіх видів навчання, однак при навчанні одношарових нейромереж з біполярними сигналами воно досить ефективно.
Відповідно до правила Хебба, якщо пред'явленому біполярному зображенню X = (x1, ..., xn) відповідає неправильний вихідний сигнал у, тоді ваги wi
зв'язків нейрона адаптуються по формулі:
wi (t + 1) = wi (t) + xi у,
(4.1)
де wi (t), wi(t + 1) відповідно вага i- ого зв’язку нейрона до и після адаптації; xi (
) – компоненти вхідного зображення; х
0 º 1 – сигнал зміщення; у – вихідний сигнал нейрона.
У більш повній і строгій формі алгоритм настроювання ваг зв'язків нейрона з використанням правила Хебба виглядає таким чином:
Крок 1. Задається множина M = {(Х 1, t1), …, (X m, tm)} яка складається з пар вхідне зображення Xk =
, і необхідний вихідний сигнал нейрона t
k,
. Ініціюються ваги зв’язків нейрона:
wi = 0,
.
Крок 2. Для кожної пари (X k, t k),
доки не дотримуються умови зупинки, виконуються кроки 3 – 5. Крок 3. Ініціюється множина входів нейрона:
x0 = 1, xi = xik,
.
Крок 4. Ініціюється вихідний сигнал нейрона: y =t k.
Крок 5. Корегуються ваги зв’язків нейрона по правилу
.
Крок 6. Перевірка умов зупинки.
Для кожного вхідного зображення X k обчислюється відповідний йому вихідний сигнал y k:
де
Якщо вектор (y1, …, ym) обчислених вихідних сигналів дорівнює вектору (t1, …, tm) заданих сигналів нейрона, тобто кожному вхідному зображенню відповідає заданий вихідний сигнал, тоді обчислення припиняються (перехід до кроку 7), якщо ж (y1, …, ym) ≠ (t1, …, tm), то перехід до кроку 2 алгоритму.
Крок 7. Зупинка.
Покажемо процес навчання нейронної мережі за Правилом Хебба на конкретних прикладах.
Приклад 1. Нехай треба навчити біполярний нейрон розпізнаванню зображень X1, та Х2, наведених на рис. 9.
При цьому зажадаємо, щоб зображенню Х1 відповідав вихідний сигнал нейрона "+1", а зображенню Х2 – сигнал "-1".
| Рис. 9. Вхідні зображення |
Застосування алгоритму Хебба дає наступні результати:
Крок 1. Задається множина
М = {(Х1 = (1, -1, 1, 1, 1, 1,-1, -1, 1), 1), (Х2 = ( 1, 1, 1, 1, -1, 1, 1, -1, 1 ), -1)};
і ініціюються ваги зв'язків нейрона: wi = 0,
Крок 2. Для кожної з двох пар (Х1, 1), (Х2, –1), виконуються кроки 3 – 5.
Крок 3. Ініціюється множина входів нейрона для зображення першої пари:
х0 = 1, хi = xi1,
Крок 4. Ініціюється вихідний сигнал нейрона для зображення першої пари:
у = t1 = 1.
Крок 5. Корегуються ваги зв'язків нейрона за правилом Хебба
; ; ; ; .Крок 3. Ініціюється множина входів нейрона для зображення Х2 другої пари:
х0 = 1, хi = хi2,
Крок 4. Ініціюється вихідний сигнал нейрона для зображення другої пари:
(Х2, t2): у = t2 = –1.
Крок 5. Корегуються ваги зв'язків нейрона:
;
;
;
;
; ; .Крок 6. Перевіряються умови зупинки.
Обчислюються вхідні та вихідний сигнали нейрону при пред’явлені зображення X 1:
y1 = 1, тому що S1 > 0. Обчислюються вхідні та вихідний сигнали нейрону при пред’явлені зображення Х 2
y2 = –1, тому що S2 < 0.
Оскільки вектор (y1, y2) = (1, –1) дорівнює вектору (t1, t2), то обчислення припиняються, тому що мета досягнута – нейрон правильно розпізнає задані зображення.
Крок 7. Зупинка.
Основна ідея правила (4.1) – підсилювання зв'язку, що з'єднує нейрони з однаковою за часом активністю, і послаблення зв'язку, що з'єднує елементи з різною активністю, може бути використана і при настроюванні нейромереж з бінарними елементами. Правило Хебба (4.1) для одношарових бінарних мереж можна записати у вигляді:
wi (t + 1) = wi (t) +
wi , (4.2)де
(4.3)Приклад 2. Нехай потрібно навчити бінарний нейрон розпізнаванню зображень Х 1 і Х 2 приклада 1. При цьому зображенню Х 1 нехай відповідає вихідний сигнал нейрона "+1", а зображенню Х 2 – “0”. Застосування правила Хебба в цьому випадку дає наступні результати:
Крок 1. Задається множина
М = {( Х 1 = (1, 0, 1, 1, 1, 1, 0, 0, 1), 1), (Х 2 = ( 1, 1, 1, 1, 0, 1, 1, 0, 1 ), 0)},
і ініціюються ваги зв'язків нейрона wi = 0,
Крок 2. Для пар (Х 1,1), (Х 2, 0), виконуються кроки 3 - 5.
Крок 3. Ініціюється множина нейрона елементами зображення Х 1:
Крок 4. Ініціюється вихідний сигнал нейрона для зображення Х1:
у = t1 = 1.
Крок 5. Корегуються ваги зв'язків нейрона за допомогою співвідношень (4.2), (4.3):
; ; ; ; Крок 3. Ініціюється множина нейрона елементами зображення Х 2:
х0 = 1, хi = хi2,
Крок 4. Ініціюється вихідний сигнал нейрона для зображення Х 2:
y =t 2 = 0
Крок 5. Корегуються ваги зв'язків нейрона за допомогою співвідношень (4.2), (4.3):
;
; ;
; ;