РОЗРАХУНОК ВІДПОВІДІ ДЛЯ БАГАТОШАРОВОГО ПЕРСЕПТРОНА НА ОСНОВІ АЛГОРИТМУ ПРЯМОГО ПОШИРЕННЯ

Розглянемо приклад мережі, представленої на рис. 5.7.

Приклад нейронної мережі

Мал. 5.7. Приклад нейронної мережі

Зробимо розрахунок мережі з використанням методу прямого поширення {feed forward).

Крок 1. Нехай g (x) - функція активації для відповідного шару нейронів, тоді значення елементів в прихованому шарі буде обчислено наступним чином:

Крок 2. Обчислення елементів наступного шару (в даному прикладі - вихідного значення):

Кроки 1 і 2 можуть бути приведені до матричної формі:

де i = [1, 2]; Л 0 = X =0 , х ,, х 2 - вектор вхідних значень; Д - значення на виходах нейронів, зокрема А 2 = Y.

Матриці ваг виглядають наступним чином:

Аналогічним чином можна розрахувати багатошарові персеп- трони будь-якої розмірності.

НАВЧАННЯ БАГАТОШАРОВОГО ПЕРСЕПТРОНА НА ОСНОВІ АЛГОРИТМУ ЗВОРОТНОГО ПОШИРЕННЯ

Алгоритм зворотного поширення помилки є базовим алгоритмом для навчання багатошарових персептронов [1] . В основі нього лежать розрахунок градієнта кожного з ваг зв'язків в мережі і ідея того, що помилка будь-якого нейрона г-го шару є результатом помилки всіх нейронів на шарі i - 1. Наведемо приклад алгоритму зворотного поширення помилки для нейронної мережі з сігмоідной функцією активації (5.13 ). Для побудови алгоритму необхідно обчислити похідну функції активації. Для сигмоид вона буде дорівнює:

Вхід:

• Багатошаровий псрссптрон з матрицями ваг w і функцією активації g (x).

вихід:

• Оновлені матриці ваг.

алгоритм:

  • 1. Для кожної пари «об'єкт - відповідь», поки не будуть досягнуті умови завершення, повторювати:
  • 1.1. Порахувати значення Y за алгоритмом з підпункту 5.5.5.
  • 1.2. Для всіх нейронів у до вихідного шару, для яких розрахована зважена сума sum сигналів з попереднього шару (значення, що подається в функцію активації):
  • 1.2.1. розрахувати помилку

де a ns - правильна відповідь.

1.2.2. Розрахувати коригування ваг зв'язків

де р - швидкість навчання; а, - значення сигналу з г-го нейрона.

  • 1.3. Для кожного нейрона «, з прихованого шару:
  • 1.3.1. Розрахувати сумарну помилку з наступного шару

для передостаннього шару е, = е до , де j = k.

1.3.2. Розрахувати sum для нейрона і величину помилки на нейроні

1.3.3. Розрахувати зміну ваг зв'язків для першого шару а ) = ху

  • 1.4. Змінити все ваги зв'язків в матрицях на розраховані Д Wy.
  • 2. Повернути матрицю ваг.

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

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

  • [1] Див .: Fausett LV Fundamentals of Neural Networks: Architectures, AlgorithmsAnd Applications. New Jersey: Pearson, 1993.
 
Переглянути оригінал
< Попер   ЗМІСТ   ОРИГІНАЛ   Наст >