Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
системотехніка_конспект.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
5.91 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 2. Перцептрон із багатьма виходами

Алгоритм зворотнього поширення

Розглянемо ідею одного з найпоширеніших алгоритмів навчання - алгоритму зворотного поширення помилки (back propagation). Це ітеративний градієнтний алгоритм навчання, який використовується з метою мінімізації середньоквадратичного відхилень поточного виходу від бажаного виходу в багатошарових нейронних мережах. Алгоритм зворотного поширення використовується для навчання багатошарових нейронних мереж з послідовними зв'язками виду рис. 5.5.

Наведемо словесний опис алгоритму. - Крок 1. Терезам мережі присвоюються невеликі початкові значення. - Крок 2. Вибирається чергова навчальна пара (X, К) з навчального безлічі; вектор X подається на вхід мережі. - Крок 3. Обчислюється вихід мережі. - Крок 4. Обчислюється різниця між необхідним (цільовим, У) і реальним (обчисленим) виходом мережі. - Крок 5. Ваги мережі коригуються так, щоб мінімізувати помилку (спочатку ваги вихідного шару, потім, з використанням правила диференціювання складної функції і відзначеного своєрідного виду похідної сигмоїдальної функції, - ваги попереднього шару і т. п.). - Крок 6. Кроки з 2-го по 5-й повторюються для кожної пари навчаючого безлічі до тих пір, поки помилка по всьому безлічі не досягне прийнятної величини.       Кроки 2 і 3 подібні до тих, які виконуються в вже навченої мережі. Обчислення в мережі виконуються пошарово. На кроці 3 кожен із виходів мережі віднімається з відповідного компонента цільового вектора з метою отримання помилки. Ця помилка використовується на кроці 5 для корекції ваг мережі. Кроки 2 і 3 можна розглядати як «прохід вперед», так як сигнал поширюється по мережі від входу до виходу. Кроки 4 і 5 складають «зворотний прохід», оскільки тут обчислюється сигнал помилки поширюється назад по мережі і використовується для будівництва ваг.